diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPlanController.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPlanController.java index 4902e48..e3c78a6 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPlanController.java +++ b/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 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.extension.plugins.pagination.Page; 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.entity.HuzhouPlaninfo; 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.vo.HuzhouPlaninfoOV; 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 javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -246,8 +241,8 @@ public class HuzhouPlanController { * @return */ @GetMapping("/isCanUploadFile") - public Result isCanUploadFile(@Param("projectId") String projectId,@Param("taskName")String taskName) { - Boolean rs = planinfoService.isCanUploadFile(projectId, taskName); + public Result isFinishTargetTask(@Param("projectId") String projectId,@Param("taskName")String taskName) { + Boolean rs = planinfoService.isFinishTargetTask(projectId, taskName); return Result.OK("指定任务是否完成:",rs); } } diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouPlaninfoMapper.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouPlaninfoMapper.java index 0228589..c4bf530 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouPlaninfoMapper.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouPlaninfoMapper.java @@ -44,15 +44,12 @@ public interface HuzhouPlaninfoMapper extends BaseMapper { "WHERE project_id = #{projectId} AND isfinish IN ('1', '2')") Integer getMaxTaskLevelPart(String projectId); - @Select("SELECT task_name " + - "FROM (" + - " SELECT task_name, " + - " ROW_NUMBER() OVER (ORDER BY CAST(task_level AS DECIMAL(10, 2)) DESC) AS rn " + - " FROM huzhou_planinfo " + - " WHERE project_id = #{projectId} " + - " AND isfinish IN ('1', '2')" + - ") t " + - "WHERE rn = 1") + @Select("SELECT task_name\n" + + "FROM huzhou_planinfo\n" + + "WHERE project_id = #{projectId}\n" + + " AND isfinish IN ('1', '2')\n" + + "ORDER BY CAST(task_level AS DECIMAL(10,2)) DESC, edit_date DESC\n" + + "LIMIT 1") String getCurrentPointName(@Param("projectId") String projectId); diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/listener/UserTaskCompleteListener.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/listener/UserTaskCompleteListener.java index c878385..05d83a7 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/listener/UserTaskCompleteListener.java +++ b/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(); 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")){ delegateTask.getExecution().setVariable("rejected",false); // 更新审批结果变量 }else{ diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouPlaninfoService.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouPlaninfoService.java index 073edab..d8d1413 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouPlaninfoService.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouPlaninfoService.java @@ -139,5 +139,5 @@ public interface IHuzhouPlaninfoService extends IService { List getPlanNames(String projectid); - Boolean isCanUploadFile(String projectId,String taskName); + Boolean isFinishTargetTask(String projectId, String taskName); } diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfoServiceImpl.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfoServiceImpl.java index 494b4ed..001003e 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfoServiceImpl.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfoServiceImpl.java @@ -1753,7 +1753,7 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl subUpdateWrapper = new LambdaUpdateWrapper<>(); subUpdateWrapper.eq(HuzhouSubProjectinfo::getId, projectid); subUpdateWrapper.set(HuzhouSubProjectinfo::getUpdatePlanFlag, "2"); @@ -1783,7 +1783,7 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(HuzhouPlaninfo::getProjectId, projectId) .eq(HuzhouPlaninfo::getTaskName, taskName) 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 12994b8..e9379c8 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 @@ -154,7 +154,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(HuzhouPlaninfo::getProjectId,planinfo.getProjectId()); queryWrapper.eq(HuzhouPlaninfo::getTaskName,"试运行阶段"); @@ -185,7 +185,8 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); 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("请先完成终验申请!"); + throw new EasyException("请先完成:联合验收审批!"); } } + if ("提交核验申请".equals(taskName) ){ + String projectId = planinfo.getProjectId(); + LambdaQueryWrapper 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 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 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)) { diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouUploadfileinfoServiceImpl.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouUploadfileinfoServiceImpl.java index 3302c0e..cfafe7b 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouUploadfileinfoServiceImpl.java +++ b/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.IdentityLink; import org.activiti.engine.task.Task; -import org.activiti.engine.task.TaskQuery; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.FileCopyUtils; @@ -73,6 +73,9 @@ public class HuzhouUploadfileinfoServiceImpl extends ServiceImpl queryWrapper = new LambdaUpdateWrapper<>(); @@ -219,11 +222,25 @@ public class HuzhouUploadfileinfoServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(HuzhouProcessinfo::getProjectid,planInfoId); + // 市级项目特殊操作 if(adminDivision.equals("市本级")){ if ("联合验收审批".equals(taskName)){ queryWrapper.eq(HuzhouProcessinfo::getProcessName,"JAA"); @@ -304,7 +322,10 @@ public class HuzhouUploadfileinfoServiceImpl extends ServiceImpl processinfos = processinfoService.list(queryWrapper); String processName = processinfos.get(0).getProcessName();