feat: 标准状态变更定时任务增加处理代替被代替标准
This commit is contained in:
-3
@@ -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
|
||||
|
||||
+8
@@ -236,4 +236,12 @@ public interface ILawsCommonService {
|
||||
* @return
|
||||
*/
|
||||
List<OSSFile> getFileByStandardId(String standardId);
|
||||
|
||||
/**
|
||||
* 处理代替被代替
|
||||
* @param parameterMap
|
||||
* @param standardNumber
|
||||
* @param module
|
||||
*/
|
||||
void processReplaced(Map<String, Object> parameterMap, String standardNumber, String module);
|
||||
}
|
||||
|
||||
+15
-14
@@ -1056,25 +1056,26 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
* @Date: 2023/9/19 11:53
|
||||
* @Description: 处理新增和编辑时的代替标准、引用标准
|
||||
**/
|
||||
private void processReplaced(Map<String, Object> parameterMap, String standardNumber, String module) {
|
||||
@Override
|
||||
public void processReplaced(Map<String, Object> 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)) {
|
||||
|
||||
+33
@@ -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<String, Object> 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<LawsDomesticStandard> 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<LawsDomesticStandard> gbList = gbService.list(gbWrapper);
|
||||
List<LawsDomesticStandard> 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<String, Object> 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<LawsOverseasStandard> fbList = fbService.list(fbWrapper);
|
||||
List<LawsOverseasStandard> 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<String, Object> 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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user