diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/listener/ProcessESRevisionEndListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/listener/ProcessESRevisionEndListener.java index dac182e9..ffad95fd 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/listener/ProcessESRevisionEndListener.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/listener/ProcessESRevisionEndListener.java @@ -27,12 +27,9 @@ import org.activiti.engine.delegate.DelegateExecution; import org.activiti.engine.delegate.ExecutionListener; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.*; -import java.util.concurrent.CompletableFuture; /** * @author: Mzaxd diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/service/ILawsCommonService.java b/laws-modules/src/main/java/com/jero/modules/laws/common/service/ILawsCommonService.java index ee4165b4..e650f3b8 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/service/ILawsCommonService.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/service/ILawsCommonService.java @@ -236,4 +236,12 @@ public interface ILawsCommonService { * @return */ List getFileByStandardId(String standardId); + + /** + * 处理代替被代替 + * @param parameterMap + * @param standardNumber + * @param module + */ + void processReplaced(Map parameterMap, String standardNumber, String module); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java index e3860e9e..84b4ad9e 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java @@ -1056,25 +1056,26 @@ public class LawsCommonServiceImpl implements ILawsCommonService { * @Date: 2023/9/19 11:53 * @Description: 处理新增和编辑时的代替标准、引用标准 **/ - private void processReplaced(Map parameterMap, String standardNumber, String module) { + @Override + public void processReplaced(Map parameterMap, String standardNumber, String module) { // 代替标准 String replacedStandard = (String) parameterMap.get(FieldCommon.REPLACED_STANDARD); // 获取标准状态 String standardState = (String) parameterMap.get(FieldCommon.STANDARD_STATE); - boolean replaceFlag = true; // 如果标准状态不是现行有效则不处理代替标准 -// boolean replaceFlag = false; -// if (StringUtils.isNotBlank(standardState)) { -// if (module.equals(TableNameEnum.ENTERPRISE_STANDARDS.getValue())) { -// if (standardState.equals(StandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue())) { -// replaceFlag = true; -// } -// } else { -// if (standardState.equals(OutStandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue())) { -// replaceFlag = true; -// } -// } -// } + boolean replaceFlag = false; + if (StringUtils.isNotBlank(standardState)) { + // 企标需要自动拼装标准号 + if (module.equals(TableNameEnum.ENTERPRISE_STANDARDS.getValue())) { + if (standardState.equals(StandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue())) { + replaceFlag = true; + } + } else { + if (standardState.equals(OutStandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue())) { + replaceFlag = true; + } + } + } // 先删除已经存储的关联 lawsReplacedStandardService.removeRelation(standardNumber, 1); if (StringUtils.isNotBlank(replacedStandard)) { diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standard/job/UpdateStandardStatusJob.java b/laws-modules/src/main/java/com/jero/modules/laws/standard/job/UpdateStandardStatusJob.java index c3896921..80117cf7 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standard/job/UpdateStandardStatusJob.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standard/job/UpdateStandardStatusJob.java @@ -3,6 +3,8 @@ package com.jero.modules.laws.standard.job; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.modules.activiti.process.common.enums.StandardStateEnum; +import com.jero.modules.laws.common.constant.FieldCommon; +import com.jero.modules.laws.common.service.ILawsCommonService; import com.jero.modules.laws.standard.entity.LawsDomesticStandard; import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; import com.jero.modules.laws.standard.entity.LawsOverseasStandard; @@ -10,6 +12,7 @@ import com.jero.modules.laws.standard.entity.OutStandardStateEnum; import com.jero.modules.laws.standard.service.ILawsDomesticStandardService; import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; import com.jero.modules.laws.standard.service.ILawsOverseasStandardService; +import com.jero.modules.tag.enums.TableNameEnum; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; @@ -17,6 +20,7 @@ import org.quartz.JobExecutionException; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.Map; /** * @author: Mzaxd @@ -33,6 +37,9 @@ public class UpdateStandardStatusJob implements Job { @Resource private ILawsOverseasStandardService fbService; + @Resource + private ILawsCommonService commonService; + @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { this.updateGbStandardState(); @@ -57,8 +64,16 @@ public class UpdateStandardStatusJob implements Job { } } esService.updateBatchById(needUpdateEsList); + // 代替标准状态改为废止 + for (LawsEnterpriseStandard es : needUpdateEsList) { + Map esMap = commonService.getByIdAndModule(es.getId(), TableNameEnum.ENTERPRISE_STANDARDS.getValue(), "2", es.getStandardNumber()); + esMap.put(FieldCommon.MODULE, TableNameEnum.ENTERPRISE_STANDARDS.getValue()); + esMap.put(FieldCommon.STANDARD_STATE, StandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue()); + commonService.processReplaced(esMap, es.getStandardNumber(), TableNameEnum.ENTERPRISE_STANDARDS.getValue()); + } } + private void updateGbStandardState(){ // 国内标准状态更新 List needUpdateGbList = new ArrayList<>(); @@ -69,6 +84,7 @@ public class UpdateStandardStatusJob implements Job { gbWrapper.eq(LawsDomesticStandard::getStandardState, OutStandardStateEnum.RELEASE.getStateValue()).or() .eq(LawsDomesticStandard::getStandardState, OutStandardStateEnum.TRIAL_OPERATION.getStateValue()); List gbList = gbService.list(gbWrapper); + List processReplaceList = new ArrayList<>(); for (LawsDomesticStandard gb : gbList) { // 介于创建时间和实施日期内的标准 状态更新为即将实施 if (gb.getCreateTime().getTime() <= System.currentTimeMillis() && @@ -81,9 +97,17 @@ public class UpdateStandardStatusJob implements Job { if (gb.getImplementationDate().getTime() <= System.currentTimeMillis()) { gb.setStandardState(OutStandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue()); needUpdateGbList.add(gb); + processReplaceList.add(gb); } } gbService.updateBatchById(needUpdateGbList); + // 代替标准状态改为废止 + for (LawsDomesticStandard standard : processReplaceList) { + Map map = commonService.getByIdAndModule(standard.getId(), TableNameEnum.DOMESTIC_REGULATIONS.getValue(), "2", standard.getStandardNumber()); + map.put(FieldCommon.MODULE, TableNameEnum.DOMESTIC_REGULATIONS.getValue()); + map.put(FieldCommon.STANDARD_STATE, StandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue()); + commonService.processReplaced(map, standard.getStandardNumber(), TableNameEnum.DOMESTIC_REGULATIONS.getValue()); + } } private void updateFbStandardState(){ @@ -96,6 +120,7 @@ public class UpdateStandardStatusJob implements Job { fbWrapper.eq(LawsOverseasStandard::getStandardState, OutStandardStateEnum.RELEASE.getStateValue()).or() .eq(LawsOverseasStandard::getStandardState, OutStandardStateEnum.TRIAL_OPERATION.getStateValue()); List fbList = fbService.list(fbWrapper); + List processReplaceList = new ArrayList<>(); for (LawsOverseasStandard fb : fbList) { // 介于创建时间和实施日期内的标准 状态更新为即将实施 if (fb.getCreateTime().getTime() <= System.currentTimeMillis() && @@ -108,8 +133,16 @@ public class UpdateStandardStatusJob implements Job { if (fb.getImplementationDate().getTime() <= System.currentTimeMillis()) { fb.setStandardState(OutStandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue()); needUpdateFbList.add(fb); + processReplaceList.add(fb); } } fbService.updateBatchById(needUpdateFbList); + // 代替标准状态改为废止 + for (LawsOverseasStandard standard : processReplaceList) { + Map map = commonService.getByIdAndModule(standard.getId(), TableNameEnum.FOREIGN_REGULATIONS.getValue(), "2", standard.getStandardNumber()); + map.put(FieldCommon.MODULE, TableNameEnum.FOREIGN_REGULATIONS.getValue()); + map.put(FieldCommon.STANDARD_STATE, StandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue()); + commonService.processReplaced(map, standard.getStandardNumber(), TableNameEnum.FOREIGN_REGULATIONS.getValue()); + } } }