Browse Source

新增项目计划立项部分变更

master
zhouhaibin 2 months ago
parent
commit
ac0d2fc571
  1. 3
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouMergesplitinfoServiceImpl.java
  2. 6
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfoServiceImpl.java
  3. 212
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java
  4. 1
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java
  5. 12
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/WorkflowServiceImpl.java

3
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouMergesplitinfoServiceImpl.java

@ -134,6 +134,9 @@ public class HuzhouMergesplitinfoServiceImpl extends ServiceImpl<HuzhouMergespli
queryWrapper1.eq(HuzhouMergesplitinfo::getId, projectid);
queryWrapper1.eq(HuzhouMergesplitinfo::getMergeOrSplit, "split");
huzhouMergesplitinfos = mergesplitinfoMapper.selectList(queryWrapper1);
if(huzhouMergesplitinfos==null||huzhouMergesplitinfos.size()==0){
return huzhouProjectinfos;
}
huzhouProjectinfos.add(huzhouMergesplitinfos.get(0));
return huzhouProjectinfos;
}else{

6
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfoServiceImpl.java

@ -568,8 +568,10 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl<HuzhouPlaninfoMapper,
.processInstanceId(processInstanceId)
.active()
.list();
String name = taskList.get(0).getName();
String name="";
if(taskList.size()>0){
name = taskList.get(0).getName();
}
if("发起人".equals(name)){
hashMap.put("isEdit","1");
}else {

212
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<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,47 +133,68 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
strings.add(userid);
}
if (Arrays.asList(tNames).contains(taskName)) {
WorkFlow workFlow = workflowService.createFlow("feasibilityReportPreparation",planinfoid);
// 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(names).contains(taskName)||existsContractinfo){
WorkFlow workFlow = workflowService.createFlow("createPlaninfoFile",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 = "同意";
@ -184,45 +207,74 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
planinfoService.updateById(huzhouPlaninfo);
}
else if(Arrays.asList(names).contains(taskName)||existsContractinfo){
WorkFlow workFlow = workflowService.createFlow("createPlaninfoFile",planinfoid);
else if("集中核验".equals(taskName)){
WorkFlow workFlow = workflowService.createFlow("centralizedCheck",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);
taskService.complete(taskId);
HuzhouPlaninfo huzhouPlaninfo = new HuzhouPlaninfo();
huzhouPlaninfo.setId(planinfoid);
huzhouPlaninfo.setIsfinish("1");
huzhouPlaninfo.setActualStartTime(new Date());
planinfoService.updateById(huzhouPlaninfo);
}
else if("集中核验".equals(taskName)){
WorkFlow workFlow = workflowService.createFlow("centralizedCheck",planinfoid);
}else if("招标文件编制".equals(taskName)){
WorkFlow workFlow = workflowService.createFlow("bidDocumentsPreparation",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);
taskService.complete(taskId, variables);
HuzhouPlaninfo huzhouPlaninfo = new HuzhouPlaninfo();
huzhouPlaninfo.setId(planinfoid);
huzhouPlaninfo.setIsfinish("1");
huzhouPlaninfo.setActualStartTime(new Date());
planinfoService.updateById(huzhouPlaninfo);
}else if("招标文件编制".equals(taskName)){
WorkFlow workFlow = workflowService.createFlow("bidDocumentsPreparation",planinfoid);
} 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();
@ -238,10 +290,8 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
huzhouPlaninfo.setId(planinfoid);
huzhouPlaninfo.setIsfinish("1");
huzhouPlaninfo.setActualStartTime(new Date());
planinfoService.updateById(huzhouPlaninfo);
}
else{
} 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

1
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java

@ -151,6 +151,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
@Override
public void batchImportProjects(MultipartFile multipartFile) throws Exception {
int[] a= {};
//是否有文件
if (multipartFile == null && multipartFile.getSize() == 0) {
throw new EasyException("文件上传错误,重新上传");

12
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/WorkflowServiceImpl.java

@ -236,13 +236,15 @@ public class WorkflowServiceImpl implements IWorkflowService {
Select select1 = new Select();
select1.setLabel("同意");
select1.setValue("1");
// HashMap<String, String> 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");

Loading…
Cancel
Save