|
@@ -811,7 +811,29 @@ public class WbsSynchronousServiceImpl {
|
|
|
switch (i) {
|
|
|
//添加表单
|
|
|
case 1:
|
|
|
- addData.addAll(insertContractForm(wbsTreeSynchronousRecord, contractInfo, wbsTreeContracts, addContractNode,errorMsg));
|
|
|
+ List<WbsTreeContract> list = insertContractForm(wbsTreeSynchronousRecord, contractInfo, wbsTreeContracts, addContractNode, errorMsg);
|
|
|
+ //新增表单 判断表单是否可以新增
|
|
|
+ if (CollectionUtil.isNotEmpty(contractRanges) && CollectionUtil.isNotEmpty(list)) {
|
|
|
+
|
|
|
+ Map<Long, List<WbsTreeContract>> collect1 = list.stream().collect(Collectors.groupingBy(WbsTreeContract::getPId));
|
|
|
+ Set<Long> longs = collect1.keySet();
|
|
|
+ for (Long aLong : longs) {
|
|
|
+ Integer status = informationQueryMap.get(aLong);
|
|
|
+ if(status == null){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ //已填报 并且勾选了已填报-未上报;状态未待审批并且勾选了待审批;状态为已审批并且勾选了已审批
|
|
|
+ if((status == 0 && contractRanges.contains(WbsSyncTypeEnum.ALREADY_FILLED_IN_NOT_REPORTED.code)) ||
|
|
|
+ (status == 1 && contractRanges.contains(WbsSyncTypeEnum.PENDING_APPROVAL.code)) ||
|
|
|
+ (status == 2 && contractRanges.contains(WbsSyncTypeEnum.APPROVED.code))){
|
|
|
+ //这就是要新增的数据
|
|
|
+ addData.addAll(collect1.get(aLong));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ addData.addAll(list);
|
|
|
+ }
|
|
|
+
|
|
|
//如果同时选择新增表单和其他的同步类型 在操作其他类型的时候需要添加新的表单
|
|
|
// if (CollectionUtil.isNotEmpty(addContractNode)) {
|
|
|
// editContractNodes.addAll(addContractNode.stream().filter(f -> f.getType() == 2).collect(Collectors.toList()));
|