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 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);
}
}

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')")
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);

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();
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{

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);
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);
// 5. 增加限制:监理项目只允许修改一次
// 5. 增加限制:监理项目(子项目)只允许修改一次
LambdaUpdateWrapper<HuzhouSubProjectinfo> subUpdateWrapper = new LambdaUpdateWrapper<>();
subUpdateWrapper.eq(HuzhouSubProjectinfo::getId, projectid);
subUpdateWrapper.set(HuzhouSubProjectinfo::getUpdatePlanFlag, "2");
@ -1783,7 +1783,7 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl<HuzhouPlaninfoMapper,
}
@Override
public Boolean isCanUploadFile(String projectId, String taskName) {
public Boolean isFinishTargetTask(String projectId, String taskName) {
LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouPlaninfo::getProjectId, projectId)
.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();
HuzhouProjectinfo huzhouProjectinfo = projectinfoService.getById(projectId);
// 提交试运行阶段的时候自动创建 计划
if("试运行阶段".equals(taskName)){
if("试运行阶段".equals(taskName) && !projectinfoService.queryIsSubProject(projectId)){
LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouPlaninfo::getProjectId,planinfo.getProjectId());
queryWrapper.eq(HuzhouPlaninfo::getTaskName,"试运行阶段");
@ -185,7 +185,8 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
planinfoMapper.insert(target2);
}
}
if("终验阶段".equals(taskName)){
// 不存在子项目则会自动创建流程
if ("终验阶段".equals(taskName) && !projectinfoService.queryIsSubProject(projectId)) {
autoCreatPlanAfterFinal(planinfo);
}
@ -304,9 +305,6 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
}else if("提交终验申请".equals(taskName)){
WorkFlow workFlow = workflowService.createFlow("submitFinalApplication",planinfoid);
basicFlowUpdate(planinfoid, strings, workFlow);
} else if ("联合验收审批".equals(taskName)) {
WorkFlow workFlow = workflowService.createFlow("JAA", planinfoid);
basicFlowUpdate(planinfoid, strings, workFlow);
} else if ("提交核验申请".equals(taskName)) {
WorkFlow workFlow = workflowService.createFlow("DCV", planinfoid);
basicFlowUpdate(planinfoid, strings, workFlow);
@ -390,7 +388,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
target.setScheduledEndTime(setDate);
planinfoMapper.insert(target);
// 添加计划
// 添加计划:部门集中核验
HuzhouPlaninfo target2 = new HuzhouPlaninfo();
BeanUtils.copyProperties(source, target2, "id", "actualStartTime", "actualEndTime");
target2.setTaskName("部门集中核验");
@ -419,17 +417,57 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
String projectId = planinfo.getProjectId();
LambdaQueryWrapper<HuzhouPlaninfo> 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<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");
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 (CollectionUtil.isEmpty(contractList) && taskName.equals("合同签订")){
throw new EasyException("合同信息不能为空!");
}
// 校验合同金额
if (CollectionUtil.isNotEmpty(contractList)) {
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.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<HuzhouUploadfil
private SysDictService sysDictService;
@Autowired
private HuzhouProjectinfoMoneyMapper projectinfoMoneyMapper;
@Lazy
@Autowired
private IHuzhouPlaninfoService planinfoService;
public void modifyUploadFile(MultipartFile[] files, String projectid, String stage) throws IOException {
LambdaUpdateWrapper<HuzhouUploadfileinfo> queryWrapper = new LambdaUpdateWrapper<>();
@ -219,11 +222,25 @@ public class HuzhouUploadfileinfoServiceImpl extends ServiceImpl<HuzhouUploadfil
HuzhouProjectinfo projectinfo=huzhouProjectinfoMapper.selectById(projectId);
String adminDivision = projectinfo.getAdminDivision();
WorkFlow workFlow=null;
if(adminDivision.equals("市本级")){
if(adminDivision.equals("市本级") || taskName.equals("部门集中核验")){
if (taskName.equals("联合技术审查")){
workFlow = workflowService.createFlow("createURT", planinfoid);//创建流程createURT
}else if (taskName.equals("联合验收审批")){
Boolean canUploadFile = planinfoService.isFinishTargetTask(projectId, "提交终验申请");
if (!canUploadFile){
throw new EasyException("请先完成:提交终验申请!");
}
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{
@ -297,6 +314,7 @@ public class HuzhouUploadfileinfoServiceImpl extends ServiceImpl<HuzhouUploadfil
LambdaQueryWrapper<HuzhouProcessinfo> 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<HuzhouUploadfil
queryWrapper.eq(HuzhouProcessinfo::getProcessName,"createURT");
}
}else {
queryWrapper.eq(HuzhouProcessinfo::getProcessName,"CVM");
}
queryWrapper.eq(HuzhouProcessinfo::getProcessstatus,"1");
List<HuzhouProcessinfo> processinfos = processinfoService.list(queryWrapper);
String processName = processinfos.get(0).getProcessName();

Loading…
Cancel
Save