|
@@ -441,10 +441,12 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
private Integer contractTotal=0;
|
|
private Integer contractTotal=0;
|
|
/**变更数量*/
|
|
/**变更数量*/
|
|
private Integer changeTotal =0;
|
|
private Integer changeTotal =0;
|
|
- /**本次完成数量*/
|
|
|
|
|
|
+ /**完成数量*/
|
|
|
|
+ private Integer completed=0;
|
|
|
|
+/* 本次完成数量
|
|
private Integer currentPeriodCompleted=0;
|
|
private Integer currentPeriodCompleted=0;
|
|
- /**累计完成数量*/
|
|
|
|
- private Integer currentPeriodEndCompleted =0;
|
|
|
|
|
|
+ 累计完成数量
|
|
|
|
+ private Integer currentPeriodEndCompleted =0;*/
|
|
/**合同金额*/
|
|
/**合同金额*/
|
|
private BigDecimal contractMoney =BigDecimal.ZERO;
|
|
private BigDecimal contractMoney =BigDecimal.ZERO;
|
|
/**变更后A金额*/
|
|
/**变更后A金额*/
|
|
@@ -465,7 +467,7 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
this.unit = p.getUnit();
|
|
this.unit = p.getUnit();
|
|
this.contractTotal=p.getContractTotal();
|
|
this.contractTotal=p.getContractTotal();
|
|
this.changeTotal = p.getChangeTotal();
|
|
this.changeTotal = p.getChangeTotal();
|
|
- this.currentPeriodCompleted =p.getCompleted();
|
|
|
|
|
|
+ this.completed =p.getCompleted();
|
|
this.contractMoney =new BigDecimal(p.getContractMoney());
|
|
this.contractMoney =new BigDecimal(p.getContractMoney());
|
|
this.changeMoney =new BigDecimal(p.getChangeMoney());
|
|
this.changeMoney =new BigDecimal(p.getChangeMoney());
|
|
this.money=p.getMoneyAsBigDecimal();
|
|
this.money=p.getMoneyAsBigDecimal();
|
|
@@ -477,7 +479,7 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
this.itemName=next.itemName;
|
|
this.itemName=next.itemName;
|
|
}
|
|
}
|
|
/*本期完成*/
|
|
/*本期完成*/
|
|
- this.currentPeriodCompleted =next.getCurrentPeriodCompleted()+this.currentPeriodCompleted;;
|
|
|
|
|
|
+ this.completed =next.completed+this.completed;;
|
|
return this;
|
|
return this;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -487,15 +489,17 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
this.currentPeriodPay=this.money.add(BigDecimal.ZERO);
|
|
this.currentPeriodPay=this.money.add(BigDecimal.ZERO);
|
|
this.money=this.money.add(previous.money);
|
|
this.money=this.money.add(previous.money);
|
|
this.currentPeriodEndPay=this.money;
|
|
this.currentPeriodEndPay=this.money;
|
|
|
|
+ this.completed=this.completed+previous.completed;
|
|
}
|
|
}
|
|
return this;
|
|
return this;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
/*按清单编号求和*/
|
|
/*按清单编号求和*/
|
|
- public Map<String,Summary> toSummary(List<Payment> payments) {
|
|
|
|
|
|
+ public LinkedHashMap<String,Summary> toSummary(List<Payment> payments) {
|
|
return payments.stream()
|
|
return payments.stream()
|
|
.collect(Collectors.groupingBy(Payment::getNumber,
|
|
.collect(Collectors.groupingBy(Payment::getNumber,
|
|
|
|
+ LinkedHashMap::new,
|
|
Collectors.collectingAndThen(
|
|
Collectors.collectingAndThen(
|
|
Collectors.mapping(Summary::new, Collectors.reducing(Summary::add)),
|
|
Collectors.mapping(Summary::new, Collectors.reducing(Summary::add)),
|
|
op -> op.orElseGet(Summary::new)
|
|
op -> op.orElseGet(Summary::new)
|
|
@@ -507,8 +511,8 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
@Override
|
|
@Override
|
|
public void parse() {
|
|
public void parse() {
|
|
builderFormDatas(SubprojectInterimPaymentSummary.class);
|
|
builderFormDatas(SubprojectInterimPaymentSummary.class);
|
|
- Map<String,Summary> currentSummary = toSummary(current);
|
|
|
|
- Map<String,Summary> preSummary = toSummary(previous);
|
|
|
|
|
|
+ LinkedHashMap<String,Summary> currentSummary = toSummary(current);
|
|
|
|
+ LinkedHashMap<String,Summary> preSummary = toSummary(previous);
|
|
List<SubprojectInterimPaymentSummary> totalList = new ArrayList<>();
|
|
List<SubprojectInterimPaymentSummary> totalList = new ArrayList<>();
|
|
for(Map.Entry<String,Summary> form:currentSummary.entrySet()){
|
|
for(Map.Entry<String,Summary> form:currentSummary.entrySet()){
|
|
SubprojectInterimPaymentSummary sis = new SubprojectInterimPaymentSummary();
|
|
SubprojectInterimPaymentSummary sis = new SubprojectInterimPaymentSummary();
|
|
@@ -521,10 +525,11 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
sis.setChangeTotal(summary.getChangeTotal().toString());
|
|
sis.setChangeTotal(summary.getChangeTotal().toString());
|
|
sis.setContractMoney(summary.getContractMoney().toString());
|
|
sis.setContractMoney(summary.getContractMoney().toString());
|
|
sis.setChangeMoney(summary.getChangeMoney().toString());
|
|
sis.setChangeMoney(summary.getChangeMoney().toString());
|
|
- sis.setCurrentPeriodCompleted(summary.getCurrentPeriodCompleted().toString());
|
|
|
|
|
|
+ sis.setCurrentPeriodCompleted(summary.getCompleted().toString());
|
|
|
|
+ sis.setCurrentPeriodPay(summary.getCurrentPeriodPay().toString());
|
|
/*当前期和往期统计*/
|
|
/*当前期和往期统计*/
|
|
summary.merge(pre);
|
|
summary.merge(pre);
|
|
- sis.setCurrentPeriodPay(summary.getCurrentPeriodPay().toString());
|
|
|
|
|
|
+ sis.setCompleted(summary.getCompleted().toString());
|
|
sis.setCurrentPeriodEndPay(summary.getCurrentPeriodEndPay().toString());
|
|
sis.setCurrentPeriodEndPay(summary.getCurrentPeriodEndPay().toString());
|
|
sis.setPayRatio(ratioFc.apply(sis.getCurrentPeriodEndPay(),sis.getChangeMoney()));
|
|
sis.setPayRatio(ratioFc.apply(sis.getCurrentPeriodEndPay(),sis.getChangeMoney()));
|
|
totalList.add(sis);
|
|
totalList.add(sis);
|