From b494a6a96e92e806a7bc275e0dce7e4f97e5e8ca Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 16 Sep 2022 11:01:31 +0800 Subject: [PATCH 1/2] =?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/FieldDefinedService.java | 2 + .../service/impl/FieldDefinedServiceImpl.java | 42 ++++++++------- .../cusfielddata/CusFieldDataTrigger.java | 53 ++++++++++++------- .../hrmimport/HrmImportProcessE9.java | 2 +- .../web/FieldDefinedController.java | 12 +++++ .../wrapper/FieldDefinedWrapper.java | 4 ++ 6 files changed, 75 insertions(+), 40 deletions(-) diff --git a/src/com/engine/organization/service/FieldDefinedService.java b/src/com/engine/organization/service/FieldDefinedService.java index 381e74f0..fd25ed4d 100644 --- a/src/com/engine/organization/service/FieldDefinedService.java +++ b/src/com/engine/organization/service/FieldDefinedService.java @@ -114,4 +114,6 @@ public interface FieldDefinedService { * @param param */ void changeGroup(ExtendInfoChangeParam param); + + Map getHasRight(ModuleTypeEnum moduleTypeEnum); } diff --git a/src/com/engine/organization/service/impl/FieldDefinedServiceImpl.java b/src/com/engine/organization/service/impl/FieldDefinedServiceImpl.java index e66a5f0d..62307bc8 100644 --- a/src/com/engine/organization/service/impl/FieldDefinedServiceImpl.java +++ b/src/com/engine/organization/service/impl/FieldDefinedServiceImpl.java @@ -232,26 +232,6 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ Map returnMap = new HashMap<>(); Long groupType = param.getGroupType(); ExtendGroupPO extendGroupPO = getExtendGroupMapper().getGroupById(groupType); - String rightName = ""; - switch (extendGroupPO.getExtendType()) { - case 1: - rightName = "CompanyField:All"; - break; - case 2: - rightName = "DepartmentField:All"; - break; - case 3: - rightName = "PostField:All"; - break; - default: - break; - } - boolean hasRight = HasRightUtil.hasRight(user, rightName, true); - returnMap.put("hasRight", hasRight); - if (!hasRight) { - return returnMap; - } - List> lsFieldInfo = new ArrayList<>(); Map fieldInfo; Map recordInfo; @@ -541,6 +521,28 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ } + @Override + public Map getHasRight(ModuleTypeEnum moduleTypeEnum) { + Map btnDatas = new HashMap<>(); + String rightName = ""; + switch (moduleTypeEnum.getValue().toString()) { + case "1": + rightName = "CompanyField:All"; + break; + case "2": + rightName = "DepartmentField:All"; + break; + case "3": + rightName = "PostField:All"; + break; + default: + break; + } + boolean hasRight = StringUtils.isNotBlank(rightName) && HasRightUtil.hasRight(user, rightName, true); + btnDatas.put("hasRight", hasRight); + return btnDatas; + } + /** * 删除数据及表结构 * diff --git a/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java b/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java index 85b7b3ea..b9db8548 100644 --- a/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java +++ b/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java @@ -59,6 +59,40 @@ public class CusFieldDataTrigger { MapperProxyFactory.getProxy(SystemDataMapper.class).insertCusFieldData(directionData); } + // field100002更新 + if (StringUtils.isNotBlank(sourceField100002) && !sourceField100002.equals(directionData.getField100002())) { + 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(StringUtils.isBlank(sourceField100001)){ + // 拼接Field100001字段,岗位序列A职级A职等 + if(null!=jobById.getSequenceId()){ + sourceField100001 += "_" + jobById.getSequenceId(); + } + if(null!=jobById.getGradeId()){ + sourceField100001 += "A" + jobById.getGradeId(); + } + if(null!=jobById.getLevelId()){ + sourceField100001 += "A" + jobById.getLevelId().split(",")[0]; + } + + } + } + // field100001更新,职等职级 if (null != sourceField100001 && sourceField100001.split("A").length == 3 && !sourceField100001.equals(directionData.getField100001())) { directionData.setField100001(sourceField100001); @@ -82,25 +116,6 @@ public class CusFieldDataTrigger { updateFlag = true; } - // field100002更新 - if (StringUtils.isNotBlank(sourceField100002) && !sourceField100002.equals(directionData.getField100002())) { - 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 != sourceField100003 && sourceField100003.split("_").length == 2 && !sourceField100003.equals(directionData.getField100003())) { directionData.setField100003(sourceField100003); diff --git a/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java b/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java index b081c8b5..a52ecf71 100644 --- a/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java +++ b/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java @@ -1591,7 +1591,7 @@ public class HrmImportProcessE9 extends BaseBean { recordSet.setNoAutoEncrypt(true); boolean execute = recordSet.execute(sql); // 更新聚才林相关字段 - new CusFieldDataTrigger().run((long) id); + CusFieldDataTrigger.run((long) id); return execute; } diff --git a/src/com/engine/organization/web/FieldDefinedController.java b/src/com/engine/organization/web/FieldDefinedController.java index c791d24f..0e3e9d67 100644 --- a/src/com/engine/organization/web/FieldDefinedController.java +++ b/src/com/engine/organization/web/FieldDefinedController.java @@ -203,4 +203,16 @@ public class FieldDefinedController { return ReturnResult.exceptionHandle(e); } } + + @GET + @Path("/{moduleTypeEnum}/getHasRight") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getHasRight(@Context HttpServletRequest request, @Context HttpServletResponse response, @PathParam("moduleTypeEnum") ModuleTypeEnum moduleTypeEnum) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getFieldDefinedWrapper(user).getHasRight(moduleTypeEnum)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } } diff --git a/src/com/engine/organization/wrapper/FieldDefinedWrapper.java b/src/com/engine/organization/wrapper/FieldDefinedWrapper.java index 93dddf98..3c393290 100644 --- a/src/com/engine/organization/wrapper/FieldDefinedWrapper.java +++ b/src/com/engine/organization/wrapper/FieldDefinedWrapper.java @@ -101,4 +101,8 @@ public class FieldDefinedWrapper extends Service { public void changeGroup(ExtendInfoChangeParam param) { getFieldDefinedService(user).changeGroup(param); } + + public Map getHasRight(ModuleTypeEnum moduleTypeEnum) { + return getFieldDefinedService(user).getHasRight(moduleTypeEnum); + } } From 1b4d7203b8c809b3838b468c521347332bbb183b Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 16 Sep 2022 11:28:47 +0800 Subject: [PATCH 2/2] =?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 | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java b/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java index b9db8548..9b59764f 100644 --- a/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java +++ b/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java @@ -60,7 +60,7 @@ public class CusFieldDataTrigger { } // field100002更新 - if (StringUtils.isNotBlank(sourceField100002) && !sourceField100002.equals(directionData.getField100002())) { + if (StringUtils.isNotBlank(sourceField100002)) { directionData.setField100002(sourceField100002); Long gwId = Long.parseLong(sourceField100002); JobPO jobById = MapperProxyFactory.getProxy(JobMapper.class).getJobById(gwId); @@ -80,16 +80,7 @@ public class CusFieldDataTrigger { if(StringUtils.isBlank(sourceField100001)){ // 拼接Field100001字段,岗位序列A职级A职等 - if(null!=jobById.getSequenceId()){ - sourceField100001 += "_" + jobById.getSequenceId(); - } - if(null!=jobById.getGradeId()){ - sourceField100001 += "A" + jobById.getGradeId(); - } - if(null!=jobById.getLevelId()){ - sourceField100001 += "A" + jobById.getLevelId().split(",")[0]; - } - + sourceField100001 += "_" + jobById.getSequenceId() + "A" + jobById.getGradeId() + "A" + jobById.getLevelId().split(",")[0]; } }