diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/listener/ProcessESAnnualInitEndListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/listener/ProcessESAnnualInitEndListener.java index 23f3e1b2..0fb29208 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/listener/ProcessESAnnualInitEndListener.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/listener/ProcessESAnnualInitEndListener.java @@ -3,19 +3,25 @@ package com.jero.modules.activiti.process.esAnnualInit.listener; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.esInitChange.entity.enums.ESPRevisionType; 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.laws.common.constant.FieldCommon; import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan; import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService; import com.jero.modules.laws.enterprise.util.BeanCopyUtils; +import com.jero.modules.laws.enterprise.util.EnterpriseStandardUtil; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.delegate.DelegateExecution; import org.activiti.engine.delegate.ExecutionListener; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.util.Calendar; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @author: Mzaxd @@ -34,6 +40,9 @@ public class ProcessESAnnualInitEndListener implements ExecutionListener { @Resource private EsRevisionService esRevisionService; + @Resource + private EnterpriseStandardUtil esUtil; + /** * 流程结束之后需要把数据存入企标计划数据库 * @@ -58,16 +67,35 @@ public class ProcessESAnnualInitEndListener implements ExecutionListener { for (EnterpriseStandardPlan esp : enterpriseStandardPlans) { esp.setApplicationCategory(esp.getProjectType()); } - espService.saveBatch(enterpriseStandardPlans); - log.info("数据存入企标计划数据库"); - // 自动发起制修订流程 - log.info("自动发起企标制修订流程"); + // 生成企标编号 + Map map = new HashMap<>(); + String newStandardNumber; + // 获取当前年份 + Calendar date = Calendar.getInstance(); + String curYearNumber = String.valueOf(date.get(Calendar.YEAR)); for (EnterpriseStandardPlan esp : enterpriseStandardPlans) { + // 制定生成新企标编号 + if (esp.getApplicationCategory().equals(ESPRevisionType.ENACT.getValue())) { + map.put(FieldCommon.ENTERPRISE_STANDARD_CODE, esp.getEnStandardCode()); + map.put(FieldCommon.ENTERPRISE_NAME_CODE, esp.getEnNameCode()); + map.put(FieldCommon.STANDARD_CATEGORY_CODE, esp.getStandardCategoryCode()); + map.put(FieldCommon.YEAR_NUMBER, curYearNumber); + newStandardNumber = esUtil.generateStandardNumber(map); + esp.setNewEnStandardNo(newStandardNumber); + } + // 修订只改年代号 + if (esp.getApplicationCategory().equals(ESPRevisionType.MODIFY.getValue())) { + newStandardNumber = esUtil.changeStandardNumberYearNumber(esp.getOriginEnStandardNo(), curYearNumber); + esp.setNewEnStandardNo(newStandardNumber); + } + espService.save(esp); + log.info("数据存入企标计划数据库"); ESRevisionDataVO revisionDataVO = new ESRevisionDataVO(); ProcessEsRevision revision = new ProcessEsRevision(); revision.setEspId(esp.getId()); revisionDataVO.setData(revision); esRevisionService.autoStartProcess(revisionDataVO); + log.info("自动发起企标制修订流程"); } } } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/listener/ProcessESAnnualReportEndListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/listener/ProcessESAnnualReportEndListener.java index 9f4b4499..e6a3741a 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/listener/ProcessESAnnualReportEndListener.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/listener/ProcessESAnnualReportEndListener.java @@ -7,16 +7,21 @@ 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.laws.common.constant.FieldCommon; import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan; import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService; import com.jero.modules.laws.enterprise.util.BeanCopyUtils; +import com.jero.modules.laws.enterprise.util.EnterpriseStandardUtil; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.delegate.DelegateExecution; import org.activiti.engine.delegate.ExecutionListener; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.util.Calendar; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @author: Mzaxd @@ -35,6 +40,9 @@ public class ProcessESAnnualReportEndListener implements ExecutionListener { @Resource private EsRevisionService esRevisionService; + @Resource + private EnterpriseStandardUtil esUtil; + /** * 流程结束之后需要把数据存入企标计划数据库 * @@ -59,16 +67,35 @@ public class ProcessESAnnualReportEndListener implements ExecutionListener { for (EnterpriseStandardPlan esp : enterpriseStandardPlans) { esp.setApplicationCategory(esp.getProjectType()); } - espService.saveBatch(enterpriseStandardPlans); - log.info("数据存入企标计划数据库"); - // 自动发起制修订流程 - log.info("自动发起企标制修订流程"); + // 生成企标编号 + Map map = new HashMap<>(); + String newStandardNumber; + // 获取当前年份 + Calendar date = Calendar.getInstance(); + String curYearNumber = String.valueOf(date.get(Calendar.YEAR)); for (EnterpriseStandardPlan esp : enterpriseStandardPlans) { + // 制定生成新企标编号 + if (esp.getApplicationCategory().equals(ESPRevisionType.ENACT.getValue())) { + map.put(FieldCommon.ENTERPRISE_STANDARD_CODE, esp.getEnStandardCode()); + map.put(FieldCommon.ENTERPRISE_NAME_CODE, esp.getEnNameCode()); + map.put(FieldCommon.STANDARD_CATEGORY_CODE, esp.getStandardCategoryCode()); + map.put(FieldCommon.YEAR_NUMBER, curYearNumber); + newStandardNumber = esUtil.generateStandardNumber(map); + esp.setNewEnStandardNo(newStandardNumber); + } + // 修订只改年代号 + if (esp.getApplicationCategory().equals(ESPRevisionType.MODIFY.getValue())) { + newStandardNumber = esUtil.changeStandardNumberYearNumber(esp.getOriginEnStandardNo(), curYearNumber); + esp.setNewEnStandardNo(newStandardNumber); + } + espService.save(esp); + log.info("数据存入企标计划数据库"); ESRevisionDataVO revisionDataVO = new ESRevisionDataVO(); ProcessEsRevision revision = new ProcessEsRevision(); revision.setEspId(esp.getId()); revisionDataVO.setData(revision); esRevisionService.autoStartProcess(revisionDataVO); + log.info("自动发起企标制修订流程"); } } } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java index 461b7e52..d9178284 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java @@ -413,7 +413,7 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl