From af71b90c28448cd1f6e39ae812a9c612eec06f53 Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Wed, 31 Jul 2024 21:08:01 +0800 Subject: [PATCH] =?UTF-8?q?fix(87554):=20=E6=A0=87=E5=87=86=E8=A7=A3?= =?UTF-8?q?=E8=AF=BB=E6=B5=81=E7=A8=8B--=E5=A4=96=E6=9D=A5=E6=A0=87?= =?UTF-8?q?=E5=87=86=E5=88=A0=E9=99=A4=E5=90=8E=EF=BC=8C=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E5=9F=BA=E7=A1=80=E4=BF=A1=E6=81=AF=E5=9B=9E=E6=98=BE=E6=A0=87?= =?UTF-8?q?=E5=87=86=E4=B8=BA=E7=A9=BA=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/common/api/vo/ResultCommon.java | 4 ++ .../laws/standard/util/StandardUtil.java | 59 +++++++++++++++++++ .../main/resources/i18n/messages.properties | 2 + .../resources/i18n/messages_en.properties | 2 + .../resources/i18n/messages_zh.properties | 2 + 5 files changed, 69 insertions(+) diff --git a/laws-base/laws-base-core/src/main/java/com/jero/common/api/vo/ResultCommon.java b/laws-base/laws-base-core/src/main/java/com/jero/common/api/vo/ResultCommon.java index 21ae52e9..bdead15f 100644 --- a/laws-base/laws-base-core/src/main/java/com/jero/common/api/vo/ResultCommon.java +++ b/laws-base/laws-base-core/src/main/java/com/jero/common/api/vo/ResultCommon.java @@ -172,6 +172,10 @@ public class ResultCommon { public static final String ASSESS_DELETE_ERROR2 = "assess.delete.error2"; //法规符合性排查流程有正在进行中的流程,不允许删除 public static final String SCC_DELETE_STANDARD_ERROR = "scc.delete.standard.error"; + // 标准有被拆分的数据,不允许删除 + public static final String SCC_DELETE_STANDARD_ERROR2 = "scc.delete.standard.error2"; + // 标准解读流程有正在进行中的流程,不允许删除 + public static final String SCC_DELETE_STANDARD_ERROR3 = "scc.delete.standard.error3"; // 流程已分发,禁止驳回 public static final String PROCESS_ALREADY_DISTRIBUTED = "process.already.distributed"; diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standard/util/StandardUtil.java b/laws-modules/src/main/java/com/jero/modules/laws/standard/util/StandardUtil.java index c4583f12..eebcfb76 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standard/util/StandardUtil.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standard/util/StandardUtil.java @@ -1,13 +1,26 @@ package com.jero.modules.laws.standard.util; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.jero.common.api.vo.ResultCommon; import com.jero.common.exception.JeroBootException; +import com.jero.modules.activiti.entity.ProcessAll; +import com.jero.modules.activiti.enums.ProcessStatusEnum; +import com.jero.modules.activiti.process.standardinterpret.entity.ProcessStandardInterpret; +import com.jero.modules.activiti.process.standardinterpret.service.ProcessStandardInterpretService; +import com.jero.modules.activiti.service.ProcessAllService; +import com.jero.modules.laws.standard.entity.LawsDomesticStandard; import com.jero.modules.laws.standard.service.DoNotSplitStandardProvider; +import com.jero.modules.laws.standard.service.ILawsDomesticStandardService; +import com.jero.modules.split.entity.SarFileSplitInfoEO; +import com.jero.modules.split.service.ISarFileSplitInfoService; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.HashSet; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; @Component public class StandardUtil { @@ -15,6 +28,18 @@ public class StandardUtil { @Resource private List providers; + @Resource + private ISarFileSplitInfoService sarFileSplitInfoService; + + @Resource + private ILawsDomesticStandardService lawsDomesticStandardService; + + @Resource + private ProcessStandardInterpretService processStandardInterpretService; + + @Resource + private ProcessAllService processAllService; + /** * 判断是否可以删除 * @@ -41,6 +66,40 @@ public class StandardUtil { } } } + + List list = lawsDomesticStandardService.list( + new LambdaQueryWrapper() + .select(LawsDomesticStandard::getStandardNumber) + .in(LawsDomesticStandard::getId, needDelStandardIdList)); + if (CollectionUtils.isNotEmpty(list)){ + // 查询拆分数据 + List standardNumberList = list.stream() + .map(LawsDomesticStandard::getStandardNumber) + .collect(Collectors.toList()); + int count = sarFileSplitInfoService.count( + new LambdaQueryWrapper() + .in(SarFileSplitInfoEO::getStandardId, needDelStandardIdList) + .or().in(SarFileSplitInfoEO::getSerialNumber, standardNumberList)); + if (count > 0) { + throw new JeroBootException(ResultCommon.SCC_DELETE_STANDARD_ERROR2); + } + + // 查询标准解读流程 + List list1 = processStandardInterpretService.list( + new LambdaQueryWrapper() + .in(ProcessStandardInterpret::getStandardId, needDelStandardIdList)); + if (CollectionUtils.isNotEmpty(list1)){ + List projectIdList = list1.stream() + .map(ProcessStandardInterpret::getProjectId) + .collect(Collectors.toList()); + int count1 = processAllService.count(new LambdaQueryWrapper() + .in(ProcessAll::getProjectId, projectIdList) + .ne(ProcessAll::getPrcStatus, ProcessStatusEnum.WITHDRAWN.getValue())); + if (count1 > 0) { + throw new JeroBootException(ResultCommon.SCC_DELETE_STANDARD_ERROR3); + } + } + } } } diff --git a/laws-single-startup/src/main/resources/i18n/messages.properties b/laws-single-startup/src/main/resources/i18n/messages.properties index 86a6c45a..33c1c51f 100644 --- a/laws-single-startup/src/main/resources/i18n/messages.properties +++ b/laws-single-startup/src/main/resources/i18n/messages.properties @@ -78,3 +78,5 @@ new.en.standard.number.conflict=\u8BE5\u65B0\u4F01\u6807\u7F16\u53F7\u4E0E\u5DF2 zip_root_one_excel=\u538B\u7F29\u5305\u6839\u76EE\u5F55\u4E0B\u4EC5\u80FD\u5B58\u5728\u4E00\u4E2Aexcel\u4E3A\u5BFC\u5165\u6570\u636E message.no.exists.standard=\u6807\u51C6\u4E0D\u5B58\u5728\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458 scc.delete.standard.error=\u6CD5\u89C4\u7B26\u5408\u6027\u6392\u67E5\u6D41\u7A0B\u6709\u6B63\u5728\u8FDB\u884C\u4E2D\u7684\u6D41\u7A0B\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664 +scc.delete.standard.error2=\u6807\u51C6\u6709\u88AB\u62C6\u5206\u7684\u6570\u636E\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664 +scc.delete.standard.error3=\u6807\u51C6\u89E3\u8BFB\u6D41\u7A0B\u6709\u6B63\u5728\u8FDB\u884C\u4E2D\u7684\u6D41\u7A0B\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664 diff --git a/laws-single-startup/src/main/resources/i18n/messages_en.properties b/laws-single-startup/src/main/resources/i18n/messages_en.properties index 51fe194d..5d8f2ce7 100644 --- a/laws-single-startup/src/main/resources/i18n/messages_en.properties +++ b/laws-single-startup/src/main/resources/i18n/messages_en.properties @@ -94,3 +94,5 @@ formatting.error={0} formatting error data.does.not.exist={0} does not exist row.n.import=Row {0} scc.delete.standard.error=The standard has been used by the Standard Compliance Check Process, can not delete +scc.delete.standard.error2=Standards have split data, can not delete +scc.delete.standard.error3=The standard interpretation process has ongoing processes, can not delete diff --git a/laws-single-startup/src/main/resources/i18n/messages_zh.properties b/laws-single-startup/src/main/resources/i18n/messages_zh.properties index dcf37f51..72764dcb 100644 --- a/laws-single-startup/src/main/resources/i18n/messages_zh.properties +++ b/laws-single-startup/src/main/resources/i18n/messages_zh.properties @@ -93,3 +93,5 @@ formatting.error={0}\u683C\u5F0F\u9519\u8BEF data.does.not.exist={0}\u6570\u636E\u4E0D\u5B58\u5728 row.n.import=\u7B2C{0}\u884C scc.delete.standard.error=\u6709\u6B63\u5728\u8FDB\u884C\u4E2D\u7684\u6CD5\u89C4\u7B26\u5408\u6027\u6392\u67E5\u6D41\u7A0B\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664 +scc.delete.standard.error2=\u6807\u51C6\u6709\u88AB\u62C6\u5206\u7684\u6570\u636E\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664 +scc.delete.standard.error3=\u6807\u51C6\u89E3\u8BFB\u6D41\u7A0B\u6709\u6B63\u5728\u8FDB\u884C\u4E2D\u7684\u6D41\u7A0B\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664