Browse Source

自动创建:提交终验申请 流程

master
gjh 2 weeks ago
parent
commit
c8eb12eb71
  1. 77
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java
  2. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java

77
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java

@ -24,6 +24,7 @@ import com.easy.admin.modules.huzhou.service.*;
import com.easy.admin.sys.model.SysDict; import com.easy.admin.sys.model.SysDict;
import com.easy.admin.sys.service.SysDictService; import com.easy.admin.sys.service.SysDictService;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -43,6 +44,8 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.IOException; import java.io.IOException;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.*; import java.util.*;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -150,17 +153,29 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
//根据项目计划id获取项目信息 //根据项目计划id获取项目信息
String taskName = planinfo.getTaskName(); String taskName = planinfo.getTaskName();
taskName=StrUtil.trim(taskName); taskName=StrUtil.trim(taskName);
// 校验参数
if (CollectionUtil.isEmpty(contractList) && taskName.equals("合同签订")){ checkVariable(contractMoneyFieldsValue, contractList, planinfo, taskName);
throw new EasyException("合同信息不能为空!"); // 提交试运行阶段的时候自动创建 计划
} if("试运行阶段".equals(taskName)){
// 校验合同金额 LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>();
if (CollectionUtil.isNotEmpty(contractList)) { queryWrapper.eq(HuzhouPlaninfo::getProjectId,planinfo.getProjectId());
if (contractinfoService.checkContractAmount(contractList, contractMoneyFieldsValue, taskName)) { queryWrapper.eq(HuzhouPlaninfo::getTaskName,"试运行阶段");
log.info("金额校验成功!"); HuzhouPlaninfo source = planinfoMapper.selectOne(queryWrapper);
if (source != null && source.getIsfinish().equals("0")) {
HuzhouPlaninfo target = new HuzhouPlaninfo();
BeanUtils.copyProperties(source,target,"id","actualStartTime","actualEndTime");
target.setTaskName("提交终验申请");
target.setTaskFile("《提交终验申请》");
target.setIsfinish("0");
// 设置日期为 2025-12-31
LocalDate targetLocalDate = LocalDate.of(2025, 12, 31);
ZoneId zone = ZoneId.of("GMT+8");
Date setDate = Date.from(targetLocalDate.atStartOfDay(zone).toInstant());
target.setScheduledStartTime(setDate);
target.setScheduledEndTime(setDate);
planinfoMapper.insert(target);
} }
} }
String projectId = planinfoService.getById(planinfoid).getProjectId(); String projectId = planinfoService.getById(planinfoid).getProjectId();
HuzhouProjectinfo huzhouProjectinfo = projectinfoService.getById(projectId); HuzhouProjectinfo huzhouProjectinfo = projectinfoService.getById(projectId);
@ -350,7 +365,25 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
huzhouPlaninfo.setIsfinish("1"); huzhouPlaninfo.setIsfinish("1");
huzhouPlaninfo.setActualStartTime(new Date()); huzhouPlaninfo.setActualStartTime(new Date());
planinfoService.updateById(huzhouPlaninfo); planinfoService.updateById(huzhouPlaninfo);
}else{ }else if("提交终验申请".equals(taskName)){
WorkFlow workFlow = workflowService.createFlow("submitFinalApplication",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 huzhouPlaninfo = new HuzhouPlaninfo();
huzhouPlaninfo.setId(planinfoid); huzhouPlaninfo.setId(planinfoid);
huzhouPlaninfo.setIsfinish("2"); huzhouPlaninfo.setIsfinish("2");
@ -388,6 +421,30 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
} }
} }
private void checkVariable(String contractMoneyFieldsValue, List<HuzhouContractinfo> contractList, HuzhouPlaninfo planinfo, String taskName) throws JsonProcessingException {
// 增加终验申请校验
if ("终验阶段".equals(taskName)){
String projectId = planinfo.getProjectId();
LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouPlaninfo::getProjectId,projectId);
queryWrapper.eq(HuzhouPlaninfo::getTaskName,"提交终验申请");
queryWrapper.eq(HuzhouPlaninfo::getIsfinish,"2");
HuzhouPlaninfo target = planinfoMapper.selectOne(queryWrapper);
if (target==null){
throw new EasyException("请先完成终验申请!");
}
}
if (CollectionUtil.isEmpty(contractList) && taskName.equals("合同签订")){
throw new EasyException("合同信息不能为空!");
}
// 校验合同金额
if (CollectionUtil.isNotEmpty(contractList)) {
if (contractinfoService.checkContractAmount(contractList, contractMoneyFieldsValue, taskName)) {
log.info("金额校验成功!");
}
}
}
/** /**
* 判断是否为二次上传合同信息 * 判断是否为二次上传合同信息
* @param contractList 合同信息集合 * @param contractList 合同信息集合

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

@ -2798,7 +2798,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
.map(HuzhouProjectinfoOV::getId) .map(HuzhouProjectinfoOV::getId)
.collect(Collectors.toList()); .collect(Collectors.toList());
// 过滤
projectInfoList= projectInfoList.stream() projectInfoList= projectInfoList.stream()
.filter(project -> !"-1".equals(project.getStage())) .filter(project -> !"-1".equals(project.getStage()))
.filter(project -> !"湖州市长兴县浙里健康e生省级试点应用建设项目".equals(project.getProjectName())) .filter(project -> !"湖州市长兴县浙里健康e生省级试点应用建设项目".equals(project.getProjectName()))

Loading…
Cancel
Save