优化代码逻辑,去除map表交互,提升人员导入速度

feature/jingyou
dxfeng 7 months ago
parent bbf8408bb4
commit 46d8e99088

@ -19,7 +19,6 @@ import com.engine.organization.mapper.scheme.GradeMapper;
import com.engine.organization.mapper.scheme.LevelMapper; import com.engine.organization.mapper.scheme.LevelMapper;
import com.engine.organization.mapper.scheme.SchemeMapper; import com.engine.organization.mapper.scheme.SchemeMapper;
import com.engine.organization.mapper.sequence.SequenceMapper; import com.engine.organization.mapper.sequence.SequenceMapper;
import com.engine.organization.thread.HrmResourceTriggerRunnable;
import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.db.MapperProxyFactory;
import com.wbi.util.Util; import com.wbi.util.Util;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -68,49 +67,51 @@ public class CusFieldDataTrigger {
JobPO jobById = MapperProxyFactory.getProxy(JobMapper.class).getJobById(gwId); JobPO jobById = MapperProxyFactory.getProxy(JobMapper.class).getJobById(gwId);
if (null != jobById) { if (null != jobById) {
RecordInfo hrmJobTitleByName = MapperProxyFactory.getProxy(SystemDataMapper.class).getHrmJobTitleByName(jobById.getJobName()); RecordInfo hrmJobTitleByName = MapperProxyFactory.getProxy(SystemDataMapper.class).getHrmJobTitleByName(jobById.getJobName());
Long ecGwId = StringUtils.isNotBlank(hrmJobTitleByName.getId()) ? Long.parseLong(hrmJobTitleByName.getId()) : null; if(null!=hrmJobTitleByName) {
Long ecBmId = jobById.getEcDepartment(); Long ecGwId = StringUtils.isNotBlank(hrmJobTitleByName.getId()) ? Long.parseLong(hrmJobTitleByName.getId()) : null;
Long ecGsId = jobById.getEcCompany(); Long ecBmId = jobById.getEcDepartment();
Map<String, Object> hrmResourceMap = new HashMap<>(); Long ecGsId = jobById.getEcCompany();
// 岗位 Map<String, Object> hrmResourceMap = new HashMap<>();
hrmResourceMap.put("jobtitle", ecGwId); // 岗位
// 部门 hrmResourceMap.put("jobtitle", ecGwId);
hrmResourceMap.put("departmentid", ecBmId); // 部门
// 公司 hrmResourceMap.put("departmentid", ecBmId);
hrmResourceMap.put("subcompanyid1", ecGsId); // 公司
MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(id).tableName("hrmresource").params(hrmResourceMap).build()); hrmResourceMap.put("subcompanyid1", ecGsId);
updateFlag = true; MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(id).tableName("hrmresource").params(hrmResourceMap).build());
updateFlag = true;
// 职等职级为空,从岗位取值、更新 // 职等职级为空,从岗位取值、更新
if (StringUtils.isBlank(sourceField100001)) { if (StringUtils.isBlank(sourceField100001)) {
if (StringUtils.isNotBlank(jobById.getLevelId())) { if (StringUtils.isNotBlank(jobById.getLevelId())) {
// 通过岗位关联,如有多个职等,选取第一个 // 通过岗位关联,如有多个职等,选取第一个
String[] levelArray = jobById.getLevelId().split(","); String[] levelArray = jobById.getLevelId().split(",");
LevelPO levelByID = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByID(Long.parseLong(levelArray[0])); LevelPO levelByID = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByID(Long.parseLong(levelArray[0]));
directionData.setField100008(levelByID.getLevelName()); directionData.setField100008(levelByID.getLevelName());
} else { } else {
directionData.setField100008(null); directionData.setField100008(null);
} }
// 职等职级方案 // 职等职级方案
if (StringUtils.isNotBlank(Util.null2String(jobById.getSchemeId()))) { if (StringUtils.isNotBlank(Util.null2String(jobById.getSchemeId()))) {
SchemePO schemeByID = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByID(jobById.getSchemeId()); SchemePO schemeByID = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByID(jobById.getSchemeId());
directionData.setField100006(schemeByID.getSchemeName()); directionData.setField100006(schemeByID.getSchemeName());
} else { } else {
directionData.setField100006(null); directionData.setField100006(null);
} }
// 职级 // 职级
if (StringUtils.isNotBlank(jobById.getGradeId())) { if (StringUtils.isNotBlank(jobById.getGradeId())) {
GradePO gradeByLevelId = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByID(Long.parseLong(jobById.getGradeId())); GradePO gradeByLevelId = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByID(Long.parseLong(jobById.getGradeId()));
directionData.setField100007(gradeByLevelId.getGradeName()); directionData.setField100007(gradeByLevelId.getGradeName());
} else { } else {
directionData.setField100007(null); directionData.setField100007(null);
} }
// 岗位序列 // 岗位序列
if (StringUtils.isNotBlank(Util.null2String(jobById.getSequenceId()))) { if (StringUtils.isNotBlank(Util.null2String(jobById.getSequenceId()))) {
SequencePO sequenceBySchemeId = MapperProxyFactory.getProxy(SequenceMapper.class).getSequenceByID(jobById.getSequenceId()); SequencePO sequenceBySchemeId = MapperProxyFactory.getProxy(SequenceMapper.class).getSequenceByID(jobById.getSequenceId());
directionData.setField100005(sequenceBySchemeId.getSequenceName()); directionData.setField100005(sequenceBySchemeId.getSequenceName());
} else { } else {
directionData.setField100005(null); directionData.setField100005(null);
}
} }
} }
} }
@ -164,6 +165,6 @@ public class CusFieldDataTrigger {
MapperProxyFactory.getProxy(SystemDataMapper.class).updateCusFieldData(directionData); MapperProxyFactory.getProxy(SystemDataMapper.class).updateCusFieldData(directionData);
} }
// 刷新组织结构图 // 刷新组织结构图
new HrmResourceTriggerRunnable(id).run(); // new HrmResourceTriggerRunnable(id).run();
} }
} }

@ -14,7 +14,6 @@ import com.engine.organization.entity.jclimport.po.JclImportHistoryDetailPO;
import com.engine.organization.mapper.jclimport.JclImportHistoryDetailMapper; import com.engine.organization.mapper.jclimport.JclImportHistoryDetailMapper;
import com.engine.organization.mapper.jclimport.JclImportHistoryMapper; import com.engine.organization.mapper.jclimport.JclImportHistoryMapper;
import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.mapper.job.JobMapper;
import com.engine.organization.thread.HrmResourceTriggerRunnable;
import com.engine.organization.trigger.cusfielddata.CusFieldDataTrigger; import com.engine.organization.trigger.cusfielddata.CusFieldDataTrigger;
import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.db.MapperProxyFactory;
import com.weaver.integration.ldap.sync.oa.OaSync; import com.weaver.integration.ldap.sync.oa.OaSync;
@ -824,7 +823,7 @@ public class HrmImportProcessE9 extends BaseBean {
new HrmDateCheck().calWorkInfo("" + id); new HrmDateCheck().calWorkInfo("" + id);
// 刷新组织结构图 // 刷新组织结构图
new HrmResourceTriggerRunnable((long) id).run(); // new HrmResourceTriggerRunnable((long) id).run();
} }
@ -1498,7 +1497,7 @@ public class HrmImportProcessE9 extends BaseBean {
resultList.add(createLog(vo, "更新", "失败", "系统错误,请联系管理员")); resultList.add(createLog(vo, "更新", "失败", "系统错误,请联系管理员"));
} }
// 刷新组织结构图 // 刷新组织结构图
new HrmResourceTriggerRunnable((long) keyMap.get(key)).run(); // new HrmResourceTriggerRunnable((long) keyMap.get(key)).run();
} }
} catch (Exception e) { } catch (Exception e) {
//数据异常 //数据异常

Loading…
Cancel
Save