From c411799706fa53dda2022cb4dc3c87760abeb5a5 Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Tue, 2 Jul 2024 13:49:08 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=96=87=E6=A1=A3=E6=8B=86=E5=88=86):=20?= =?UTF-8?q?=E6=A0=87=E8=AE=B0=E6=A0=87=E5=87=86=E6=8B=86=E5=88=86=E7=8A=B6?= =?UTF-8?q?=E6=80=81=EF=BC=88=E5=B7=B2=E6=8B=86=E5=88=86=E3=80=81=E6=9C=AA?= =?UTF-8?q?=E6=8B=86=E5=88=86=E3=80=81=E5=B7=B2=E6=9B=B4=E6=96=B0=E6=9C=AA?= =?UTF-8?q?=E6=8B=86=E5=88=86=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/DocumentSplitCommon.java | 22 ++++++++++++++- .../controller/DocumentSplitController.java | 10 +++++++ .../impl/DocumentSplitServiceImpl.java | 2 ++ .../standard/entity/LawsDomesticStandard.java | 5 ++++ .../entity/LawsEnterpriseStandard.java | 4 ++- .../service/ISarFileSplitInfoService.java | 3 +++ .../impl/SarFileSplitInfoServiceImpl.java | 27 +++++++++++++++++++ 7 files changed, 71 insertions(+), 2 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/common/DocumentSplitCommon.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/common/DocumentSplitCommon.java index 01eb3a6e..1473e5ca 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/common/DocumentSplitCommon.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/common/DocumentSplitCommon.java @@ -92,7 +92,27 @@ public class DocumentSplitCommon { * 拆分状态 1:编辑中 2:已发布 */ public static final String SPLIT_STATUS2 = "2"; + /** + * 来源 1:国标 3:企标 + */ + public static final String ORIDIN1 = "1"; + /** + * 来源 1:国标 3:企标 + */ + public static final String ORIDIN3 = "3"; + /** + * 标准拆分状态 1:已拆分 2:未拆分 3:已更新未拆分 + */ + public static final String STANDARD_SPLIT_STATUS1 = "1"; + /** + * 标准拆分状态 1:已拆分 2:未拆分 3:已更新未拆分 + */ + public static final String STANDARD_SPLIT_STATUS2 = "2"; + /** + * 标准拆分状态 1:已拆分 2:未拆分 3:已更新未拆分 + */ + public static final String STANDARD_SPLIT_STATUS3 = "3"; public static final String INTERPRETATION = "interpretation"; public static final String MEG_DEL = "删除成功!"; public static final String MEG_DEL_BATCH = "批量删除成功!"; -} \ No newline at end of file +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/controller/DocumentSplitController.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/controller/DocumentSplitController.java index 56f6b6f4..4ab6bb37 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/controller/DocumentSplitController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/controller/DocumentSplitController.java @@ -9,6 +9,7 @@ import com.jero.common.api.vo.ResultCommon; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.exception.JeroBootException; import com.jero.common.util.MessageUtils; +import com.jero.modules.laws.documenttool.common.DocumentSplitCommon; import com.jero.modules.laws.documenttool.entity.DocumentSplitInfo; import com.jero.modules.laws.documenttool.entity.LawsDocumentSplitView; import com.jero.modules.laws.documenttool.entity.SplitFileInfo; @@ -36,6 +37,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * @Author: yjz @@ -212,7 +214,10 @@ public class DocumentSplitController { } documentSplitService.isHorizontalOverstep(map.getId()); documentSplitService.checkOutOperation(Collections.singletonList(map.getId())); + SarFileSplitInfoEO sarFileSplitInfoEO = sarFileSplitInfoService.getById(map.getId()); sarFileSplitInfoService.deleteById(map.getId()); + // 更新标准拆分状态 + sarFileSplitInfoService.updateStandardSplitStatus(sarFileSplitInfoEO.getStandardId(), DocumentSplitCommon.STANDARD_SPLIT_STATUS2); return Result.OK(MessageUtils.getMessage(ResultCommon.SUCCESSFULLY_DELETED)); } @@ -233,7 +238,12 @@ public class DocumentSplitController { List list = Arrays.asList(map.getIds().split(",")); documentSplitService.isHorizontalOverstep(map.getIds()); documentSplitService.checkOutOperation(list); + List sarFileSplitInfoEOList = sarFileSplitInfoService.listByIds(Arrays.asList(map.getIds().split(","))); sarFileSplitInfoService.deleteByIds(list); + // 更新标准拆分状态 + sarFileSplitInfoService.updateStandardSplitStatus(sarFileSplitInfoEOList.stream() + .map(SarFileSplitInfoEO::getStandardId).collect(Collectors.joining(",")) + , DocumentSplitCommon.STANDARD_SPLIT_STATUS2); return Result.OK(MessageUtils.getMessage(ResultCommon.SUCCESSFULLY_DELETED_IN_BULK)); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java index 0bcf552d..07722005 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java @@ -1394,6 +1394,8 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { sarFileSplitInfoEO.setTitle(fileInfo.getStandardName()); try { add(sarFileSplitInfoEO); + // 更新标准拆分状态 + sarFileSplitInfoService.updateStandardSplitStatus(sarFileSplitInfoEO.getStandardId(), DocumentSplitCommon.STANDARD_SPLIT_STATUS1); // 提交事务 dataSourceTransactionManager.commit(transaction); }catch (JeroBootException e){ diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsDomesticStandard.java b/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsDomesticStandard.java index b528bf5e..3b643fd6 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsDomesticStandard.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsDomesticStandard.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; +import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -209,6 +210,10 @@ public class LawsDomesticStandard implements Serializable { @Excel(name = "草案", width = 15) @ApiModelProperty(value = "草案") private java.lang.String draft; + /**标准拆分状态*/ + @Excel(name = "标准拆分状态", width = 15) + @Dict(dicCode = "standard_split_status") + private java.lang.String standardSplitStatus; /**是否ASMS导入(1是)*/ private String isAsmsImport; diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsEnterpriseStandard.java b/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsEnterpriseStandard.java index 4c43c7b0..2d5ff51f 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsEnterpriseStandard.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsEnterpriseStandard.java @@ -319,7 +319,9 @@ public class LawsEnterpriseStandard implements Serializable { @ApiModelProperty(value = "老法规系统Id") private String oldSystemId; - + /**标准拆分状态*/ + @Dict(dicCode = "standard_split_status") + private java.lang.String standardSplitStatus; @TableField(exist = false) private static final long serialVersionUID = 1809789807789012221L; diff --git a/laws-modules/src/main/java/com/jero/modules/split/service/ISarFileSplitInfoService.java b/laws-modules/src/main/java/com/jero/modules/split/service/ISarFileSplitInfoService.java index 1fdac3f8..cb195533 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/service/ISarFileSplitInfoService.java +++ b/laws-modules/src/main/java/com/jero/modules/split/service/ISarFileSplitInfoService.java @@ -82,4 +82,7 @@ public interface ISarFileSplitInfoService extends IService { // 根据企标Id删除数据 void deleteByStandardId(String ids); + + // 更新标准拆分状态 + void updateStandardSplitStatus(String standardIds, String standardSplitStatus); } diff --git a/laws-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitInfoServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitInfoServiceImpl.java index d7dfb33c..7d81db40 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitInfoServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitInfoServiceImpl.java @@ -1,5 +1,6 @@ package com.jero.modules.split.service.impl; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -19,6 +20,7 @@ import com.jero.generater.modules.online.cgform.entity.OnlCgformField; import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl; import com.jero.modules.document.enums.FieldTypeEnum; import com.jero.modules.document.service.IBussDocumentLibraryEOService; +import com.jero.modules.laws.documenttool.common.DocumentSplitCommon; import com.jero.modules.laws.standard.entity.LawsDomesticStandard; import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; import com.jero.modules.laws.standard.service.ILawsDomesticStandardService; @@ -465,5 +467,30 @@ public class SarFileSplitInfoServiceImpl extends ServiceImpl idList = new ArrayList<>(Arrays.asList(standardIds.split(","))); + + if (DocumentSplitCommon.STANDARD_SPLIT_STATUS2.equals(standardSplitStatus)){ + List sarFileSplitInfoEOList = list(new LambdaQueryWrapper() + .isNull(SarFileSplitInfoEO::getPublishBeforeId) + .in(SarFileSplitInfoEO::getStandardId, idList)); + List collect = sarFileSplitInfoEOList.stream().map(SarFileSplitInfoEO::getStandardId).distinct() + .collect(Collectors.toList()); + idList.removeAll(collect); + } + + if (CollUtil.isEmpty(idList)){ + return; + } + // 更新标准拆分状态 + lawsDomesticStandardService.update(new LambdaUpdateWrapper() + .in(LawsDomesticStandard::getId, idList) + .set(LawsDomesticStandard::getStandardSplitStatus, standardSplitStatus)); + ILawsEnterpriseStandardService.update(new LambdaUpdateWrapper() + .eq(LawsEnterpriseStandard::getId, idList) + .set(LawsEnterpriseStandard::getStandardSplitStatus, standardSplitStatus)); + } + }