From 46544040768ba739246104993e777ca14fca449c Mon Sep 17 00:00:00 2001 From: lijiarao Date: Tue, 2 Jul 2024 17:41:43 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=8A=9F=E8=83=BD=E5=AE=89=E5=85=A8?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E6=88=90=E5=91=98-=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E8=81=94=E7=B3=BB=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SafetyCenterSubitemContactsMapper.java | 4 ++++ .../xml/SafetyCenterSubitemContactsMapper.xml | 14 +++++++++++++ .../SafetyCenterSubitemContactsService.java | 3 +++ .../service/SafetyCenterSubitemService.java | 20 +++++++++++++++++++ 4 files changed, 41 insertions(+) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/mapper/SafetyCenterSubitemContactsMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/mapper/SafetyCenterSubitemContactsMapper.java index c90c9b10..e681f914 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/mapper/SafetyCenterSubitemContactsMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/mapper/SafetyCenterSubitemContactsMapper.java @@ -2,6 +2,9 @@ package com.jero.functionalsafetycenter.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.jero.functionalsafetycenter.entity.SafetyCenterSubitemContacts; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @@ -9,4 +12,5 @@ import com.jero.functionalsafetycenter.entity.SafetyCenterSubitemContacts; *@date 2024-06-12 15:13 */ public interface SafetyCenterSubitemContactsMapper extends BaseMapper { + List listByParentIdAndContactIdList(@Param("parentId") String parentId, @Param("contactIdList") List contactIdList); } \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/mapper/xml/SafetyCenterSubitemContactsMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/mapper/xml/SafetyCenterSubitemContactsMapper.xml index 692d7a22..4c9c14b0 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/mapper/xml/SafetyCenterSubitemContactsMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/mapper/xml/SafetyCenterSubitemContactsMapper.xml @@ -21,4 +21,18 @@ id, project_id, subitem_id, company_id, contacts_id, remarks, order_num, create_by, create_time, update_by, update_time + + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/service/SafetyCenterSubitemContactsService.java b/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/service/SafetyCenterSubitemContactsService.java index f7de7294..41fd66e3 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/service/SafetyCenterSubitemContactsService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/service/SafetyCenterSubitemContactsService.java @@ -29,4 +29,7 @@ public class SafetyCenterSubitemContactsService extends ServiceImpl listByParentIdAndContactIdList(String parentId, List contactIdList){ + return baseMapper.listByParentIdAndContactIdList(parentId,contactIdList); + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/service/SafetyCenterSubitemService.java b/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/service/SafetyCenterSubitemService.java index 06d20cc2..4d64c455 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/service/SafetyCenterSubitemService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/service/SafetyCenterSubitemService.java @@ -134,6 +134,13 @@ public class SafetyCenterSubitemService extends ServiceImpl oldContactList = contactsService.listBySubitemId(subitemId); + List oldContactIdList = oldContactList.stream().map(SafetyCenterSubitemContacts::getContactsId).distinct().collect(Collectors.toList()); + //取差值,得到删除的联系人 + oldContactIdList.removeAll(contactIdList); + //删除子项目的联系人 + this.deleteChildrenByParentId(parentId,contactIdList); } this.updateById(safetyCenterSubitem); //先删除之前保存的 @@ -210,4 +217,17 @@ public class SafetyCenterSubitemService extends ServiceImpl listByParentIdAndCompanyId(String parentId,String companyId){ return baseMapper.listByParentIdAndCompanyId(parentId,companyId); } + + /** + * 删除子项目的联系人 + */ + public void deleteChildrenByParentId(String parentId, List contactIdList) { + List contactList = contactsService.listByParentIdAndContactIdList(parentId, contactIdList); + List collect = contactList.stream().map(SafetyCenterSubitemContacts::getId).collect(Collectors.toList()); + contactsService.removeByIds(collect); + List projectIdList = contactList.stream().map(SafetyCenterSubitemContacts::getProjectId).distinct().collect(Collectors.toList()); + for (String projectId : projectIdList) { + deleteChildrenByParentId(projectId,contactIdList); + } + } }