From b11251701a4e0e8a806f4e71d413cac7e3b23637 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 16 Dec 2022 18:29:12 +0800 Subject: [PATCH] =?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 --- .../organization/mapper/job/JobMapper.java | 2 ++ .../organization/mapper/job/JobMapper.xml | 6 ++++++ .../service/impl/CompServiceImpl.java | 12 +++++++---- .../service/impl/DepartmentServiceImpl.java | 12 +++++++---- .../service/impl/JobServiceImpl.java | 20 +++++++++++-------- 5 files changed, 36 insertions(+), 16 deletions(-) diff --git a/src/com/engine/organization/mapper/job/JobMapper.java b/src/com/engine/organization/mapper/job/JobMapper.java index 18d36ee3..77f8ef82 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.java +++ b/src/com/engine/organization/mapper/job/JobMapper.java @@ -145,4 +145,6 @@ public interface JobMapper { int selectByConditions(@Param("resourcePO") ResourcePO resourcePO); List listUsedId(); + + List isAllowDelete(@Param("jobId") Long jobId); } diff --git a/src/com/engine/organization/mapper/job/JobMapper.xml b/src/com/engine/organization/mapper/job/JobMapper.xml index 58ac4e88..60c197f8 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.xml +++ b/src/com/engine/organization/mapper/job/JobMapper.xml @@ -502,6 +502,12 @@ inner join hrmresource h on t.ec_jobtitle = h.jobtitle and t.ec_company = h.subcompanyid1 and t.ec_department = h.departmentid + diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java index ad00de37..9fc23f07 100644 --- a/src/com/engine/organization/service/impl/CompServiceImpl.java +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -196,7 +196,7 @@ public class CompServiceImpl extends Service implements CompService { if (2 == viewAttr) { params.put("viewattr", viewAttr); - groupList = getCompanyConditionGroups(params); + groupList = getCompanyConditionGroups(true, params); } else { HrmFieldGroupComInfo HrmFieldGroupComInfo = new HrmFieldGroupComInfo(); HrmFieldComInfo HrmFieldComInfo = new HrmFieldComInfo(); @@ -349,7 +349,7 @@ public class CompServiceImpl extends Service implements CompService { public Map getCompSaveForm(Map params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); Map apiDatas = new HashMap<>(); - apiDatas.put("condition", getCompanyConditionGroups(params)); + apiDatas.put("condition", getCompanyConditionGroups(false, params)); return apiDatas; } @@ -412,7 +412,7 @@ public class CompServiceImpl extends Service implements CompService { } } - private List getCompanyConditionGroups(Map params) { + private List getCompanyConditionGroups(Boolean showAll, Map params) { String id = Util.null2String(params.get("id")); int viewAttr = Util.getIntValue(Util.null2String(params.get("viewattr")), 1); @@ -443,7 +443,11 @@ public class CompServiceImpl extends Service implements CompService { hfm.getCustomData(Util.getIntValue(id)); List lsGroup = hfm.getLsGroup(); List groupList = new ArrayList<>(); - for (int tmp = 0; lsGroup != null && tmp < lsGroup.size(); tmp++) { + int lsSize = 1; + if (showAll && lsGroup != null) { + lsSize = lsGroup.size(); + } + for (int tmp = 0; tmp < lsSize; tmp++) { String groupId = (String) lsGroup.get(tmp); List lsField = hfm.getLsField(groupId); diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index 0e80e7ff..39e32f06 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -257,7 +257,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService String id = Util.null2String(params.get("id")); if (2 == viewAttr) { params.put("viewattr", viewAttr); - groupList = getDepartmentConditionGroups(params); + groupList = getDepartmentConditionGroups(true, params); } else { HrmFieldGroupComInfo HrmFieldGroupComInfo = new HrmFieldGroupComInfo(); @@ -405,7 +405,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService public Map getSaveForm(Map params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); Map apiDatas = new HashMap<>(); - apiDatas.put("condition", getDepartmentConditionGroups(params)); + apiDatas.put("condition", getDepartmentConditionGroups(false, params)); return apiDatas; } @@ -835,7 +835,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService } } - private List getDepartmentConditionGroups(Map params) { + private List getDepartmentConditionGroups(Boolean showAll, Map params) { List groupList = new ArrayList<>(); List itemList; @@ -863,7 +863,11 @@ public class DepartmentServiceImpl extends Service implements DepartmentService hfm.isReturnDecryptData(true); hfm.getCustomData(Util.getIntValue(id)); List lsGroup = hfm.getLsGroup(); - for (int tmp = 0; lsGroup != null && tmp < lsGroup.size(); tmp++) { + int lsSize = 1; + if (showAll && lsGroup != null) { + lsSize = lsGroup.size(); + } + for (int tmp = 0; tmp < lsSize; tmp++) { String groupId = (String) lsGroup.get(tmp); List lsField = hfm.getLsField(groupId); diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index dd8db962..966ee663 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -227,12 +227,12 @@ public class JobServiceImpl extends Service implements JobService { // 工作地点 SearchConditionItem workplaceItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "工作地点", "workplace"); // 禁用标记 - List selectOptions = new ArrayList<>(); - SearchConditionOption enableOption = new SearchConditionOption("true", "启用"); - SearchConditionOption disableOption = new SearchConditionOption("false", "封存"); - selectOptions.add(enableOption); - selectOptions.add(disableOption); - SearchConditionItem forbiddenTagItem = OrganizationFormItemUtil.selectItem(user, selectOptions, 2, 16, 6, false, "封存", "forbiddenTag"); + //List selectOptions = new ArrayList<>(); + //SearchConditionOption enableOption = new SearchConditionOption("true", "启用"); + //SearchConditionOption disableOption = new SearchConditionOption("false", "封存"); + //selectOptions.add(enableOption); + //selectOptions.add(disableOption); + //SearchConditionItem forbiddenTagItem = OrganizationFormItemUtil.selectItem(user, selectOptions, 2, 16, 6, false, "封存", "forbiddenTag"); conditionItems.add(jobNoItem); conditionItems.add(jobTitleNameItem); @@ -240,7 +240,7 @@ public class JobServiceImpl extends Service implements JobService { conditionItems.add(parentDeptBrowserItem); conditionItems.add(isKeyItem); conditionItems.add(workplaceItem); - conditionItems.add(forbiddenTagItem); + //conditionItems.add(forbiddenTagItem); addGroups.add(new SearchConditionGroup("高级搜索条件", true, conditionItems)); apiDatas.put("conditions", addGroups); @@ -479,6 +479,10 @@ public class JobServiceImpl extends Service implements JobService { OrganizationAssert.notEmpty(ids, "请选择要删除的数据"); List jobsByIds = getJobMapper().getJobsByIds(ids); for (JobPO jobsById : jobsByIds) { + // 判断是否可以删除 + List allowDelete = getJobMapper().isAllowDelete(jobsById.getId()); + OrganizationAssert.isTrue(CollectionUtils.isEmpty(allowDelete), "该岗位存在引用,不允许删除"); + // jobsById.setForbiddenTag(1); //new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.CANCELED, null, jobsById).sync(); // 删除拓展表、明细表 @@ -592,7 +596,7 @@ public class JobServiceImpl extends Service implements JobService { } } }); - + }