修改法规清单给法规工程师流程重置功能
This commit is contained in:
+84
-1
@@ -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)) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user