From ac0d2fc571e1c2db3dbd3eb4f0f9b496510c6957 Mon Sep 17 00:00:00 2001 From: zhouhaibin Date: Mon, 29 Jul 2024 11:20:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=A1=B9=E7=9B=AE=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E7=AB=8B=E9=A1=B9=E9=83=A8=E5=88=86=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/HuzhouMergesplitinfoServiceImpl.java | 3 + .../impl/HuzhouPlaninfoServiceImpl.java | 6 +- .../impl/HuzhouPlaninfofileServiceImpl.java | 222 +++++++++++++----- .../impl/HuzhouProjectinfoServiceImpl.java | 1 + .../service/impl/WorkflowServiceImpl.java | 12 +- 5 files changed, 178 insertions(+), 66 deletions(-) diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouMergesplitinfoServiceImpl.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouMergesplitinfoServiceImpl.java index 67978ef..cd37c87 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouMergesplitinfoServiceImpl.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouMergesplitinfoServiceImpl.java @@ -134,6 +134,9 @@ public class HuzhouMergesplitinfoServiceImpl extends ServiceImpl0){ + name = taskList.get(0).getName(); + } if("发起人".equals(name)){ hashMap.put("isEdit","1"); }else { diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java index 934373c..37222b1 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java @@ -1,5 +1,6 @@ package com.easy.admin.modules.huzhou.service.impl; +import cn.hutool.core.util.StrUtil; import com.alibaba.excel.util.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -55,9 +56,9 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl getplanFilePageList(HuzhouPlaninfofile planinfofile,Integer pageNo, Integer pageSize) { Page page = new Page<>(pageNo,pageSize); @@ -92,6 +93,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl variables = new HashMap<>(); - variables.put("taskLeadingDepartment",strings); - runtimeService.setVariable(processInstanceId, "taskLeadingDepartment", strings);//设置第四个人变量信息 - variables.clear(); - //根据行政区县判断审批人 - if("市本级".equals(adminDivision)){ - //是市本级,判读责任单位 - String dutyWorkplace = huzhouProjectinfo.getDutyWorkplace(); - if(dutyWorkplace.contains("湖州市中心医院")){ - //是湖州市中心医院 则由吴兴区负责人审批 - adminDivision="吴兴区"; - }else if(dutyWorkplace.contains("湖州市第一人民医院")){ - //是湖州市第一人民医院,则有南浔区负责人审批 - adminDivision="南浔区"; - }else if(dutyWorkplace.contains("湖州市第三人民医院")){ - //是湖州市第三人民医院,则有德清县负责人审批 - adminDivision="德清县"; - }else if(dutyWorkplace.contains("湖州市妇幼保健院")){ - adminDivision="安吉县"; - }else if(dutyWorkplace.contains("湖州市中医院")){ - adminDivision="长兴县"; - } - } - //行政区县名称查询角色有哪些人 - userDictByRoles = userService.getUserDictByRoles(adminDivision); - ArrayList strings2 = new ArrayList<>(); - if(userDictByRoles==null||userDictByRoles.size()==0){ - String error = "信息化保障团队"+adminDivision+"负责人未找到"; - throw new EasyException(error); - } - for (HashMap map:userDictByRoles - ) { - String userid = map.get("value"); - strings2.add(userid); - } - variables.put("informationSecurityTeam",strings2);//设置第二个人 - //发起人节点处理 - taskService.setVariableLocal(taskId,"approvalStatue","1");//添加审批状态 通过 - String comment = "同意"; - taskService.addComment(taskId,processInstanceId,comment);//添加审批意见 - taskService.complete(taskId, variables); - HuzhouPlaninfo huzhouPlaninfo = new HuzhouPlaninfo(); - huzhouPlaninfo.setId(planinfoid); - huzhouPlaninfo.setIsfinish("1"); - huzhouPlaninfo.setActualStartTime(new Date()); - - planinfoService.updateById(huzhouPlaninfo); - } +// if (Arrays.asList(tNames).contains(taskName)) { +// WorkFlow workFlow = workflowService.createFlow("feasibilityReportPreparation",planinfoid); +// Task task = workFlow.getTask(); +// String taskId = task.getId(); +// String processInstanceId = workFlow.getProcessInstanceId(); +// Map variables = new HashMap<>(); +// variables.put("taskLeadingDepartment",strings); +// runtimeService.setVariable(processInstanceId, "taskLeadingDepartment", strings);//设置第四个人变量信息 +// variables.clear(); +// //根据行政区县判断审批人 +// if("市本级".equals(adminDivision)){ +// //是市本级,判读责任单位 +// String dutyWorkplace = huzhouProjectinfo.getDutyWorkplace(); +// if(dutyWorkplace.contains("湖州市中心医院")){ +// //是湖州市中心医院 则由吴兴区负责人审批 +// adminDivision="吴兴区"; +// }else if(dutyWorkplace.contains("湖州市第一人民医院")){ +// //是湖州市第一人民医院,则有南浔区负责人审批 +// adminDivision="南浔区"; +// }else if(dutyWorkplace.contains("湖州市第三人民医院")){ +// //是湖州市第三人民医院,则有德清县负责人审批 +// adminDivision="德清县"; +// }else if(dutyWorkplace.contains("湖州市妇幼保健院")){ +// adminDivision="安吉县"; +// }else if(dutyWorkplace.contains("湖州市中医院")){ +// adminDivision="长兴县"; +// } +// } +// //行政区县名称查询角色有哪些人 +// userDictByRoles = userService.getUserDictByRoles(adminDivision); +// ArrayList strings2 = new ArrayList<>(); +// if(userDictByRoles==null||userDictByRoles.size()==0){ +// String error = "信息化保障团队"+adminDivision+"负责人未找到"; +// throw new EasyException(error); +// } +// for (HashMap map:userDictByRoles +// ) { +// String userid = map.get("value"); +// strings2.add(userid); +// } +// variables.put("informationSecurityTeam",strings2);//设置第二个人 +// //发起人节点处理 +// taskService.setVariableLocal(taskId,"approvalStatue","1");//添加审批状态 通过 +// String comment = "同意"; +// taskService.addComment(taskId,processInstanceId,comment);//添加审批意见 +// taskService.complete(taskId, variables); +// HuzhouPlaninfo huzhouPlaninfo = new HuzhouPlaninfo(); +// huzhouPlaninfo.setId(planinfoid); +// huzhouPlaninfo.setIsfinish("1"); +// huzhouPlaninfo.setActualStartTime(new Date()); +// +// planinfoService.updateById(huzhouPlaninfo); +// } - else if(Arrays.asList(names).contains(taskName)||existsContractinfo){ + if(Arrays.asList(names).contains(taskName)||existsContractinfo){ WorkFlow workFlow = workflowService.createFlow("createPlaninfoFile",planinfoid); Task task = workFlow.getTask(); String taskId = task.getId(); @@ -238,10 +240,58 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(HuzhouPlaninfo::getProjectId,projectId1); + wrapper.eq(HuzhouPlaninfo::getTaskName,"可研技术审查报告确认"); + List list = planinfoService.list(wrapper); + if(list.size()==0){ + throw new EasyException("未找到可研技术审查报告确认阶段"); + } + HuzhouPlaninfo planinfo1 = list.get(0); + String planinfo1Id = planinfo1.getId(); + //启动流程 + WorkFlow workFlow = workflowService.createFlow("feasibilityTechReviewConfirm",planinfo1Id); + String processInstanceId = workFlow.getProcessInstanceId(); + runtimeService.setVariable(processInstanceId, "taskLeadingDepartment", strings);//设置第四个人变量信息 + //修改可研技术审查报告确认节点id + HuzhouPlaninfo huzhouPlaninfo1 = new HuzhouPlaninfo(); + huzhouPlaninfo1.setId(planinfo1Id); + huzhouPlaninfo1.setIsfinish("1"); + huzhouPlaninfo1.setActualStartTime(new Date()); + huzhouPlaninfo1.setActualEndTime(new Date()); + planinfoService.updateById(huzhouPlaninfo1); + + } else if ("可研报告终稿编制".equals(taskName)) { + //finalFeasibilityReportDraft + WorkFlow workFlow = workflowService.createFlow("finalFeasibilityReportDraft",planinfoid); + Task task = workFlow.getTask(); + String taskId = task.getId(); + String processInstanceId = workFlow.getProcessInstanceId(); + Map variables = new HashMap<>(); + variables.put("taskLeadingDepartment",strings); + runtimeService.setVariable(processInstanceId, "taskLeadingDepartment", strings);//设置第四个人变量信息 + //发起人节点处理 + taskService.setVariableLocal(taskId,"approvalStatue","1");//添加审批状态 通过 + String comment = "同意"; + taskService.addComment(taskId,processInstanceId,comment);//添加审批意见 + taskService.complete(taskId, variables); + HuzhouPlaninfo huzhouPlaninfo = new HuzhouPlaninfo(); + huzhouPlaninfo.setId(planinfoid); + huzhouPlaninfo.setIsfinish("1"); + huzhouPlaninfo.setActualStartTime(new Date()); + planinfoService.updateById(huzhouPlaninfo); + } else{ HuzhouPlaninfo huzhouPlaninfo = new HuzhouPlaninfo(); huzhouPlaninfo.setId(planinfoid); huzhouPlaninfo.setIsfinish("2"); @@ -333,6 +383,60 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(HuzhouPlaninfo::getProjectId,projectId1); + wrapper.eq(HuzhouPlaninfo::getTaskName,"造价评估报告确认"); + List list = planinfoService.list(wrapper); + if(list.size()==0){ + throw new EasyException("未找到造价评估报告确认阶段"); + } + HuzhouPlaninfo planinfo1 = list.get(0); + String planinfo1Id = planinfo1.getId(); + //获取项目上级指导室 + String projectId = planinfo1.getProjectId(); + HuzhouProjectinfo huzhouProjectinfo = projectinfoService.getById(projectId); + String superLeader = ""; + //如果项目信息为空说明是子项目 + if(huzhouProjectinfo==null){ + HuzhouSubProjectinfo byId1 = subProjectinfoService.getById(projectId); + superLeader = byId1.getSuperLeader(); + }else { + superLeader=huzhouProjectinfo.getSuperLeader(); + } + SysDict dict = sysDictService.getDictByCode("superLeader", superLeader); + String dictName = dict.getName(); + //上级指导室中文名称查询角色有哪些人 + List> userDictByRoles = userService.getUserDictByRoles(dictName); + ArrayList strings = new ArrayList<>(); + if(userDictByRoles==null||userDictByRoles.size()==0){ + String error = "任务牵头处室"+dictName+"负责人未找到"; + throw new EasyException(error); + } + for (HashMap map:userDictByRoles + ) { + String userid = map.get("value"); + strings.add(userid); + } + //启动流程 + WorkFlow workFlow1 = workflowService.createFlow("costEvalReportConfirm",planinfo1Id); + String processInstanceId = workFlow1.getProcessInstanceId(); + runtimeService.setVariable(processInstanceId, "startP", planinfo1.getCreateUser());//设置第四个人变量信息 + runtimeService.setVariable(processInstanceId, "taskLeadingDepartment", strings.get(0));//设置第四个人变量信息 + //修改可研技术审查报告确认节点id + HuzhouPlaninfo huzhouPlaninfo1 = new HuzhouPlaninfo(); + huzhouPlaninfo1.setId(planinfo1Id); + huzhouPlaninfo1.setIsfinish("1"); + huzhouPlaninfo1.setActualStartTime(new Date()); + huzhouPlaninfo1.setActualEndTime(new Date()); + planinfoService.updateById(huzhouPlaninfo1); + } + } } @Override diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java index 6acea9b..3ac752d 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java @@ -151,6 +151,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl hashMap1 = new HashMap<>(); -// hashMap1.put("label","同意"); -// hashMap1.put("value","1"); actionButtons.add(select1); workflowActionParamOV.setIsEdit(true); -// outRes.put("IsEdit",true); - }else { + } else if ("总咨询单位".equals(name)&&(task.getProcessDefinitionId().contains("feasibilityTechReviewConfirm")||task.getProcessDefinitionId().contains("costEvalReportConfirm"))) { + Select select1 = new Select(); + select1.setLabel("同意"); + select1.setValue("1"); + actionButtons.add(select1); + workflowActionParamOV.setIsEdit(true); + } else { Select select1 = new Select(); select1.setLabel("同意"); select1.setValue("1");