#E10人事自助门户

main
wangjie 1 year ago
parent 319f8149f0
commit 36be5055c0

@ -0,0 +1,135 @@
package com.weaver.seconddev.jcldoor.cmd;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.weaver.seconddev.jcldoor.util.CommonUtils;
import com.weaver.seconddev.jcldoor.util.DatabaseUtils;
import com.weaver.teams.domain.user.SimpleEmployee;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
*
* @author wangj
* @version 1.00
* @Date 2024/3/5
* @desc
*/
@Component
public class PortalBirthdayWishesCmd {
//日志
private final static Logger log = LoggerFactory.getLogger(UserInfoCmd.class);
@Autowired
private DatabaseUtils databaseUtils;
/**
*
* @param simpleEmployee
* @return
*/
public Map<String, Object> getInfo(HttpServletRequest request, SimpleEmployee simpleEmployee) {
Map<String, Object> result = new HashMap<>(100);
JSONArray list = new JSONArray();
try {
String groupId = "weaver-hr-service";
String sourceType = "LOGIC";
String tenant_key = "t7akvdnf84";
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd");
Date date = new Date();
String day = sdf.format(date);
if (StringUtils.isNotBlank(day)) {
String dataSql = "select\n" +
" k.id,\n" +
" k.sex,\n" +
" k.username,\n" +
" right(left(BIRTHDAY, 10), 5) as BIRTHDAY,\n" +
" b.name as department,\n" +
" d.name as subcompany,\n" +
" c.name as position\n" +
"from\n" +
" hr_userinfo t\n" +
" inner join eteams.employee k on k.id = t.user\n" +
" inner join eteams.department b on k.department = b.id\n" +
" inner join eteams.department d on b.subcompanyid = d.id\n" +
" inner join eteams.position c on c.id = k.position\n" +
"where\n" +
" BIRTHDAY is not null\n" +
" and right(left(BIRTHDAY, 10), 5) = '"+day+"'\n" +
" and k.status = 'normal'\n" +
" and k.type = 'inside'\n" +
" and k.tenant_key = '" + tenant_key + "'";
log.error("getuserIfo--dataSql:" + dataSql);
Map<String, Object> data = databaseUtils.execute(sourceType, groupId, dataSql);
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(data);
if (CollectionUtils.isNotEmpty(recordList)) {
for(Map<String, Object> map:recordList){
String id = CommonUtils.null2String(map.get("id"));
String sextype = CommonUtils.null2String(map.get("sex"));
int sex = parseSex(sextype);
String username = CommonUtils.null2String(map.get("username"));
String department = CommonUtils.null2String(map.get("department"));
String subcompany = CommonUtils.null2String(map.get("subcompany"));
String position = CommonUtils.null2String(map.get("position"));
JSONObject obj = new JSONObject();
obj.put("id",id);
obj.put("sex",sex);
obj.put("username",username);
obj.put("department",department);
obj.put("subcompany",subcompany);
obj.put("position",position);
list.add(obj);
}
}
}
} catch (Exception e) {
log.error("PortalBirthdayWishesCmd--Exception:" + e.getMessage());
}
result.put("list",list);
return result;
}
/**
*
* @param sextype
* @return
*/
private int parseSex(String sextype){
//0男 1
int sex = 0;
switch (sextype){
case "male":
sex = 0;
break;
case "female":
sex = 1;
break;
default:
sex = 0;
break;
}
return sex;
}
}

@ -0,0 +1,346 @@
package com.weaver.seconddev.jcldoor.cmd;
import com.weaver.seconddev.jcldoor.util.DatabaseUtils;
import com.weaver.teams.domain.user.SimpleEmployee;
import com.weaver.teams.security.context.UserContext;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
import java.time.LocalDate;
import java.time.Month;
import java.time.YearMonth;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
*
* @author wangj
* @version 1.00
* @Date 2024/3/8
*/
@Component
public class PortalPerformanceInfoCmd {
//日志
private final static Logger log = LoggerFactory.getLogger(UserInfoCmd.class);
@Autowired
private DatabaseUtils databaseUtils;
public String tenant_key = "t7akvdnf84" ;
/**
*
* @param simpleEmployee
* @return
*/
public Map<String, Object> getInfo(HttpServletRequest request, SimpleEmployee simpleEmployee) {
Map<String,Object> dataMap = new HashMap<String,Object>(100);
try {
String employeeId = request.getParameter("employeeId");
LocalDate currentDate = LocalDate.now();
LocalDate lastMonthDate = currentDate.minusMonths(1);
int lastMonth = lastMonthDate.getMonthValue();
if(StringUtils.isBlank(employeeId)){
employeeId = String.valueOf(UserContext.getCurrentEmployeeId());
}
String groupId = "weaver-ebuilder-form-service";
String sourceType = "LOGIC";
Map<String, Object> scoreMap = getLastMonthKpi2(employeeId,groupId,sourceType);
List<Map<String, String>> yearList = getWholeYearKpi2(employeeId,groupId,sourceType);
dataMap.put("scoreMap",scoreMap);
dataMap.put("yearList",yearList);
} catch (Exception e) {
e.printStackTrace();
log.error("PortalPerformanceInfoCmd :"+e);
dataMap.put("count","-1");
}
return dataMap;
}
public Map<String, Object> getLastMonthKpi2(String employeeId, String groupId, String sourceType){
log.error("PortalPerformanceInfoCmd getLastMonthKpi2");
Map<String, Object> dataMap = new HashMap<String,Object>();
List<Map<String,Object>> indicatorList = new ArrayList<Map<String,Object>>();
if(StringUtils.isNotBlank(employeeId)){
String sql =" select left(k.real_period,10) as real_period,left(k.real_period,7) as period_month,k.kpi_scheme,k.score\n" +
" from (select real_period,kpi_scheme,score\n" +
" from hr_kpi_flow \n" +
" where kpi_user='"+employeeId+"' \n" +
" and module = 'kpiFlow' \n" +
" and date_type = 'month' \n" +
" and delete_type = '0' " +
" and tenant_key='"+tenant_key+"'\n" +
" and FLOW_STATUS in('noApprove','approve','finished')\n" +
" order by real_period desc\n" +
") k limit 1 ";
log.error("sql20-1:"+sql);
Map<String, Object> result = databaseUtils.execute(sourceType, groupId, sql);
List<Map<String,Object>> recordList = databaseUtils.getDataSourceList(result);
if(CollectionUtils.isNotEmpty(recordList)){
Map<String,Object> recordMap = recordList.get(0);
if(!recordMap.isEmpty()){
String score = String.valueOf(recordMap.get("score"));
String kpi_scheme = String.valueOf(recordMap.get("kpi_scheme"));
String real_period = String.valueOf(recordMap.get("real_period"));
String period_month = String.valueOf(recordMap.get("period_month"));
dataMap.put("score",score);
dataMap.put("yearmonth",period_month);
dataMap.put("kpi_scheme",kpi_scheme);
dataMap.put("real_period",real_period);
}
}
}
if(!dataMap.isEmpty()){
String kpi_scheme = String.valueOf(dataMap.get("kpi_scheme"));
log.error("kpi_scheme:"+kpi_scheme);
if(StringUtils.isNotBlank(kpi_scheme)){
String sql =" select indicator_type,indicator_description,weight \n" +
" from hr_kpi_scheme_indicator " +
" where scheme_id='"+kpi_scheme+"' " +
" and indicator_mode='quantify'\n" +
" and status='on' " +
" and delete_type = '0'" +
" and tenant_key = '"+tenant_key+"'" ;
log.error("sql2:"+sql);
Map<String, Object> result = databaseUtils.execute(sourceType, groupId, sql);
List<Map<String,Object>> recordList = databaseUtils.getDataSourceList(result);
log.error("recordList:"+recordList.size());
if(recordList.size()>=2){
for(int i=0;i<2;i++){
indicatorList.add(recordList.get(i));
}
}else if(recordList.size() == 1){
indicatorList.add(recordList.get(0));
Map<String, Object> indicatorMap = new HashMap<String, Object>();
sql = " select name,data_row,property\n" +
" from hr_kpi_details_link\n" +
" where kpi_details in( " +
" select id\n" +
" from hr_kpi_details " +
" where KPI_SCHEME='"+kpi_scheme+"'\n" +
" and MODULE='kpiSchemeSetting'\n" +
" and TENANT_KEY='"+tenant_key+"'\n" +
" and DELETE_TYPE = 0" +
" )\n" +
" and module = 'kpiSchemeSetting'\n" +
" and tenant_key = '"+tenant_key+"'\n" +
" and delete_type = '0'\n" +
" and property in('weight', 'describe', 'type')\n" +
" and data_row in ( \n" +
" select p.data_row from (\n" +
" select w.data_row from (\n" +
" select data_row \n" +
" from hr_kpi_details_link\n" +
" where kpi_details in ( " +
" select id\n" +
" from hr_kpi_details " +
" where KPI_SCHEME='"+kpi_scheme+"'\n" +
" and MODULE='kpiSchemeSetting'\n" +
" and TENANT_KEY='"+tenant_key+"'\n" +
" and DELETE_TYPE = 0" +
" )\n" +
" and PROPERTY = 'weight'\n" +
" and MODULE = 'kpiSchemeSetting'\n" +
" and TENANT_KEY = '"+tenant_key+"'\n" +
" and DELETE_TYPE = '0'\n" +
" order by name desc\n" +
" ) w limit 1 \n" +
" ) p\n" +
" )";
log.error("sql3:"+sql);
Map<String, Object> result2 = databaseUtils.execute(sourceType, groupId, sql);
List<Map<String,Object>> recordList2 = databaseUtils.getDataSourceList(result2);
log.error("recordList2:"+recordList2.size());
for(int i=0;i<recordList2.size();i++){
Map<String,Object> recordMap = recordList2.get(i);
String name = String.valueOf(recordMap.get("name"));
String property = String.valueOf(recordMap.get("property"));
log.error("name:"+name);
log.error("property:"+property);
if("weight".equalsIgnoreCase(property)){
indicatorMap.put("weight",name);
}
if("describe".equalsIgnoreCase(property)){
indicatorMap.put("indicator_description",name);
}
if("type".equalsIgnoreCase(property)){
indicatorMap.put("indicator_type",name);
}
}
if(!indicatorMap.isEmpty()){
indicatorList.add(indicatorMap);
}
}else{
sql = " select w.data_row from (\n" +
" select data_row\n" +
" from hr_kpi_details_link\n" +
" where kpi_details in( " +
" select id\n" +
" from hr_kpi_details " +
" where KPI_SCHEME='"+kpi_scheme+"'\n" +
" and MODULE='kpiSchemeSetting'\n" +
" and TENANT_KEY='"+tenant_key+"'\n" +
" and DELETE_TYPE = 0" +
" )\n" +
" and PROPERTY = 'weight'\n" +
" and MODULE = 'kpiSchemeSetting'\n" +
" and TENANT_KEY = '"+tenant_key+"'\n" +
" and DELETE_TYPE = '0'\n" +
" order by name desc\n" +
") w limit 2" ;
log.error("sql4:"+sql);
Map<String, Object> result3 = databaseUtils.execute(sourceType, groupId, sql);
List<Map<String,Object>> recordList3 = databaseUtils.getDataSourceList(result3);
for(int k=0;k<recordList3.size();k++){
Map<String,Object> recordMap3 = recordList3.get(k);
String data_row = String.valueOf(recordMap3.get("data_row"));
Map<String, Object> indicatorMap = new HashMap<String, Object>();
sql = " select name,data_row,property\n" +
" from hr_kpi_details_link\n" +
" where kpi_details in( " +
" select id\n" +
" from hr_kpi_details " +
" where KPI_SCHEME='"+kpi_scheme+"'\n" +
" and MODULE='kpiSchemeSetting'\n" +
" and TENANT_KEY='"+tenant_key+"'\n" +
" and DELETE_TYPE = 0" +
" )\n" +
" and MODULE = 'kpiSchemeSetting'\n" +
" and TENANT_KEY = '"+tenant_key+"'\n" +
" and DELETE_TYPE = '0'\n" +
" and property in('weight', 'describe', 'type')\n" +
" and data_row in("+data_row+")" ;
log.error("sql5:"+sql);
Map<String, Object> result2 = databaseUtils.execute(sourceType, groupId, sql);
List<Map<String,Object>> recordList2 = databaseUtils.getDataSourceList(result2);
for(int i=0;i<recordList2.size();i++){
Map<String,Object> recordMap = recordList2.get(i);
String name = String.valueOf(recordMap.get("name"));
String property = String.valueOf(recordMap.get("property"));
if("weight".equalsIgnoreCase(property)){
indicatorMap.put("weight",name);
}
if("describe".equalsIgnoreCase(property)){
indicatorMap.put("indicator_description",name);
}
if("type".equalsIgnoreCase(property)){
indicatorMap.put("indicator_type",name);
}
}
indicatorList.add(indicatorMap);
}
}
}
dataMap.put("indicator",indicatorList);
}
return dataMap ;
}
public List<Map<String, String>> getWholeYearKpi2(String employeeId,String groupId,String sourceType){
List<Map<String, String>> dateList = new ArrayList<Map<String, String>>();
Map<String, String> dataMap = null;
LocalDate localDate = LocalDate.now();
int year = localDate.getYear() ;
int dayOfYear = 1 ;
String[] monthzw = new String[]{"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
for(int i=1;i<=12;i++){
Month month = Month.of(i);
LocalDate startDay = YearMonth.of(year, month).atDay(dayOfYear); // 计算当前月份的首日
LocalDate endDay = YearMonth.of(year, month).atEndOfMonth(); // 计算当前月份的最后一天
log.error("getWholeYearKpi2-startDay:"+startDay);
log.error("getWholeYearKpi2-endDay:"+endDay);
String yearMonth = "";
if(monthzw.length==12){
yearMonth = monthzw[i-1];
}
String sql =" select score from hr_kpi_flow " +
" where kpi_user='"+employeeId+"' " +
" and left(real_period,10) >= '" +startDay+"'" +
" and left(real_period,10) <='" + endDay +"'" +
" and module = 'kpiFlow'" +
" and date_type = 'month'" +
" and flow_status in('noApprove','approve','finished') \n" +
" and delete_type = '0'" +
" and tenant_key='"+tenant_key+"' " ;
log.error("getWholeYearKpi2-sql:"+sql);
dataMap = new HashMap<String,String>();
Map<String, Object> result = databaseUtils.execute(sourceType, groupId, sql);
List<Map<String,Object>> recordList = databaseUtils.getDataSourceList(result);
if(CollectionUtils.isNotEmpty(recordList)){
Map<String,Object> recordMap = recordList.get(0);
if(!recordMap.isEmpty()){
String score = String.valueOf(recordMap.get("score"));
if(StringUtils.isNotBlank(score)){
dataMap.put(yearMonth,score);
}
}
}else{
dataMap.put(yearMonth,"0");
}
dateList.add(dataMap);
}
return dateList ;
}
public static String null2String(String s,String def) {
return s == null ?(def==null?"":def) : s;
}
}

@ -0,0 +1,131 @@
package com.weaver.seconddev.jcldoor.cmd;
import com.weaver.seconddev.jcldoor.util.DatabaseUtils;
import com.weaver.teams.domain.user.SimpleEmployee;
import com.weaver.teams.security.context.UserContext;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
import java.time.LocalDate;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
*
* @author wangj
* @version 1.00
* @Date 2024/3/8
*/
@Component
public class PortalRiskInfoCmd {
//日志
private final static Logger log = LoggerFactory.getLogger(UserInfoCmd.class);
@Autowired
private DatabaseUtils databaseUtils;
public String tenant_key = "t7akvdnf84" ;
/**
*
* @param simpleEmployee
* @return
*/
public Map<String, Object> getInfo(HttpServletRequest request, SimpleEmployee simpleEmployee) {
Map<String,Object> recordMap = new HashMap<String,Object>();
try {
String day = null2String(request.getParameter("day"),"30");
SimpleEmployee employee = UserContext.getCurrentUser();
String startDay = "";
log.error("testSapi17 day:"+startDay);
if(StringUtils.isNotBlank(day)){
int day_ = Integer.parseInt(day);
LocalDate today = LocalDate.now(); // 获取当前日期
LocalDate tenDaysBefore = today.minusDays(day_); // 当前日期前10天
startDay = tenDaysBefore.toString();
}else{
LocalDate today = LocalDate.now(); // 获取当前日期
LocalDate tenDaysBefore = today.minusDays(30); // 当前日期前10天
startDay = tenDaysBefore.toString();
}
log.error("testSapi17 startDay:"+startDay);
long employeeId = UserContext.getCurrentEmployeeId();
String groupId = "weaver-portrait-service";
String sourceType = "LOGIC";
String sql =" SELECT \n" +
" t1.id typeid,\n" +
" t1.name typename,\n" +
" t2.id riskid,\n" +
" t2.name riskname,\n" +
" t.risk_value,\n" +
" e.username,\n" +
" t.tenant_key,\n" +
" t.userid,\n" +
" times \n" +
" FROM ( \n" +
" SELECT k.riskid,k.risk_value,k.tenant_key,k.userid,COUNT(k.riskid) times \n" +
" FROM (\n" +
" SELECT t.riskid,t.risk_value,t.tenant_key,t.userid\n" +
" FROM pr_indrisk_data t \n" +
" WHERE t.delete_type = 0 \n" +
" AND t.tenant_key = '"+tenant_key+"'\n" +
" AND t.risk_date >= '"+startDay+"'\n" +
" AND t.userid = '"+employeeId+"'\n" +
" union all\n" +
" SELECT t.riskid,t.risk_value,t.tenant_key,t.userid \n" +
" FROM pr_indrisk_data t \n" +
" WHERE t.delete_type = 0 \n" +
" AND t.tenant_key = '"+tenant_key+"' \n" +
" AND t.risk_date >= '"+startDay+"' \n" +
" AND t.userid IN (select cid from eteams.emp_link where pid= '"+employeeId+"' and relation = 'senior') \n" +
" ) k \n" +
" GROUP BY k.riskid,\n" +
" k.risk_value,\n" +
" k.tenant_key,\n" +
" k.userid\n" +
" ) t,\n" +
" pr_indrisk_type t1,\n" +
" pr_indrisk_info t2 ,\n" +
" eteams.employee e\n" +
" WHERE t.riskid = t2.id \n" +
" AND t2.risk_type = t1.id \n" +
" AND t.userid = e.id\n" +
" AND e.STATUS != 'unavailable' AND e.PERMANENTLY_DELETE = '0'\n" +
" AND t1.delete_type = 0 \n" +
" AND t2.delete_type = 0" ;
log.error("PortalRiskInfoCmd:"+sql);
Map<String, Object> result = databaseUtils.execute(sourceType, groupId, sql);
List<Map<String,Object>> recordList = databaseUtils.getDataSourceList(result);
for(int i=0;i<recordList.size();i++){
Map<String,Object> recordMap2 = recordList.get(i);
recordMap2.put("pid",i+"");
}
recordMap.put("datas",recordList);
} catch (Exception e) {
e.printStackTrace();
log.error("PortalRiskInfoCmd E:"+e);
}
return recordMap;
}
public static String null2String(String s,String def) {
return s == null ?(def==null?"":def) : s;
}
}

@ -0,0 +1,204 @@
package com.weaver.seconddev.jcldoor.cmd;
import com.alibaba.fastjson.JSONObject;
import com.weaver.seconddev.jcldoor.util.DatabaseUtils;
import com.weaver.teams.domain.user.SimpleEmployee;
import okhttp3.*;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
/**
*
*
* @author wangj
* @version 1.00
* @Date 2024/3/4
*/
@Component
public class PortalWorkAchievementCmd {
//日志
private final static Logger log = LoggerFactory.getLogger(UserInfoCmd.class);
@Autowired
private DatabaseUtils databaseUtils;
/**
*
* @param simpleEmployee
* @return
*/
public Map<String, Object> getInfo(HttpServletRequest request, SimpleEmployee simpleEmployee) {
Map<String, Object> result = getSaleInfo(request,simpleEmployee);
return result;
}
public Map<String,Object> getSaleInfo(HttpServletRequest request, SimpleEmployee simpleEmployee){
Map<String,Object> map = new HashMap<>(10);
String headcookie = request.getHeader("Cookie");
//有效合同金额
JSONObject yxhtjeObj = new JSONObject();
try {
JSONObject params = new JSONObject();
params.put("compId","e12a1c232bbe4238859da5963f5e9407");
params.put("pageId","880065951867256872");
params.put("filter","[{\"value\":\"f26759ae44ef4e2f866b8dc3359b8c8a\",\"conditionComId\":\"d84ed5ccd4204ef595885cad8dde1822\",\"funcType\":\"\",\"filterFields\":[],\"dataType\":\"classification\",\"conditionType\":\"and\"}]");
params.put("pageFilter","[{\"dataset\":{\"id\":\"10\",\"text\":\"业绩达成表\",\"type\":\"LOGIC\",\"groupId\":\"weaver-ebuilder-contract-servicecmdatauFJXHS\",\"isPhysical\":false}}]");
params.put("cusMenuId","838181366272991264");
params.put("urlPageTitle","5ZCI5ZCM6Zeo5oi3");
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, params.toJSONString());
Request requestPost = new Request.Builder()
.url("http://10.12.253.23:20600/api/ebuilder/coms/digitalpanel/getData")
.method("POST", body)
.addHeader("Cookie", headcookie)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(requestPost).execute();
int code = response.code();
log.error("getSaleInfo yxhtjeObj:"+code);
String data = response.body().string();
log.error("getSaleInfo yxhtjeObj:"+data);
if(StringUtils.isNotBlank(data)){
yxhtjeObj = JSONObject.parseObject(data);
}
} catch (IOException e) {
e.printStackTrace();
log.error("getSaleInfo yxhtjeObj:"+e);
}
map.put("yxhtjeObj",yxhtjeObj);
//新客户销售合同金额
JSONObject xkhxshtjeObj = new JSONObject();
try {
JSONObject params = new JSONObject();
params.put("compId","c0a6f30332a04612b17487f894a9bdb2");
params.put("pageId","880065951867256872");
params.put("filter","[{\"value\":\"f26759ae44ef4e2f866b8dc3359b8c8a\",\"conditionComId\":\"d84ed5ccd4204ef595885cad8dde1822\",\"funcType\":\"\",\"filterFields\":[],\"dataType\":\"classification\",\"conditionType\":\"and\"}]");
params.put("pageFilter","[{\"dataset\":{\"id\":\"40\",\"text\":\"类型分布表\",\"type\":\"LOGIC\",\"groupId\":\"weaver-ebuilder-contract-servicecmdatauFJXHS\",\"isPhysical\":false}}]");
params.put("cusMenuId","838181366272991264");
params.put("urlPageTitle","5ZCI5ZCM6Zeo5oi3");
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, params.toJSONString());
Request requestPost = new Request.Builder()
.url("http://10.12.253.23:20600/api/ebuilder/coms/digitalpanel/getData")
.method("POST", body)
.addHeader("Cookie", headcookie)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(requestPost).execute();
int code = response.code();
log.error("getSaleInfo xkhxshtjeObj:"+code);
String data = response.body().string();
log.error("getSaleInfo xkhxshtjeObj:"+data);
if(StringUtils.isNotBlank(data)){
xkhxshtjeObj = JSONObject.parseObject(data);
}
} catch (IOException e) {
e.printStackTrace();
log.error("getSaleInfo xkhxshtjeObj:"+e);
}
map.put("xkhxshtjeObj",xkhxshtjeObj);
//老客户销售合同金额
JSONObject lkhxshtjeObj = new JSONObject();
try {
JSONObject params = new JSONObject();
params.put("compId","eed91abb469f49928ef2a7a89ab02c93");
params.put("pageId","880065951867256872");
params.put("filter","[{\"value\":\"f26759ae44ef4e2f866b8dc3359b8c8a\",\"conditionComId\":\"d84ed5ccd4204ef595885cad8dde1822\",\"funcType\":\"\",\"filterFields\":[],\"dataType\":\"classification\",\"conditionType\":\"and\"}]");
params.put("pageFilter","[{\"dataset\":{\"id\":\"40\",\"text\":\"类型分布表\",\"type\":\"LOGIC\",\"groupId\":\"weaver-ebuilder-contract-servicecmdatauFJXHS\",\"isPhysical\":false}}]");
params.put("cusMenuId","838181366272991264");
params.put("urlPageTitle","5ZCI5ZCM6Zeo5oi3");
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, params.toJSONString());
Request requestPost = new Request.Builder()
.url("http://10.12.253.23:20600/api/ebuilder/coms/digitalpanel/getData")
.method("POST", body)
.addHeader("Cookie", headcookie)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(requestPost).execute();
int code = response.code();
log.error("getSaleInfo lkhxshtjeObj:"+code);
String data = response.body().string();
log.error("getSaleInfo lkhxshtjeObj:"+data);
if(StringUtils.isNotBlank(data)){
lkhxshtjeObj = JSONObject.parseObject(data);
}
} catch (IOException e) {
e.printStackTrace();
log.error("getSaleInfo lkhxshtjeObj:"+e);
}
map.put("lkhxshtjeObj",lkhxshtjeObj);
//已收款合同金额
JSONObject yskhtjeObj = new JSONObject();
try {
JSONObject params = new JSONObject();
params.put("compId","f03ca1dcaecd456ebb573a23dbe5075b");
params.put("pageId","880065951867256872");
params.put("filter","[{\"value\":\"f26759ae44ef4e2f866b8dc3359b8c8a\",\"conditionComId\":\"d84ed5ccd4204ef595885cad8dde1822\",\"funcType\":\"\",\"filterFields\":[],\"dataType\":\"classification\",\"conditionType\":\"and\"}]");
params.put("pageFilter","[{\"dataset\":{\"id\":\"30\",\"text\":\"合同收款表\",\"type\":\"LOGIC\",\"groupId\":\"weaver-ebuilder-contract-servicecmdatauFJXHS\",\"isPhysical\":false}}]");
params.put("cusMenuId","838181366272991264");
params.put("urlPageTitle","5ZCI5ZCM6Zeo5oi3");
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, params.toJSONString());
Request requestPost = new Request.Builder()
.url("http://10.12.253.23:20600/api/ebuilder/coms/digitalpanel/getData")
.method("POST", body)
.addHeader("Cookie", headcookie)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(requestPost).execute();
int code = response.code();
log.error("getSaleInfo yskhtjeObj:"+code);
String data = response.body().string();
log.error("getSaleInfo yskhtjeObj:"+data);
if(StringUtils.isNotBlank(data)){
yskhtjeObj = JSONObject.parseObject(data);
}
} catch (IOException e) {
e.printStackTrace();
log.error("getSaleInfo yskhtjeObj:"+e);
}
map.put("yskhtjeObj",yskhtjeObj);
map.put("yxht","0");
map.put("xkh","0");;
map.put("lkh","0");
map.put("yskhtje","0");
return map;
}
}

@ -0,0 +1,228 @@
package com.weaver.seconddev.jcldoor.cmd;
import com.weaver.common.base.entity.result.WeaResult;
import com.weaver.framework.rpc.annotation.RpcReference;
import com.weaver.seconddev.jcldoor.util.CommonUtils;
import com.weaver.seconddev.jcldoor.util.DatabaseUtils;
import com.weaver.teams.client.doc.remote.DocClientService;
import com.weaver.teams.domain.user.SimpleEmployee;
import com.weaver.teams.security.context.UserContext;
import com.weaver.workflow.common.constant.list.listdimension.RequestListInitDimensionTabEnum;
import com.weaver.workflow.common.entity.list.api.RequestListConditionApiEntity;
import com.weaver.workflow.common.entity.list.api.publicapi.RequestCountInfoPAEntity;
import com.weaver.workflow.list.api.rest.publicapi.WflRequestListRest;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
*
* @author wangj
* @version 1.00
* @Date 2024/3/4
*/
@Component
public class UserInfoCmd {
//日志
private final static Logger log = LoggerFactory.getLogger(UserInfoCmd.class);
@Autowired
private DatabaseUtils databaseUtils;
@RpcReference
DocClientService docClientService;
@RpcReference(group = "workflow")
WflRequestListRest wflRequestListRest;
/**
* -:478:80:128:128:239:439
*
* @param simpleEmployee
* @return
*/
public Map<String, Object> getUserInfo(SimpleEmployee simpleEmployee) {
Map<String, Object> map = new HashMap<>(100);
String userid = String.valueOf(simpleEmployee.getEmployeeId());
String username = String.valueOf(simpleEmployee.getName());
String userimageurl = "/profile/" + userid + "/personal";
String department = "";
String position = "";
int days = 0;
String doccreate = "0";
String wfcreate = "0";
String wfdeal = "0";
String cyqlsl = "0";
String mtgtrs = "0";
try {
Map<String, Object> recordMap = new HashMap<String, Object>();
String groupId = "weaver-ebuilder-form-service";
String sourceType = "LOGIC";
String tenant_key = "t7akvdnf84";
if (StringUtils.isNotBlank(userid)) {
String dataSql = "select " +
" a.id, " +
" a.username, " +
" a.hiredate, " +
" b.name as department, " +
" c.name as position " +
"from " +
" eteams.employee a " +
" left join eteams.department b on a.department = b.id " +
" left join eteams.position c on c.id = a.position " +
"where " +
" a.id = '" + userid + "' " +
" and a.tenant_key = '" + tenant_key + "' " +
" and a.status = 'normal' " +
" and a.type = 'inside'";
log.error("getuserIfo--dataSql:" + dataSql);
Map<String, Object> result = databaseUtils.execute(sourceType, groupId, dataSql);
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(result);
if (CollectionUtils.isNotEmpty(recordList)) {
recordMap = recordList.get(0);
}
username = CommonUtils.null2String(recordMap.get("username"));
department = CommonUtils.null2String(recordMap.get("department"));
position = CommonUtils.null2String(recordMap.get("position"));
String hiredate = CommonUtils.null2String(recordMap.get("hiredate"));
if (!"".equals(hiredate)) {
days = calculateMinute(hiredate);
}
//文档创建
doccreate = getDocCreateNum(userid);
//流程创建
wfcreate = getWfCreateNum();
//流程处理
wfdeal = getWfDealNum();
//
cyqlsl = "0";
mtgtrs = "0";
}
} catch (Exception e) {
log.error("getUserInfo--Exception:" + e.getMessage());
}
map.put("userid", userid);
map.put("userimageurl",userimageurl);
map.put("username", username);
map.put("department", department);
map.put("position", position);
map.put("days", days);
map.put("doccreate", doccreate);
map.put("wfcreate", wfcreate);
map.put("wfdeal", wfdeal);
map.put("cyqlsl", cyqlsl);
map.put("mtgtrs", mtgtrs);
return map;
}
/**
*
*
* @param userid
* @return
*/
public String getDocCreateNum(String userid) {
String num = "0";
try {
long employeeId = Long.parseLong(userid);
int doccreatecount = docClientService.countByCreator(employeeId);
num = doccreatecount + "";
} catch (Exception e) {
e.printStackTrace();
log.error("getDocCreateNum:" + e);
}
return num;
}
/**
*
*
* @return
*/
public String getWfCreateNum() {
String num = "0";
try {
SimpleEmployee employee = UserContext.getCurrentUser();
RequestListConditionApiEntity conditionEntity = new RequestListConditionApiEntity();
WeaResult<RequestCountInfoPAEntity> RequestCountInfoPAEntity = wflRequestListRest.getRequestCountByTabId(employee, RequestListInitDimensionTabEnum.MINE_FLOWALL.getTabid(), conditionEntity);
Long count = RequestCountInfoPAEntity.getData().getCount();
num = count + "";
} catch (Exception e) {
e.printStackTrace();
log.error("getWfCreateNum:" + e);
}
return num;
}
/**
*
*
* @return
*/
public String getWfDealNum() {
String num = "0";
try {
SimpleEmployee employee = UserContext.getCurrentUser();
RequestListConditionApiEntity conditionEntity = new RequestListConditionApiEntity();
WeaResult<RequestCountInfoPAEntity> RequestCountInfoPAEntity = wflRequestListRest.getRequestCountByTabId(employee, RequestListInitDimensionTabEnum.DONE_FLOWALL.getTabid(), conditionEntity);
int code = RequestCountInfoPAEntity.getCode();
Long count = RequestCountInfoPAEntity.getData().getCount();
num = count + "";
} catch (Exception e) {
e.printStackTrace();
log.error("getWfDealNum:" + e);
}
return num;
}
/**
*
*
* @param sdate
* @return
* @throws ParseException
*/
public static int calculateMinute(String sdate) throws ParseException {
long l = 0;
boolean flag = isTimestampFormat(sdate);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date etime = new Date();
if (flag) {
Date stime = df.parse(sdate);
l = etime.getTime() - stime.getTime();
} else {
l = etime.getTime() - new Long(sdate);
}
int day = (int) (l / (24 * 60 * 60 * 1000));
return day;
}
public static boolean isTimestampFormat(String inputDate) {
// 使用 simpleDateFormat 尝试将输入日期解析为时间戳格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
sdf.parse(inputDate);
return true;
} catch (Exception e) {
return false;
}
}
}

@ -0,0 +1,245 @@
package com.weaver.seconddev.jcldoor.controller;
import com.weaver.common.authority.annotation.WeaPermission;
import com.weaver.common.base.entity.result.WeaResult;
import com.weaver.framework.rpc.annotation.RpcReference;
import com.weaver.seconddev.jcldoor.service.JucailinPortalService;
import com.weaver.seconddev.jcldoor.util.CommonUtils;
import com.weaver.teams.domain.user.SimpleEmployee;
import com.weaver.teams.security.context.UserContext;
import com.weaver.workflow.common.constant.list.listdimension.RequestListInitDimensionTabEnum;
import com.weaver.workflow.common.entity.list.api.RequestListConditionApiEntity;
import com.weaver.workflow.common.entity.list.api.publicapi.RequestListInfoPAEntity;
import com.weaver.workflow.list.api.rest.publicapi.WflRequestListRest;
import groovy.util.logging.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@RestController
@RequestMapping("/api/secondev/njjucailin/portal")
public class JucailinPortalController {
private final Logger log = LoggerFactory.getLogger(JucailinPortalController.class);
@Autowired
private JucailinPortalService jucailinPortalService;
@RpcReference(group = "workflow")
WflRequestListRest wflRequestListRest;
/**
*
* @param request
* @return
*/
@GetMapping("/getPortalUser")
@WeaPermission(publicPermission = true)
public WeaResult<Object> getPortalUser(HttpServletRequest request){
log.error("getPortalUser");
Map<String, Object> recordMap = new HashMap<String, Object>();
SimpleEmployee simpleEmployee = UserContext.getCurrentUser();
try{
recordMap = jucailinPortalService.getPortalUserData(simpleEmployee);
}catch (Exception e){
log.error("getPortalUser-Exception:"+e);
}
return WeaResult.success(recordMap);
}
/**
*
* @param request
* @return
*/
@GetMapping("/getPortalAttendance")
@WeaPermission(publicPermission = true)
public WeaResult<Object> getPortalAttendance(HttpServletRequest request){
log.error("getPortalAttendance");
Map<String, Object> recordMap = new HashMap<String, Object>();
Long employeeId = UserContext.getCurrentEmployeeId();
SimpleEmployee simpleEmployee = UserContext.getCurrentUser();
try{
recordMap = jucailinPortalService.getPortalAttendanceData(simpleEmployee);
}catch (Exception e){
log.error("testSapi-Exception:"+e);
}
return WeaResult.success(recordMap);
}
@GetMapping("/getPortalPerformance")
@WeaPermission(publicPermission = true)
public WeaResult<Object> getPortalPerformance(HttpServletRequest request){
log.error("getPortalPerformance");
Map<String, Object> recordMap = new HashMap<String, Object>();
Long employeeId = UserContext.getCurrentEmployeeId();
SimpleEmployee simpleEmployee = UserContext.getCurrentUser();
try{
recordMap = jucailinPortalService.getPortalPerformanceData(simpleEmployee);
}catch (Exception e){
log.error("testSapi-Exception:"+e);
}
return WeaResult.success(recordMap);
}
/**
*
* @param request
* @return
*/
@GetMapping("/getPortalWorkAchievement")
@WeaPermission(publicPermission = true)
public WeaResult<Object> getPortalWorkAchievement(HttpServletRequest request){
log.error("getPortalWorkAchievement");
Map<String, Object> recordMap = new HashMap<String, Object>();
SimpleEmployee simpleEmployee = UserContext.getCurrentUser();
try{
recordMap = jucailinPortalService.getPortalWorkAchievement(request,simpleEmployee);
}catch (Exception e){
log.error("getPortalWorkAchievement-Exception:"+e);
}
return WeaResult.success(recordMap);
}
/**
*
* @param request
* @return
*/
@GetMapping("/getPortalBirthdayWishes")
@WeaPermission(publicPermission = true)
public WeaResult<Object> getPortalBirthdayWishes(HttpServletRequest request){
log.error("getPortalBirthdayWishes");
Map<String, Object> recordMap = new HashMap<String, Object>();
SimpleEmployee simpleEmployee = UserContext.getCurrentUser();
try{
recordMap = jucailinPortalService.getPortalBirthdayWishes(request,simpleEmployee);
}catch (Exception e){
log.error("getPortalBirthdayWishes-Exception:"+e);
}
return WeaResult.success(recordMap);
}
/**
*
* @param request
* @return
*/
@GetMapping("/getPortalRiskInfo")
@WeaPermission(publicPermission = true)
public WeaResult<Object> getPortalRiskInfo(HttpServletRequest request){
log.error("getPortalRiskInfo");
Map<String, Object> recordMap = new HashMap<String, Object>();
SimpleEmployee simpleEmployee = UserContext.getCurrentUser();
try{
recordMap = jucailinPortalService.getPortalRiskInfo(request,simpleEmployee);
}catch (Exception e){
log.error("getPortalRiskInfo-Exception:"+e);
}
return WeaResult.success(recordMap);
}
/**
*
* @param request
* @return
*/
@GetMapping("/getPortalPerformanceInfo")
@WeaPermission(publicPermission = true)
public WeaResult<Object> getPortalPerformanceInfo(HttpServletRequest request){
log.error("getPortalPerformanceInfo");
Map<String, Object> recordMap = new HashMap<String, Object>();
SimpleEmployee simpleEmployee = UserContext.getCurrentUser();
try{
recordMap = jucailinPortalService.getPortalPerformanceInfo(request,simpleEmployee);
}catch (Exception e){
log.error("getPortalPerformanceInfo-Exception:"+e.getMessage());
}
return WeaResult.success(recordMap);
}
/**
*
* @param request
* @return
*/
@GetMapping("/getWorkFlowInfo")
@WeaPermission(publicPermission = true)
public WeaResult<List<RequestListInfoPAEntity>> getWfInfoCreate(HttpServletRequest request){
log.error("getWorkFlowInfo");
try{
RequestListConditionApiEntity conditionEntity = new RequestListConditionApiEntity();
SimpleEmployee employee = new SimpleEmployee();
String keyword = CommonUtils.null2String(request.getParameter("keyword"));
if(!"".equals(keyword)){
conditionEntity.setRequestname(keyword);
}
String type = CommonUtils.null2String(request.getParameter("type"));
int pageSize = CommonUtils.getIntValue(request.getParameter("pageSize"),10);
int pageNo = CommonUtils.getIntValue(request.getParameter("pageNo"),1);
// 0 我发起的; 1 我的待办; 2 我的已办
if("0".equals(type)){
return wflRequestListRest.getRequestListByTabId(employee, RequestListInitDimensionTabEnum.PORTAL_MINE.getTabid(), pageNo, pageSize, conditionEntity);
}else if("1".equals(type)){
return wflRequestListRest.getRequestListByTabId(employee, RequestListInitDimensionTabEnum.TODO_FLOWALL.getTabid(), pageNo, pageSize, conditionEntity);
}else if("2".equals(type)){
return wflRequestListRest.getRequestListByTabId(employee, RequestListInitDimensionTabEnum.DONE_FLOWALL.getTabid(), pageNo, pageSize, conditionEntity);
}else{
return wflRequestListRest.getRequestListByTabId(employee, RequestListInitDimensionTabEnum.PORTAL_MINE.getTabid(), pageNo, pageSize, conditionEntity);
}
}catch (Exception e){
log.error("getWorkFlowInfo-Exception:"+e.getMessage());
}
return null;
}
}

@ -0,0 +1,152 @@
package com.weaver.seconddev.jcldoor.domain;
public class JucailinUserInfo {
protected Long userid;
protected Long lastname;
protected Long userinfourl;
protected Long userimageurl;
protected Long jobtitlename;
protected Long doccreate;
protected Long doccreateurl;
protected Long wfcreate;
protected Long wfcreateurl;
protected Long wfdeal;
protected Long wfdealurl;
protected Long rzts;
protected Long rznf;
protected Long rzsyts;
protected Long cyqlsl;
protected Long mtgtrs;
public Long getUserid() {
return userid;
}
public void setUserid(Long userid) {
this.userid = userid;
}
public Long getLastname() {
return lastname;
}
public void setLastname(Long lastname) {
this.lastname = lastname;
}
public Long getUserinfourl() {
return userinfourl;
}
public void setUserinfourl(Long userinfourl) {
this.userinfourl = userinfourl;
}
public Long getUserimageurl() {
return userimageurl;
}
public void setUserimageurl(Long userimageurl) {
this.userimageurl = userimageurl;
}
public Long getJobtitlename() {
return jobtitlename;
}
public void setJobtitlename(Long jobtitlename) {
this.jobtitlename = jobtitlename;
}
public Long getDoccreate() {
return doccreate;
}
public void setDoccreate(Long doccreate) {
this.doccreate = doccreate;
}
public Long getDoccreateurl() {
return doccreateurl;
}
public void setDoccreateurl(Long doccreateurl) {
this.doccreateurl = doccreateurl;
}
public Long getWfcreate() {
return wfcreate;
}
public void setWfcreate(Long wfcreate) {
this.wfcreate = wfcreate;
}
public Long getWfcreateurl() {
return wfcreateurl;
}
public void setWfcreateurl(Long wfcreateurl) {
this.wfcreateurl = wfcreateurl;
}
public Long getWfdeal() {
return wfdeal;
}
public void setWfdeal(Long wfdeal) {
this.wfdeal = wfdeal;
}
public Long getWfdealurl() {
return wfdealurl;
}
public void setWfdealurl(Long wfdealurl) {
this.wfdealurl = wfdealurl;
}
public Long getRzts() {
return rzts;
}
public void setRzts(Long rzts) {
this.rzts = rzts;
}
public Long getRznf() {
return rznf;
}
public void setRznf(Long rznf) {
this.rznf = rznf;
}
public Long getRzsyts() {
return rzsyts;
}
public void setRzsyts(Long rzsyts) {
this.rzsyts = rzsyts;
}
public Long getCyqlsl() {
return cyqlsl;
}
public void setCyqlsl(Long cyqlsl) {
this.cyqlsl = cyqlsl;
}
public Long getMtgtrs() {
return mtgtrs;
}
public void setMtgtrs(Long mtgtrs) {
this.mtgtrs = mtgtrs;
}
}

@ -0,0 +1,27 @@
package com.weaver.seconddev.jcldoor.service;
import com.weaver.common.base.entity.result.WeaResult;
import com.weaver.teams.domain.user.SimpleEmployee;
import com.weaver.workflow.common.entity.list.api.publicapi.RequestListInfoPAEntity;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
public interface JucailinPortalService {
public Map<String, Object> getPortalUserData(SimpleEmployee simpleEmployee);
public Map<String, Object> getPortalAttendanceData(SimpleEmployee simpleEmployee);
public Map<String, Object> getPortalPerformanceData(SimpleEmployee simpleEmployee);
public Map<String, Object> getPortalWorkAchievement(HttpServletRequest request,SimpleEmployee simpleEmployee);
public Map<String, Object> getPortalBirthdayWishes(HttpServletRequest request,SimpleEmployee simpleEmployee);
public Map<String, Object> getPortalRiskInfo(HttpServletRequest request,SimpleEmployee simpleEmployee);
public Map<String, Object> getPortalPerformanceInfo(HttpServletRequest request,SimpleEmployee simpleEmployee);
}

@ -0,0 +1,204 @@
package com.weaver.seconddev.jcldoor.service.impl;
import com.weaver.common.base.entity.result.WeaResult;
import com.weaver.seconddev.jcldoor.cmd.*;
import com.weaver.seconddev.jcldoor.service.JucailinPortalService;
import com.weaver.teams.domain.user.SimpleEmployee;
import com.weaver.workflow.common.entity.list.api.publicapi.RequestListInfoPAEntity;
import groovy.util.logging.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import javax.sound.sampled.Port;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@Slf4j
@Service
public class JucailinPortalServiceImpl implements JucailinPortalService {
private final Logger log = LoggerFactory.getLogger(JucailinPortalServiceImpl.class);
@Autowired
private UserInfoCmd userInfoCmd;
@Autowired
private PortalWorkAchievementCmd portalWorkAchievementCmd;
@Autowired
private PortalBirthdayWishesCmd portalBirthdayWishesCmd;
@Autowired
private PortalPerformanceInfoCmd portalPerformanceInfoCmd;
@Autowired
private PortalRiskInfoCmd portalRiskInfoCmd;
@Override
public Map<String, Object> getPortalUserData(SimpleEmployee simpleEmployee) {
Map<String,Object> dataMap = userInfoCmd.getUserInfo(simpleEmployee);
return dataMap;
}
@Override
public Map<String, Object> getPortalAttendanceData(SimpleEmployee simpleEmployee) {
Map<String,Object> dataMap = new HashMap<String,Object>();
String zjkqnj = "0.00";
String lnkqnj = "0.00";
String jnkqnj = "0.00";
String ycqts = "0.00";
String wcts = "0.00" ;
double xjts = 0.00;
int cdsc = 0;
int qkcs = 0;
String ydkcs = "0.00";
dataMap.put("zjkqnj",zjkqnj); //总计可请年假
dataMap.put("lnkqnj",lnkqnj); //历年可请年假
dataMap.put("jnkqnj",jnkqnj); //今年可请年假
dataMap.put("wcts",wcts); //外出天数
dataMap.put("xjts",xjts); //休假天数
dataMap.put("cdsc",cdsc); //迟到次数
dataMap.put("qkcs",qkcs); // 缺卡次数
dataMap.put("ydkcs",ydkcs); //已打卡次数
dataMap.put("ycqts",ycqts); //应出勤天数
dataMap.put("employeeid",simpleEmployee.getEmployeeId()); //应出勤天数
return dataMap;
}
@Override
public Map<String, Object> getPortalPerformanceData(SimpleEmployee simpleEmployee) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String type = "";
String year = "2024";
String month = "02";
String startdate = "";
String enddate = "";
int currentYear = 0 ;
int currentMonth = 0;
int lastYear = 0;
int lastMonth = 0 ;
int last2Year = 0;
int last2Month = 0 ;
if("1".equals(type)){
try {
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(year+"-"+month+"-01"));
currentYear = cal.get(Calendar.YEAR);//获取年
currentMonth = cal.get(Calendar.MONTH)+1;//获取月月份从0开始如果按照中国的习惯需要加一
} catch (ParseException e) {
e.printStackTrace();
}
try {
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(year+"-"+month+"-01"));
cal.add(Calendar.MONTH, -1);
lastYear = cal.get(Calendar.YEAR);//获取年
lastMonth = cal.get(Calendar.MONTH)+1;//获取月月份从0开始如果按照中国的习惯需要加一
} catch (ParseException e) {
e.printStackTrace();
}
try {
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(year+"-"+month+"-01"));
cal.add(Calendar.MONTH, -2);
last2Year = cal.get(Calendar.YEAR);//获取年
last2Month = cal.get(Calendar.MONTH)+1;//获取月月份从0开始如果按照中国的习惯需要加一
} catch (ParseException e) {
e.printStackTrace();
}
if(currentMonth == 1){
startdate = (currentYear-1)+"-01-01";
enddate = (currentYear-1)+"-12-31";
}else{
startdate = currentYear+"-01-01";
enddate = currentYear+"-12-31";
}
}else{
Calendar cal1 = Calendar.getInstance();
currentYear = cal1.get(Calendar.YEAR);//获取年
currentMonth = cal1.get(Calendar.MONTH)+1;//获取月月份从0开始如果按照中国的习惯需要加一
Calendar cal2 = Calendar.getInstance();
cal2.setTime(new Date());
cal2.add(Calendar.MONTH, -1);
lastYear = cal2.get(Calendar.YEAR);//获取年
lastMonth = cal2.get(Calendar.MONTH)+1;//获取月月份从0开始如果按照中国的习惯需要加一
Calendar cal3 = Calendar.getInstance();
cal3.setTime(new Date());
cal3.add(Calendar.MONTH, -2);
last2Year = cal3.get(Calendar.YEAR);//获取年
last2Month = cal3.get(Calendar.MONTH)+1;//获取月月份从0开始如果按照中国的习惯需要加一
if(currentMonth == 1){
startdate = (currentYear-1)+"-01-01";
enddate = (currentYear-1)+"-12-31";
}else{
startdate = currentYear+"-01-01";
enddate = currentYear+"-12-31";
}
}
Long userid = simpleEmployee.getEmployeeId();
List<String> monthList = new ArrayList<String>();
List<Map<String,String>> data = new ArrayList<Map<String,String>>();
List<Map<String,String>> item = new ArrayList<Map<String,String>>();
Map<String,String> lastscop = new HashMap<String,String>();
Map<String,Object> dataMap = new HashMap<String,Object>();
dataMap.put("scoreData",data);
dataMap.put("scoreYear",currentYear);
dataMap.put("itemData",item);
dataMap.put("lastScoreData",lastscop);
dataMap.put("startdate",startdate);
dataMap.put("enddate",enddate);
dataMap.put("userid",userid);
return dataMap;
}
@Override
public Map<String, Object> getPortalWorkAchievement(HttpServletRequest request,SimpleEmployee simpleEmployee) {
Map<String,Object> dataMap = portalWorkAchievementCmd.getInfo(request,simpleEmployee);
return dataMap;
}
@Override
public Map<String, Object> getPortalBirthdayWishes(HttpServletRequest request, SimpleEmployee simpleEmployee) {
Map<String,Object> dataMap = portalBirthdayWishesCmd.getInfo(request,simpleEmployee);
return dataMap;
}
@Override
public Map<String, Object> getPortalRiskInfo(HttpServletRequest request, SimpleEmployee simpleEmployee) {
Map<String,Object> dataMap = portalRiskInfoCmd.getInfo(request,simpleEmployee);
return dataMap;
}
@Override
public Map<String, Object> getPortalPerformanceInfo(HttpServletRequest request, SimpleEmployee simpleEmployee) {
Map<String,Object> dataMap = portalPerformanceInfoCmd.getInfo(request,simpleEmployee);
return dataMap;
}
}

@ -0,0 +1,395 @@
package com.weaver.seconddev.jcldoor.util;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Map;
@Component
public class CommonUtils {
private final static Logger log = LoggerFactory.getLogger(CommonUtils.class);
public static JSONObject toJSON(String data){
if(!StringUtils.isEmpty(data)){
try {
return JSONObject.parseObject(data);
}catch (Throwable t){
log.error(t.getMessage(),t);
}
}
return null;
}
public static Long getJSONLong(JSONObject json,String key){
if(json != null && json.containsKey(key)){
try {
return json.getLong(key);
}catch (Throwable t){
log.error(t.getMessage(),t);
}
}
return null;
}
public static Integer getJSONInteger(JSONObject json,String key){
if(json != null && json.containsKey(key)){
try {
return json.getInteger(key);
}catch (Throwable t){
log.error(t.getMessage(),t);
}
}
return -1;
}
public static String getJSONString(JSONObject json,String key){
if(json != null && json.containsKey(key)){
try {
return null2String(json.getString(key));
}catch (Throwable t){
log.error(t.getMessage(),t);
}
}
return "";
}
public static JSONObject getJSONObject(JSONObject json,String key){
if(json != null && json.containsKey(key)){
try {
return json.getJSONObject(key);
}catch (Throwable t){
log.error(t.getMessage(),t);
}
}
return null;
}
public static JSONArray getJSONArray(JSONObject json, String key){
if(json != null && json.containsKey(key)){
try {
return json.getJSONArray(key);
}catch (Throwable t){
log.error(t.getMessage(),t);
}
}
return null;
}
public static JSONObject getJSONObject(JSONArray json, int idx){
if(json != null && json.size() > idx){
try {
return json.getJSONObject(idx);
}catch (Throwable t){
log.error(t.getMessage(),t);
}
}
return null;
}
public static String mapToStrData(Map<String, Object> para){
if(para != null) {
return JSONObject.toJSON(para).toString();
}
return "";
}
public static void strToLongList(List<Long> list,String strs){
strToLongList(list,strs,true);
}
public static void strToLongList(List<Long> list,String strs,boolean isDist){
if(list == null){
return;
}
if(StringUtils.isEmpty(strs)){
return;
}
String[] strList = StringUtils.split(strs, ",");
for(String str:strList){
if(StringUtils.isEmpty(str)){
continue;
}
long id = getLongValue(str);
if(id > 0l && (isDist == false || !list.contains(id))){
list.add(id);
}
}
}
public static long getLongValue(Object v){
return getLongValue(null2String(v));
}
public static long getLongValue(String v) {
return getLongValue(v, -1);
}
public static long getLongValue(String v, long def) {
try {
return Long.parseLong(v);
} catch (Exception ex) {
return def;
}
}
public static int getIntValue(Object o){
return getIntValue(null2String(o));
}
public static int getIntValue(String s){
return getIntValue(s,-1);
}
public static int getIntValue(String s, int def){
try {
return NumberUtils.toInt(s);
} catch (Exception ex) {
return def;
}
}
public static String null2String(Object s) {
return s == null ? "" : s.toString();
}
public static String null2String(Object s, String def) {
return s == null ? (def == null ? "" : def) : s.toString();
}
public static String stringReplace(String sou, String s1, String s2) {
//int idx = sou.indexOf(s1);
//if (idx < 0) {
// return sou;
//}
//return sou.substring(0, idx) + s2 + StringReplace(sou.substring(idx + s1.length()), s1, s2);
sou = null2String(sou);
s1 = null2String(s1);
s2 = null2String(s2);
try{
sou = sou.replace(s1, s2);
}catch(Exception e){
//System.out.println(e);//将未知异常打印出来,便于检查错误。
}
return sou;
}
/**
*
*
* @param s
* @return
*/
public static String toScreen(String s) {
char c[] = s.toCharArray();
char ch;
int i = 0;
StringBuffer buf = new StringBuffer();
while (i < c.length) {
ch = c[i++];
if (ch == '\r')
buf.append("");
else if (ch == '\n')
buf.append("");
else
buf.append(ch);
}
return buf.toString();
}
/**
*
*
* @param s
* @return
*/
public static String toExcel(String s) {
if (s == null) return "";
//因本方法会将字符串 &符号转换故先将欧元符号转义符转换为其Unicode码
s = s.replaceAll("&euro;", "\u20AC");
String str = toScreen(s);
str = stringReplace(str, "&ang;", "∠");
str = stringReplace(str, "&phi;", "φ");
str = stringReplace(str, "&quot;", "\"");
str = stringReplace(str, "&nbsp", "%nbsp");
//str=Util.StringReplace(str,"'","");
str = stringReplace(str, "&lt;", "<");
str = stringReplace(str, "&gt;", ">");
str = stringReplace(str, "&dt;&at;", "<br>");
str = stringReplace(str, "&", "&amp;");
str = stringReplace(str, "<br>", "&dt;&at;");
if ("&dt;&at;".equals(str)) {
str = "";
}
//在方法最后,又将欧元符号置换为转义符
str = str.replaceAll("\u20AC", "&euro;");
return str;
}
public static String delHtml(final String inputString) {
String htmlStr = toExcel(inputString); // 含html标签的字符串
String textStr = "";
java.util.regex.Pattern p_script;
java.util.regex.Matcher m_script;
java.util.regex.Pattern p_html;
java.util.regex.Matcher m_html;
try {
String regEx_html = "<[^>]+>"; // 定义HTML标签的正则表达式
String regEx_script = "<[/s]*?script[^>]*?>[/s/S]*?<[/s]*?//[/s]*?script[/s]*?>"; // 定义script的正则表达式{或<script[^>]*?>[/s/S]*?<//script>
p_script = java.util.regex.Pattern.compile(regEx_script, java.util.regex.Pattern.CASE_INSENSITIVE);
m_script = p_script.matcher(htmlStr);
htmlStr = m_script.replaceAll(""); // 过滤script标签
p_html = java.util.regex.Pattern.compile(regEx_html, java.util.regex.Pattern.CASE_INSENSITIVE);
m_html = p_html.matcher(htmlStr);
htmlStr = m_html.replaceAll(""); // 过滤html标签
textStr = htmlStr;
} catch (Exception e) {
System.err.println("Html2Text: " + e.getMessage());
}
return htmlToTxt(textStr).trim();// 返回文本字符串
}
/**
* html
*
* @param input
* @return
*/
public static String htmlToTxt(String input) {
if (input == null || input.trim().equals("")) {
return "";
}
// 去掉所有html元素,
String str = input.replaceAll("<[a-zA-Z]+[1-9]?[^><]*>", "");
return str;
}
//==new=
public static int getIntValue(Object s, int def){
return getIntValue(null2String(s));
}
public static List<Long> strToLongList(String strs){
List<Long> list = new ArrayList<Long>();
strToLongList(list,strs,true);
return list;
}
public static int dateInterval(String fromdate, String todate) {
Calendar fromcalendar = getCalendar(fromdate);
Calendar tocalendar = getCalendar(todate);
if (fromcalendar == null || tocalendar == null)
return 0;
return (int) ((tocalendar.getTimeInMillis() - fromcalendar.getTimeInMillis()) / 3600 / 24 / 1000);
}
/**
* @param datetime - '2004-05-12 12:00:23' '2004-05-12'
* @return null
*/
public static Calendar getCalendar(String datetime) {
int datetimelength = datetime.length() ;
switch(datetimelength) {
case 19 :
return getCalendar(datetime , "yyyy'-'MM'-'dd' 'HH:mm:ss") ;
case 10 :
return getCalendar(datetime , "yyyy'-'MM'-'dd") ;
default :
return null ;
}
}
/**
* @param datetime -
* @param formart -
* @return null
*/
public static Calendar getCalendar(String datetime, String formart) {
SimpleDateFormat SDF = new SimpleDateFormat(formart) ;
Calendar calendar = Calendar.getInstance() ;
try {
calendar.setTime(SDF.parse(datetime)) ;
} catch (ParseException e) {
return null ;
}
return calendar ;
}
/**
* @return yyyy'-'MM'-'dd
*
* yyyy'-'MM'-'dd
*
* 2004-09-07
*/
public static String getCurrentDateString() {
String timestrformart = "yyyy'-'MM'-'dd" ;
SimpleDateFormat SDF = new SimpleDateFormat(timestrformart) ;
Calendar calendar = Calendar.getInstance() ;
return SDF.format(calendar.getTime()) ;
}
public static String getMessage(String msgMode,String key,String val){
key = null2String(key).trim();
val = null2String(val).trim();
msgMode = null2String(msgMode).trim();
if(!"".equals(msgMode) && !"".equals(key)) {
msgMode = msgMode.replaceAll(key, val);
}
return msgMode;
}
public static List<Long> tranStrToLongList(Object idListObj){
List<Long> docIds = new ArrayList<Long>();
if(idListObj != null) {
try {
JSONArray idObjs = JSONArray.parseArray(null2String(idListObj));
for (Object idObj : idObjs) {
long id = getLongValue(idObj);
if (id > 0l) {
docIds.add(id);
}
}
} catch (Exception e) {
log.error("trans error :{}", idListObj);
log.error(e.getMessage(), e);
}
}
return docIds;
}
}

@ -0,0 +1,265 @@
package com.weaver.seconddev.jcldoor.util;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONObject;
import com.weaver.ebuilder.datasource.api.query.dto.dw.DynamicParamDto;
import com.weaver.ebuilder.datasource.api.query.dto.dw.FieldQuery;
import com.weaver.ebuilder.datasource.api.query.dto.dw.GroupQuery;
import com.weaver.ebuilder.datasource.api.query.dto.dw.TableQuery;
import com.weaver.ebuilder.datasource.api.entity.ExecuteSqlEntity;
import com.weaver.ebuilder.datasource.api.enums.SourceType;
import com.weaver.ebuilder.datasource.api.service.DataSetService;
import com.weaver.ebuilder.datasource.api.service.impl.EbFormDataService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.*;
/**
* DatabaseUtil SQL
*/
@Component
public class DatabaseUtils {
private final static Logger log = LoggerFactory.getLogger(DatabaseUtils.class);
@Autowired
private DataSetService dataSetService;
@Autowired
private EbFormDataService dataService;
/**
* SQL
*
* @param entity SQL
* @return Map
* @throws RuntimeException SQL
*/
public Map<String, Object> executeSql(ExecuteSqlEntity entity) {
Map<String, Object> map = dataSetService.executeSql(entity);
if ("FAIL".equals(CommonUtils.null2String(map.get("status")).toUpperCase(Locale.ROOT))) {
log.error("sql执行失败=>{}", JSONObject.toJSONString(map));
throw new RuntimeException("sql执行异常");
} else {
return map;
}
}
/**
* SQL
*
* @param entity SQL
* @param pageNo
* @param pageSize
* @return Map
* @throws RuntimeException SQL
*/
public Map<String, Object> executeSql(ExecuteSqlEntity entity, int pageNo, int pageSize) {
entity.setPageNo(pageNo);
entity.setPageSize(pageSize);
Map<String, Object> map = dataSetService.executeForQuery(entity);
if ("FAIL".equals(CommonUtils.null2String(map.get("status")).toUpperCase(Locale.ROOT))) {
log.error("sql执行失败=>{}", JSONObject.toJSONString(map));
throw new RuntimeException("sql执行异常");
} else {
return map;
}
}
/**
* SQL
*
* @param sql SQL
* @param groupId ID
* @paramDesc ID select APPLICATION_MARK,APPLICATION_name from eteams.ds_mark_service_relation
* @return SQL
*/
public ExecuteSqlEntity getExecuteSqlEntity(String sql, String groupId) {
log.error("sql=>{}", sql);
ExecuteSqlEntity executeSqlEntity = new ExecuteSqlEntity();
executeSqlEntity.setSql(base64(sql));
executeSqlEntity.setGroupId(groupId);
executeSqlEntity.setSourceType(SourceType.LOGIC);
executeSqlEntity.setGroupKey("0");
return executeSqlEntity;
}
/**
* SQL Base64
*
* @param sql SQL
* @return
*/
public String base64(String sql) {
return Base64.encode(sql);
}
/**
*
*
* @param map Map
* @return Map
*/
public List<Map<String, Object>> getDataSourceList(Map<String, Object> map) {
List<Map<String, Object>> entity = new ArrayList();
if ("OK".equals(CommonUtils.null2String(map.get("status")).toUpperCase(Locale.ROOT)) && map.get("count") != null && CommonUtils.getIntValue(map.get("count")) > 0) {
entity = (List) map.get("records");
}
return keyToLowerCase((List) entity);
}
public Map<String, Object> getOneDataSource(Map<String, Object> map) {
List<Map<String, Object>> entity = getDataSourceList(map);
return (Map)(CollectionUtil.isNotEmpty(entity) ? (Map)entity.get(0) : new HashMap());
}
/**
* Map
*
* @param orgMapList Map
* @return Map
*/
public List<Map<String, Object>> keyToLowerCase(List<Map<String, Object>> orgMapList) {
List<Map<String, Object>> resultList = new ArrayList();
Iterator var2 = orgMapList.iterator();
while (var2.hasNext()) {
Map<String, Object> stringObjectMap = (Map) var2.next();
resultList.add(keyToLowerCase(stringObjectMap));
}
return resultList;
}
/**
* Map
*
* @param orgMap Map
* @return Map
*/
public Map<String, Object> keyToLowerCase(Map<String, Object> orgMap) {
Map<String, Object> resultMap = new HashMap();
if (orgMap != null && !orgMap.isEmpty()) {
Set<Map.Entry<String, Object>> entrySet = orgMap.entrySet();
Iterator var3 = entrySet.iterator();
while (var3.hasNext()) {
Map.Entry<String, Object> entry = (Map.Entry) var3.next();
String key = (String) entry.getKey();
Object value = entry.getValue();
resultMap.put(key.toLowerCase(), value);
}
return resultMap;
} else {
return resultMap;
}
}
/**
*
*
* @param sourceType sourceType
* ETEAMS :
* FORM: ebuilder
* LOGIC: ()
* EXTERNAL
* @return
*/
public List<Map<String, Object>> getDataGroups(String sourceType, Boolean flag) {
GroupQuery query = new GroupQuery();
query.setSourceType(SourceType.valueOf(sourceType));
query.setShowSqlDataset(flag);
DynamicParamDto dynamicParamDto = new DynamicParamDto();
dynamicParamDto.setUserId(10000L);
dynamicParamDto.setTenantKey("tk");
query.setDynamicParamDto(dynamicParamDto);
return dataSetService.getDataGroups(query);
}
/**
*
*
* @param sourceType
* @param groupId
* @param pageNum
* @param pageSize
* @return
*/
public Map<String, Object> getDataSets(String sourceType, String groupId, Integer pageNum, Integer pageSize) {
TableQuery tableQuery = new TableQuery();
tableQuery.setSourceType(SourceType.valueOf(sourceType));
tableQuery.setGroupId(groupId);
//非必传
//tableQuery.setName(name);
tableQuery.setPageNo(pageNum);
tableQuery.setPageSize(pageSize);
return dataSetService.getDataSetsByPage(tableQuery);
}
/**
*
* sourceType :LOGIC
* sourceId : 8494845523559165780
* groupId : weaver-crm-service
*
* @param
* @return
*/
public List<Map<String, Object>> getFields(String sourceType, String sourceId, String groupId) {
FieldQuery query = new FieldQuery();
query.setSourceType(SourceType.valueOf(sourceType));
query.setSourceId(sourceId);
query.setGroupId(groupId);
return dataSetService.getFields(query);
}
/**
* sql
* sourceType :LOGIC
* groupId : weaver-ebuilder-app-service
* sql : select * from ebda_app limit 10
*
* @param
* @return
*/
public Map<String, Object> execute(String sourceType, String groupId, String sql) {
//执行sql 参数sourceType groupId sql
ExecuteSqlEntity executeSqlEntity = new ExecuteSqlEntity();
executeSqlEntity.setSql(base64(sql));
executeSqlEntity.setGroupId(groupId);
executeSqlEntity.setSourceType(SourceType.valueOf(sourceType));
return dataSetService.executeSql(executeSqlEntity);
}
public String getMysqlPagedSql(String sql,int pageNo, int pageSize) {
if(pageNo<=0){
pageNo = 1;
}
if(pageSize<=0){
pageSize = 20;
}
int start = (pageNo-1)*pageSize;
int end = pageNo*pageSize;
return new StringBuffer().append(sql).append(
" LIMIT "+start+","+(end-start)).toString();
}
}
Loading…
Cancel
Save