fix: 80523 企标复审流程--修订完成--立项修订的流程自动发起不正确

This commit is contained in:
2024-01-16 10:42:37 +08:00
parent f6c800eec8
commit 81b5eeb21f
4 changed files with 31 additions and 20 deletions
@@ -327,10 +327,6 @@ public class ActFlowCommonService {
return standTypeVO;
}
public String getNewBusinessId() {
return UUID.randomUUID().toString().replace("-", "");
}
public ProcessDraft getExistDraft(String draftId, ProcessTypeEnum processTypeEnum) {
String userId = UserUtils.getUserId();
LambdaQueryWrapper<ProcessDraft> draftWrapper = new LambdaQueryWrapper<>();
@@ -521,12 +521,6 @@ public class ProcessEsInitChange implements Serializable {
@ApiModelProperty(value = "配合单位")
private String cooperationUnit;
/**
* 流程业务统一Id
*/
@ApiModelProperty(value = "流程业务统一Id")
private String businessId;
@TableField(exist = false)
private static final long serialVersionUID = 1781238971297838971L;
}
@@ -27,11 +27,14 @@ 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.laws.common.constant.FieldCommon;
import com.jero.modules.laws.common.service.ILawsCommonService;
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;
import com.jero.modules.tag.enums.TableNameEnum;
import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
@@ -84,6 +87,9 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
@Resource
private ProcessAllService processAllService;
@Resource
private ILawsCommonService commonService;
@Override
public void startProcess(InitChangeDataVO initChangeData) {
// 发起的时候校验标准编号是是否重复
@@ -113,10 +119,6 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
actFlowCommonService.autoCompleteFirstTask(userId, processInstanceId, processDefinitionId, commonVO);
// 设置流程实例Id
esInitChangeList.forEach(e -> e.setProcessInstanceId(processInstanceId));
// 生成唯一的businessId
String newBusinessId = actFlowCommonService.getNewBusinessId();
// 新增业务表数据
esInitChangeList.forEach(e -> e.setBusinessId(newBusinessId));
// 保存到业务流程表
saveOrUpdateBatch(esInitChangeList);
// 保存选人信息
@@ -200,12 +202,7 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
// 获取流程实例ID
String processDefinitionId = processInstance.getProcessDefinitionId();
String processInstanceId = processInstance.getId();
// 设置流程实例Id
initChange.setProcessInstanceId(processInstanceId);
// 生成唯一的businessId
String newBusinessId = actFlowCommonService.getNewBusinessId();
// 新增业务表数据
initChange.setBusinessId(newBusinessId);
this.setInitChangeData(standardNo, initChange, processInstanceId);
// 保存到业务流程表
save(initChange);
// 保存选人信息
@@ -217,6 +214,28 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
actFlowCommonService.updateProcessAll(processInstanceId, mainDraftUser, prcName, null, prcType, null);
}
private void setInitChangeData(String standardNo, ProcessEsInitChange initChange, String processInstanceId) {
Map<String, Object> es = commonService.getByIdAndModule(null, TableNameEnum.ENTERPRISE_STANDARDS.getValue(), "2", standardNo);
initChange.setProcessInstanceId(processInstanceId)
.setApplicationCategory(ESPApplicationCategoryEnum.INITIATION.getValue())
.setProjectType(ESPProjectType.MODIFY.getValue())
.setOriginEnStandardNo((String) es.get(FieldCommon.STANDARD_NUMBER))
.setOriginEnStandardName((String) es.get(FieldCommon.STANDARD_NAME))
.setDecadeCode((String) es.get(FieldCommon.YEAR_NUMBER))
.setEnStandardEnglishName((String) es.get(FieldCommon.STANDARD_ENGLISH_NAME))
.setEnStandardSystem((String) es.get(FieldCommon.STANDARD_SYSTEM))
.setStandardType((String) es.get(FieldCommon.STANDARD_CLASS))
.setStandardCategoryCode((String) es.get(FieldCommon.STANDARD_CATEGORY_CODE))
.setCompilationDescription((String) es.get(FieldCommon.COMP_ILLUSTRATION))
.setComponentName((String) es.get(FieldCommon.PART_NAME))
.setAuthDept((String) es.get(FieldCommon.AUTH_DEPT))
.setMainDraftingUser((String) es.get(FieldCommon.MAIN_DRAFTING_USER))
.setMainDraftingUnit((String) es.get(FieldCommon.MAIN_DRAFTING_UNIT))
.setMainDraftingUnitResponsiblePerson((String) es.get(FieldCommon.MAIN_DRAFTING_UNIT_RESPONSIBLE_PERSON))
.setStandardPromoter((String) es.get(FieldCommon.STANDARD_PROMOTER))
.setCooperationUnit((String) es.get(FieldCommon.COOPERATION_UNIT));
}
@Override
public void approvalInitChange(InitChangeDataVO initChangeDataVO, boolean pass) {
String userId = UserUtils.getUserId();
@@ -208,6 +208,8 @@ public class FieldCommon {
public static final String MAIN_DRAFTING_UNIT_RESPONSIBLE_PERSON = "main_drafting_unit_responsible_person";
// 标准推进人
public static final String STANDARD_PROMOTER = "standard_promoter";
// 配合单位
public static final String COOPERATION_UNIT = "cooperation_unit";
// 责任部门负责人
public static final String RESPONSIBLE_DEPARTMENT_USER = "responsible_department_user";