From b6caffc74ffa7503cbaad16a4d2023b967898ab9 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 29 Aug 2022 14:12:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF=E5=88=86?= =?UTF-8?q?=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); }