|
|
|
@ -371,9 +371,9 @@ public class BillDetailFormatUtil { |
|
|
|
|
if (hsbz == 1) {//含税标志为 1 含税,税额=round((数量*含税单价)*税率/(1+税率)),2),不含税金额=含税金额-税额。
|
|
|
|
|
BigDecimal dqce = billDetail.getTaxamt().subtract(amt); |
|
|
|
|
//是否相等
|
|
|
|
|
if (dqce.compareTo(ce0) != 0) { |
|
|
|
|
return AjaxResult.error("明细行含税单价、数量积不等于含税金额", billDetail); |
|
|
|
|
} |
|
|
|
|
// if (dqce.compareTo(ce0) != 0) {
|
|
|
|
|
// return AjaxResult.error("明细行含税单价、数量积不等于含税金额", billDetail);
|
|
|
|
|
// }
|
|
|
|
|
taxAmt = billDetail.getTaxamt(); |
|
|
|
|
tax = taxAmt.multiply(taxRate).divide(taxRateS, 2, BigDecimal.ROUND_HALF_UP); |
|
|
|
|
taxFreeAmt = taxAmt.subtract(tax); |
|
|
|
@ -403,9 +403,9 @@ public class BillDetailFormatUtil { |
|
|
|
|
if (hsbz == 0) {//含税标志为 0 不含税,税额=round((数量*不含税单价)*税率),2),含税金额=不含税金额+税额。
|
|
|
|
|
BigDecimal dqce = billDetail.getTaxfreeamt().subtract(amt); |
|
|
|
|
//是否相等
|
|
|
|
|
if (dqce.compareTo(ce0) != 0) { |
|
|
|
|
return AjaxResult.error("明细行不含税单价、数量积不等于不含税金额", billDetail); |
|
|
|
|
} |
|
|
|
|
// if (dqce.compareTo(ce0) != 0) {
|
|
|
|
|
// return AjaxResult.error("明细行不含税单价、数量积不等于不含税金额", billDetail);
|
|
|
|
|
// }
|
|
|
|
|
dqce = dqce.compareTo(new BigDecimal("0")) > 0 ? dqce : dqce.multiply(new BigDecimal("-1")); |
|
|
|
|
taxFreeAmt = billDetail.getTaxfreeamt(); |
|
|
|
|
tax = taxFreeAmt.multiply(taxRate).setScale(2, BigDecimal.ROUND_HALF_UP); |
|
|
|
|