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.DatabaseUtils; import com.weaver.seconddev.cockpit.util.JucailinCockpitUtils; import com.weaver.teams.domain.user.SimpleEmployee; 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.util.*; /** * 流程、日程、协助、文档 4个类型数据 * * @author shil * @version 1.00版本 * @Date 2024/5/22 */ @Component public class CockpitUserDataCmd { //日志 private final static Logger log = LoggerFactory.getLogger(CockpitUserDataCmd.class); @Autowired private JucailinCockpitUtils jucailinCockpitUtils; @Autowired private DatabaseUtils databaseUtils; public Map getDataInfo(SimpleEmployee employee, Map paramMap,String tenantKey) { Map recordMap = new HashMap(); String sourceType = "LOGIC"; try { String subcompanynme = ""; String employeeId = String.valueOf(employee.getEmployeeId()); log.error("employeeId:"+employeeId); String username = employee.getName(); log.error("username:"+username); String deptname = employee.getDepartment().getName(); log.error("deptname:"+deptname); Long deptid = employee.getDepartment().getId(); log.error("deptid:"+deptid); // long subCompanyid = employee.getDepartment().getSubCompanyId(); String positionname = employee.getPosition().getName(); log.error("positionname:"+positionname); String gradename = employee.getGrade().getName(); log.error("gradename:"+gradename); String personnelstatusname = "" ; String personnelstatus = employee.getPersonnelStatus(); log.error("personnelstatus:"+personnelstatus); if("1".equals(personnelstatus)){ personnelstatusname = "试用员工"; }else if("2".equals(personnelstatus)){ personnelstatusname = "试用延期员工"; }else if("3".equals(personnelstatus)){ personnelstatusname = "正式员工"; }else if("4".equals(personnelstatus)){ personnelstatusname = "临时员工"; }else if("5".equals(personnelstatus)){ personnelstatusname = "实习员工"; }else if("6".equals(personnelstatus)){ personnelstatusname = "离职员工"; }else if("7".equals(personnelstatus)){ personnelstatusname = "退休员工"; }else if("9".equals(personnelstatus)){ personnelstatusname = "解聘员工"; }else if("10".equals(personnelstatus)){ personnelstatusname = "无效员工"; } log.error("personnelstatusname:"+personnelstatusname); String userimageurl = "/profile/" + employeeId + "/personal"; long formdata = employee.getFormdata(); log.error("formdata:"+formdata); String pkey = "field69.groupId"; String groupId = jucailinCockpitUtils.getUfPropData(pkey,tenantKey); log.error("groupId:"+groupId); String jobcallname = ""; long jobcallid = employee.getJobCall(); 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 = ?"; log.error("sql:"+sql); List sqlparam = new ArrayList(); SqlParamEntity sqlParamEntity = new SqlParamEntity(); sqlParamEntity.setParamType(SqlParamType.LONG); sqlParamEntity.setValue(deptid+""); sqlparam.add(sqlParamEntity); sqlParamEntity = new SqlParamEntity(); sqlParamEntity.setParamType(SqlParamType.VARCHAR); sqlParamEntity.setValue(tenantKey); sqlparam.add(sqlParamEntity); sqlParamEntity = new SqlParamEntity(); sqlParamEntity.setParamType(SqlParamType.VARCHAR); 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){ 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); List sqlparam = new ArrayList(); SqlParamEntity sqlParamEntity = new SqlParamEntity(); sqlParamEntity.setParamType(SqlParamType.LONG); sqlParamEntity.setValue(jobcallid+""); sqlparam.add(sqlParamEntity); sqlParamEntity = new SqlParamEntity(); sqlParamEntity.setParamType(SqlParamType.VARCHAR); 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){ 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); List sqlparam = new ArrayList(); SqlParamEntity sqlParamEntity = new SqlParamEntity(); sqlParamEntity.setParamType(SqlParamType.LONG); sqlParamEntity.setValue(formdata+""); sqlparam.add(sqlParamEntity); 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)){ field69 = "销售"; }else if("2".equals(field69)){ field69 = "项目"; }else if("3".equals(field69)){ field69 = "技术"; }else if("4".equals(field69)){ 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); String avatarUrl = ""; if(StringUtils.isBlank(avatarUrl)){ avatarUrl = "/build/hrm/static/media/male.png"; } recordMap.put("avatarUrl",avatarUrl); // List> customList = new ArrayList>(); // Map customMap = new HashMap(); // customMap.put("name","销售排名"); // customMap.put("value","TOP1"); // customList.add(customMap); // // customMap = new HashMap(); // customMap.put("name","职称"); // customMap.put("value","高级工程师"); // customList.add(customMap); // // customMap = new HashMap(); // customMap.put("name","熟悉领域"); // customMap.put("value","项目实施"); // customList.add(customMap); // // customMap = new HashMap(); // customMap.put("name","技能证书"); // customMap.put("value","人力资源管理师"); // customList.add(customMap); List> customList = getCustomType(employee,tenantKey); recordMap.put("customType",customList); } catch (Exception e) { e.printStackTrace(); log.error("PortalPerformanceInfoCmd :" + e); } try{ String avatarUrl = employee.getAvatar().getPreviewUrl(); log.error("CockpitUserDataCmd-test-avatarUrl:"+avatarUrl); Long SubCompanyId = employee.getDepartment().getSubCompanyId(); log.error("CockpitUserDataCmd-test-SubCompanyId:"+SubCompanyId); }catch (Exception e){ } return recordMap; } /*** * * @return */ public List> getCustomType(SimpleEmployee employee,String tenantKey){ List> recordList = new ArrayList>(); String groupId = "weaver-doc-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" ; List sqlparam = new ArrayList(); SqlParamEntity sqlParamEntity = new SqlParamEntity(); sqlParamEntity.setParamType(SqlParamType.LONG); sqlParamEntity.setValue(employeeId+""); sqlparam.add(sqlParamEntity); sqlParamEntity = new SqlParamEntity(); sqlParamEntity.setParamType(SqlParamType.VARCHAR); sqlParamEntity.setValue(tenantKey); sqlparam.add(sqlParamEntity); 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(); recordList.add(nullMap); } } } catch (Exception e) { e.printStackTrace(); log.error("getRightViewData:" + e); } return recordList; } }