|
@@ -88,6 +88,8 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
|
private BinaryOperator<String> multiFc = (a,b)-> BaseUtils.str2BigDecimal(a).multiply(BaseUtils.str2BigDecimal(b)).toString();
|
|
|
/*加法*/
|
|
|
private BinaryOperator<String> addFc = (a,b)-> BaseUtils.str2BigDecimal(a).add(BaseUtils.str2BigDecimal(b)).toString();
|
|
|
+ /*除法*/
|
|
|
+ private BinaryOperator<String> divideFc = (a,b)-> BaseUtils.str2BigDecimal(a).divide(BaseUtils.str2BigDecimal(b)).toPlainString();
|
|
|
|
|
|
/*按照二级清单编号,合计合同清单{合同金额,变更金额}*/
|
|
|
private Function<List<InventoryForm>, Map<String, BigDecimal[]>> contractMoneySum = data -> data.stream().filter(e->StringUtils.isNotEmpty(e.getContractMoney()))
|
|
@@ -680,6 +682,7 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
|
public void parse() {
|
|
|
builderFormDatas(MaterialsArrival.class);
|
|
|
if(materials.size()>0){
|
|
|
+ String ratio = BaseUtils.str2BigDecimal(tec.meterInfo.getBaseInfo().getDeductRatio()).toPlainString();
|
|
|
dataList.addAll(materials.stream().map(e->{
|
|
|
MaterialsArrival ma = new MaterialsArrival();
|
|
|
ma.setPeriodNumber(tec.periodInfo.getPeriodNumber());
|
|
@@ -687,8 +690,8 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
|
ma.setUnit(e.getUnit());
|
|
|
ma.setQuantity(e.getMeterAmount());
|
|
|
ma.setPrice(e.getPrice());
|
|
|
- ma.setAmount(e.getMeterAmount());
|
|
|
- ma.setTotal(e.getAdvancePayment());
|
|
|
+ ma.setAmount(multiFc.apply(e.getMeterAmount(),e.getPrice()));
|
|
|
+ ma.setTotal(divideFc.apply(multiFc.apply(ma.getAmount(),ratio),"100"));
|
|
|
ma.setSource(e.getSource());
|
|
|
/*发票*/
|
|
|
ma.setInvoice(e.getStoragePlace());
|