|
@@ -345,10 +345,10 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
|
if(Func.isEmpty(cm.getKey()))continue;
|
|
|
InventoryForm inventoryForm=dictMap.get(cm.getKey());
|
|
|
if(inventoryForm!=null) {
|
|
|
- InterimPaymentCertificate ipc = new InterimPaymentCertificate(inventoryForm.getFormName());
|
|
|
/*中期支付汇总的章次*/
|
|
|
String ch = inventoryForm.getFormNumber();
|
|
|
- ipc.setChapterSeq(ch + (BaseUtils.isNumber(ch) ? "章" : ""));
|
|
|
+ InterimPaymentCertificate ipc = new InterimPaymentCertificate(ch + (BaseUtils.isNumber(ch) ? "章" : ""));
|
|
|
+ ipc.setChapterSeq(ipc.getItemName());
|
|
|
BigDecimal[] bmMoney = cm.getValue();
|
|
|
ipc.setContractAmount(bmMoney[0].toString());
|
|
|
ipc.setRevisedAmount(bmMoney[1].toString());
|
|
@@ -470,7 +470,7 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
|
/**支付金额*/
|
|
|
private BigDecimal money=BigDecimal.ZERO;
|
|
|
/**本次支付金额*/
|
|
|
- private BigDecimal currentPeriodPay=BigDecimal.ZERO;
|
|
|
+ /* private BigDecimal currentPeriodPay=BigDecimal.ZERO;*/
|
|
|
/**累计支付B金额*/
|
|
|
private BigDecimal currentPeriodEndPay=BigDecimal.ZERO;
|
|
|
|
|
@@ -503,8 +503,7 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
|
/*当前期合并往期计算累计值*/
|
|
|
public Summary merge(Summary previous){
|
|
|
if(previous!=null){
|
|
|
- this.currentPeriodPay=this.money;
|
|
|
- this.currentPeriodEndPay=this.currentPeriodPay.add(previous.money);
|
|
|
+ this.currentPeriodEndPay=this.money.add(previous.money);
|
|
|
this.completed=this.completed+previous.completed;
|
|
|
}
|
|
|
return this;
|
|
@@ -539,7 +538,9 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
|
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 cur = currentSummary.get(number);
|
|
|
SubprojectInterimPaymentSummary sis = new SubprojectInterimPaymentSummary();
|
|
|
Summary main =cur;
|
|
@@ -553,7 +554,6 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
|
sis.setChangeMoney(main.getChangeMoney().toString());
|
|
|
if(cur!=null){
|
|
|
sis.setCurrentPeriodCompleted(cur.getCompleted().toString());
|
|
|
- sis.setCurrentPeriodPay(cur.getCurrentPeriodPay().toString());
|
|
|
}
|
|
|
if(pre!=null){
|
|
|
sis.setPreviousPeriodPay(pre.getMoney().toString());
|
|
@@ -561,9 +561,12 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
|
}
|
|
|
if(cur!=null&&pre!=null){
|
|
|
main.merge(pre);
|
|
|
+ }else{
|
|
|
+ /*如果只有其中一项,则不需要合并金额*/
|
|
|
+ main.setCurrentPeriodEndPay(main.getMoney());
|
|
|
}
|
|
|
sis.setCompleted(main.getCompleted().toString());
|
|
|
- sis.setCurrentPeriodPay(main.getCurrentPeriodPay().toString());
|
|
|
+ sis.setCurrentPeriodPay(main.getMoney().toString());
|
|
|
sis.setCurrentPeriodEndPay(main.getCurrentPeriodEndPay().toString());
|
|
|
sis.setPayRatio(ratioFc.apply(sis.getCurrentPeriodEndPay(),sis.getChangeMoney()));
|
|
|
totalList.add(sis);
|