Browse Source

1.新增合同时不再创建流程 2.增加ismodfy字段支持合同金额的重新上传3.提交表单入库合同信息表区分计划和实际金额

master
gjh 4 days ago
parent
commit
8d88951147
  1. 14
      huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPlaninfofileController.java
  2. 46
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouContractinfoServiceImpl.java
  3. 17
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfoServiceImpl.java
  4. 17
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java
  5. 5
      huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/ContractInfoVo.java
  6. 4
      huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/HuzhouPlaninfoOV.java

14
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<HuzhouContractinfo> contractList = mapper.readValue(contractinfoList, new TypeReference<List<HuzhouContractinfo>>(){});
planinfofileService.submitPlanUploadFile(files, planinfoid, approvalMoneyFieldsValue, contractMoneyFieldsValue,contractList);
if (StrUtil.isNotEmpty(contractinfoList)){
ObjectMapper mapper = new ObjectMapper();
List<HuzhouContractinfo> contractList = mapper.readValue(contractinfoList, new TypeReference<List<HuzhouContractinfo>>(){});
planinfofileService.submitPlanUploadFile(files, planinfoid, approvalMoneyFieldsValue, contractMoneyFieldsValue,contractList);
}else {
// 合同信息为空
List<HuzhouContractinfo> contractList = new ArrayList<>();
planinfofileService.submitPlanUploadFile(files, planinfoid, approvalMoneyFieldsValue, contractMoneyFieldsValue,contractList);
}
return Result.ok();
}
@PostMapping("/planREUploadFile")

46
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouContractinfoServiceImpl.java

@ -95,7 +95,8 @@ public class HuzhouContractinfoServiceImpl extends ServiceImpl<HuzhouContractinf
public void addContractinfo(MultipartFile[] file, List<HuzhouContractinfo> 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<HuzhouContractinf
String userid = map.get("value");
userIdlist.add(userid);
}
Task task = workFlow.getTask();
String taskId = task.getId();
String processInstanceId = workFlow.getProcessInstanceId();
Map<String, Object> 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<String, Object> variables = new HashMap<>();
// variables.put("taskLeadingDepartment",userIdlist);
// taskService.setVariableLocal(taskId,"approvalStatue","1");//添加审批状态 通过
// String comment = "同意";
// taskService.addComment(taskId,processInstanceId,comment);//添加审批意见
// taskService.complete(taskId, variables);
// 区分添加合同信息类型
List<HuzhouContractinfo> 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<HuzhouContractinf
LambdaQueryWrapper<HuzhouContractinfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouContractinfo::getProjectId, projectid);
queryWrapper.eq(HuzhouContractinfo::getTaskName, taskName);
List<HuzhouContractinfo> rs = list(queryWrapper);
// List<HuzhouContractinfo> 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 ServiceImpl<HuzhouContractinf
return contractInfoVo;
}
if (rs.size()>1){
// 返回计划+ 实际
// 返回合同信息(计划 + 实际)
ContractInfoVo contractInfoVo = new ContractInfoVo();
List<HuzhouContractinfo> planList = this.getContractinfoByprojectId(projectId);
List<HuzhouContractinfo> realList = this.getRealContractinfoByprojectId(projectId);

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

@ -104,7 +104,8 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl<HuzhouPlaninfoMapper,
private IHuzhouUserprojectService userProjectService;
@Autowired
private HuzhouSubProjectinfoMapper subProjectInfoMapper;
@Autowired
private IHuzhouContractinfoService contractinfoService;
@Override
public HashMap<String,Object> getPlanInfoListFromFile(MultipartFile multipartFile,String projectid) throws Exception {
HashMap<String, Object> resHashMap = new HashMap<>();
@ -371,6 +372,18 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl<HuzhouPlaninfoMapper,
totalPercent = totalPercent.substring(0,totalPercent.indexOf("."));
resultList.get(0).setTotalPercent(totalPercent);
}
// 封装ismodify
resultList.stream().forEach(item -> {
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 ServiceImpl<HuzhouPlaninfoMapper,
}
/**
* 保存或修改任务计划期间上传的文
* 保存或修改任务计划期间上传的文
* @param files
* @param planinfoid
* @param type 类型1 新增2修改

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

@ -124,14 +124,14 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
if(childPlanList.size()>0){
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<HuzhouPlaninfofil
queryWrapper.eq(HuzhouContractinfo::getProjectId,projectId);
queryWrapper.ge(HuzhouContractinfo::getStatus,"1");
List<HuzhouContractinfo> 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<HuzhouPlaninfofil
String userid = map.get("value");
strings.add(userid);
}
//阶段设计合同信息
if(Arrays.asList(names).contains(taskName)||existsContractinfo){
HashMap<String, String> hashMap = new HashMap<>();
hashMap.put("chuBuSheJiShenPi","初步设计审批");
@ -185,6 +185,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
break; // 找到后可以跳出循环
}
}
// 创建流程
WorkFlow workFlow = workflowService.createFlow(key,planinfoid);
Task task = workFlow.getTask();
String taskId = task.getId();
@ -347,6 +348,10 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
throw new EasyException("合同信息不能为空!");
}
contractinfoService.addContractinfo(files,contractList);
// if (CollectionUtil.isNotEmpty(contractList)) {
// contractinfoService.addContractinfo(files, contractList);
// throw new EasyException("合同信息不能为空!");
// }
}
/**

5
huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/ContractInfoVo.java

@ -6,9 +6,10 @@ import lombok.Data;
import java.util.List;
@Data
public class ContractInfoVo {
// 合同信息列表(计划)
private List<HuzhouContractinfo> planList;
// 合同信息列表(实际)
private List<HuzhouContractinfo> realList;
// 是否存在计划信息 用于返回给前端
private Boolean hasInfo;
}

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

Loading…
Cancel
Save