diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPlaninfofileController.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPlaninfofileController.java index e5728bb..b922fd6 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPlaninfofileController.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPlaninfofileController.java @@ -1,5 +1,6 @@ package com.easy.admin.modules.huzhou.controller; +import cn.hutool.core.util.StrUtil; import com.alibaba.excel.util.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -43,9 +44,16 @@ public class HuzhouPlaninfofileController { @RequestParam(value = "approvalMoneyFieldsValue", required = false) String approvalMoneyFieldsValue, @RequestParam(value = "contractMoneyFieldsValue", required = false) String contractMoneyFieldsValue, @RequestParam(value = "contractinfoList", required = false) String contractinfoList) throws IOException { - ObjectMapper mapper = new ObjectMapper(); - List contractList = mapper.readValue(contractinfoList, new TypeReference>(){}); - planinfofileService.submitPlanUploadFile(files, planinfoid, approvalMoneyFieldsValue, contractMoneyFieldsValue,contractList); + if (StrUtil.isNotEmpty(contractinfoList)){ + ObjectMapper mapper = new ObjectMapper(); + List contractList = mapper.readValue(contractinfoList, new TypeReference>(){}); + planinfofileService.submitPlanUploadFile(files, planinfoid, approvalMoneyFieldsValue, contractMoneyFieldsValue,contractList); + }else { + // 合同信息为空 + List contractList = new ArrayList<>(); + planinfofileService.submitPlanUploadFile(files, planinfoid, approvalMoneyFieldsValue, contractMoneyFieldsValue,contractList); + } + return Result.ok(); } @PostMapping("/planREUploadFile") diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouContractinfoServiceImpl.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouContractinfoServiceImpl.java index 1eadb4b..7bc9324 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouContractinfoServiceImpl.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouContractinfoServiceImpl.java @@ -95,7 +95,8 @@ public class HuzhouContractinfoServiceImpl extends ServiceImpl contractinfoList) throws IOException { String projectid = contractinfoList.get(0).getProjectId(); uploadfileinfoService.saveFileAndFileInfo(file, projectid, "4"); - WorkFlow workFlow = workflowService.createFlow("createContract",projectid); + // 停止 创建新增合同流程 + //WorkFlow workFlow = workflowService.createFlow("createContract",projectid); String projectId = contractinfoList.get(0).getProjectId(); HuzhouProjectinfo huzhouProjectinfo = projectinfoService.getById(projectId); String superLeader = ""; @@ -121,19 +122,27 @@ public class HuzhouContractinfoServiceImpl extends ServiceImpl variables = new HashMap<>(); - variables.put("taskLeadingDepartment",userIdlist); - taskService.setVariableLocal(taskId,"approvalStatue","1");//添加审批状态 通过 - String comment = "同意"; - taskService.addComment(taskId,processInstanceId,comment);//添加审批意见 - taskService.complete(taskId, variables); - +// Task task = workFlow.getTask(); +// String taskId = task.getId(); +// String processInstanceId = workFlow.getProcessInstanceId(); +// Map variables = new HashMap<>(); +// variables.put("taskLeadingDepartment",userIdlist); +// taskService.setVariableLocal(taskId,"approvalStatue","1");//添加审批状态 通过 +// String comment = "同意"; +// taskService.addComment(taskId,processInstanceId,comment);//添加审批意见 +// taskService.complete(taskId, variables); + // 区分添加合同信息类型 List collect = contractinfoList.stream().map(contract -> { contract.setStatus("1"); - contract.setFlag("计划"); + String itemProjectId = contract.getProjectId(); + String itemTaskName = contract.getTaskName(); + // 存在合同信息(计划) 则插入的为实际合同信息 + Boolean flag = this.hasContractinfoByTaskName(itemProjectId, itemTaskName); + if (flag) { + contract.setFlag("实际"); + } else { + contract.setFlag("计划"); + } return contract; }).collect(Collectors.toList()); saveBatch(collect); @@ -333,18 +342,15 @@ public class HuzhouContractinfoServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(HuzhouContractinfo::getProjectId, projectid); queryWrapper.eq(HuzhouContractinfo::getTaskName, taskName); - List rs = list(queryWrapper); // List rs = tmp.stream() // .filter(item -> item.getFlag() != null && item.getFlag().contains("计划")) // .collect(Collectors.toList()); - if (rs.size() == 1) { + boolean exists = this.list(queryWrapper).size() > 0; + if (exists) { log.info("该项目阶段填存在合同信息(计划)"); - return true; - } - if (rs.size()>1){ - return true; } - return false; + log.info("该项目阶段填不存在合同信息(计划)!"); + return exists; } @Override @@ -362,7 +368,7 @@ public class HuzhouContractinfoServiceImpl extends ServiceImpl1){ - // 返回计划+ 实际 + // 返回合同信息(计划 + 实际) ContractInfoVo contractInfoVo = new ContractInfoVo(); List planList = this.getContractinfoByprojectId(projectId); List realList = this.getRealContractinfoByprojectId(projectId); 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 0829c78..7d26afd 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 @@ -104,7 +104,8 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl getPlanInfoListFromFile(MultipartFile multipartFile,String projectid) throws Exception { HashMap resHashMap = new HashMap<>(); @@ -371,6 +372,18 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl { + item.getChildren().forEach(childItem -> { + // 判断子阶段是否需要填写实际合同金额,如果存在则支持重新上传 + Boolean flag = contractinfoService.hasContractinfoByTaskName(projectId, childItem.getTaskName()); + if(flag){ + childItem.setIsmodify(true); + }else { + childItem.setIsmodify(false); + } + }); + }); return resultList; } @@ -438,7 +451,7 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl0){ throw new EasyException("存在未完成(审批中)的子项。当前阶段不允许提交文件"); } + //保存或修改任务计划期间上传的文件 planinfoService.saveOrModifyPlanUploadFile(files,planinfoid,"1","1"); + //根据项目计划id获取项目信息 String taskName = planinfo.getTaskName(); taskName=StrUtil.trim(taskName); String projectId = planinfoService.getById(planinfoid).getProjectId(); - - //hasRealContractInfo(taskName, projectId); - HuzhouProjectinfo huzhouProjectinfo = projectinfoService.getById(projectId); + String superLeader = ""; String adminDivision=""; //如果项目信息为空说明是子项目 @@ -150,8 +150,8 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl contractinfoList = contractinfoMapper.selectList(queryWrapper); - if(contractinfoList!=null&&contractinfoList.size()>0){ - existsContractinfo=true; + if (contractinfoList != null && contractinfoList.size() > 0) { + existsContractinfo = true; } //获取上级指导室中文名称 SysDict dict = sysDictService.getDictByCode("superLeader", superLeader); @@ -168,7 +168,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl hashMap = new HashMap<>(); hashMap.put("chuBuSheJiShenPi","初步设计审批"); @@ -185,6 +185,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl planList; - + // 合同信息列表(实际) private List realList; - + // 是否存在计划信息 用于返回给前端 private Boolean hasInfo; } diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/HuzhouPlaninfoOV.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/HuzhouPlaninfoOV.java index 99f0425..ddeba1d 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/HuzhouPlaninfoOV.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/HuzhouPlaninfoOV.java @@ -24,4 +24,8 @@ public class HuzhouPlaninfoOV extends HuzhouPlaninfo { */ private String totalPercent; private String isEdit; + /** + * 是否支重新上传 + */ + private Boolean ismodify; }