Преглед изворни кода

Merge branch 'refs/heads/feature-lihb-20250716' into test-merge

LHB пре 2 недеља
родитељ
комит
600d2b1195

+ 23 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsSynchronousServiceImpl.java

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