|
|
@ -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<HuzhouPlaninfofil |
|
|
|
@Autowired |
|
|
|
private HuzhouContractinfoMapper contractinfoMapper; |
|
|
|
// private String[] names ={"可研技术审查报告(初稿)确认","可研技术审查报告(复审稿)确认","可研技术审查报告(终稿)确认","造价评估报告确认","可行性研究报告审批(发改)","合同签订","首付支付","初验阶段","终验阶段","初步设计审批"};
|
|
|
|
private String[] names ={"可研技术审查报告(初稿)确认","可研技术审查报告(终稿)确认","造价评估报告确认","可行性研究报告审批(发改)","合同签订","首付支付","初验阶段","终验阶段","初步设计审批"}; |
|
|
|
private String[] names ={"合同签订","首付支付","初验阶段","终验阶段","初步设计审批"}; |
|
|
|
|
|
|
|
private String[] tNames ={"可研报告初稿编制","可研报告终稿编制","造价评估"}; |
|
|
|
// private String[] tNames ={"可研报告初稿编制","可研报告终稿编制","造价评估"};
|
|
|
|
@Override |
|
|
|
public Page<HuzhouPlaninfofile> getplanFilePageList(HuzhouPlaninfofile planinfofile,Integer pageNo, Integer pageSize) { |
|
|
|
Page<HuzhouPlaninfofile> page = new Page<>(pageNo,pageSize); |
|
|
@ -92,6 +93,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil |
|
|
|
} |
|
|
|
planinfoService.saveOrModifyPlanUploadFile(files,planinfoid,"1","1"); |
|
|
|
String taskName = planinfo.getTaskName(); |
|
|
|
taskName=StrUtil.trim(taskName); |
|
|
|
String projectId = planinfoService.getById(planinfoid).getProjectId(); |
|
|
|
HuzhouProjectinfo huzhouProjectinfo = projectinfoService.getById(projectId); |
|
|
|
String superLeader = ""; |
|
|
@ -131,61 +133,61 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil |
|
|
|
strings.add(userid); |
|
|
|
} |
|
|
|
|
|
|
|
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<String, Object> 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<String> strings2 = new ArrayList<>(); |
|
|
|
if(userDictByRoles==null||userDictByRoles.size()==0){ |
|
|
|
String error = "信息化保障团队"+adminDivision+"负责人未找到"; |
|
|
|
throw new EasyException(error); |
|
|
|
} |
|
|
|
for (HashMap<String, String> 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<String, Object> 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<String> strings2 = new ArrayList<>();
|
|
|
|
// if(userDictByRoles==null||userDictByRoles.size()==0){
|
|
|
|
// String error = "信息化保障团队"+adminDivision+"负责人未找到";
|
|
|
|
// throw new EasyException(error);
|
|
|
|
// }
|
|
|
|
// for (HashMap<String, String> 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<HuzhouPlaninfofil |
|
|
|
huzhouPlaninfo.setId(planinfoid); |
|
|
|
huzhouPlaninfo.setIsfinish("1"); |
|
|
|
huzhouPlaninfo.setActualStartTime(new Date()); |
|
|
|
|
|
|
|
planinfoService.updateById(huzhouPlaninfo); |
|
|
|
} |
|
|
|
else{ |
|
|
|
} else if ("可研报告初稿编制".equals(taskName)) { |
|
|
|
//审批通过但是要开始下一阶段流程
|
|
|
|
HuzhouPlaninfo huzhouPlaninfo = new HuzhouPlaninfo(); |
|
|
|
huzhouPlaninfo.setId(planinfoid); |
|
|
|
huzhouPlaninfo.setIsfinish("2"); |
|
|
|
huzhouPlaninfo.setActualStartTime(new Date()); |
|
|
|
huzhouPlaninfo.setActualEndTime(new Date()); |
|
|
|
planinfoService.updateById(huzhouPlaninfo); |
|
|
|
//获取可研技术审查报告确认节点id
|
|
|
|
String projectId1 = planinfo.getProjectId(); |
|
|
|
LambdaQueryWrapper<HuzhouPlaninfo> wrapper = new LambdaQueryWrapper<>(); |
|
|
|
wrapper.eq(HuzhouPlaninfo::getProjectId,projectId1); |
|
|
|
wrapper.eq(HuzhouPlaninfo::getTaskName,"可研技术审查报告确认"); |
|
|
|
List<HuzhouPlaninfo> 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<String, Object> 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<HuzhouPlaninfofil |
|
|
|
projectinfoService.modifyStageById(projectId,"6"); |
|
|
|
} |
|
|
|
} |
|
|
|
if(processInstance==null&&"1".equals(flag)){ |
|
|
|
HuzhouPlaninfo byId = planinfoService.getById(planinfoid); |
|
|
|
String taskName = StrUtil.trim(byId.getTaskName()); |
|
|
|
if("可研报告终稿编制".equals(taskName)){ |
|
|
|
//获取造价评估报告确认节点id
|
|
|
|
String projectId1 = byId.getProjectId(); |
|
|
|
LambdaQueryWrapper<HuzhouPlaninfo> wrapper = new LambdaQueryWrapper<>(); |
|
|
|
wrapper.eq(HuzhouPlaninfo::getProjectId,projectId1); |
|
|
|
wrapper.eq(HuzhouPlaninfo::getTaskName,"造价评估报告确认"); |
|
|
|
List<HuzhouPlaninfo> 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<HashMap<String, String>> userDictByRoles = userService.getUserDictByRoles(dictName); |
|
|
|
ArrayList<String> strings = new ArrayList<>(); |
|
|
|
if(userDictByRoles==null||userDictByRoles.size()==0){ |
|
|
|
String error = "任务牵头处室"+dictName+"负责人未找到"; |
|
|
|
throw new EasyException(error); |
|
|
|
} |
|
|
|
for (HashMap<String, String> 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 |
|
|
|