合同单价折扣计算方法:如何根据折扣率更新合同单价和总价
//更改为折后单价 if (contractPrice != null && !contractPrice.equals('')) { String[] contractPriceStr = contractPrice.split(','); StringBuffer contractPriceBuf = new StringBuffer(); for (int m = 0; m < contractPriceStr.length; m++) { if (m != 0) { contractPriceBuf.append(','); } double discountPrice = Double.parseDouble(contractPriceStr[m]) * discount / 100; contractPriceBuf.append(discountPrice); } detail.setContractPrice(contractPriceBuf.toString()); } //更改总价 if (totalPrice != null && !totalPrice.equals('')) { detail.setTotalPrice(totalPrice * discount / 100); } detail.setDiscount(discount); detail.setTaxRateId(salesQuotationOrderDetail.getTaxRateId()); detail.setTaxRate(salesQuotationOrderDetail.getTaxRate()); //计算税额 Double taxPrice = 0.0; if (totalPrice != null && !totalPrice.equals('')) { taxPrice = totalPrice * discount / 100 * saledOrderDetail.getTaxRate() / 100; } detail.setTaxPrice(taxPrice); //计算金额 Double amount = 0.0; if (totalPrice != null && !totalPrice.equals('')) { amount = totalPrice * discount / 100 + taxPrice; } detail.setAmount(amount); saleOrderDetailList.add(detail); //更新报价单明细 salesQuotationOrderDetail.setOrderDetailId(detail.getSaleOrderDetailId()); salesQuotationOrderDetail.setOrderId(detail.getSaleOrderId()); salesQuotationOrderDetail.setSaleOrderItemId(detail.getSaleOrderItemId()); salesQuotationOrderDetail.setContractPrice(detail.getContractPrice()); salesQuotationOrderDetail.setTotalPrice(detail.getTotalPrice()); salesQuotationOrderDetail.setDiscount(detail.getDiscount()); salesQuotationOrderDetail.setTaxPrice(detail.getTaxPrice()); salesQuotationOrderDetail.setAmount(detail.getAmount()); salesQuotationOrderDetail.setTaxRateId(detail.getTaxRateId()); salesQuotationOrderDetail.setTaxRate(detail.getTaxRate()); salesQuotationOrderDetail.setTaxPrice(detail.getTaxPrice());
原文地址: https://www.cveoy.top/t/topic/lgk8 著作权归作者所有。请勿转载和采集!