feature/cl #282

Merged
liang.cheng merged 4 commits from feature/cl into master 6 months ago

@ -96,7 +96,7 @@
<select id="listDeptsByIds" resultType="java.util.Map"> <select id="listDeptsByIds" resultType="java.util.Map">
select select
id as "id", id as "id",
departmentName as "name" departmentMark as "name"
from hrmdepartment t from hrmdepartment t
WHERE id IN WHERE id IN
<foreach collection="ids" open="(" item="id" separator="," close=")"> <foreach collection="ids" open="(" item="id" separator="," close=")">

@ -15,7 +15,6 @@ import com.engine.organization.entity.department.bo.DepartmentBO;
import com.engine.organization.entity.department.dto.DepartmentListDTO; import com.engine.organization.entity.department.dto.DepartmentListDTO;
import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.department.po.DepartmentPO;
import com.engine.organization.entity.hrmresource.po.JclOrgCustomTemplatePO; import com.engine.organization.entity.hrmresource.po.JclOrgCustomTemplatePO;
import com.engine.organization.entity.hrmresource.po.SearchTemplatePO;
import com.engine.organization.entity.hrmresource.vo.HrmResourceVO; import com.engine.organization.entity.hrmresource.vo.HrmResourceVO;
import com.engine.organization.entity.staff.po.StaffPO; import com.engine.organization.entity.staff.po.StaffPO;
import com.engine.organization.entity.staff.vo.StaffTableVO; import com.engine.organization.entity.staff.vo.StaffTableVO;
@ -45,7 +44,6 @@ import weaver.systeminfo.SystemEnv;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -169,6 +167,7 @@ public class ExportCommonServiceImpl extends Service implements ExportCommonServ
List<String> columnList = Arrays.asList(columns.split(",")); List<String> columnList = Arrays.asList(columns.split(","));
String propValue = new BaseBean().getPropValue("hrmOrganization", "orgId"); String propValue = new BaseBean().getPropValue("hrmOrganization", "orgId");
Map<String, WeaTableColumn> columnMap = new HashMap<>();
BigDecimal decimal = new BigDecimal(100 / columnList.size()); BigDecimal decimal = new BigDecimal(100 / columnList.size());
@ -196,16 +195,18 @@ public class ExportCommonServiceImpl extends Service implements ExportCommonServ
weaTableColumn.setOtherpara(columnName); weaTableColumn.setOtherpara(columnName);
//weaTableColumn.setWidth(decimal.setScale(2, RoundingMode.HALF_UP).doubleValue() + "%"); //weaTableColumn.setWidth(decimal.setScale(2, RoundingMode.HALF_UP).doubleValue() + "%");
if (weaTableColumn.getDisplay().getBoolVal()) { columnMap.put(columnName, weaTableColumn);
weaTableColumnList.add(weaTableColumn);
headerList.add(weaTableColumn.getColumn());
headerNameList.add(weaTableColumn.getText());
}
} }
} }
//todo 修复导出excel与列定制顺序 for (String columnName : columnList) {
WeaTableColumn weaTableColumn = columnMap.get(columnName);
if (weaTableColumn != null && weaTableColumn.getDisplay().getBoolVal()) {
weaTableColumnList.add(weaTableColumn);
headerList.add(weaTableColumn.getColumn());
headerNameList.add(weaTableColumn.getText());
}
}
// 增加id字段,跳转人员卡片 // 增加id字段,跳转人员卡片

@ -6,7 +6,6 @@ import com.api.browser.bean.SearchConditionOption;
import com.api.browser.util.ConditionType; import com.api.browser.util.ConditionType;
import com.api.hrm.bean.HrmFieldBean; import com.api.hrm.bean.HrmFieldBean;
import com.api.hrm.util.HrmFieldSearchConditionComInfo; import com.api.hrm.util.HrmFieldSearchConditionComInfo;
import com.api.hrm.util.HrmTransMethod;
import com.cloudstore.eccom.constant.WeaBoolAttr; import com.cloudstore.eccom.constant.WeaBoolAttr;
import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.cloudstore.eccom.result.WeaResultMsg; import com.cloudstore.eccom.result.WeaResultMsg;
@ -307,7 +306,8 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
List<String> selectKeys; List<String> selectKeys;
if ("custom".equals(type)) { if ("custom".equals(type)) {
if ("-1".equals(templateId)) { if ("-1".equals(templateId)) {
selectKeys = Arrays.asList("-1_hrm_lastname,-1_hrm_departmentid,-1_hrm_jobtitle,-1_hrm_mobile,-1_hrm_telephone,-1_hrm_managerid".split(",")); //selectKeys = Arrays.asList("-1_hrm_lastname,-1_hrm_departmentid,-1_hrm_jobtitle,-1_hrm_mobile,-1_hrm_telephone,-1_hrm_managerid".split(","));
selectKeys = Arrays.asList("-1_hrm_lastname,-1_hrm_departmentid,-1_hrm_subcompanyid1,-1_hrm_jobtitle,-1_hrm_mobile,-1_hrm_telephone,-1_hrm_managerid,-1_hrm_sporder".split(","));
} else { } else {
searchTemplateById = getHrmResourceMapper().getCustomTemplateById(templateId); searchTemplateById = getHrmResourceMapper().getCustomTemplateById(templateId);
selectKeys = getSelectKeys(searchTemplateById); selectKeys = getSelectKeys(searchTemplateById);
@ -603,7 +603,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
} }
Map<String, Object> apiDatas = new HashMap<>(); Map<String, Object> apiDatas = new HashMap<>();
List<SearchConditionGroup> addGroups = new ArrayList<>(); List<SearchConditionGroup> addGroups = new ArrayList<>();
List<SearchConditionGroup> allConditions = getAllConditions(); List<SearchConditionGroup> allConditions = getAllConditions(true);
// 穿梭框ID展示所选字段信息 // 穿梭框ID展示所选字段信息
HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo();
if ("-1".equals(templateId)) { if ("-1".equals(templateId)) {
@ -792,6 +792,13 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
// sb.append(" and t.status = 1"); // sb.append(" and t.status = 1");
sb.append(" and t.status < 4"); sb.append(" and t.status < 4");
} }
if (params.containsKey("-1_hrm_subcompanyid1")) {
String value = Util.null2String(params.get("-1_hrm_subcompanyid1"));
if (StringUtils.isNotBlank(value)) {
sb.append(" and t.subcompanyid1 in(").append(value).append(")");
}
params.remove("-1_hrm_subcompanyid1");
}
for (Map.Entry<String, Object> entry : params.entrySet()) { for (Map.Entry<String, Object> entry : params.entrySet()) {
String key = entry.getKey(); String key = entry.getKey();
String value = Util.null2String(entry.getValue()); String value = Util.null2String(entry.getValue());
@ -994,12 +1001,15 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
} }
public List<SearchConditionGroup> getAllConditions() {
return getAllConditions(false);
}
/** /**
* *
* *
* @return * @return
*/ */
public List<SearchConditionGroup> getAllConditions() { public List<SearchConditionGroup> getAllConditions(boolean isSearch) {
HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo();
List<SearchConditionGroup> addGroups = new ArrayList<>(); List<SearchConditionGroup> addGroups = new ArrayList<>();
List<SearchConditionItem> basicConditionItems = new ArrayList<>(); List<SearchConditionItem> basicConditionItems = new ArrayList<>();
@ -1010,6 +1020,8 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
List<CusFormFieldPO> hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId(HrmGroupEnum.HRM_BASIC.getGroupType().toString()); List<CusFormFieldPO> hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId(HrmGroupEnum.HRM_BASIC.getGroupType().toString());
createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, basicConditionItems); createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, basicConditionItems);
if (CollectionUtils.isNotEmpty(basicConditionItems)) { if (CollectionUtils.isNotEmpty(basicConditionItems)) {
SearchConditionItem searchConditionItem = buildSubCompanyCondition(hrmFieldSearchConditionComInfo,isSearch);
basicConditionItems.add(0,searchConditionItem);
addGroups.add(new SearchConditionGroup(SystemEnv.getHtmlLabelName(547175, user.getLanguage()), true, basicConditionItems)); addGroups.add(new SearchConditionGroup(SystemEnv.getHtmlLabelName(547175, user.getLanguage()), true, basicConditionItems));
} }
@ -1029,6 +1041,34 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
return addGroups; return addGroups;
} }
/**
*
*
* @param hrmFieldSearchConditionComInfo
* @param isSearch
* @return
*/
private SearchConditionItem buildSubCompanyCondition(HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo, boolean isSearch) {
HrmFieldBean hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setFieldid("");
hrmFieldBean.setFieldname("-1_hrm_subcompanyid1");
hrmFieldBean.setFieldlabel("-2458");
hrmFieldBean.setFieldhtmltype("3");
if (isSearch) {
hrmFieldBean.setType("170");
} else {
hrmFieldBean.setType("164");
}
hrmFieldBean.setIsQuickSearch(false);
hrmFieldBean.setIsScope(false);
hrmFieldBean.setDmlurl("");
hrmFieldBean.setIssystem("1");
hrmFieldBean.setIsFormField(true);
SearchConditionItem searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
return searchConditionItem;
}
/** /**
* Item * Item
* *
@ -1081,32 +1121,37 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", scopeid); HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", scopeid);
List<SearchConditionItem> conditionItems = new ArrayList<>(); List<SearchConditionItem> conditionItems = new ArrayList<>();
for (String field : fieldNames) { for (String field : fieldNames) {
String fieldName = field.substring(field.lastIndexOf("_") + 1); if ("-1_hrm_subcompanyid1".equals(field)) {
JSONObject hrmFieldConf = hfm.getHrmFieldConf(fieldName); SearchConditionItem searchConditionItem = buildSubCompanyCondition(hrmFieldSearchConditionComInfo,true);
if (null == hrmFieldConf) { conditionItems.add(searchConditionItem);
continue; } else {
} String fieldName = field.substring(field.lastIndexOf("_") + 1);
boolean baseField = hfm.isBaseField(fieldName); JSONObject hrmFieldConf = hfm.getHrmFieldConf(fieldName);
HrmFieldBean hrmFieldBean = new HrmFieldBean(); if (null == hrmFieldConf) {
hrmFieldBean.setFieldid(Util.null2String(hrmFieldConf.getString("id"))); continue;
hrmFieldBean.setFieldname(scopeid + "_" + (baseField ? "hrm" : "cus") + "_" + fieldName); }
hrmFieldBean.setFieldlabel(hrmFieldConf.getString("fieldlabel")); boolean baseField = hfm.isBaseField(fieldName);
hrmFieldBean.setFieldhtmltype(hrmFieldConf.getString("fieldhtmltype")); HrmFieldBean hrmFieldBean = new HrmFieldBean();
hrmFieldBean.setType(hrmFieldConf.getString("type")); hrmFieldBean.setFieldid(Util.null2String(hrmFieldConf.getString("id")));
hrmFieldBean.setDmlurl(hrmFieldConf.getString("dmlurl")); hrmFieldBean.setFieldname(scopeid + "_" + (baseField ? "hrm" : "cus") + "_" + fieldName);
hrmFieldBean.setIssystem(baseField ? "1" : "0"); hrmFieldBean.setFieldlabel(hrmFieldConf.getString("fieldlabel"));
hrmFieldBean.setIsFormField(true); hrmFieldBean.setFieldhtmltype(hrmFieldConf.getString("fieldhtmltype"));
hrmFieldBean.setIsQuickSearch(false); hrmFieldBean.setType(hrmFieldConf.getString("type"));
hrmFieldBean.setIsScope(false); hrmFieldBean.setDmlurl(hrmFieldConf.getString("dmlurl"));
if ("jobactivity".equals(fieldName)) { hrmFieldBean.setIssystem(baseField ? "1" : "0");
// 职务282 hrmFieldBean.setIsFormField(true);
hrmFieldBean.setType("282"); hrmFieldBean.setIsQuickSearch(false);
} hrmFieldBean.setIsScope(false);
SearchConditionItem searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); if ("jobactivity".equals(fieldName)) {
conditionItems.add(searchConditionItem); // 职务282
// 如果为下拉框,添加一条空选项 hrmFieldBean.setType("282");
if (searchConditionItem.getConditionType().equals(ConditionType.SELECT)) { }
addEmptyForSelect(searchConditionItem); SearchConditionItem searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user);
conditionItems.add(searchConditionItem);
// 如果为下拉框,添加一条空选项
if (searchConditionItem.getConditionType().equals(ConditionType.SELECT)) {
addEmptyForSelect(searchConditionItem);
}
} }
} }
if (CollectionUtils.isNotEmpty(conditionItems)) { if (CollectionUtils.isNotEmpty(conditionItems)) {

@ -380,7 +380,7 @@ public class JobServiceImpl extends Service implements JobService {
String jobNo = (String) params.get("job_no"); String jobNo = (String) params.get("job_no");
// 判断是否开启自动编号 // 判断是否开启自动编号
jobNo = repeatDetermine(jobNo); jobNo = repeatDetermine(jobNo,searchParam.getEcJobTitle(),searchParam.getEcDepartment());
params.put("job_no", jobNo); params.put("job_no", jobNo);
return getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOB, params, "", null); return getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOB, params, "", null);
} }
@ -401,7 +401,7 @@ public class JobServiceImpl extends Service implements JobService {
String oldJobNo = oldJobPO.getJobNo(); String oldJobNo = oldJobPO.getJobNo();
String jobNo = searchParam.getJobNo(); String jobNo = searchParam.getJobNo();
if (!jobNo.equals(oldJobNo)) { if (!jobNo.equals(oldJobNo)) {
jobNo = repeatDetermine(jobNo); jobNo = repeatDetermine(jobNo,searchParam.getEcJobTitle(),searchParam.getEcDepartment());
params.put("job_no", jobNo); params.put("job_no", jobNo);
} }
@ -739,7 +739,8 @@ public class JobServiceImpl extends Service implements JobService {
* *
* @return * @return
*/ */
public String repeatDetermine(String jobNo) { public String repeatDetermine(String jobNo,Integer jobTitle,Integer departmentId) {
JobTitlesComInfo jb = new JobTitlesComInfo();
CodeRulePO codeRuleByType = MapperProxyFactory.getProxy(CodeRuleMapper.class).getCodeRuleByType(RuleCodeType.JOBTITLES.getValue()); CodeRulePO codeRuleByType = MapperProxyFactory.getProxy(CodeRuleMapper.class).getCodeRuleByType(RuleCodeType.JOBTITLES.getValue());
if (StringUtils.isNotBlank(jobNo)) { if (StringUtils.isNotBlank(jobNo)) {
jobNo = CodeRuleUtil.generateCode(RuleCodeType.JOBTITLES, jobNo); jobNo = CodeRuleUtil.generateCode(RuleCodeType.JOBTITLES, jobNo);
@ -748,7 +749,11 @@ public class JobServiceImpl extends Service implements JobService {
OrganizationAssert.isEmpty(list, SystemEnv.getHtmlLabelName(547137, user.getLanguage())); OrganizationAssert.isEmpty(list, SystemEnv.getHtmlLabelName(547137, user.getLanguage()));
} else { } else {
//OrganizationAssert.isTrue(null != codeRuleByType && "1".equals(codeRuleByType.getSerialEnable()), SystemEnv.getHtmlLabelName(547430,user.getLanguage())); //OrganizationAssert.isTrue(null != codeRuleByType && "1".equals(codeRuleByType.getSerialEnable()), SystemEnv.getHtmlLabelName(547430,user.getLanguage()));
jobNo = autoCreateCompanyNo(); //jobNo = autoCreateCompanyNo();
String jobTitlescode = jb.getJobTitlescode(String.valueOf(jobTitle));
if (!"".equals(jobTitlescode)) {
jobNo = jobTitlescode+"-"+departmentId;
}
} }
return jobNo; return jobNo;
} }

@ -27,6 +27,9 @@ public class HrmResourceTransMethod {
*/ */
public static String getFieldTrueValue(String id, String para) { public static String getFieldTrueValue(String id, String para) {
HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", Integer.parseInt(para.split("_")[0])); HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", Integer.parseInt(para.split("_")[0]));
if("-1_hrm_subcompanyid1".equals(para)){
hfm = new HrmFieldManager("HrmCustomFieldByInfoType", 5);
}
String fieldName = para.substring(para.lastIndexOf("_") + 1); String fieldName = para.substring(para.lastIndexOf("_") + 1);
JSONObject hrmFieldConf = hfm.getHrmFieldConf(fieldName); JSONObject hrmFieldConf = hfm.getHrmFieldConf(fieldName);
User user = new User(); User user = new User();
@ -78,6 +81,9 @@ public class HrmResourceTransMethod {
*/ */
public static String getFieldTrueValueExp(String id, String para) { public static String getFieldTrueValueExp(String id, String para) {
HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", Integer.parseInt(para.split("_")[0])); HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", Integer.parseInt(para.split("_")[0]));
if("-1_hrm_subcompanyid1".equals(para)){
hfm = new HrmFieldManager("HrmCustomFieldByInfoType", 5);
}
String fieldName = para.substring(para.lastIndexOf("_") + 1); String fieldName = para.substring(para.lastIndexOf("_") + 1);
JSONObject hrmFieldConf = hfm.getHrmFieldConf(fieldName); JSONObject hrmFieldConf = hfm.getHrmFieldConf(fieldName);
User user = new User(); User user = new User();

@ -0,0 +1,169 @@
package weaver.interfaces.organization.action;
import cn.hutool.core.collection.CollectionUtil;
import com.engine.organization.entity.hrmresource.po.ResourcePO;
import com.engine.organization.entity.job.po.JobPO;
import com.engine.organization.entity.staff.po.StaffPO;
import com.engine.organization.enums.DeleteTypeEnum;
import com.engine.organization.mapper.job.JobMapper;
import com.engine.organization.mapper.staff.StaffMapper;
import com.engine.organization.util.db.MapperProxyFactory;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.job.JobTitlesComInfo;
import weaver.interfaces.workflow.action.Action;
import weaver.soa.workflow.request.RequestInfo;
import java.util.*;
/**
* @Author liang.cheng
* @Date 2024/9/25 2:03 PM
* @Description:
* @Version 1.0
*/
public class WorkflowStaffOperateAction implements Action {
@Override
public String execute(RequestInfo requestInfo) {
String requestid = requestInfo.getRequestid();
int formid = Math.abs(requestInfo.getRequestManager().getFormid());
RecordSet rs = new RecordSet();
String mainTable = String.format("%s%s", "formtable_main_", formid);
String detaiTable = String.format("%s%s",mainTable,"_dt1");
//1.获取表单数据
rs.executeQuery("select a.bzfa,b.fb,b.bm,b.gw,b.bzs,b.zzs from "+mainTable+" as a \n" +
"right join "+detaiTable+" as b on a.id = b.mainid where a.requestid = ?",requestid);
List<StaffPO> staffList = new ArrayList<>();
while (rs.next()) {
StaffPO build = StaffPO.builder()
.planId(Util.getIntValue(rs.getString("bzfa")))
.compId(Util.getIntValue(rs.getString("fb")))
.deptId(Util.getIntValue(rs.getString("bm")))
.jobId(Util.getIntValue(rs.getString("gw")))
.staffNum(Util.getIntValue(rs.getString("bzs")))
.permanentNum(Util.getIntValue(rs.getString("zzs")))
.build();
staffList.add(build);
}
if (CollectionUtil.isEmpty(staffList)) {
requestInfo.getRequestManager().setMessagecontent("未找到明细数据");
return Action.FAILURE_AND_CONTINUE;
}
Integer planId = staffList.get(0).getPlanId();
//2.数据处理Ec岗位id替换为聚才林岗位id 不存在情况下新增岗位数据
buildJobTitle(staffList);
//3.根据方案id获取当前已有编制信息与流程明细比较已存在的更新未存在的新增
List<StaffPO> hStaffList = new ArrayList<>();
rs.executeQuery("select id,comp_id,dept_id,job_id,freeze_num from jcl_org_staff where plan_id = ? and delete_type = 0",planId);
while (rs.next()) {
StaffPO build = StaffPO.builder()
.id((long) Util.getIntValue(rs.getString("id")))
.compId(Util.getIntValue(rs.getString("comp_id")))
.deptId(Util.getIntValue(rs.getString("dept_id")))
.jobId(Util.getIntValue(rs.getString("job_id")))
.freezeNum(Util.getIntValue(rs.getString("freeze_num")))
.build();
hStaffList.add(build);
}
//新增的编制信息数据List
List<StaffPO> iStaffList = new ArrayList<>();
Map<String, StaffPO> hStaffMap = new HashMap<>();
for (StaffPO staff : hStaffList) {
String key = staff.getCompId() + "_" + staff.getDeptId() + "_" + staff.getJobId();
hStaffMap.put(key, staff);
}
for (StaffPO staff : staffList) {
String key = staff.getCompId() + "_" + staff.getDeptId() + "_" + staff.getJobId();
if (hStaffMap.containsKey(key)) {
StaffPO matchedStaff = hStaffMap.get(key);
matchedStaff.setPermanentNum(staff.getPermanentNum());
matchedStaff.setStaffNum(staff.getStaffNum());
}else {
iStaffList.add(staff);
}
}
//更新
hStaffList.forEach(item -> {
//todo 冻结数还原为0根据需求而定
buildStaffPO(item);
rs.executeUpdate("update jcl_org_staff set staff_num = ?,permanent_num = ?,lack_status = ? where id = ?",
item.getStaffNum(),item.getPermanentNum(),item.getLackStatus(),item.getId());
});
//插入
iStaffList.forEach(staffPO -> {
staffPO.setFreezeNum(0);
staffPO.setControlPolicy(1);
staffPO.setDeleteType(0);
staffPO.setCreateTime(new Date());
staffPO.setUpdateTime(new Date());
staffPO.setCreator(1L);
buildStaffPO(staffPO);
MapperProxyFactory.getProxy(StaffMapper.class).insertIgnoreNull(staffPO);
});
return Action.FAILURE_AND_CONTINUE;
}
/**
* Ec
* @param staffList
*/
private void buildJobTitle(List<StaffPO> staffList) {
JobTitlesComInfo jb = new JobTitlesComInfo();
staffList.forEach(item -> {
ResourcePO resourcePo = ResourcePO.builder().subcompanyid1(item.getCompId()).departmentid(item.getDeptId()).jobtitle(item.getJobId()).build();
JobPO jobByResource = MapperProxyFactory.getProxy(JobMapper.class).getJobByResource(resourcePo);
if (jobByResource == null) {
//岗位不存在新增
JobPO jobPO = JobPO.builder()
.ecCompany(resourcePo.getSubcompanyid1())
.ecDepartment(resourcePo.getDepartmentid())
.ecJobTitle(resourcePo.getJobtitle())
.isKey(0)
.deleteType(DeleteTypeEnum.NOT_DELETED.getValue())
.createTime(new Date())
.updateTime(new Date())
.build();
String jobTitlescode = jb.getJobTitlescode(String.valueOf(resourcePo.getJobtitle()));
if (!"".equals(jobTitlescode)) {
jobPO.setJobNo(jobTitlescode+"-"+resourcePo.getDepartmentid());
}
MapperProxyFactory.getProxy(JobMapper.class).insertIgnoreNull(jobPO);
item.setJobId(Math.toIntExact(jobPO.getId()));
}else {
item.setJobId(Math.toIntExact(jobByResource.getId()));
}
});
}
private static void buildStaffPO(StaffPO staffPO) {
List<Integer> number = Arrays.asList(staffPO.getPermanentNum(),staffPO.getFreezeNum());
Integer sums = number.stream()
.mapToInt(Integer::intValue)
.sum();
Integer a = staffPO.getStaffNum();
staffPO.setLackStatus((a.compareTo(sums) < 0) ? 3 : ((a.compareTo(sums) == 0) ? 2 : 1));
}
}
Loading…
Cancel
Save