Browse Source

增加校验

master
gjh 2 weeks ago
parent
commit
1b002cc5b7
  1. 9
      huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPlanController.java
  2. 15
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouPlaninfoMapper.java
  3. 14
      huzhou/src/main/java/com/easy/admin/modules/huzhou/listener/UserTaskCompleteListener.java
  4. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouPlaninfoService.java
  5. 4
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfoServiceImpl.java
  6. 54
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java
  7. 25
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouUploadfileinfoServiceImpl.java

9
huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPlanController.java

@ -2,9 +2,6 @@ package com.easy.admin.modules.huzhou.controller;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.easy.admin.common.api.vo.Result; import com.easy.admin.common.api.vo.Result;
@ -13,7 +10,6 @@ import com.easy.admin.modules.huzhou.dao.HuzhouPlaninfoMapper;
import com.easy.admin.modules.huzhou.dao.HuzhouSubProjectinfoMapper; import com.easy.admin.modules.huzhou.dao.HuzhouSubProjectinfoMapper;
import com.easy.admin.modules.huzhou.entity.HuzhouPlaninfo; import com.easy.admin.modules.huzhou.entity.HuzhouPlaninfo;
import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo; import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo;
import com.easy.admin.modules.huzhou.listener.ProjectPlanListener;
import com.easy.admin.modules.huzhou.service.IHuzhouPlaninfoService; import com.easy.admin.modules.huzhou.service.IHuzhouPlaninfoService;
import com.easy.admin.modules.huzhou.vo.HuzhouPlaninfoOV; import com.easy.admin.modules.huzhou.vo.HuzhouPlaninfoOV;
import com.easy.admin.modules.huzhou.vo.HuzhouProjectinfoOV; import com.easy.admin.modules.huzhou.vo.HuzhouProjectinfoOV;
@ -26,7 +22,6 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -246,8 +241,8 @@ public class HuzhouPlanController {
* @return * @return
*/ */
@GetMapping("/isCanUploadFile") @GetMapping("/isCanUploadFile")
public Result<?> isCanUploadFile(@Param("projectId") String projectId,@Param("taskName")String taskName) { public Result<?> isFinishTargetTask(@Param("projectId") String projectId,@Param("taskName")String taskName) {
Boolean rs = planinfoService.isCanUploadFile(projectId, taskName); Boolean rs = planinfoService.isFinishTargetTask(projectId, taskName);
return Result.OK("指定任务是否完成:",rs); return Result.OK("指定任务是否完成:",rs);
} }
} }

15
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouPlaninfoMapper.java

@ -44,15 +44,12 @@ public interface HuzhouPlaninfoMapper extends BaseMapper<HuzhouPlaninfo> {
"WHERE project_id = #{projectId} AND isfinish IN ('1', '2')") "WHERE project_id = #{projectId} AND isfinish IN ('1', '2')")
Integer getMaxTaskLevelPart(String projectId); Integer getMaxTaskLevelPart(String projectId);
@Select("SELECT task_name " + @Select("SELECT task_name\n" +
"FROM (" + "FROM huzhou_planinfo\n" +
" SELECT task_name, " + "WHERE project_id = #{projectId}\n" +
" ROW_NUMBER() OVER (ORDER BY CAST(task_level AS DECIMAL(10, 2)) DESC) AS rn " + " AND isfinish IN ('1', '2')\n" +
" FROM huzhou_planinfo " + "ORDER BY CAST(task_level AS DECIMAL(10,2)) DESC, edit_date DESC\n" +
" WHERE project_id = #{projectId} " + "LIMIT 1")
" AND isfinish IN ('1', '2')" +
") t " +
"WHERE rn = 1")
String getCurrentPointName(@Param("projectId") String projectId); String getCurrentPointName(@Param("projectId") String projectId);

14
huzhou/src/main/java/com/easy/admin/modules/huzhou/listener/UserTaskCompleteListener.java

@ -28,7 +28,19 @@ public class UserTaskCompleteListener implements TaskListener {
} }
int size = approvedResult.size(); int size = approvedResult.size();
delegateTask.getExecution().setVariable("size",size); delegateTask.getExecution().setVariable("size",size);
if(size==2){ // CreatURT:7 JAA:7 CVM:4
String processDefinitionId = delegateTask.getProcessDefinitionId();
// 如果 processDefinitionId包含了 JAA 或者CreatURT size ==7
// 如果 processDefinitionId包含了 CVM size ==4
if(size==7 && (processDefinitionId.contains("JAA") || processDefinitionId.contains("CreatURT"))){
if(!approvedResult.containsValue("0")){
delegateTask.getExecution().setVariable("rejected",false); // 更新审批结果变量
}else{
delegateTask.getExecution().setVariable("rejected",true); // 更新审批结果变量
}
}
if(size==4 && processDefinitionId.contains("CVM")){
if(!approvedResult.containsValue("0")){ if(!approvedResult.containsValue("0")){
delegateTask.getExecution().setVariable("rejected",false); // 更新审批结果变量 delegateTask.getExecution().setVariable("rejected",false); // 更新审批结果变量
}else{ }else{

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

@ -139,5 +139,5 @@ public interface IHuzhouPlaninfoService extends IService<HuzhouPlaninfo> {
List<PlanSelectVo> getPlanNames(String projectid); List<PlanSelectVo> getPlanNames(String projectid);
Boolean isCanUploadFile(String projectId,String taskName); Boolean isFinishTargetTask(String projectId, String taskName);
} }

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

@ -1753,7 +1753,7 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl<HuzhouPlaninfoMapper,
planInfoMapper.update(null, updateWrapper1); planInfoMapper.update(null, updateWrapper1);
// 5. 增加限制:监理项目只允许修改一次 // 5. 增加限制:监理项目(子项目)只允许修改一次
LambdaUpdateWrapper<HuzhouSubProjectinfo> subUpdateWrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<HuzhouSubProjectinfo> subUpdateWrapper = new LambdaUpdateWrapper<>();
subUpdateWrapper.eq(HuzhouSubProjectinfo::getId, projectid); subUpdateWrapper.eq(HuzhouSubProjectinfo::getId, projectid);
subUpdateWrapper.set(HuzhouSubProjectinfo::getUpdatePlanFlag, "2"); subUpdateWrapper.set(HuzhouSubProjectinfo::getUpdatePlanFlag, "2");
@ -1783,7 +1783,7 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl<HuzhouPlaninfoMapper,
} }
@Override @Override
public Boolean isCanUploadFile(String projectId, String taskName) { public Boolean isFinishTargetTask(String projectId, String taskName) {
LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouPlaninfo::getProjectId, projectId) queryWrapper.eq(HuzhouPlaninfo::getProjectId, projectId)
.eq(HuzhouPlaninfo::getTaskName, taskName) .eq(HuzhouPlaninfo::getTaskName, taskName)

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

@ -154,7 +154,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
String projectId = planinfoService.getById(planinfoid).getProjectId(); String projectId = planinfoService.getById(planinfoid).getProjectId();
HuzhouProjectinfo huzhouProjectinfo = projectinfoService.getById(projectId); HuzhouProjectinfo huzhouProjectinfo = projectinfoService.getById(projectId);
// 提交试运行阶段的时候自动创建 计划 // 提交试运行阶段的时候自动创建 计划
if("试运行阶段".equals(taskName)){ if("试运行阶段".equals(taskName) && !projectinfoService.queryIsSubProject(projectId)){
LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouPlaninfo::getProjectId,planinfo.getProjectId()); queryWrapper.eq(HuzhouPlaninfo::getProjectId,planinfo.getProjectId());
queryWrapper.eq(HuzhouPlaninfo::getTaskName,"试运行阶段"); queryWrapper.eq(HuzhouPlaninfo::getTaskName,"试运行阶段");
@ -185,7 +185,8 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
planinfoMapper.insert(target2); planinfoMapper.insert(target2);
} }
} }
if("终验阶段".equals(taskName)){ // 不存在子项目则会自动创建流程
if ("终验阶段".equals(taskName) && !projectinfoService.queryIsSubProject(projectId)) {
autoCreatPlanAfterFinal(planinfo); autoCreatPlanAfterFinal(planinfo);
} }
@ -304,9 +305,6 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
}else if("提交终验申请".equals(taskName)){ }else if("提交终验申请".equals(taskName)){
WorkFlow workFlow = workflowService.createFlow("submitFinalApplication",planinfoid); WorkFlow workFlow = workflowService.createFlow("submitFinalApplication",planinfoid);
basicFlowUpdate(planinfoid, strings, workFlow); basicFlowUpdate(planinfoid, strings, workFlow);
} else if ("联合验收审批".equals(taskName)) {
WorkFlow workFlow = workflowService.createFlow("JAA", planinfoid);
basicFlowUpdate(planinfoid, strings, workFlow);
} else if ("提交核验申请".equals(taskName)) { } else if ("提交核验申请".equals(taskName)) {
WorkFlow workFlow = workflowService.createFlow("DCV", planinfoid); WorkFlow workFlow = workflowService.createFlow("DCV", planinfoid);
basicFlowUpdate(planinfoid, strings, workFlow); basicFlowUpdate(planinfoid, strings, workFlow);
@ -390,7 +388,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
target.setScheduledEndTime(setDate); target.setScheduledEndTime(setDate);
planinfoMapper.insert(target); planinfoMapper.insert(target);
// 添加计划 // 添加计划:部门集中核验
HuzhouPlaninfo target2 = new HuzhouPlaninfo(); HuzhouPlaninfo target2 = new HuzhouPlaninfo();
BeanUtils.copyProperties(source, target2, "id", "actualStartTime", "actualEndTime"); BeanUtils.copyProperties(source, target2, "id", "actualStartTime", "actualEndTime");
target2.setTaskName("部门集中核验"); target2.setTaskName("部门集中核验");
@ -419,17 +417,57 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
String projectId = planinfo.getProjectId(); String projectId = planinfo.getProjectId();
LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouPlaninfo::getProjectId,projectId); queryWrapper.eq(HuzhouPlaninfo::getProjectId,projectId);
queryWrapper.eq(HuzhouPlaninfo::getTaskName,"提交终验申请"); queryWrapper.eq(HuzhouPlaninfo::getTaskName,"联合验收审批");
queryWrapper.eq(HuzhouPlaninfo::getIsfinish,"2");
HuzhouPlaninfo target = planinfoMapper.selectOne(queryWrapper);
if (target==null){
throw new EasyException("请先完成:联合验收审批!");
}
}
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 ("上传核验报告".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"); queryWrapper.eq(HuzhouPlaninfo::getIsfinish,"2");
HuzhouPlaninfo target = planinfoMapper.selectOne(queryWrapper); HuzhouPlaninfo target = planinfoMapper.selectOne(queryWrapper);
if (target==null){ if (target==null){
throw new EasyException("请先完成终验申请!"); throw new EasyException("请先完成:部门集中核验!");
} }
} }
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("合同签订")){ if (CollectionUtil.isEmpty(contractList) && taskName.equals("合同签订")){
throw new EasyException("合同信息不能为空!"); throw new EasyException("合同信息不能为空!");
} }
// 校验合同金额 // 校验合同金额
if (CollectionUtil.isNotEmpty(contractList)) { if (CollectionUtil.isNotEmpty(contractList)) {
if (contractinfoService.checkContractAmount(contractList, contractMoneyFieldsValue, taskName)) { if (contractinfoService.checkContractAmount(contractList, contractMoneyFieldsValue, taskName)) {

25
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouUploadfileinfoServiceImpl.java

@ -24,10 +24,10 @@ import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Comment; import org.activiti.engine.task.Comment;
import org.activiti.engine.task.IdentityLink; import org.activiti.engine.task.IdentityLink;
import org.activiti.engine.task.Task; import org.activiti.engine.task.Task;
import org.activiti.engine.task.TaskQuery;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.FileCopyUtils; import org.springframework.util.FileCopyUtils;
@ -73,6 +73,9 @@ public class HuzhouUploadfileinfoServiceImpl extends ServiceImpl<HuzhouUploadfil
private SysDictService sysDictService; private SysDictService sysDictService;
@Autowired @Autowired
private HuzhouProjectinfoMoneyMapper projectinfoMoneyMapper; private HuzhouProjectinfoMoneyMapper projectinfoMoneyMapper;
@Lazy
@Autowired
private IHuzhouPlaninfoService planinfoService;
public void modifyUploadFile(MultipartFile[] files, String projectid, String stage) throws IOException { public void modifyUploadFile(MultipartFile[] files, String projectid, String stage) throws IOException {
LambdaUpdateWrapper<HuzhouUploadfileinfo> queryWrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<HuzhouUploadfileinfo> queryWrapper = new LambdaUpdateWrapper<>();
@ -219,11 +222,25 @@ public class HuzhouUploadfileinfoServiceImpl extends ServiceImpl<HuzhouUploadfil
HuzhouProjectinfo projectinfo=huzhouProjectinfoMapper.selectById(projectId); HuzhouProjectinfo projectinfo=huzhouProjectinfoMapper.selectById(projectId);
String adminDivision = projectinfo.getAdminDivision(); String adminDivision = projectinfo.getAdminDivision();
WorkFlow workFlow=null; WorkFlow workFlow=null;
if(adminDivision.equals("市本级")){ if(adminDivision.equals("市本级") || taskName.equals("部门集中核验")){
if (taskName.equals("联合技术审查")){ if (taskName.equals("联合技术审查")){
workFlow = workflowService.createFlow("createURT", planinfoid);//创建流程createURT workFlow = workflowService.createFlow("createURT", planinfoid);//创建流程createURT
}else if (taskName.equals("联合验收审批")){ }else if (taskName.equals("联合验收审批")){
Boolean canUploadFile = planinfoService.isFinishTargetTask(projectId, "提交终验申请");
if (!canUploadFile){
throw new EasyException("请先完成:提交终验申请!");
}
workFlow = workflowService.createFlow("JAA", planinfoid); workFlow = workflowService.createFlow("JAA", planinfoid);
}else if (taskName.equals("部门集中核验")){
Boolean canUploadFile = planinfoService.isFinishTargetTask(projectId, "提交核验申请");
if (!canUploadFile){
//throw new EasyException("请先完成:提交核验报告!");
}
workFlow = workflowService.createFlow("CVM", planinfoid);
} }
}else{ }else{
@ -297,6 +314,7 @@ public class HuzhouUploadfileinfoServiceImpl extends ServiceImpl<HuzhouUploadfil
LambdaQueryWrapper<HuzhouProcessinfo> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<HuzhouProcessinfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouProcessinfo::getProjectid,planInfoId); queryWrapper.eq(HuzhouProcessinfo::getProjectid,planInfoId);
// 市级项目特殊操作
if(adminDivision.equals("市本级")){ if(adminDivision.equals("市本级")){
if ("联合验收审批".equals(taskName)){ if ("联合验收审批".equals(taskName)){
queryWrapper.eq(HuzhouProcessinfo::getProcessName,"JAA"); queryWrapper.eq(HuzhouProcessinfo::getProcessName,"JAA");
@ -304,7 +322,10 @@ public class HuzhouUploadfileinfoServiceImpl extends ServiceImpl<HuzhouUploadfil
queryWrapper.eq(HuzhouProcessinfo::getProcessName,"createURT"); queryWrapper.eq(HuzhouProcessinfo::getProcessName,"createURT");
} }
}else {
queryWrapper.eq(HuzhouProcessinfo::getProcessName,"CVM");
} }
queryWrapper.eq(HuzhouProcessinfo::getProcessstatus,"1"); queryWrapper.eq(HuzhouProcessinfo::getProcessstatus,"1");
List<HuzhouProcessinfo> processinfos = processinfoService.list(queryWrapper); List<HuzhouProcessinfo> processinfos = processinfoService.list(queryWrapper);
String processName = processinfos.get(0).getProcessName(); String processName = processinfos.get(0).getProcessName();

Loading…
Cancel
Save