feat: 重汽年度制修订流程变更
This commit is contained in:
+1
-4
@@ -13,7 +13,6 @@ import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPRevisionTy
|
||||
import com.jero.modules.activiti.process.esRevision.entity.ProcessEsRevision;
|
||||
import com.jero.modules.activiti.process.esRevision.entity.vo.ESRevisionDataVO;
|
||||
import com.jero.modules.activiti.process.esRevision.service.EsRevisionService;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.laws.common.constant.FieldCommon;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
|
||||
@@ -49,9 +48,6 @@ public class ProcessESAnnualInitEndListener implements ExecutionListener {
|
||||
@Resource
|
||||
private EnterpriseStandardUtil esUtil;
|
||||
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
|
||||
/**
|
||||
* 流程结束之后需要把数据存入企标计划数据库
|
||||
*
|
||||
@@ -65,6 +61,7 @@ public class ProcessESAnnualInitEndListener implements ExecutionListener {
|
||||
// 根据流程实例Id找到所有流程业务数据
|
||||
LambdaQueryWrapper<ProcessEsAnnualInit> esAnnualInitWrapper = new LambdaQueryWrapper<>();
|
||||
esAnnualInitWrapper.eq(ProcessEsAnnualInit::getProcessInstanceId, processInstanceId);
|
||||
esAnnualInitWrapper.eq(ProcessEsAnnualInit::getExecutionId, delegateExecution.getId());
|
||||
List<ProcessEsAnnualInit> annualInits = annualInitService.list(esAnnualInitWrapper);
|
||||
if (annualInits == null || annualInits.isEmpty()) {
|
||||
log.info("年度制修订标准化发起流程结束 监听执行器未找到流程业务数据");
|
||||
|
||||
+59
-1
@@ -1,5 +1,6 @@
|
||||
package com.jero.modules.activiti.process.esAnnualInit.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
@@ -20,13 +21,17 @@ import com.jero.modules.activiti.process.esAnnualInit.service.ProcessEsAnnualIni
|
||||
import com.jero.modules.activiti.process.esAnnualInit.mapper.ProcessEsAnnualInitMapper;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPChangeType;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectType;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPRevisionType;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.activiti.util.ExcelUtils;
|
||||
import com.jero.modules.laws.common.constant.FieldCommon;
|
||||
import com.jero.modules.laws.common.util.ImportUtil;
|
||||
import com.jero.modules.laws.enterprise.service.ESSequenceNumberProvider;
|
||||
import com.jero.modules.laws.enterprise.util.EnterpriseStandardUtil;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
import com.jero.modules.sys.utils.UserUtils;
|
||||
@@ -59,7 +64,7 @@ import static com.jero.modules.activiti.process.esAnnualInit.entity.AnnualInitTa
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
@Service
|
||||
public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualInitMapper, ProcessEsAnnualInit>
|
||||
implements ProcessEsAnnualInitService {
|
||||
implements ProcessEsAnnualInitService, ESSequenceNumberProvider {
|
||||
|
||||
@Resource
|
||||
private CommonAPI commonAPI;
|
||||
@@ -97,6 +102,9 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
@Resource
|
||||
private ILawsEnterpriseStandardService esService;
|
||||
|
||||
@Resource
|
||||
private EnterpriseStandardUtil esUtil;
|
||||
|
||||
@Override
|
||||
public void startProcess(AnnualInitDataVO annualInitData) {
|
||||
// 流程Key
|
||||
@@ -267,6 +275,7 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
break;
|
||||
case STANDARD_ENGINEER_COLLECT:
|
||||
// do nothing now
|
||||
wrapper.eq(ProcessEsAnnualInit::getExecutionId, executionId);
|
||||
break;
|
||||
}
|
||||
wrapper.eq(ProcessEsAnnualInit::getProcessInstanceId, processInstanceId);
|
||||
@@ -424,13 +433,26 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
dbDataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.YES.getValue()));
|
||||
}
|
||||
dbDataList.forEach(d -> d.setExecutionId(executionId));
|
||||
// 给制定的数据生成企标编号
|
||||
updateBatchById(dbDataList);
|
||||
this.batchGenerateStandardNo(dbDataList);
|
||||
// 转办
|
||||
runtimeService.setVariableLocal(executionId, "approvalUser", curUserId);
|
||||
break;
|
||||
case STANDARD_ENGINEER_COLLECT:
|
||||
// 根据流程ID删除所有数据后新增
|
||||
dataList = annualInitData.getDataList();
|
||||
// 判断新企标编号有没有重复的
|
||||
List<String> collect = dataList.stream().map(ProcessEsAnnualInit::getNewEnStandardNo)
|
||||
.filter(StrUtil::isNotBlank).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(collect)) {
|
||||
int size = collect.size();
|
||||
if (size != collect.stream().distinct().count()) {
|
||||
throw new JeroBootException("提交的新企标编号中有重复企标编号,请检查!");
|
||||
}
|
||||
}
|
||||
List<String> idList = dataList.stream().map(ProcessEsAnnualInit::getId).collect(Collectors.toList());
|
||||
wrapper.in(ProcessEsAnnualInit::getId, idList);
|
||||
remove(wrapper);
|
||||
saveBatch(dataList);
|
||||
break;
|
||||
@@ -447,6 +469,27 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
actFlowCommonService.completeTask(taskId, userId);
|
||||
}
|
||||
|
||||
private void batchGenerateStandardNo(List<ProcessEsAnnualInit> dbDataList) {
|
||||
Calendar date = Calendar.getInstance();
|
||||
String curYearNumber = String.valueOf(date.get(Calendar.YEAR));
|
||||
List<ProcessEsAnnualInit> enactDataList = dbDataList.stream()
|
||||
.filter(d -> d.getProjectType().equals(ESPRevisionType.ENACT.getValue()))
|
||||
.collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(enactDataList)) {
|
||||
for (ProcessEsAnnualInit data : enactDataList) {
|
||||
// 生成企标编号
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put(FieldCommon.ENTERPRISE_STANDARD_CODE, data.getEnStandardCode());
|
||||
map.put(FieldCommon.ENTERPRISE_NAME_CODE, data.getEnNameCode());
|
||||
map.put(FieldCommon.STANDARD_CATEGORY_CODE, data.getStandardCategoryCode());
|
||||
map.put(FieldCommon.YEAR_NUMBER, curYearNumber);
|
||||
String newStandardNumber = esUtil.generateStandardNumber(map);
|
||||
data.setNewEnStandardNo(newStandardNumber);
|
||||
updateById(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void batchReject(AnnualInitDataVO annualInitData, String ids) {
|
||||
CommonVO commonVO = annualInitData.getCommonVO();
|
||||
@@ -591,6 +634,7 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
item.setSolicitationDraftPlanCompleteDate(importUtil.convertDate(item.getSolicitationDraftPlanCompleteDateString()));
|
||||
item.setPlanApprovalDate(importUtil.convertDate(item.getPlanApprovalDateString()));
|
||||
item.setComponentName(excelUtils.translateDictValue("name", "code", "laws_part_name", item.getComponentName(), listDict));
|
||||
item.setStandardCategoryCode(excelUtils.translateDictValue("standard_category_code", item.getStandardCategoryCode(), listDict));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -705,6 +749,20 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
}
|
||||
return errMsg.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getSequenceNumbers(String esCodeDictValue, String esNameCodeDictValue, String categoryCodeDictValue) {
|
||||
// 已经存在的标准
|
||||
LambdaQueryWrapper<ProcessEsAnnualInit> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(ProcessEsAnnualInit::getEnStandardCode, esCodeDictValue);
|
||||
lambdaQueryWrapper.eq(ProcessEsAnnualInit::getEnNameCode, esNameCodeDictValue);
|
||||
lambdaQueryWrapper.eq(ProcessEsAnnualInit::getStandardCategoryCode, categoryCodeDictValue);
|
||||
lambdaQueryWrapper.isNotNull(ProcessEsAnnualInit::getNewEnStandardNo);
|
||||
List<ProcessEsAnnualInit> esList = this.list(lambdaQueryWrapper);
|
||||
|
||||
return esList.stream().map(ProcessEsAnnualInit::getNewEnStandardNo)
|
||||
.map(EnterpriseStandardUtil::getSequenceNoFromStandardNo).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user