diff --git a/src/main/java/com/weaver/seconddev/cockpit/cmd/CockpitUserDataCmd.java b/src/main/java/com/weaver/seconddev/cockpit/cmd/CockpitUserDataCmd.java index b026347..fcf48be 100644 --- a/src/main/java/com/weaver/seconddev/cockpit/cmd/CockpitUserDataCmd.java +++ b/src/main/java/com/weaver/seconddev/cockpit/cmd/CockpitUserDataCmd.java @@ -2,14 +2,18 @@ package com.weaver.seconddev.cockpit.cmd; import com.weaver.ebuilder.datasource.api.entity.SqlParamEntity; import com.weaver.ebuilder.datasource.api.enums.SqlParamType; +import com.weaver.seconddev.cockpit.util.CommonUtils; import com.weaver.seconddev.cockpit.util.DatabaseUtils; import com.weaver.seconddev.cockpit.util.JucailinCockpitUtils; 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 java.text.SimpleDateFormat; import java.util.*; /** @@ -31,7 +35,7 @@ public class CockpitUserDataCmd { private DatabaseUtils databaseUtils; - public Map getDataInfo(SimpleEmployee employee, Map paramMap,String tenantKey) { + public Map getDataInfo(SimpleEmployee employee, Map paramMap, String tenantKey) { Map recordMap = new HashMap(); String sourceType = "LOGIC"; @@ -39,70 +43,70 @@ public class CockpitUserDataCmd { String subcompanynme = ""; String employeeId = String.valueOf(employee.getEmployeeId()); - log.error("employeeId:"+employeeId); + log.error("employeeId:" + employeeId); String username = employee.getName(); - log.error("username:"+username); + log.error("username:" + username); String deptname = employee.getDepartment().getName(); - log.error("deptname:"+deptname); + log.error("deptname:" + deptname); Long deptid = employee.getDepartment().getId(); - log.error("deptid:"+deptid); + log.error("deptid:" + deptid); // long subCompanyid = employee.getDepartment().getSubCompanyId(); String positionname = employee.getPosition().getName(); - log.error("positionname:"+positionname); + log.error("positionname:" + positionname); String gradename = employee.getGrade().getName(); - log.error("gradename:"+gradename); + log.error("gradename:" + gradename); - String personnelstatusname = "" ; + String personnelstatusname = ""; String personnelstatus = employee.getPersonnelStatus(); - log.error("personnelstatus:"+personnelstatus); + log.error("personnelstatus:" + personnelstatus); - if("1".equals(personnelstatus)){ + if ("1".equals(personnelstatus)) { personnelstatusname = "试用员工"; - }else if("2".equals(personnelstatus)){ + } else if ("2".equals(personnelstatus)) { personnelstatusname = "试用延期员工"; - }else if("3".equals(personnelstatus)){ + } else if ("3".equals(personnelstatus)) { personnelstatusname = "正式员工"; - }else if("4".equals(personnelstatus)){ + } else if ("4".equals(personnelstatus)) { personnelstatusname = "临时员工"; - }else if("5".equals(personnelstatus)){ + } else if ("5".equals(personnelstatus)) { personnelstatusname = "实习员工"; - }else if("6".equals(personnelstatus)){ + } else if ("6".equals(personnelstatus)) { personnelstatusname = "离职员工"; - }else if("7".equals(personnelstatus)){ + } else if ("7".equals(personnelstatus)) { personnelstatusname = "退休员工"; - }else if("9".equals(personnelstatus)){ + } else if ("9".equals(personnelstatus)) { personnelstatusname = "解聘员工"; - }else if("10".equals(personnelstatus)){ + } else if ("10".equals(personnelstatus)) { personnelstatusname = "无效员工"; } - log.error("personnelstatusname:"+personnelstatusname); + log.error("personnelstatusname:" + personnelstatusname); String userimageurl = "/profile/" + employeeId + "/personal"; long formdata = employee.getFormdata(); - log.error("formdata:"+formdata); + log.error("formdata:" + formdata); String pkey = "field69.groupId"; - String groupId = jucailinCockpitUtils.getUfPropData(pkey,tenantKey); - log.error("groupId:"+groupId); + String groupId = jucailinCockpitUtils.getUfPropData(pkey, tenantKey); + log.error("groupId:" + groupId); String jobcallname = ""; long jobcallid = employee.getJobCall(); - log.error("jobcallid:"+jobcallid); + log.error("jobcallid:" + jobcallid); - if(StringUtils.isNotBlank(deptid+"")){ - String sql =" select name from eteams.department where id in( " + - " select subcompanyid from eteams.department where id = ? and delete_type=0 and tenant_key = ?" + - " ) and delete_type=0 and tenant_key = ?"; + if (StringUtils.isNotBlank(deptid + "")) { + String sql = " select name from eteams.department where id in( " + + " select subcompanyid from eteams.department where id = ? and delete_type=0 and tenant_key = ?" + + " ) and delete_type=0 and tenant_key = ?"; - log.error("sql:"+sql); + log.error("sql:" + sql); List sqlparam = new ArrayList(); SqlParamEntity sqlParamEntity = new SqlParamEntity(); sqlParamEntity.setParamType(SqlParamType.LONG); - sqlParamEntity.setValue(deptid+""); + sqlParamEntity.setValue(deptid + ""); sqlparam.add(sqlParamEntity); sqlParamEntity = new SqlParamEntity(); @@ -115,24 +119,24 @@ public class CockpitUserDataCmd { sqlParamEntity.setValue(tenantKey); sqlparam.add(sqlParamEntity); - Map result = databaseUtils.executeForQuery(sourceType, groupId, sql,sqlparam); - List> recordList = databaseUtils.getDataSourceList(result); - if(!recordList.isEmpty() && recordList.size()>0){ + Map result = databaseUtils.executeForQuery(sourceType, groupId, sql, sqlparam); + List> recordList = databaseUtils.getDataSourceList(result); + if (!recordList.isEmpty() && recordList.size() > 0) { subcompanynme = String.valueOf(recordList.get(0).get("name")); } } - log.error("subcompanynme:"+subcompanynme); - - if(StringUtils.isNotBlank(jobcallid+"")){ - String sql =" select data_name from eteams.hrm_jobcall " + - " where id = ? "+ - " and delete_type = 0\n" + - " and tenant_key = ? \n" ; - log.error("sql:"+sql); + log.error("subcompanynme:" + subcompanynme); + + if (StringUtils.isNotBlank(jobcallid + "")) { + String sql = " select data_name from eteams.hrm_jobcall " + + " where id = ? " + + " and delete_type = 0\n" + + " and tenant_key = ? \n"; + log.error("sql:" + sql); List sqlparam = new ArrayList(); SqlParamEntity sqlParamEntity = new SqlParamEntity(); sqlParamEntity.setParamType(SqlParamType.LONG); - sqlParamEntity.setValue(jobcallid+""); + sqlParamEntity.setValue(jobcallid + ""); sqlparam.add(sqlParamEntity); sqlParamEntity = new SqlParamEntity(); @@ -140,58 +144,58 @@ public class CockpitUserDataCmd { sqlParamEntity.setValue(tenantKey); sqlparam.add(sqlParamEntity); - Map result = databaseUtils.executeForQuery(sourceType, groupId, sql,sqlparam); - List> recordList = databaseUtils.getDataSourceList(result); - if(!recordList.isEmpty() && recordList.size()>0){ + Map result = databaseUtils.executeForQuery(sourceType, groupId, sql, sqlparam); + List> recordList = databaseUtils.getDataSourceList(result); + if (!recordList.isEmpty() && recordList.size() > 0) { jobcallname = String.valueOf(recordList.get(0).get("data_name")); } } String field69 = ""; - if(StringUtils.isNotBlank(formdata+"")){ - String sql =" select field69 from eteams.Hrmemployeedefined where form_data_id = ?" ; - log.error("getSelfServiceData--sql:"+sql); + if (StringUtils.isNotBlank(formdata + "")) { + String sql = " select field69 from eteams.Hrmemployeedefined where form_data_id = ?"; + log.error("getSelfServiceData--sql:" + sql); List sqlparam = new ArrayList(); SqlParamEntity sqlParamEntity = new SqlParamEntity(); sqlParamEntity.setParamType(SqlParamType.LONG); - sqlParamEntity.setValue(formdata+""); + sqlParamEntity.setValue(formdata + ""); sqlparam.add(sqlParamEntity); - Map result = databaseUtils.executeForQuery(sourceType, groupId, sql,sqlparam); - List> recordList = databaseUtils.getDataSourceList(result); - if(recordList.size()>0){ + Map result = databaseUtils.executeForQuery(sourceType, groupId, sql, sqlparam); + List> recordList = databaseUtils.getDataSourceList(result); + if (recordList.size() > 0) { field69 = String.valueOf(recordList.get(0).get("field69")); } - if("1".equals(field69)){ + if ("1".equals(field69)) { field69 = "销售"; - }else if("2".equals(field69)){ + } else if ("2".equals(field69)) { field69 = "项目"; - }else if("3".equals(field69)){ + } else if ("3".equals(field69)) { field69 = "技术"; - }else if("4".equals(field69)){ + } else if ("4".equals(field69)) { field69 = "客服"; - }else if("5".equals(field69)){ + } else if ("5".equals(field69)) { field69 = "运营"; } } - log.error("field69:"+field69); - recordMap.put("employeeId",employeeId); - recordMap.put("username",username); - recordMap.put("deptmentnnme",subcompanynme+"-"+deptname); - recordMap.put("positionname",positionname); - recordMap.put("userimageurl",userimageurl); - recordMap.put("jobcallname",jobcallname); - recordMap.put("personnelstatusname",personnelstatusname); - recordMap.put("personnelstatus",personnelstatus); - recordMap.put("gradename",gradename); - recordMap.put("field69",field69); + log.error("field69:" + field69); + recordMap.put("employeeId", employeeId); + recordMap.put("username", username); + recordMap.put("deptmentnnme", subcompanynme + "-" + deptname); + recordMap.put("positionname", positionname); + recordMap.put("userimageurl", userimageurl); + recordMap.put("jobcallname", jobcallname); + recordMap.put("personnelstatusname", personnelstatusname); + recordMap.put("personnelstatus", personnelstatus); + recordMap.put("gradename", gradename); + recordMap.put("field69", field69); String avatarUrl = ""; - if(StringUtils.isBlank(avatarUrl)){ + if (StringUtils.isBlank(avatarUrl)) { avatarUrl = "/build/hrm/static/media/male.png"; } - recordMap.put("avatarUrl",avatarUrl); + recordMap.put("avatarUrl", avatarUrl); // List> customList = new ArrayList>(); // Map customMap = new HashMap(); @@ -214,31 +218,42 @@ public class CockpitUserDataCmd { // customMap.put("value","人力资源管理师"); // customList.add(customMap); - List> customList = getCustomType(employee,tenantKey); - recordMap.put("customType",customList); + List> customList = getCustomType(employee, tenantKey); + recordMap.put("customType", customList); + + String employeeId2 = String.valueOf(paramMap.get("userid")); + if (StringUtils.isNotBlank(employeeId2)) { + employeeId = employeeId2; + } + List> changeList = getEmpChangeData(employeeId, tenantKey); + recordMap.put("changeList", changeList); } catch (Exception e) { e.printStackTrace(); log.error("PortalPerformanceInfoCmd :" + e); } - try{ + try { log.error("CockpitUserDataCmd-333333"); - Long avatarid = employee.getAvatarId(); - log.error("CockpitUserDataCmd-avatarid:"+avatarid); + Long avatarid = employee.getAvatarId(); + log.error("CockpitUserDataCmd-avatarid:" + avatarid); String url = employee.getAvatar().getUrl(); - log.error("CockpitUserDataCmd-url:"+url); + log.error("CockpitUserDataCmd-url:" + url); - String avatarUrl = employee.getAvatar().getPreviewUrl(); - log.error("CockpitUserDataCmd-test-avatarUrl:"+avatarUrl); + String avatarUrl = employee.getAvatar().getPreviewUrl(); + log.error("CockpitUserDataCmd-test-avatarUrl:" + avatarUrl); Long SubCompanyId = employee.getDepartment().getSubCompanyId(); - log.error("CockpitUserDataCmd-test-SubCompanyId:"+SubCompanyId); + log.error("CockpitUserDataCmd-test-SubCompanyId:" + SubCompanyId); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date hireDate = employee.getHiredate(); + log.error("hireDate:" + sdf.format(hireDate)); - }catch (Exception e){ + } catch (Exception e) { } return recordMap; @@ -248,27 +263,27 @@ public class CockpitUserDataCmd { * * @return */ - public List> getCustomType(SimpleEmployee employee,String tenantKey){ + public List> getCustomType(SimpleEmployee employee, String tenantKey) { - List> recordList = new ArrayList>(); + List> recordList = new ArrayList>(); String groupId = "weaver-ebuilder-form-service"; String sourceType = "LOGIC"; Long employeeId = employee.getEmployeeId(); try { - String sql =" select p.bqmc,p.bqnr \n" + - " from(\n" + - " select bqmc,bqnr " + - " from uf_rcbq " + - " where ry = ? \n" + - " and delete_type = 0\n" + - " and tenant_key = ? \n" + - " order by xssx desc\n" + - " ) p limit 4" ; + String sql = " select p.bqmc,p.bqnr \n" + + " from(\n" + + " select bqmc,bqnr " + + " from uf_rcbq " + + " where ry = ? \n" + + " and delete_type = 0\n" + + " and tenant_key = ? \n" + + " order by xssx desc\n" + + " ) p limit 4"; List sqlparam = new ArrayList(); SqlParamEntity sqlParamEntity = new SqlParamEntity(); sqlParamEntity.setParamType(SqlParamType.LONG); - sqlParamEntity.setValue(employeeId+""); + sqlParamEntity.setValue(employeeId + ""); sqlparam.add(sqlParamEntity); sqlParamEntity = new SqlParamEntity(); @@ -276,11 +291,11 @@ public class CockpitUserDataCmd { sqlParamEntity.setValue(tenantKey); sqlparam.add(sqlParamEntity); - Map result = databaseUtils.executeForQuery(sourceType, groupId, sql,sqlparam); + Map result = databaseUtils.executeForQuery(sourceType, groupId, sql, sqlparam); recordList = databaseUtils.getDataSourceList(result); - if(recordList.size() < 4){ - for(int i=0;i<(4-recordList.size());i++){ - Map nullMap = new HashMap(); + if (recordList.size() < 4) { + for (int i = 0; i < (4 - recordList.size()); i++) { + Map nullMap = new HashMap(); recordList.add(nullMap); } } @@ -291,4 +306,202 @@ public class CockpitUserDataCmd { return recordList; } + + public List> getEmpChangeData(String employeeId, String tenantKey) { + List> changeList = new ArrayList>(); + String groupId = "weaver-ebuilder-form-service"; + String sourceType = "LOGIC"; + + try { + //入职 + Map hireMap = getEmployeeHireData(employeeId, tenantKey, groupId, sourceType); + if (hireMap != null && hireMap.size() > 0) { + changeList.add(hireMap); + } + //变更 + List> changeDataList = getEmployeeChangeData(employeeId, tenantKey, groupId, sourceType); + if (CollectionUtils.isNotEmpty(changeDataList)) { + changeList.addAll(changeDataList); + } +// //离职 +// Map departMap = getEmployeeDepartData(employeeId,tenantKey,groupId,sourceType); +// if(departMap !=null && departMap.size()>0){ +// changeList.add(departMap); +// } + } catch (Exception e) { + e.printStackTrace(); + log.error("getEmpChangeData:" + e); + } + return changeList; + + } + + + /*** + * + * @param employeeId + * @param tenantKey + * @return + */ + public Map getEmployeeHireData(String employeeId, String tenantKey, String groupId, String sourceType) { + Map map = new HashMap(); + try { + String hiredate = ""; + String dataSql = " select date_format(a.hiredate,'%Y-%m-%d') hiredate " + + " from eteams.employee a " + + " where a.id = ? " + + " and a.tenant_key = ? " + + " and a.status = 'normal' " + + " and a.type = 'inside'" + + " and delete_type = 0"; + + log.error("getuserIfo--dataSql:" + dataSql); + List strlist = new ArrayList<>(100); + strlist.add(employeeId + ""); + strlist.add(tenantKey); + List sqlparam = databaseUtils.getSqlParamEntity(strlist); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlparam); + List> recordList = databaseUtils.getDataSourceList(result); + if (CollectionUtils.isNotEmpty(recordList)) { + Map recordMap = recordList.get(0); + hiredate = CommonUtils.null2String(recordMap.get("hiredate")); + } + + if (StringUtils.isNotBlank(hiredate)) { + map.put("changedate", hiredate); + map.put("operator_type", "entry"); + map.put("operator_type_name", "入职"); + map.put("data_type", ""); + map.put("data_value", ""); + map.put("change_id", ""); + } + } catch (Exception e) { + e.printStackTrace(); + log.error("getEmployeeHireData:" + e); + } + return map; + } + + +// public Map getEmployeeDepartData(Long employeeId,String tenantKey,String groupId,String sourceType){ +// +// Map map = new HashMap(); +// try { +// String hiredate = ""; +// String dataSql =" select t.change_id,k.change_date,k.operator_type \n" + +// " from hrm_empchange_user t \n" + +// " inner join hrm_empchange k on k.id = t.change_id \n" + +// " where t.employeeid = ? \n" + +// " and t.delete_type = 0 \n" + +// " and t.tenant_key = ? " + +// " and k.delete_type = 0 \n" + +// " and k.tenant_key = ? " + +// " and k.batch_status = 2 \n" + +// " and k.operator_type = 'dismiss' "; +// +// log.error("getuserIfo--dataSql:" + dataSql); +// List strlist = new ArrayList<>(100); +// strlist.add(employeeId + ""); +// strlist.add(tenantKey); +// List sqlparam = databaseUtils.getSqlParamEntity(strlist); +// Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlparam); +// List> recordList = databaseUtils.getDataSourceList(result); +// if (CollectionUtils.isNotEmpty(recordList)) { +// Map recordMap = recordList.get(0); +// change_date = CommonUtils.null2String(recordMap.get("change_date")); +// } +// +// if (StringUtils.isNotBlank(hiredate)) { +// map.put("changedate", hiredate); +// map.put("operator_type", "entry"); +// map.put("operator_type_name", "入职"); +// map.put("data_type", ""); +// map.put("data_value", ""); +// map.put("change_id", ""); +// } +// }catch (Exception e){ +// e.printStackTrace(); +// log.error("getEmployeeHireData:"+e); +// } +// return map; +// +// } + + + public List> getEmployeeChangeData(String employeeId, String tenantKey, String groupId, String sourceType) { + List> changeList = new ArrayList>(); + try { + String dataSql = " select t.change_id,date_format(k.change_date,'%Y-%m-%d') change_date,k.operator_type,p.data_type,p.data_value \n" + + " from eteams.hrm_empchange_user t\n" + + " inner join eteams.hrm_empchange k on k.id = t.change_id\n" + + " inner join eteams.hrm_empchange_userdetail p on p.change_id = t.CHANGE_ID\n" + + " where t.employeeid = ?\n" + + " and length(p.data_value)>0\n" + + " and k.batch_status = 2' \n" + + " and t.delete_type = 0 \n" + + " and t.tenant_key = ? \n" + + " and p.delete_type = 0 \n" + + " and p.tenant_key = ? \n" + + " and k.delete_type = 0 \n" + + " and k.tenant_key = ? " + + " and p.data_type in('newDepartment','newPosition','newSuperior','changeStatus')\n " + + " order by k.change_date \n"; + + log.error("getuserIfo--dataSql:" + dataSql); + List strlist = new ArrayList<>(100); + strlist.add(employeeId + ""); + strlist.add(tenantKey); + strlist.add(tenantKey); + strlist.add(tenantKey); + List sqlparam = databaseUtils.getSqlParamEntity(strlist); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlparam); + List> recordList = databaseUtils.getDataSourceList(result); + if (CollectionUtils.isNotEmpty(recordList)) { + for (int i = 0; i < recordList.size(); i++) { + Map recordMap = recordList.get(i); + String operator_type = String.valueOf(recordMap.get("operator_type")); + String operator_type_name = ""; + + if ("trial".equals(operator_type)) { + operator_type_name = "试用"; + } else if ("hire".equals(operator_type)) { + operator_type_name = "转正"; + } else if ("extend".equals(operator_type)) { + operator_type_name = "续签"; + } else if ("redeploy".equals(operator_type)) { + operator_type_name = "调动"; + } else if ("dismiss".equals(operator_type)) { + operator_type_name = "离职"; + } else if ("retire".equals(operator_type)) { + operator_type_name = "退休"; + } else if ("quit".equals(operator_type)) { + operator_type_name = "解聘"; + } else if ("rehire".equals(operator_type)) { + operator_type_name = "返聘"; + } else if ("custom".equals(operator_type)) { + operator_type_name = "变更"; + } + recordMap.put("operator_type_name", operator_type_name); + String data_type = String.valueOf(recordMap.get("data_type")); + String data_type_name = ""; + String data_value = String.valueOf(recordMap.get("data_value")); + String data_value_name = ""; + if ("newDepartment".equals(data_type)) { + data_type_name = "部门"; + } else if ("newPosition".equals(data_type)) { + data_type_name = "岗位"; + } else if ("newSuperior".equals(data_type)) { + data_type_name = "上级"; + } + + recordMap.put("data_type_name", data_type_name); + recordMap.put("data_value_name", data_value_name); + } + } + } catch (Exception e) { + e.printStackTrace(); + log.error("getEmpChangeData:" + e); + } + return changeList; + } } diff --git a/src/main/java/com/weaver/seconddev/cockpit/controller/JucailinCockpitController.java b/src/main/java/com/weaver/seconddev/cockpit/controller/JucailinCockpitController.java index 0992542..f15a15e 100644 --- a/src/main/java/com/weaver/seconddev/cockpit/controller/JucailinCockpitController.java +++ b/src/main/java/com/weaver/seconddev/cockpit/controller/JucailinCockpitController.java @@ -183,9 +183,6 @@ public class JucailinCockpitController { return WeaResult.success(dataList); } - - - @GetMapping("/getBlogData") @WeaPermission(publicPermission = true) public WeaResult getBlogData(HttpServletRequest request){ @@ -202,5 +199,4 @@ public class JucailinCockpitController { return WeaResult.success(dataList); } - } diff --git a/src/main/java/com/weaver/seconddev/cockpit/service/JucailinCockpitService.java b/src/main/java/com/weaver/seconddev/cockpit/service/JucailinCockpitService.java index 5acf77f..b78d7ff 100644 --- a/src/main/java/com/weaver/seconddev/cockpit/service/JucailinCockpitService.java +++ b/src/main/java/com/weaver/seconddev/cockpit/service/JucailinCockpitService.java @@ -24,4 +24,5 @@ public interface JucailinCockpitService { Map getBlogData(SimpleEmployee simpleEmployee,Map paramMap,String tenantKey); + } diff --git a/src/main/java/com/weaver/seconddev/cockpit/service/impl/JucailinCockpitServiceimpl.java b/src/main/java/com/weaver/seconddev/cockpit/service/impl/JucailinCockpitServiceimpl.java index 786d33b..37ff991 100644 --- a/src/main/java/com/weaver/seconddev/cockpit/service/impl/JucailinCockpitServiceimpl.java +++ b/src/main/java/com/weaver/seconddev/cockpit/service/impl/JucailinCockpitServiceimpl.java @@ -96,4 +96,5 @@ public class JucailinCockpitServiceimpl implements JucailinCockpitService { Map dataMap = cockpitBlogDataCmd.getDataInfo(simpleEmployee,paramMap,tenantKey); return dataMap; } + }