|
@@ -619,14 +619,14 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
|
if(placeholderSize>0){
|
|
|
tmp.addAll(Collections.nCopies(placeholderSize,new SubprojectInterimPaymentSummary()));
|
|
|
}
|
|
|
- subtotal(new SubprojectInterimPaymentSummary("本页小计"),tmp,currentPageData);
|
|
|
+ subtotal(new SubprojectInterimPaymentSummary("本页小计"),tmp,currentPageData,tec.getScale());
|
|
|
if(m>1) {
|
|
|
/*本章小结*/
|
|
|
- subtotal(new SubprojectInterimPaymentSummary("章合计"),tmp,v);
|
|
|
+ subtotal(new SubprojectInterimPaymentSummary("章合计"),tmp,v,tec.getScale());
|
|
|
}
|
|
|
if(m>2){
|
|
|
/*所有章合计*/
|
|
|
- subtotal(new SubprojectInterimPaymentSummary("所有章合计"),tmp,totalList);
|
|
|
+ subtotal(new SubprojectInterimPaymentSummary("所有章合计"),tmp,totalList,tec.getScale());
|
|
|
}
|
|
|
dataList.addAll(tmp);
|
|
|
tmp.clear();
|
|
@@ -637,8 +637,9 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
|
}
|
|
|
|
|
|
|
|
|
- public void subtotal(SubprojectInterimPaymentSummary b, List<SubprojectInterimPaymentSummary> result ,List<SubprojectInterimPaymentSummary> data){
|
|
|
- b.calculate(data);
|
|
|
+ public void subtotal(SubprojectInterimPaymentSummary b, List<SubprojectInterimPaymentSummary> result ,List<SubprojectInterimPaymentSummary> data,Integer scale){
|
|
|
+ b.calculate(data,scale);
|
|
|
+
|
|
|
result.add(b);
|
|
|
}
|
|
|
|
|
@@ -726,6 +727,8 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
|
/*每一章需要留一行做小计,其他要填充空白行*/
|
|
|
SubInterimMeterPaySummary summary= new SubInterimMeterPaySummary("小计");
|
|
|
summary.setCurrentPeriodEndPay(tmp.stream().map(SubInterimMeterPaySummary::getCurrentPeriodEndPay).filter(BaseUtils::isNumber).map(BigDecimal::new).reduce(BigDecimal.ZERO,BigDecimal::add).toString());
|
|
|
+ summary.setCurrentPeriodEndPay(StringUtils.number2StringZero(summary.getCurrentPeriodEndPay(),tec.getScale()));
|
|
|
+
|
|
|
int over = size*capacity-1-tmp.size();
|
|
|
if(over>0){
|
|
|
/*填充空白行*/
|
|
@@ -854,7 +857,7 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
|
if(dataList.size()>0){
|
|
|
InterimMeterPaySummary summary = new InterimMeterPaySummary("合计");
|
|
|
double sum=dataList.stream().map(InterimMeterPaySummary::getMoney).filter(StringUtils::isNumber).mapToDouble(Double::parseDouble).sum();
|
|
|
- summary.setMoney(StringUtils.number2StringZero(sum,2));
|
|
|
+ summary.setMoney(StringUtils.number2StringZero(sum,tec.getScale()));
|
|
|
dataList.add(summary);
|
|
|
}
|
|
|
putOut(InterimMeterPaySummary.class);
|