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