Bläddra i källkod

监理支付项列表

yangyj 1 år sedan
förälder
incheckning
52692029f1

+ 32 - 25
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/ExecutorMeter.java

@@ -744,6 +744,13 @@ public class ExecutorMeter extends FormulaExecutor {
                  Map<InterimPaymentCertificate,InterimPayCertificateItem> peerMap = new HashMap<>();
                  List<InterimPaymentCertificate> payItemZj=new ArrayList<>();
                  if(MeterInfo.MB_ZJ.equals(tec.meterInfo.getTemplate())){
+                     /*假如章节*/
+              /*       dataList.forEach(ipc->{
+                         InterimPayCertificateItem ic=  new InterimPayCertificateItem();
+                         ic.setCertificateId(tec.getReportId());
+                         BeanUtils.copyProperties(ipc,ic);
+                         itemList.add(ic);
+                     });*/
                      InterimPaymentCertificate xj=new InterimPaymentCertificate("小计",true);
                      addGetSetConfig(xj,summaryConfigMap,InterimPaymentCertificate::getContractAmount,xj::setContractAmount);
                      addGetSetConfig(xj,summaryConfigMap,InterimPaymentCertificate::getRevisedTotal,xj::setRevisedTotal);
@@ -778,31 +785,11 @@ public class ExecutorMeter extends FormulaExecutor {
                      payItemZj.add(new InterimPaymentCertificate("材料设备垫付款"));
                      payItemZj.add(new InterimPaymentCertificate("扣回材料设备垫付款"));
                      payItemZj.add(new InterimPaymentCertificate("保留金"));
-                     InterimPaymentCertificate sjzf=new InterimPaymentCertificate("实际支付");
+                     InterimPaymentCertificate sjzf=new InterimPaymentCertificate("实际支付",true);
                      addGetSetConfig(sjzf,summaryConfigMap,InterimPaymentCertificate::getCurrentPeriodEndPay,sjzf::setCurrentPeriodEndPay);
                      addGetSetConfig(sjzf,summaryConfigMap,InterimPaymentCertificate::getPreviousPeriodEndPay,sjzf::setPreviousPeriodEndPay);
                      addGetSetConfig(sjzf,summaryConfigMap,InterimPaymentCertificate::getCurrentPeriodPay,sjzf::setCurrentPeriodPay);
                      payItemZj.add(sjzf);
-                     /*合并手写内容*/
-                     for (InterimPaymentCertificate certificate : payItemZj) {
-                         InterimPayCertificateItem ic=   currentMap.getOrDefault(certificate.getChapterSeq(),new InterimPayCertificateItem());
-                         ic.setChapterSeq(certificate.getChapterSeq());
-                           if(certificate.getIsSummary()){
-                               peerMap.put(certificate,ic);
-                           }else if(StringUtils.isNotEquals(certificate.getNoApply(),1)){
-                               InterimPayCertificateItem pre =previousMap.get(certificate.getChapterSeq());
-                               if(pre!=null){
-                                   ic.setPreviousPeriodEndPay(pre.getCurrentPeriodEndPay());
-                               }
-                               certificate.setCurrentPeriodPay(ic.getCurrentPeriodPay());
-                               certificate.setPreviousPeriodEndPay(ic.getPreviousPeriodEndPay());
-                               certificate.setCurrentPeriodEndPay(ic.getCurrentPeriodEndPay());
-                           }else{
-                               ic.setCurrentPeriodPay(certificate.getCurrentPeriodPay());
-                               ic.setPreviousPeriodEndPay(certificate.getPreviousPeriodEndPay());
-                               ic.setCurrentPeriodEndPay(certificate.getCurrentPeriodEndPay());
-                           }
-                     }
                  }
                  midPayItemList.forEach(e->{
                      InterimPaymentCertificate ipc = paymentCertificateMap.get(e.getPayNumber());
@@ -827,8 +814,23 @@ public class ExecutorMeter extends FormulaExecutor {
                               t.setCurrentPeriodChangeMoney("");
                               t.setCurrentPeriodEndChangeMoney("");
                      });
-                     RebateIncentiveAdvPay rebateIncentiveAdvPay = new RebateIncentiveAdvPay();
                      dataList.addAll(payItemZj);
+                     /*生成中期支付证书可编辑列表*/
+                     /*合并手写内容*/
+                     for (InterimPaymentCertificate certificate : dataList) {
+                         InterimPayCertificateItem ic=  currentMap.getOrDefault(certificate.getChapterSeq(),new InterimPayCertificateItem());
+                         BeanUtils.copyProperties(certificate,ic);
+                         /*同时兼容几个表后,支付章名称和章节号有点混乱,需要注意纠正*/
+                         if(!payItemZj.contains(certificate)){
+                             ic.setFormName(certificate.getChapterSeq());
+                             ic.setChapterSeq(certificate.getFormName());
+                         }
+                         if(certificate.getIsSummary()){
+                             peerMap.put(certificate,ic);
+                         }
+                         itemList.add(ic);
+                     }
+                     RebateIncentiveAdvPay rebateIncentiveAdvPay = new RebateIncentiveAdvPay();
                      /*分行合计列,合计的时候需要计入手填部分*/
                      fieldGetSet(summaryConfigMap,x->!x.getIsSummary(),InterimPaymentCertificate::getInvertState);
                      payItemZj.stream().filter(t->t.getChapterSeq()!=null&&t.getChapterSeq().contains("小计")).findFirst().ifPresent(t->{
@@ -844,6 +846,14 @@ public class ExecutorMeter extends FormulaExecutor {
                              item.setCurrentPeriodEndPay(sc.getCurrentPeriodEndPay());
                          });
                      }
+
+                     /*排序*/
+                     List<String> indexSort =dataList.stream().map(InterimPaymentCertificate::getChapterSeq).collect(Collectors.toList());
+                     itemList.forEach(e->{
+                         e.setCertificateId(tec.getReportId());
+                         e.setSort(indexSort.indexOf(e.getChapterSeq()));
+                     });
+
                      tec.formDataMap.putAll(FormulaUtils.toFormDataMap(rebateIncentiveAdvPay));
                  }
              }
@@ -1743,9 +1753,6 @@ public class ExecutorMeter extends FormulaExecutor {
             fieldDataFcMap.put(InterimMeter.TBN+":key_13",interimMeters2oListFc.apply(InterimMeter::getCompletedList));
            /*每条记录一页*/
             capacity=1;
-         /*   FormulaUtils.elementFindByCode(tec.getFormDataMap(),MeterPeriodInfo.TBN+":key_11").ifPresent(fd->{
-                elementWriter.write(fd,BaseUtils.sliceNumber(dataList.size(),capacity));
-            });*/
             tec.periodInfo.setMeterNumber(""+BaseUtils.sliceNumber(dataList.size(),capacity));
            putOut(InterimMeter.class);
         }

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/FormulaTurnPoint.java

@@ -325,7 +325,7 @@ public class FormulaTurnPoint implements FormulaStrategy {
     @Override
     public boolean accept(FormData fd) {
         Formula f = fd.getFormula();
-        return StringUtils.isEquals(f.getNumber(), "TURN_POINT");
+        return StringUtils.isEquals(f.getNumber(), "TURN_POINT")||Optional.ofNullable(f.getFormula()).orElse("").contains("TURNPOINT");
     }
 
 

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

@@ -535,7 +535,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                 resultTabs = new ArrayList<>();
             }
         }
-        if (wbsTreeContract.getIsUseSort() == 0) {
+        if (Optional.ofNullable(wbsTreeContract.getIsUseSort()).orElse(0) == 0) {
             //表单排序
             if (resultTabs.size() > 0) {
                 List<AppWbsTreeContractVO> resultTabsToCopy = this.sortTabs(resultTabs, "__"); //复制表排序