feat: 企标国标外标标准状态更新定时任务
This commit is contained in:
+38
@@ -0,0 +1,38 @@
|
||||
package com.jero.modules.laws.standard.entity;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
* @Date: 2024/3/1 9:41
|
||||
* @Description 外部标准状态
|
||||
*/
|
||||
public enum OutStandardStateEnum {
|
||||
|
||||
DRAFT("起草","1"),
|
||||
SEEK_FOR_OPINIONS("征求意见","2"),
|
||||
EXAMINE("审查","2.1"),
|
||||
APPROVAL("报批","3"),
|
||||
RELEASE("发布","4"),
|
||||
TRIAL_OPERATION("即将实施","5"),
|
||||
CURRENTLY_EFFECTIVE("现行有效","6"),
|
||||
ABOLISH("废止","7"),
|
||||
;
|
||||
|
||||
private final String stateName;
|
||||
|
||||
private final String stateValue;
|
||||
|
||||
OutStandardStateEnum(String stateName, String stateValue) {
|
||||
this.stateName = stateName;
|
||||
this.stateValue = stateValue;
|
||||
}
|
||||
|
||||
public String getStateName() {
|
||||
return stateName;
|
||||
}
|
||||
|
||||
public String getStateValue() {
|
||||
return stateValue;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+115
@@ -0,0 +1,115 @@
|
||||
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.standard.entity.LawsDomesticStandard;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.entity.LawsOverseasStandard;
|
||||
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 org.quartz.Job;
|
||||
import org.quartz.JobExecutionContext;
|
||||
import org.quartz.JobExecutionException;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
* @Date: 2024/3/1 9:34
|
||||
*/
|
||||
public class UpdateStandardStatusJob implements Job {
|
||||
|
||||
@Resource
|
||||
private ILawsEnterpriseStandardService esService;
|
||||
|
||||
@Resource
|
||||
private ILawsDomesticStandardService gbService;
|
||||
|
||||
@Resource
|
||||
private ILawsOverseasStandardService fbService;
|
||||
|
||||
@Override
|
||||
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
|
||||
this.updateGbStandardState();
|
||||
this.updateFbStandardState();
|
||||
this.updateEsStandardState();
|
||||
}
|
||||
|
||||
private void updateEsStandardState() {
|
||||
// 企标状态更新
|
||||
List<LawsEnterpriseStandard> needUpdateEsList = new ArrayList<>();
|
||||
LambdaQueryWrapper<LawsEnterpriseStandard> esWrapper = new LambdaQueryWrapper<>();
|
||||
esWrapper.eq(LawsEnterpriseStandard::getDelFlag, YesOrNoEnum.NO.getInteger());
|
||||
esWrapper.isNotNull(LawsEnterpriseStandard::getReleaseDate);
|
||||
esWrapper.isNotNull(LawsEnterpriseStandard::getImplementationDate);
|
||||
esWrapper.eq(LawsEnterpriseStandard::getStandardState, StandardStateEnum.RELEASE.getStateValue());
|
||||
List<LawsEnterpriseStandard> esList = esService.list(esWrapper);
|
||||
for (LawsEnterpriseStandard es : esList) {
|
||||
// 实施日期及之后的标准 状态更新为现行有效
|
||||
if (es.getImplementationDate().getTime() <= System.currentTimeMillis()) {
|
||||
es.setStandardState(StandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue());
|
||||
needUpdateEsList.add(es);
|
||||
}
|
||||
}
|
||||
esService.updateBatchById(needUpdateEsList);
|
||||
}
|
||||
|
||||
private void updateGbStandardState(){
|
||||
// 国内标准状态更新
|
||||
List<LawsDomesticStandard> needUpdateGbList = new ArrayList<>();
|
||||
LambdaQueryWrapper<LawsDomesticStandard> gbWrapper = new LambdaQueryWrapper<>();
|
||||
gbWrapper.eq(LawsDomesticStandard::getDelFlag, YesOrNoEnum.NO.getInteger());
|
||||
gbWrapper.isNotNull(LawsDomesticStandard::getReleaseDate);
|
||||
gbWrapper.isNotNull(LawsDomesticStandard::getImplementationDate);
|
||||
gbWrapper.eq(LawsDomesticStandard::getStandardState, OutStandardStateEnum.RELEASE.getStateValue()).or()
|
||||
.eq(LawsDomesticStandard::getStandardState, OutStandardStateEnum.TRIAL_OPERATION.getStateValue());
|
||||
List<LawsDomesticStandard> gbList = gbService.list(gbWrapper);
|
||||
for (LawsDomesticStandard gb : gbList) {
|
||||
// 介于创建时间和实施日期内的标准 状态更新为即将实施
|
||||
if (gb.getCreateTime().getTime() <= System.currentTimeMillis() &&
|
||||
gb.getImplementationDate().getTime() >= System.currentTimeMillis()) {
|
||||
gb.setStandardState(OutStandardStateEnum.TRIAL_OPERATION.getStateValue());
|
||||
needUpdateGbList.add(gb);
|
||||
continue;
|
||||
}
|
||||
// 实施日期及之后的标准 状态更新为现行有效
|
||||
if (gb.getImplementationDate().getTime() <= System.currentTimeMillis()) {
|
||||
gb.setStandardState(OutStandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue());
|
||||
needUpdateGbList.add(gb);
|
||||
}
|
||||
}
|
||||
gbService.updateBatchById(needUpdateGbList);
|
||||
}
|
||||
|
||||
private void updateFbStandardState(){
|
||||
// 海外标准状态更新
|
||||
List<LawsOverseasStandard> needUpdateFbList = new ArrayList<>();
|
||||
LambdaQueryWrapper<LawsOverseasStandard> fbWrapper = new LambdaQueryWrapper<>();
|
||||
fbWrapper.eq(LawsOverseasStandard::getDelFlag, YesOrNoEnum.NO.getInteger());
|
||||
fbWrapper.isNotNull(LawsOverseasStandard::getReleaseDate);
|
||||
fbWrapper.isNotNull(LawsOverseasStandard::getImplementationDate);
|
||||
fbWrapper.eq(LawsOverseasStandard::getStandardState, OutStandardStateEnum.RELEASE.getStateValue()).or()
|
||||
.eq(LawsOverseasStandard::getStandardState, OutStandardStateEnum.TRIAL_OPERATION.getStateValue());
|
||||
List<LawsOverseasStandard> fbList = fbService.list(fbWrapper);
|
||||
for (LawsOverseasStandard fb : fbList) {
|
||||
// 介于创建时间和实施日期内的标准 状态更新为即将实施
|
||||
if (fb.getCreateTime().getTime() <= System.currentTimeMillis() &&
|
||||
fb.getImplementationDate().getTime() >= System.currentTimeMillis()) {
|
||||
fb.setStandardState(OutStandardStateEnum.TRIAL_OPERATION.getStateValue());
|
||||
needUpdateFbList.add(fb);
|
||||
continue;
|
||||
}
|
||||
// 实施日期及之后的标准 状态更新为现行有效
|
||||
if (fb.getImplementationDate().getTime() <= System.currentTimeMillis()) {
|
||||
fb.setStandardState(OutStandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue());
|
||||
needUpdateFbList.add(fb);
|
||||
}
|
||||
}
|
||||
fbService.updateBatchById(needUpdateFbList);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user