feat: 年度制修订流程支持制定带小数点企标
This commit is contained in:
+3
-8
@@ -1,14 +1,10 @@
|
|||||||
package com.jero.modules.activiti.process.esAnnualInit.listener;
|
package com.jero.modules.activiti.process.esAnnualInit.listener;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.modules.activiti.entity.ProcessAll;
|
|
||||||
import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
|
||||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
|
||||||
import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit;
|
import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit;
|
||||||
import com.jero.modules.activiti.process.esAnnualInit.service.impl.ProcessEsAnnualInitServiceImpl;
|
import com.jero.modules.activiti.process.esAnnualInit.service.impl.ProcessEsAnnualInitServiceImpl;
|
||||||
import com.jero.modules.activiti.process.esInitChange.entity.ProcessEsInitChange;
|
|
||||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPRevisionType;
|
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPRevisionType;
|
||||||
import com.jero.modules.activiti.process.esRevision.entity.ProcessEsRevision;
|
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.entity.vo.ESRevisionDataVO;
|
||||||
@@ -19,7 +15,6 @@ import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan;
|
|||||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
|
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
|
||||||
import com.jero.modules.laws.enterprise.util.BeanCopyUtils;
|
import com.jero.modules.laws.enterprise.util.BeanCopyUtils;
|
||||||
import com.jero.modules.laws.enterprise.util.EnterpriseStandardUtil;
|
import com.jero.modules.laws.enterprise.util.EnterpriseStandardUtil;
|
||||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.activiti.engine.delegate.DelegateExecution;
|
import org.activiti.engine.delegate.DelegateExecution;
|
||||||
import org.activiti.engine.delegate.ExecutionListener;
|
import org.activiti.engine.delegate.ExecutionListener;
|
||||||
@@ -27,7 +22,6 @@ import org.springframework.stereotype.Component;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author: Mzaxd
|
* @author: Mzaxd
|
||||||
@@ -104,7 +98,8 @@ public class ProcessESAnnualInitEndListener implements ExecutionListener {
|
|||||||
// 判断修订的新标准号是否有效
|
// 判断修订的新标准号是否有效
|
||||||
for (EnterpriseStandardPlan esp : enterpriseStandardPlans) {
|
for (EnterpriseStandardPlan esp : enterpriseStandardPlans) {
|
||||||
// 制定生成新企标编号
|
// 制定生成新企标编号
|
||||||
if (esp.getApplicationCategory().equals(ESPRevisionType.ENACT.getValue())) {
|
if (esp.getApplicationCategory().equals(ESPRevisionType.ENACT.getValue())
|
||||||
|
&& StrUtil.isBlank(esp.getNewEnStandardNo())) {
|
||||||
map.put(FieldCommon.ENTERPRISE_STANDARD_CODE, esp.getEnStandardCode());
|
map.put(FieldCommon.ENTERPRISE_STANDARD_CODE, esp.getEnStandardCode());
|
||||||
map.put(FieldCommon.ENTERPRISE_NAME_CODE, esp.getEnNameCode());
|
map.put(FieldCommon.ENTERPRISE_NAME_CODE, esp.getEnNameCode());
|
||||||
map.put(FieldCommon.STANDARD_CATEGORY_CODE, esp.getStandardCategoryCode());
|
map.put(FieldCommon.STANDARD_CATEGORY_CODE, esp.getStandardCategoryCode());
|
||||||
|
|||||||
+57
-2
@@ -1,5 +1,6 @@
|
|||||||
package com.jero.modules.activiti.process.esAnnualInit.service.impl;
|
package com.jero.modules.activiti.process.esAnnualInit.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
@@ -16,17 +17,21 @@ import com.jero.modules.activiti.process.common.enums.ProcessType;
|
|||||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||||
import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit;
|
import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit;
|
||||||
import com.jero.modules.activiti.process.esAnnualInit.entity.vo.AnnualInitDataVO;
|
import com.jero.modules.activiti.process.esAnnualInit.entity.vo.AnnualInitDataVO;
|
||||||
import com.jero.modules.activiti.process.esAnnualInit.service.ProcessEsAnnualInitService;
|
|
||||||
import com.jero.modules.activiti.process.esAnnualInit.mapper.ProcessEsAnnualInitMapper;
|
import com.jero.modules.activiti.process.esAnnualInit.mapper.ProcessEsAnnualInitMapper;
|
||||||
|
import com.jero.modules.activiti.process.esAnnualInit.service.ProcessEsAnnualInitService;
|
||||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPChangeType;
|
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.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.dto.BasicProcessInfoDTO;
|
||||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||||
import com.jero.modules.activiti.service.ProcessAllService;
|
import com.jero.modules.activiti.service.ProcessAllService;
|
||||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||||
import com.jero.modules.activiti.util.ExcelUtils;
|
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.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.entity.LawsEnterpriseStandard;
|
||||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||||
import com.jero.modules.sys.utils.UserUtils;
|
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)
|
@Transactional(rollbackFor = JeroBootException.class)
|
||||||
@Service
|
@Service
|
||||||
public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualInitMapper, ProcessEsAnnualInit>
|
public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualInitMapper, ProcessEsAnnualInit>
|
||||||
implements ProcessEsAnnualInitService {
|
implements ProcessEsAnnualInitService, ESSequenceNumberProvider {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private CommonAPI commonAPI;
|
private CommonAPI commonAPI;
|
||||||
@@ -97,6 +102,9 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
|||||||
@Resource
|
@Resource
|
||||||
private ILawsEnterpriseStandardService esService;
|
private ILawsEnterpriseStandardService esService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private EnterpriseStandardUtil esUtil;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void startProcess(AnnualInitDataVO annualInitData) {
|
public void startProcess(AnnualInitDataVO annualInitData) {
|
||||||
// 流程Key
|
// 流程Key
|
||||||
@@ -420,13 +428,24 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
|||||||
dbDataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.YES.getValue()));
|
dbDataList.forEach(d -> d.setRejectFlag(YesOrNoEnum.YES.getValue()));
|
||||||
}
|
}
|
||||||
dbDataList.forEach(d -> d.setExecutionId(executionId));
|
dbDataList.forEach(d -> d.setExecutionId(executionId));
|
||||||
|
// 给制定的数据生成企标编号
|
||||||
updateBatchById(dbDataList);
|
updateBatchById(dbDataList);
|
||||||
|
this.batchGenerateStandardNo(dbDataList);
|
||||||
// 转办
|
// 转办
|
||||||
runtimeService.setVariableLocal(executionId, "approvalUser", curUserId);
|
runtimeService.setVariableLocal(executionId, "approvalUser", curUserId);
|
||||||
break;
|
break;
|
||||||
case STANDARD_ENGINEER_COLLECT:
|
case STANDARD_ENGINEER_COLLECT:
|
||||||
// 根据流程ID删除所有数据后新增
|
// 根据流程ID删除所有数据后新增
|
||||||
dataList = annualInitData.getDataList();
|
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("提交的新企标编号中有重复企标编号,请检查!");
|
||||||
|
}
|
||||||
|
}
|
||||||
remove(wrapper);
|
remove(wrapper);
|
||||||
saveBatch(dataList);
|
saveBatch(dataList);
|
||||||
break;
|
break;
|
||||||
@@ -443,6 +462,27 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
|||||||
actFlowCommonService.completeTask(taskId, userId);
|
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
|
@Override
|
||||||
public void batchReject(AnnualInitDataVO annualInitData, String ids) {
|
public void batchReject(AnnualInitDataVO annualInitData, String ids) {
|
||||||
CommonVO commonVO = annualInitData.getCommonVO();
|
CommonVO commonVO = annualInitData.getCommonVO();
|
||||||
@@ -587,6 +627,7 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
|||||||
item.setSolicitationDraftPlanCompleteDate(importUtil.convertDate(item.getSolicitationDraftPlanCompleteDateString()));
|
item.setSolicitationDraftPlanCompleteDate(importUtil.convertDate(item.getSolicitationDraftPlanCompleteDateString()));
|
||||||
item.setPlanApprovalDate(importUtil.convertDate(item.getPlanApprovalDateString()));
|
item.setPlanApprovalDate(importUtil.convertDate(item.getPlanApprovalDateString()));
|
||||||
item.setComponentName(excelUtils.translateDictValue("name", "code", "laws_part_name", item.getComponentName(), listDict));
|
item.setComponentName(excelUtils.translateDictValue("name", "code", "laws_part_name", item.getComponentName(), listDict));
|
||||||
|
item.setStandardCategoryCode(excelUtils.translateDictValue("standard_category_code", item.getStandardCategoryCode(), listDict));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -701,6 +742,20 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
|||||||
}
|
}
|
||||||
return errMsg.toString();
|
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());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -1,5 +1,6 @@
|
|||||||
package com.jero.modules.activiti.process.esAnnualReport.listener;
|
package com.jero.modules.activiti.process.esAnnualReport.listener;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.modules.activiti.process.esAnnualReport.entity.ProcessEsAnnualReport;
|
import com.jero.modules.activiti.process.esAnnualReport.entity.ProcessEsAnnualReport;
|
||||||
@@ -89,7 +90,8 @@ public class ProcessESAnnualReportEndListener implements ExecutionListener {
|
|||||||
// 判断修订的新标准号是否有效
|
// 判断修订的新标准号是否有效
|
||||||
for (EnterpriseStandardPlan esp : enterpriseStandardPlans) {
|
for (EnterpriseStandardPlan esp : enterpriseStandardPlans) {
|
||||||
// 制定生成新企标编号
|
// 制定生成新企标编号
|
||||||
if (esp.getApplicationCategory().equals(ESPRevisionType.ENACT.getValue())) {
|
if (esp.getApplicationCategory().equals(ESPRevisionType.ENACT.getValue())
|
||||||
|
&& StrUtil.isBlank(esp.getNewEnStandardNo())) {
|
||||||
map.put(FieldCommon.ENTERPRISE_STANDARD_CODE, esp.getEnStandardCode());
|
map.put(FieldCommon.ENTERPRISE_STANDARD_CODE, esp.getEnStandardCode());
|
||||||
map.put(FieldCommon.ENTERPRISE_NAME_CODE, esp.getEnNameCode());
|
map.put(FieldCommon.ENTERPRISE_NAME_CODE, esp.getEnNameCode());
|
||||||
map.put(FieldCommon.STANDARD_CATEGORY_CODE, esp.getStandardCategoryCode());
|
map.put(FieldCommon.STANDARD_CATEGORY_CODE, esp.getStandardCategoryCode());
|
||||||
|
|||||||
+60
-3
@@ -1,5 +1,6 @@
|
|||||||
package com.jero.modules.activiti.process.esAnnualReport.service.impl;
|
package com.jero.modules.activiti.process.esAnnualReport.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@@ -21,14 +22,18 @@ import com.jero.modules.activiti.process.esAnnualReport.mapper.ProcessEsAnnualRe
|
|||||||
import com.jero.modules.activiti.process.esAnnualReport.service.ProcessEsAnnualReportService;
|
import com.jero.modules.activiti.process.esAnnualReport.service.ProcessEsAnnualReportService;
|
||||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPChangeType;
|
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.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.dto.BasicProcessInfoDTO;
|
||||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||||
import com.jero.modules.activiti.service.ProcessAllService;
|
import com.jero.modules.activiti.service.ProcessAllService;
|
||||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||||
import com.jero.modules.activiti.util.ExcelUtils;
|
import com.jero.modules.activiti.util.ExcelUtils;
|
||||||
|
import com.jero.modules.laws.common.constant.FieldCommon;
|
||||||
import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon;
|
import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon;
|
||||||
import com.jero.modules.laws.common.util.ImportUtil;
|
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.entity.LawsEnterpriseStandard;
|
||||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||||
import com.jero.modules.sys.utils.UserUtils;
|
import com.jero.modules.sys.utils.UserUtils;
|
||||||
@@ -60,7 +65,7 @@ import static com.jero.modules.activiti.process.esAnnualReport.entity.AnnualRepo
|
|||||||
@Service
|
@Service
|
||||||
@Transactional(rollbackFor = JeroBootException.class)
|
@Transactional(rollbackFor = JeroBootException.class)
|
||||||
public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnualReportMapper, ProcessEsAnnualReport>
|
public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnualReportMapper, ProcessEsAnnualReport>
|
||||||
implements ProcessEsAnnualReportService {
|
implements ProcessEsAnnualReportService, ESSequenceNumberProvider {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private CommonAPI commonAPI;
|
private CommonAPI commonAPI;
|
||||||
@@ -100,6 +105,9 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
|
|||||||
@Resource
|
@Resource
|
||||||
private ILawsEnterpriseStandardService esService;
|
private ILawsEnterpriseStandardService esService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private EnterpriseStandardUtil esUtil;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void startProcess(AnnualReportDataVO annualReportData) {
|
public void startProcess(AnnualReportDataVO annualReportData) {
|
||||||
// 流程Key
|
// 流程Key
|
||||||
@@ -290,7 +298,11 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
|
|||||||
runtimeService.setVariable(executionId, "contactUser", UserUtils.getUserId());
|
runtimeService.setVariable(executionId, "contactUser", UserUtils.getUserId());
|
||||||
break;
|
break;
|
||||||
case CONTACT_USER_LEADER_APPROVAL:
|
case CONTACT_USER_LEADER_APPROVAL:
|
||||||
if (!pass) {
|
if (pass) {
|
||||||
|
handleData = this.getHandleData(taskId);
|
||||||
|
handaleDataList = handleData.getDataList();
|
||||||
|
this.batchGenerateStandardNo(handaleDataList);
|
||||||
|
} else {
|
||||||
userVariable.put("contactUser", contactUser);
|
userVariable.put("contactUser", contactUser);
|
||||||
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userVariable);
|
processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userVariable);
|
||||||
}
|
}
|
||||||
@@ -303,6 +315,15 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
|
|||||||
case STANDARD_ENGINEER_COLLECT:
|
case STANDARD_ENGINEER_COLLECT:
|
||||||
// 根据流程ID删除所有数据后新增
|
// 根据流程ID删除所有数据后新增
|
||||||
dataList = annualReportDataVO.getDataList();
|
dataList = annualReportDataVO.getDataList();
|
||||||
|
// 判断新企标编号有没有重复的
|
||||||
|
List<String> collect = dataList.stream().map(ProcessEsAnnualReport::getNewEnStandardNo)
|
||||||
|
.filter(StrUtil::isNotBlank).collect(Collectors.toList());
|
||||||
|
if (CollUtil.isNotEmpty(collect)) {
|
||||||
|
int size = collect.size();
|
||||||
|
if (size != collect.stream().distinct().count()) {
|
||||||
|
throw new JeroBootException("提交的新企标编号中有重复企标编号,请检查!");
|
||||||
|
}
|
||||||
|
}
|
||||||
wrapper.eq(ProcessEsAnnualReport::getProcessInstanceId, processInstanceId);
|
wrapper.eq(ProcessEsAnnualReport::getProcessInstanceId, processInstanceId);
|
||||||
wrapper.eq(ProcessEsAnnualReport::getDelFlag, YesOrNoEnum.NO.getValue());
|
wrapper.eq(ProcessEsAnnualReport::getDelFlag, YesOrNoEnum.NO.getValue());
|
||||||
remove(wrapper);
|
remove(wrapper);
|
||||||
@@ -324,7 +345,7 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AnnualReportDataVO getHandleData(String taskId) {
|
public AnnualReportDataVO getHandleData(String taskId) {
|
||||||
// 判断是否是转办的 找到原始任务办理人
|
// 判断是否是转办的 找到原始任务办理人
|
||||||
if (!actFlowCommonService.taskExists(taskId)) {
|
if (!actFlowCommonService.taskExists(taskId)) {
|
||||||
throw new JeroBootException("任务不存在");
|
throw new JeroBootException("任务不存在");
|
||||||
@@ -494,6 +515,7 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
|
|||||||
item.setSolicitationDraftPlanCompleteDate(importUtil.convertDate(item.getSolicitationDraftPlanCompleteDateString()));
|
item.setSolicitationDraftPlanCompleteDate(importUtil.convertDate(item.getSolicitationDraftPlanCompleteDateString()));
|
||||||
item.setPlanApprovalDate(importUtil.convertDate(item.getPlanApprovalDateString()));
|
item.setPlanApprovalDate(importUtil.convertDate(item.getPlanApprovalDateString()));
|
||||||
item.setComponentName(excelUtils.translateDictValue("name", "code", "laws_part_name", item.getComponentName(), listDict));
|
item.setComponentName(excelUtils.translateDictValue("name", "code", "laws_part_name", item.getComponentName(), listDict));
|
||||||
|
item.setStandardCategoryCode(excelUtils.translateDictValue("standard_category_code", item.getStandardCategoryCode(), listDict));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -618,6 +640,41 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
|
|||||||
errMsg.append(excelUtils.validStandardName(newEnStandardName));
|
errMsg.append(excelUtils.validStandardName(newEnStandardName));
|
||||||
return errMsg.toString();
|
return errMsg.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void batchGenerateStandardNo(List<ProcessEsAnnualReport> dbDataList) {
|
||||||
|
Calendar date = Calendar.getInstance();
|
||||||
|
String curYearNumber = String.valueOf(date.get(Calendar.YEAR));
|
||||||
|
List<ProcessEsAnnualReport> enactDataList = dbDataList.stream()
|
||||||
|
.filter(d -> d.getProjectType().equals(ESPRevisionType.ENACT.getValue()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
if (CollUtil.isNotEmpty(enactDataList)) {
|
||||||
|
for (ProcessEsAnnualReport 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 List<String> getSequenceNumbers(String esCodeDictValue, String esNameCodeDictValue, String categoryCodeDictValue) {
|
||||||
|
// 已经存在的标准
|
||||||
|
LambdaQueryWrapper<ProcessEsAnnualReport> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.eq(ProcessEsAnnualReport::getEnStandardCode, esCodeDictValue);
|
||||||
|
lambdaQueryWrapper.eq(ProcessEsAnnualReport::getEnNameCode, esNameCodeDictValue);
|
||||||
|
lambdaQueryWrapper.eq(ProcessEsAnnualReport::getStandardCategoryCode, categoryCodeDictValue);
|
||||||
|
lambdaQueryWrapper.isNotNull(ProcessEsAnnualReport::getNewEnStandardNo);
|
||||||
|
List<ProcessEsAnnualReport> esList = this.list(lambdaQueryWrapper);
|
||||||
|
|
||||||
|
return esList.stream().map(ProcessEsAnnualReport::getNewEnStandardNo)
|
||||||
|
.map(EnterpriseStandardUtil::getSequenceNoFromStandardNo).collect(Collectors.toList());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user