修改法规清单给法规工程师流程重置功能

This commit is contained in:
高嵩
2023-10-19 16:06:18 +08:00
parent db1ea6817a
commit f6319eac1a
2 changed files with 91 additions and 2 deletions
@@ -4867,10 +4867,93 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
String ids = parmas.getString("ids");
String projectLibraryId = parmas.getString("projectLibraryId");
String operateType = parmas.getString("operateType");
resetFolw(ids, projectLibraryId, operateType);
//获取当前用户如果当前用户为法规工程师则流程重置到任务待发起
String currRole = parmas.getString("currRole");
if(StringUtils.isNotBlank(currRole) && com.jero.modules.system.enums.ProjectRoleEnum.REGULATI_ENGINEER.getValue().equals(currRole)){
resetFolwByLaw(ids, projectLibraryId, operateType);
}else{
resetFolw(ids, projectLibraryId, operateType);
}
return Result.OK("变更成功!");
}
private void resetFolwByLaw(String ids, String projectLibraryId, String operateType) {
if (StringUtils.isNotEmpty(ids)) {
List<String> piFlowTypeList = new ArrayList<>();
QueryWrapper<ProjectLawsInventoryEO> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().in(ProjectLawsInventoryEO::getId, Arrays.asList(ids.split(",")));
queryWrapper.lambda().eq(ProjectLawsInventoryEO::getProjectLibraryId, projectLibraryId);
List<ProjectLawsInventoryEO> projectLawsInventoryEOS = this.list(queryWrapper);
List<String> idList = Arrays.asList(ids.split(","));
String projectLawsInventoryIds = ids;
String pIds = "";
ProjectLawsInventoryEO projectLawsInventoryEO = new ProjectLawsInventoryEO();
projectLawsInventoryEO.setInventoryAffirmStatus(InventoryAffirmStatusEnum.LIST_TO_CONFIRM.getValue());
projectLawsInventoryEO.setTaskAffirmStatus(TaskAffirmStatusEnum.NOT_STARTED.getValue());
//清单任务确认初始化
LambdaUpdateWrapper<ProjectLawsInventoryEO> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(ProjectLawsInventoryEO::getId, idList);
updateWrapper.set(ProjectLawsInventoryEO::getRegulationOwnerSubmitStatus, null);
updateWrapper.set(ProjectLawsInventoryEO::getHomologationEngineerSubmitStatus, null);
updateWrapper.set(ProjectLawsInventoryEO::getSendMsgFlag, null);
updateWrapper.set(ProjectLawsInventoryEO::getSendMsgCurrentFlag, null);
updateWrapper.set(ProjectLawsInventoryEO::getInventoryAffirmDueDate, null);
updateWrapper.set(ProjectLawsInventoryEO::getTaskAffirmDueDate, null);
// 区分重置设计验证全部流程
if(StringUtils.equals(operateType, OperatorTypeEnum.LAWS_INVENTORY_ALL_RESET_FLOW.getValue())){
updateWrapper.set(ProjectLawsInventoryEO::getDesignFlowStatus, ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue());
updateWrapper.set(ProjectLawsInventoryEO::getVerifyFlowStatus, ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue());
piFlowTypeList.add(FlowTypeEnum.SJFHXSHLC.getValue());
piFlowTypeList.add(FlowTypeEnum.YZFHXSCLC.getValue());
piFlowTypeList.add(FlowTypeEnum.SJ_XGJFWLC.getValue());
piFlowTypeList.add(FlowTypeEnum.YZ_XGJFWLC.getValue());
}else if(StringUtils.equals(operateType,OperatorTypeEnum.LAWS_INVENTORY_DESIGN_RESET_FLOW.getValue())){
updateWrapper.set(ProjectLawsInventoryEO::getDesignFlowStatus, ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue());
piFlowTypeList.add(FlowTypeEnum.SJFHXSHLC.getValue());
piFlowTypeList.add(FlowTypeEnum.SJ_XGJFWLC.getValue());
}else if(StringUtils.equals(operateType,OperatorTypeEnum.LAWS_INVENTORY_VERIFY_RESET_FLOW.getValue())){
updateWrapper.set(ProjectLawsInventoryEO::getVerifyFlowStatus, ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue());
piFlowTypeList.add(FlowTypeEnum.YZFHXSCLC.getValue());
piFlowTypeList.add(FlowTypeEnum.YZ_XGJFWLC.getValue());
}
super.update(projectLawsInventoryEO, updateWrapper);
QueryWrapper<ProcessInfoEO> processInfoQueryWrap = new QueryWrapper<>();
processInfoQueryWrap.lambda().in(ProcessInfoEO::getProjectLawsInventoryId, idList);
processInfoQueryWrap.lambda().in(ProcessInfoEO::getFlowType,piFlowTypeList);
List<ProcessInfoEO> processInfoEOList = this.processInfoEOService.list(processInfoQueryWrap);
List<String> actiProcInstIdList = processInfoEOList.stream().map(ProcessInfoEO::getActiProcInstId).distinct().collect(Collectors.toList());
pIds = actiProcInstIdList.stream().map(String::valueOf).collect(Collectors.joining(","));
JSONObject params = new JSONObject();
params.put("projectLawsInventoryIds", projectLawsInventoryIds);
params.put("pIds", pIds);
//清除流程中心对应的数据
params.put("ids", ids);
params.put("operateType", operateType);
this.processInfoEOService.change(params);
// 删除流程历史数据
this.processHistoryEOService.deleteBiActiProcInstIdList(actiProcInstIdList);
this.lawsInventoryEOListSortByInventoryAffirmDueDate(projectLawsInventoryEOS);
Date inventoryAffirmDueDate = projectLawsInventoryEOS.get(0).getInventoryAffirmDueDate();
String endTime = "";
if (inventoryAffirmDueDate != null) {
endTime = DateUtils.formatDate(inventoryAffirmDueDate);
}
}
//流程重置后将平台件关联信息删除
LambdaQueryWrapper<LawsInventoryPlatformEO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(LawsInventoryPlatformEO::getLawsInventoryId,Arrays.asList(ids.split(",")));
lawsInventoryPlatformEOService.remove(wrapper);
}
private void resetFolw(String ids, String projectLibraryId, String operateType) {
if (StringUtils.isNotEmpty(ids)) {
@@ -160,6 +160,11 @@
<a-icon type="copy"/>
{{ $t('copy') }}
</div>
<!-- 流程重置-->
<div class="operator-text" v-if="this.roleSwitchingCode == '1'" @click="alterationClick">
<a-icon type="file-search"/>
{{ $t('processReset') }}
</div>
<!-- 关联平台件-->
<!-- v-if="this.roleSwitchingCode == '0'"-->
<!-- <div class="operator-text" @click="associatedplatformClick('法规')">-->
@@ -2401,7 +2406,8 @@
postAction('/project/projectLawsInventoryEO/change', {
ids: idList.join(','),
projectLibraryId: _this.$route.query.id,
operateType: _this.formInlineReset.operateType
operateType: _this.formInlineReset.operateType,
currRole:this.roleSwitchingCode
}).then((res) => {
if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful'))