From b6caffc74ffa7503cbaad16a4d2023b967898ab9 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 29 Aug 2022 14:12:06 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=88=86=E7=B1=BB=20=E5=88=A0=E9=99=A4=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hrmresource/ResourceBasicInfoMapper.java | 10 ++++++- .../hrmresource/ResourceBasicInfoMapper.xml | 27 +++++++++++++------ .../impl/ResourceBasicInfoServiceImpl.java | 9 +++++-- 3 files changed, 35 insertions(+), 11 deletions(-) diff --git a/src/com/engine/organization/mapper/hrmresource/ResourceBasicInfoMapper.java b/src/com/engine/organization/mapper/hrmresource/ResourceBasicInfoMapper.java index 3658860c..3ad80eb3 100644 --- a/src/com/engine/organization/mapper/hrmresource/ResourceBasicInfoMapper.java +++ b/src/com/engine/organization/mapper/hrmresource/ResourceBasicInfoMapper.java @@ -34,6 +34,14 @@ public interface ResourceBasicInfoMapper { int recoverByIds(@Param("ids") Collection ids); + /** + * delete语句,删除人员信息 + * + * @param ids + * @return + */ + int deleteItemByIds(@Param("ids") Collection ids); + List selectItemByFNo(@Param("fno") String fno, @Param("fclassid") Integer fclassid); int insertIgnoreNull(ResourceItemPO resourceItemPO); @@ -50,6 +58,6 @@ public interface ResourceBasicInfoMapper { int deleteResourceItemClass(@Param("fid") Integer fid); - List getItemByClassId(@Param("fclassid") Integer fclassid); + List getItemByClassId(@Param("fclassid") Integer fclassid, @Param("fdelete") Integer fdelete); } diff --git a/src/com/engine/organization/mapper/hrmresource/ResourceBasicInfoMapper.xml b/src/com/engine/organization/mapper/hrmresource/ResourceBasicInfoMapper.xml index 9039d6f5..b89e4277 100644 --- a/src/com/engine/organization/mapper/hrmresource/ResourceBasicInfoMapper.xml +++ b/src/com/engine/organization/mapper/hrmresource/ResourceBasicInfoMapper.xml @@ -250,16 +250,19 @@ @@ -277,4 +280,12 @@ from jcl_org_itemclass where fid = #{fid} + + delete + from jcl_org_item + where fid IN + + #{id} + + \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/ResourceBasicInfoServiceImpl.java b/src/com/engine/organization/service/impl/ResourceBasicInfoServiceImpl.java index eb9dab63..dbbbaee1 100644 --- a/src/com/engine/organization/service/impl/ResourceBasicInfoServiceImpl.java +++ b/src/com/engine/organization/service/impl/ResourceBasicInfoServiceImpl.java @@ -197,8 +197,13 @@ public class ResourceBasicInfoServiceImpl extends Service implements ResourceBas public int deleteResourceItemClass(Integer fid) { OrganizationAssert.notNull(fid, "选择的数据不存在"); // 判断该分类下是否有数据 - List itemByClassId = getResourceBasicInfoMapper().getItemByClassId(fid); - OrganizationAssert.isTrue(CollectionUtils.isEmpty(itemByClassId), "当前分类已被禁用,无法删除"); + List itemByClassId = getResourceBasicInfoMapper().getItemByClassId(fid, 0); + OrganizationAssert.isTrue(CollectionUtils.isEmpty(itemByClassId), "当前分类下存在数据,无法删除"); + List deleteItems = getResourceBasicInfoMapper().getItemByClassId(fid, 1); + // 级联删除已停用数据 + if (CollectionUtils.isNotEmpty(deleteItems)) { + getResourceBasicInfoMapper().deleteItemByIds((deleteItems.stream().map(ResourceItemPO::getFid).collect(Collectors.toList()))); + } return getResourceBasicInfoMapper().deleteResourceItemClass(fid); } From cfc78875c642297c8357d11098ea74ed8821d0a1 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 29 Aug 2022 14:26:10 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=88=86=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ResourceBasicInfoServiceImpl.java | 2 +- .../organization/thread/OrganizationSyncEc.java | 16 +++------------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/src/com/engine/organization/service/impl/ResourceBasicInfoServiceImpl.java b/src/com/engine/organization/service/impl/ResourceBasicInfoServiceImpl.java index dbbbaee1..2dc94dff 100644 --- a/src/com/engine/organization/service/impl/ResourceBasicInfoServiceImpl.java +++ b/src/com/engine/organization/service/impl/ResourceBasicInfoServiceImpl.java @@ -105,7 +105,7 @@ public class ResourceBasicInfoServiceImpl extends Service implements ResourceBas ResourceItemPO resourceItemPO = getResourceBasicInfoMapper().getResourceItemByFid(Integer.parseInt(id)); OrganizationAssert.notNull(resourceItemPO, "选择的数据不存在"); BrowserBean browserBean = resourceTypeItem.getBrowserConditionParam(); - List> maps = getResourceBasicInfoMapper().browserDatas(DeleteParam.builder().ids(resourceItemPO.getFid().toString()).build().getIds()); + List> maps = getResourceBasicInfoMapper().browserDatas(DeleteParam.builder().ids(resourceItemPO.getFclassid().toString()).build().getIds()); browserBean.setReplaceDatas(maps); resourceTypeItem.setBrowserConditionParam(browserBean); diff --git a/src/com/engine/organization/thread/OrganizationSyncEc.java b/src/com/engine/organization/thread/OrganizationSyncEc.java index 3d99738e..461b6890 100644 --- a/src/com/engine/organization/thread/OrganizationSyncEc.java +++ b/src/com/engine/organization/thread/OrganizationSyncEc.java @@ -11,7 +11,6 @@ import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; -import com.engine.organization.mapper.extend.ExtMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.util.OrganizationAssert; @@ -42,20 +41,10 @@ public class OrganizationSyncEc { Map resultMap; private boolean throwException = true; - private static final String HRM_COMPANY = "hrmsubcompany"; - private static final String HRM_DEPARTMENT = "hrmdepartment"; - - private static final String JCL_COMPANY = "jcl_org_comp"; - private static final String JCL_DEPARTMENT = "jcl_org_dept"; - private SystemDataMapper getSystemDataMapper() { return MapperProxyFactory.getProxy(SystemDataMapper.class); } - private ExtMapper getExtMapper() { - return MapperProxyFactory.getProxy(ExtMapper.class); - } - public OrganizationSyncEc(User user, LogModuleNameEnum moduleName, OperateTypeEnum operateType, Map params) { this.moduleName = moduleName; this.operateType = operateType; @@ -93,7 +82,9 @@ public class OrganizationSyncEc { default: break; } - OrganizationAssert.isTrue(throwException && ("1".equals(Util.null2String(resultMap.get("status"))) || "1".equals(Util.null2String(resultMap.get("sign")))), Util.null2String(resultMap.get("message"))); + if (throwException) { + OrganizationAssert.isTrue("1".equals(Util.null2String(resultMap.get("status"))) || "1".equals(Util.null2String(resultMap.get("sign"))), Util.null2String(resultMap.get("message"))); + } return resultMap; } @@ -224,7 +215,6 @@ public class OrganizationSyncEc { List hrmResourceIds = getSystemDataMapper().getHrmResourceIds(oldJobPO.getParentDept(), oldHrmJobTitle.getId()); getSystemDataMapper().updateResourceJobTitleByIds(Util.null2String(hrmJobTitle.getId()), hrmResourceIds); // 封存原名称岗位 - map.clear(); map.put("ids", oldHrmJobTitle.getId()); map.put("canceled", "canceled"); this.resultMap = ServiceUtil.getService(HrmJobServiceImpl.class, user).doCanceled(map, user);