You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

200 lines
8.4 KiB
Java

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<String, Object> getDataInfo(SimpleEmployee employee, Map<String, Object> paramMap,String tenantKey) {
Map<String, Object> recordMap = new HashMap<String, Object>();
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 department where id in( " +
" select subcompanyid from department where id = ? and delete_type=0 and tenant_key = ?" +
" ) and delete_type=0 and tenant_key = ?";
log.error("sql:"+sql);
List<SqlParamEntity> sqlparam = new ArrayList<SqlParamEntity>();
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<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, sql,sqlparam);
List<Map<String,Object>> 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<SqlParamEntity> sqlparam = new ArrayList<SqlParamEntity>();
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<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, sql,sqlparam);
List<Map<String,Object>> 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<SqlParamEntity> sqlparam = new ArrayList<SqlParamEntity>();
SqlParamEntity sqlParamEntity = new SqlParamEntity();
sqlParamEntity.setParamType(SqlParamType.LONG);
sqlParamEntity.setValue(formdata+"");
sqlparam.add(sqlParamEntity);
Map<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, sql,sqlparam);
List<Map<String,Object>> 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);
} catch (Exception e) {
e.printStackTrace();
log.error("PortalPerformanceInfoCmd :" + e);
}
return recordMap;
}
}