Selaa lähdekoodia

清单中期支付报表,显示所有累计清单

yangyj 1 vuosi sitten
vanhempi
commit
eac42d331f

+ 1 - 1
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/MeterPeriodInfo.java

@@ -67,7 +67,7 @@ public class MeterPeriodInfo implements  DataModel{
 
     @JSONField(name = "key_11",label="工程计量表数量(浙江)",ordinal = 5)
     private String  meterNumber;
-    @JSONField(name = "key_19",label="封面日期",ordinal = 20 )
+    @JSONField(name = "key_19",label="封面日期",ordinal = 20 ,format ="yyyy年MM月dd日")
     private LocalDate  coverDate;
     /**排序号*/
     private Integer sort;

+ 15 - 23
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/ExecutorMeter.java

@@ -1257,8 +1257,6 @@ public class ExecutorMeter extends FormulaExecutor {
             private BigDecimal changeMoney =BigDecimal.ZERO;
             /**支付金额*/
             private BigDecimal money=BigDecimal.ZERO;
-            /**本次支付金额*/
-           /* private BigDecimal currentPeriodPay=BigDecimal.ZERO;*/
             /**累计支付B金额*/
             private BigDecimal currentPeriodEndPay=BigDecimal.ZERO;
 
@@ -1316,42 +1314,36 @@ public class ExecutorMeter extends FormulaExecutor {
         @Override
         public void parse() {
             builderFormDatas(SubprojectInterimPaymentSummary.class);
-            LinkedHashMap<String,Summary> currentSummary = toSummary(current);
+            LinkedHashMap<String,Summary> endSummary = toSummary(paymentsPeriodEnd);
             LinkedHashMap<String,Summary> preSummary = toSummary(previous);
             List<SubprojectInterimPaymentSummary> totalList = new ArrayList<>();
             List<String> numbers=  paymentsPeriodEnd.stream().map(Payment::getNumber).distinct().collect(Collectors.toList());
             numbers.forEach(number->{
                 /*往期汇总*/
                 Summary pre =preSummary.get(number);
+                /*本期末汇总*/
+                Summary end = endSummary.get(number);
                 /*本期汇总*/
-                Summary cur = currentSummary.get(number);
+                Summary cur = endSummary.get(number);
                 SubprojectInterimPaymentSummary sis = new SubprojectInterimPaymentSummary();
-                Summary main =cur;
-                if(main==null)main=pre;
-                sis.setFormNumber(main.getFormNumber());
-                sis.setItemName(main.getItemName());
-                sis.setUnit(main.getUnit());
-                sis.setContractTotal(main.getContractTotal().toString());
-                sis.setChangeTotal(main.getChangeTotal().toString());
-                sis.setContractMoney(main.getContractMoney().toString());
-                sis.setChangeMoney(main.getChangeMoney().toString());
-                sis.setPrice(main.getPrice());
+                sis.setFormNumber(end.getFormNumber());
+                sis.setItemName(end.getItemName());
+                sis.setUnit(end.getUnit());
+                sis.setContractTotal(end.getContractTotal().toString());
+                sis.setChangeTotal(end.getChangeTotal().toString());
+                sis.setContractMoney(end.getContractMoney().toString());
+                sis.setChangeMoney(end.getChangeMoney().toString());
+                sis.setPrice(end.getPrice());
                 if(cur!=null){
+                    sis.setCurrentPeriodPay(cur.getMoney().toPlainString());
                     sis.setCurrentPeriodCompleted(cur.getCompleted().toString());
                 }
                 if(pre!=null){
                     sis.setPreviousPeriodPay(pre.getMoney().toString());
                     sis.setPreviousPeriodCompleted(pre.getCompleted().toString());
                 }
-                if(cur!=null&&pre!=null){
-                    main.merge(pre);
-                }else{
-                    /*如果只有其中一项,则不需要合并金额*/
-                    main.setCurrentPeriodEndPay(main.getMoney());
-                }
-                sis.setCompleted(main.getCompleted().toString());
-                sis.setCurrentPeriodPay(main.getMoney().toString());
-                sis.setCurrentPeriodEndPay(main.getCurrentPeriodEndPay().toString());
+                sis.setCompleted(end.getCompleted().toString());
+                sis.setCurrentPeriodEndPay(end.getMoney().toString());
                 sis.setPayRatio(ratioFc.apply(sis.getCurrentPeriodEndPay(),sis.getChangeMoney()));
                 totalList.add(sis);
             });