From c8eb2f3451c1e127a87bff22be40b0831faa74e6 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 16 Sep 2022 14:48:00 +0800 Subject: [PATCH 1/5] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ImportCommonServiceImpl.java | 2 +- .../cusfielddata/CusFieldDataTrigger.java | 33 +++++++++++++++++-- .../util/saveimport/OrgImportUtil.java | 2 +- .../util/saveimport/StaffInfoImportUtil.java | 25 +++++++++++--- 4 files changed, 52 insertions(+), 10 deletions(-) diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index 7f68cc0b..50ed7392 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -1072,7 +1072,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } for (String s : split) { parentDepartmentId = MapperProxyFactory.getProxy(DepartmentMapper.class).getIdByNameAndPid(s, parentCompanyId, parentDepartmentId == null ? 0 : parentDepartmentId); - if (null == parentCompanyId) { + if (null == parentDepartmentId) { historyDetailPO.setOperateDetail(cellValue + "部门未找到对应数据"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); diff --git a/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java b/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java index 9b59764f..f378a5e6 100644 --- a/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java +++ b/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java @@ -21,6 +21,7 @@ import com.engine.organization.mapper.scheme.SchemeMapper; import com.engine.organization.mapper.sequence.SequenceMapper; import com.engine.organization.thread.HrmResourceTriggerRunnable; import com.engine.organization.util.db.MapperProxyFactory; +import com.wbi.util.Util; import org.apache.commons.lang3.StringUtils; import java.util.HashMap; @@ -78,9 +79,35 @@ public class CusFieldDataTrigger { MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(id).tableName("hrmresource").params(hrmResourceMap).build()); updateFlag = true; - if(StringUtils.isBlank(sourceField100001)){ - // 拼接Field100001字段,岗位序列A职级A职等 - sourceField100001 += "_" + jobById.getSequenceId() + "A" + jobById.getGradeId() + "A" + jobById.getLevelId().split(",")[0]; + // 职等职级为空,从岗位取值、更新 + if (StringUtils.isBlank(sourceField100001)) { + if (StringUtils.isNotBlank(jobById.getLevelId())) { + LevelPO levelByID = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByID(Long.parseLong(jobById.getLevelId().split(",")[0])); + directionData.setField100008(levelByID.getLevelName()); + }else{ + directionData.setField100008(null); + } + // 职等职级方案 + if (StringUtils.isNotBlank(Util.null2String(jobById.getSchemeId()))) { + SchemePO schemeByID = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByID(jobById.getSchemeId()); + directionData.setField100006(schemeByID.getSchemeName()); + }else{ + directionData.setField100006(null); + } + // 职级 + if (StringUtils.isNotBlank(jobById.getGradeId())) { + GradePO gradeByLevelId = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByID(Long.parseLong(jobById.getGradeId())); + directionData.setField100007(gradeByLevelId.getGradeName()); + }else{ + directionData.setField100007(null); + } + // 岗位序列 + if (StringUtils.isNotBlank(Util.null2String(jobById.getSequenceId()))) { + SequencePO sequenceBySchemeId = MapperProxyFactory.getProxy(SequenceMapper.class).getSequenceByID(jobById.getSequenceId()); + directionData.setField100005(sequenceBySchemeId.getSequenceName()); + }else{ + directionData.setField100005(null); + } } } diff --git a/src/com/engine/organization/util/saveimport/OrgImportUtil.java b/src/com/engine/organization/util/saveimport/OrgImportUtil.java index 96a72a3f..cfda1908 100644 --- a/src/com/engine/organization/util/saveimport/OrgImportUtil.java +++ b/src/com/engine/organization/util/saveimport/OrgImportUtil.java @@ -37,7 +37,7 @@ public class OrgImportUtil { } public static void saveImportDetailLog(JclImportHistoryDetailPO historyDetailPO) { - String detailMsg = "导入第" + historyDetailPO.getRowNums() + "行数据,[" + historyDetailPO.getRelatedName() + "]" + historyDetailPO.getOperateDetail(); + String detailMsg = "导入第" + historyDetailPO.getRowNums() + "行数据," + historyDetailPO.getRelatedName() + historyDetailPO.getOperateDetail(); historyDetailPO.setOperateDetail(detailMsg); MapperProxyFactory.getProxy(JclImportHistoryDetailMapper.class).insertHistoryDetail(historyDetailPO); } diff --git a/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java b/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java index ad98805b..d8b15864 100644 --- a/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java +++ b/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java @@ -124,9 +124,10 @@ public class StaffInfoImportUtil { List staffPlanPOS = MapperProxyFactory.getProxy(StaffPlanMapper.class).listByNo(Util.null2String(reallyValue)); if (CollectionUtils.isNotEmpty(staffPlanPOS)) { staffPlanPO = staffPlanPOS.get(0); - map.put("plan_id",staffPlanPO.getId()); + map.put("plan_id", staffPlanPO.getId()); historyDetailPO.setRelatedName(staffPlanPO.getPlanNo()); } else { + historyDetailPO.setRelatedName(""); historyDetailPO.setOperateDetail("编号:" + reallyValue + ",未找到对应数据"); historyDetailPO.setStatus("0"); OrgImportUtil.saveImportDetailLog(historyDetailPO); @@ -169,7 +170,7 @@ public class StaffInfoImportUtil { } for (String s : split) { parentDepartmentId = MapperProxyFactory.getProxy(DepartmentMapper.class).getIdByNameAndPid(s, parentCompanyId, parentDepartmentId == null ? 0 : parentDepartmentId); - if (null == parentCompanyId) { + if (null == parentDepartmentId) { historyDetailPO.setOperateDetail(cellValue + "部门未找到对应数据"); historyDetailPO.setStatus("0"); OrgImportUtil.saveImportDetailLog(historyDetailPO); @@ -213,6 +214,15 @@ public class StaffInfoImportUtil { map.put("job_id", parentJobId); } + + // 编制数大于0 + if ("staff_num".equals(infoPO.getFieldName()) && Integer.parseInt(Util.null2String(reallyValue)) < 0) { + historyDetailPO.setOperateDetail("编制数不可小于0"); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + continue nextRow; + } + } } // 校验、数据交互 @@ -226,6 +236,7 @@ public class StaffInfoImportUtil { OrgImportUtil.saveImportDetailLog(historyDetailPO); continue; } + StaffSearchParam param = JSONObject.toJavaObject((JSON) JSONObject.toJSON(map), StaffSearchParam.class); String controlDimension = staffPlanPO.getControlDimension(); String checkMsg = ""; switch (controlDimension) { @@ -233,6 +244,9 @@ public class StaffInfoImportUtil { if (null == parentCompanyId) { checkMsg = "编制维度选择分部时,分部必填!"; } + // 取消部门、岗位赋值 + param.setDeptId(null); + param.setJobId(null); break; case "2":// 部门 if (null == parentCompanyId) { @@ -240,6 +254,8 @@ public class StaffInfoImportUtil { } else if (null == parentDepartmentId) { checkMsg = "编制维度选择部门时,部门必填!"; } + // 取消岗位赋值 + param.setJobId(null); break; case "3": // 岗位 if (null == parentCompanyId) { @@ -254,16 +270,15 @@ public class StaffInfoImportUtil { checkMsg = "编制方案数据有误,请确认"; break; } - if(StringUtils.isNotBlank(checkMsg)){ + if (StringUtils.isNotBlank(checkMsg)) { historyDetailPO.setOperateDetail(checkMsg); historyDetailPO.setStatus("0"); OrgImportUtil.saveImportDetailLog(historyDetailPO); continue; } - StaffSearchParam param = JSONObject.toJavaObject((JSON) JSONObject.toJSON(map), StaffSearchParam.class); StaffPO staffPO = StaffBO.convertParamToPO(param, (long) user.getUID()); - if(null==staffPO.getControlPolicy()){ + if (null == staffPO.getControlPolicy()) { staffPO.setControlPolicy(1); } MapperProxyFactory.getProxy(StaffMapper.class).insertIgnoreNull(staffPO); From c49abcf77f61db0f5990a31c3497262dbe40dfd5 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 16 Sep 2022 16:56:30 +0800 Subject: [PATCH 2/5] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trigger/cusfielddata/CusFieldDataTrigger.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java b/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java index f378a5e6..7d5edb25 100644 --- a/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java +++ b/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java @@ -82,30 +82,32 @@ public class CusFieldDataTrigger { // 职等职级为空,从岗位取值、更新 if (StringUtils.isBlank(sourceField100001)) { if (StringUtils.isNotBlank(jobById.getLevelId())) { - LevelPO levelByID = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByID(Long.parseLong(jobById.getLevelId().split(",")[0])); + // 通过岗位关联,如有多个职等,选取第一个 + String[] levelArray = jobById.getLevelId().split(","); + LevelPO levelByID = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByID(Long.parseLong(levelArray[0])); directionData.setField100008(levelByID.getLevelName()); - }else{ + } else { directionData.setField100008(null); } // 职等职级方案 if (StringUtils.isNotBlank(Util.null2String(jobById.getSchemeId()))) { SchemePO schemeByID = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByID(jobById.getSchemeId()); directionData.setField100006(schemeByID.getSchemeName()); - }else{ + } else { directionData.setField100006(null); } // 职级 if (StringUtils.isNotBlank(jobById.getGradeId())) { GradePO gradeByLevelId = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByID(Long.parseLong(jobById.getGradeId())); directionData.setField100007(gradeByLevelId.getGradeName()); - }else{ + } else { directionData.setField100007(null); } // 岗位序列 if (StringUtils.isNotBlank(Util.null2String(jobById.getSequenceId()))) { SequencePO sequenceBySchemeId = MapperProxyFactory.getProxy(SequenceMapper.class).getSequenceByID(jobById.getSequenceId()); directionData.setField100005(sequenceBySchemeId.getSequenceName()); - }else{ + } else { directionData.setField100005(null); } } From fe668c37e7c36a85c1d650ba36fbcf4dddd0049e Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 19 Sep 2022 13:27:50 +0800 Subject: [PATCH 3/5] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/api/browser/service/impl/JobBrowserService.java | 3 ++- src/com/engine/organization/entity/job/bo/JobBO.java | 2 ++ src/com/engine/organization/mapper/job/JobMapper.java | 8 ++++++++ src/com/engine/organization/mapper/job/JobMapper.xml | 6 ++++++ .../service/impl/ImportCommonServiceImpl.java | 2 +- .../engine/organization/service/impl/JobServiceImpl.java | 9 +++++---- 6 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/com/api/browser/service/impl/JobBrowserService.java b/src/com/api/browser/service/impl/JobBrowserService.java index 85776d49..4cb16406 100644 --- a/src/com/api/browser/service/impl/JobBrowserService.java +++ b/src/com/api/browser/service/impl/JobBrowserService.java @@ -63,7 +63,8 @@ public class JobBrowserService extends BrowserService { searchTreeParams.setId(idArray[1]); Map searchTree = new JobServiceImpl().getSearchTree(searchTreeParams); List datas = (List) searchTree.get("datas"); - nodeData.addAll(datas.get(0).getSubs()); + TreeNode treeNode = datas.stream().filter(item -> idArray[1].equals(item.getId())).findFirst().orElse(new TreeNode()); + nodeData.addAll(treeNode.getSubs()); } } List cusBrowserTrees = CusBowserTreeBO.convertSearchTreeToBorwserTree(nodeData); diff --git a/src/com/engine/organization/entity/job/bo/JobBO.java b/src/com/engine/organization/entity/job/bo/JobBO.java index 652f10e9..1bb1486d 100644 --- a/src/com/engine/organization/entity/job/bo/JobBO.java +++ b/src/com/engine/organization/entity/job/bo/JobBO.java @@ -98,6 +98,8 @@ public class JobBO { Map> collects = dtoList.stream().filter(item -> null != item.getParentJob() && 0 != item.getParentJob()).collect(Collectors.groupingBy(JobListDTO::getParentJob)); // 处理被引用数据 List usedIds = MapperProxyFactory.getProxy(JobMapper.class).listUsedId(); + // 兼容不同类型 + usedIds.addAll(MapperProxyFactory.getProxy(JobMapper.class).getCusJobIds()); List collect = Arrays.stream(String.join(",", usedIds).split(",")).collect(Collectors.toList()); return dtoList.stream().peek(e -> { List childList = collects.get(e.getId()); diff --git a/src/com/engine/organization/mapper/job/JobMapper.java b/src/com/engine/organization/mapper/job/JobMapper.java index 50d8c9b0..f5dbbab8 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.java +++ b/src/com/engine/organization/mapper/job/JobMapper.java @@ -136,6 +136,14 @@ public interface JobMapper { */ List listUsedId(); + /** + * EC人员使用的聚才林岗位 + * @return + */ + List getCusJobIds(); + + + /** * 获取最大排序 * diff --git a/src/com/engine/organization/mapper/job/JobMapper.xml b/src/com/engine/organization/mapper/job/JobMapper.xml index 208ef6a6..66ab906b 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.xml +++ b/src/com/engine/organization/mapper/job/JobMapper.xml @@ -540,6 +540,12 @@ and t.id != #{id} + and ifnull(parent_job,0) = diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index 50ed7392..83da6057 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -815,7 +815,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ saveImportDetailLog(historyDetailPO); continue nextRow; } - if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue)) && !"parent_comp".equals(infoPO.getFieldName())) { + if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue)) && !"ec_company".equals(infoPO.getFieldName())) { historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "数据转换失败,未找到对应数据"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 6d540d4c..71df6806 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -539,11 +539,11 @@ public class JobServiceImpl extends Service implements JobService { // 人员信息变动,更新分部、部门、岗位 RecordSet rs = new RecordSet(); - rs.executeUpdate("SELECT ID FROM CUS_FIELDDATA WHERE SCOPEID =-1 AND FIELD100002 = ?", jobById.getId()); + rs.execute("SELECT ID FROM CUS_FIELDDATA WHERE SCOPE = 'HrmCustomFieldByInfoType' AND SCOPEID =-1 AND FIELD100002 = '" + jobById.getId() + "'"); while (rs.next()) { long userId = Long.parseLong(Util.null2String(rs.getString("ID"))); // 更新岗位 、岗位更新触发器 - rs.executeUpdate("update CUS_FIELDDATA set FIELD100002 = ? where SCOPEID =-1 and id = ", targetJob.getId(), userId); + rs.executeUpdate("update CUS_FIELDDATA set FIELD100002 = ? where SCOPE = 'HrmCustomFieldByInfoType' AND SCOPEID =-1 and id = ?", targetJob.getId(), userId); CusFieldDataTrigger.run(userId); // 更新人员组织架构图 } @@ -569,13 +569,14 @@ public class JobServiceImpl extends Service implements JobService { job.setParentDept(parentDepartment); job.setEcDepartment(ecDepartment); job.setParentJob(parentJob); + getJobMapper().updateBaseJob(job); // 更新人员信息 RecordSet rs = new RecordSet(); - rs.executeUpdate("SELECT ID FROM CUS_FIELDDATA WHERE SCOPEID =-1 AND FIELD100002 = ?", job.getId()); + rs.execute("SELECT ID FROM CUS_FIELDDATA WHERE SCOPE = 'HrmCustomFieldByInfoType' AND SCOPEID =-1 AND FIELD100002 = '" + job.getId() + "'"); while (rs.next()) { long userId = Long.parseLong(Util.null2String(rs.getString("ID"))); // 更新人员分部、部门 - rs.executeUpdate("UPDATE HRMRESOURCE SET SUBCOMPANYID1 = ? , DEPARTMENTID = ? WHERE ID =? ", ecCompany, ecDepartment, userId); + // rs.executeUpdate("UPDATE HRMRESOURCE SET SUBCOMPANYID1 = ? , DEPARTMENTID = ? WHERE ID =? ", ecCompany, ecDepartment, userId); // 更新人员组织架构图 CusFieldDataTrigger.run(userId); } From b214ec85095eebb9dbf049753445facad2b8172c Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 20 Sep 2022 09:18:24 +0800 Subject: [PATCH 4/5] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../thread/OrganizationSyncEc.java | 36 +++++--- .../cusfielddata/CusFieldDataTrigger.java | 88 ++++++++++--------- .../hrmimport/HrmImportProcessE9.java | 25 +++--- 3 files changed, 84 insertions(+), 65 deletions(-) diff --git a/src/com/engine/organization/thread/OrganizationSyncEc.java b/src/com/engine/organization/thread/OrganizationSyncEc.java index bda5d171..0cfed56e 100644 --- a/src/com/engine/organization/thread/OrganizationSyncEc.java +++ b/src/com/engine/organization/thread/OrganizationSyncEc.java @@ -205,17 +205,31 @@ public class OrganizationSyncEc { if (EcHrmRelationUtil.isNotExistJob(newName, jclJobId)) { // 查询ec表ID RecordInfo hrmJobTitle = getSystemDataMapper().getHrmJobTitleByName(oldName); - map.put("id", Util.null2String(hrmJobTitle.getId())); - map.put("operateIp", Util.null2String(user.getLoginip())); - map.put("jobtitlemark", newName); - map.put("jobtitlename", newName); - map.put("jobactivityid", Util.null2String(params.get("jobactivityid"))); - map.put("jobresponsibility", Util.null2String(params.get("work_duty"))); - map.put("jobcompetency", Util.null2String(params.get("work_authority"))); - map.put("jobtitleremark", Util.null2String(params.get("description"))); - map.put("jobtitlecode", Util.null2String(params.get("job_no")) + "_" + System.currentTimeMillis()); - // 修改岗位表数据 - this.resultMap = ServiceUtil.getService(HrmJobServiceImpl.class, user).editJobTitle(map, user); + if (null != hrmJobTitle) { + map.put("id", Util.null2String(hrmJobTitle.getId())); + map.put("operateIp", Util.null2String(user.getLoginip())); + map.put("jobtitlemark", newName); + map.put("jobtitlename", newName); + map.put("jobactivityid", Util.null2String(params.get("jobactivityid"))); + map.put("jobresponsibility", Util.null2String(params.get("work_duty"))); + map.put("jobcompetency", Util.null2String(params.get("work_authority"))); + map.put("jobtitleremark", Util.null2String(params.get("description"))); + map.put("jobtitlecode", Util.null2String(params.get("job_no")) + "_" + System.currentTimeMillis()); + // 修改岗位表数据 + this.resultMap = ServiceUtil.getService(HrmJobServiceImpl.class, user).editJobTitle(map, user); + } else { + // TODO 纠正错误数据 临时使用 + // 不存在则新建职务 + map.put("operateIp", Util.null2String(user.getLoginip())); + map.put("jobtitlemark", newName); + map.put("jobtitlename", newName); + map.put("jobactivityid", Util.null2String(params.get("jobactivityid"))); + map.put("jobresponsibility", Util.null2String(params.get("work_duty"))); + map.put("jobcompetency", Util.null2String(params.get("work_authority"))); + map.put("jobtitleremark", Util.null2String(params.get("description"))); + map.put("jobtitlecode", Util.null2String(params.get("job_no")) + "_" + System.currentTimeMillis()); + this.resultMap = ServiceUtil.getService(HrmJobServiceImpl.class, user).addJobTitle(map, user); + } } else { // 修改后存在共用、不修改岗位表数据,更新对应人员的岗位信息为当前岗位的ID RecordInfo hrmJobTitle = getSystemDataMapper().getHrmJobTitleByName(newName); diff --git a/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java b/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java index 7d5edb25..e6ef04cc 100644 --- a/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java +++ b/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java @@ -65,50 +65,52 @@ public class CusFieldDataTrigger { directionData.setField100002(sourceField100002); Long gwId = Long.parseLong(sourceField100002); JobPO jobById = MapperProxyFactory.getProxy(JobMapper.class).getJobById(gwId); - RecordInfo hrmJobTitleByName = MapperProxyFactory.getProxy(SystemDataMapper.class).getHrmJobTitleByName(jobById.getJobName()); - Long ecGwId = StringUtils.isNotBlank(hrmJobTitleByName.getId()) ? Long.parseLong(hrmJobTitleByName.getId()) : null; - Long ecBmId = jobById.getEcDepartment(); - Long ecGsId = jobById.getEcCompany(); - Map hrmResourceMap = new HashMap<>(); - // 岗位 - hrmResourceMap.put("jobtitle", ecGwId); - // 部门 - hrmResourceMap.put("departmentid", ecBmId); - // 公司 - hrmResourceMap.put("subcompanyid1", ecGsId); - MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(id).tableName("hrmresource").params(hrmResourceMap).build()); - updateFlag = true; + if (null != jobById) { + RecordInfo hrmJobTitleByName = MapperProxyFactory.getProxy(SystemDataMapper.class).getHrmJobTitleByName(jobById.getJobName()); + Long ecGwId = StringUtils.isNotBlank(hrmJobTitleByName.getId()) ? Long.parseLong(hrmJobTitleByName.getId()) : null; + Long ecBmId = jobById.getEcDepartment(); + Long ecGsId = jobById.getEcCompany(); + Map hrmResourceMap = new HashMap<>(); + // 岗位 + hrmResourceMap.put("jobtitle", ecGwId); + // 部门 + hrmResourceMap.put("departmentid", ecBmId); + // 公司 + hrmResourceMap.put("subcompanyid1", ecGsId); + MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(id).tableName("hrmresource").params(hrmResourceMap).build()); + updateFlag = true; - // 职等职级为空,从岗位取值、更新 - if (StringUtils.isBlank(sourceField100001)) { - if (StringUtils.isNotBlank(jobById.getLevelId())) { - // 通过岗位关联,如有多个职等,选取第一个 - String[] levelArray = jobById.getLevelId().split(","); - LevelPO levelByID = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByID(Long.parseLong(levelArray[0])); - directionData.setField100008(levelByID.getLevelName()); - } else { - directionData.setField100008(null); - } - // 职等职级方案 - if (StringUtils.isNotBlank(Util.null2String(jobById.getSchemeId()))) { - SchemePO schemeByID = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByID(jobById.getSchemeId()); - directionData.setField100006(schemeByID.getSchemeName()); - } else { - directionData.setField100006(null); - } - // 职级 - if (StringUtils.isNotBlank(jobById.getGradeId())) { - GradePO gradeByLevelId = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByID(Long.parseLong(jobById.getGradeId())); - directionData.setField100007(gradeByLevelId.getGradeName()); - } else { - directionData.setField100007(null); - } - // 岗位序列 - if (StringUtils.isNotBlank(Util.null2String(jobById.getSequenceId()))) { - SequencePO sequenceBySchemeId = MapperProxyFactory.getProxy(SequenceMapper.class).getSequenceByID(jobById.getSequenceId()); - directionData.setField100005(sequenceBySchemeId.getSequenceName()); - } else { - directionData.setField100005(null); + // 职等职级为空,从岗位取值、更新 + if (StringUtils.isBlank(sourceField100001)) { + if (StringUtils.isNotBlank(jobById.getLevelId())) { + // 通过岗位关联,如有多个职等,选取第一个 + String[] levelArray = jobById.getLevelId().split(","); + LevelPO levelByID = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByID(Long.parseLong(levelArray[0])); + directionData.setField100008(levelByID.getLevelName()); + } else { + directionData.setField100008(null); + } + // 职等职级方案 + if (StringUtils.isNotBlank(Util.null2String(jobById.getSchemeId()))) { + SchemePO schemeByID = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByID(jobById.getSchemeId()); + directionData.setField100006(schemeByID.getSchemeName()); + } else { + directionData.setField100006(null); + } + // 职级 + if (StringUtils.isNotBlank(jobById.getGradeId())) { + GradePO gradeByLevelId = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByID(Long.parseLong(jobById.getGradeId())); + directionData.setField100007(gradeByLevelId.getGradeName()); + } else { + directionData.setField100007(null); + } + // 岗位序列 + if (StringUtils.isNotBlank(Util.null2String(jobById.getSequenceId()))) { + SequencePO sequenceBySchemeId = MapperProxyFactory.getProxy(SequenceMapper.class).getSequenceByID(jobById.getSequenceId()); + directionData.setField100005(sequenceBySchemeId.getSequenceName()); + } else { + directionData.setField100005(null); + } } } } diff --git a/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java b/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java index a52ecf71..8b030137 100644 --- a/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java +++ b/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java @@ -846,6 +846,7 @@ public class HrmImportProcessE9 extends BaseBean { if (this.checkInfo(vo, resultList)) { continue; } + new BaseBean().writeLog("checkKeys校验通过"); if (vo.getAccounttype() == null || "".equalsIgnoreCase(Util.null2String(vo.getAccounttype()))) { if (StringUtil.isNotNull(vo.getCertificatenum()) && certificateNums.get(StringUtil.vString(vo.getCertificatenum())) != null) { @@ -1005,6 +1006,7 @@ public class HrmImportProcessE9 extends BaseBean { // hrm.setJobtitle(jobtitleid); //} + new BaseBean().writeLog("hrmId【" + hrmId + "】"); if (Util.getIntValue(hrmId) < 0) continue; //上级id @@ -1418,6 +1420,7 @@ public class HrmImportProcessE9 extends BaseBean { String nowmanagerstr = Util.null2String(recordSet.getString("managerstr")); String resourceid = recordSet.getString("id"); //指定上级为自身的情况,不更新自身上级 + new BaseBean().writeLog("resourceid【" + resourceid + "】"); if (hrmId.equals(resourceid)) continue; String nowmanagerstr2 = ""; @@ -1767,7 +1770,8 @@ public class HrmImportProcessE9 extends BaseBean { if (!recordSet.next()) { return !addPersonData(personFild, personValue, id); } - + new BaseBean().writeLog("personValue【" + personValue + "】"); + new BaseBean().writeLog("personFild【" + personFild + "】"); String[] personValues = personValue.split(";"); String[] personFields = personFild.split(","); String fielddbType; @@ -2077,14 +2081,14 @@ public class HrmImportProcessE9 extends BaseBean { return currentId; } - /** - * 获取岗位id - * - * @param jobtitlename 岗位名称 - * @param jobactivityname 职务 - * @param jobgroupname 职务类别 - * @return -1:职务类别不存在,-2:职务不存在,-3:岗位名称不存在 - */ + ///** + // * 获取岗位id + // * + // * @param jobtitlename 岗位名称 + // * @param jobactivityname 职务 + // * @param jobgroupname 职务类别 + // * @return -1:职务类别不存在,-2:职务不存在,-3:岗位名称不存在 + // */ //public int getJobTitles(String jobtitlename, String jobactivityname, // String jobgroupname) { // RecordSet rs = new RecordSet(); @@ -2139,8 +2143,6 @@ public class HrmImportProcessE9 extends BaseBean { // } // return jobtitle; //} - - public static boolean needCheckLicenseForUpdate(ResourceComInfo resourceComInfo, String hrmId, HrmResourceVo vo) { String statusOfHrmId = resourceComInfo.getStatus(hrmId); String loginidOfHrmId = resourceComInfo.getLoginID(hrmId); @@ -2604,6 +2606,7 @@ public class HrmImportProcessE9 extends BaseBean { private boolean checkInfo(HrmResourceVo hrmResourceVo, List resultList) { //新增账号、工号唯一性校验 + new BaseBean().writeLog("checkKeys【" + Arrays.toString(checkKeys) + "】"); for (String key : checkKeys) { Map checkInfo = checkInfos.get(key); if (checkInfo != null && !checkInfo.isEmpty()) { From 2632f6c857533f67828272f7de7f05ac9c244f5a Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 20 Sep 2022 10:25:13 +0800 Subject: [PATCH 5/5] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/organization/mapper/job/JobMapper.xml | 2 ++ .../engine/organization/service/impl/DepartmentServiceImpl.java | 1 + 2 files changed, 3 insertions(+) diff --git a/src/com/engine/organization/mapper/job/JobMapper.xml b/src/com/engine/organization/mapper/job/JobMapper.xml index 66ab906b..4a850d3b 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.xml +++ b/src/com/engine/organization/mapper/job/JobMapper.xml @@ -317,6 +317,8 @@ job_name=#{jobName}, parent_comp=#{parentComp}, parent_dept=#{parentDept}, + ec_company=#{ecCompany}, + ec_department=#{ecDepartment}, sequence_id=#{sequenceId}, scheme_id=#{schemeId}, parent_job=#{parentJob}, diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index 110db501..d5afb0eb 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -699,6 +699,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService deptById.setEcCompany(company); deptById.setParentComp(Objects.requireNonNull(EcHrmRelationUtil.getJclCompanyId(Util.null2String(company))).getId()); deptById.setParentDept(null); + deptById.setEcDepartment(null); } else if ("1".equals(moveParam.getMoveType())) { Long department = moveParam.getDepartment(); Long departmentId = Objects.requireNonNull(EcHrmRelationUtil.getJclDepartmentId(Util.null2String(department))).getId();