合同非定额计算逻辑插件1.1
This commit is contained in:
parent
68bde8717c
commit
8c70d425b2
|
@ -28,12 +28,12 @@ public class CalculationQuotaListOpPlugin extends AbstractOperationServicePlugIn
|
|||
BigDecimal qeug_taxamount = dynamicObject1.getBigDecimal("qeug_taxamount");//税额
|
||||
Object qeug_taxrate1 = dynamicObject1.get("qeug_taxrate");
|
||||
if(qeug_taxrate1!=null){
|
||||
qeug_taxrate = dynamicObject1.getBigDecimal("qeug_taxrate.taxrate");
|
||||
qeug_taxrate = returnRate(dynamicObject1.getBigDecimal("qeug_taxrate.taxrate"));
|
||||
}
|
||||
boolean qty1 = returnComperZero(qty);//数量
|
||||
if(!qty1){
|
||||
e.setCancel(true);
|
||||
e.setCancelMessage("数量必填");
|
||||
e.setCancelMessage("非定额清单的数量必填");
|
||||
return;
|
||||
}
|
||||
boolean noTaxPrice = returnComperZero(qeug_exclusiveprice);//不含税
|
||||
|
@ -45,7 +45,12 @@ public class CalculationQuotaListOpPlugin extends AbstractOperationServicePlugIn
|
|||
*/
|
||||
BigDecimal qeug_notaxtotalprice = BigDecimal.ZERO;//不含税总价
|
||||
BigDecimal qeug_taxtotalprice = BigDecimal.ZERO;//含税总价
|
||||
if(!noTaxPrice && TaxPrice && !taxRate && !Tax){
|
||||
if(!noTaxPrice && !TaxPrice){
|
||||
qeug_notaxtotalprice = qty.multiply(qeug_exclusiveprice);
|
||||
dynamicObject1.set("qeug_notaxtotalprice", qeug_notaxtotalprice);
|
||||
qeug_taxtotalprice = qty.multiply(qeug_taxprice);
|
||||
dynamicObject1.set("qeug_taxtotalprice", qeug_taxtotalprice);
|
||||
}else if(!noTaxPrice && TaxPrice && !taxRate && !Tax){
|
||||
qeug_exclusiveprice = qeug_taxprice;
|
||||
dynamicObject1.set("qeug_exclusiveprice",qeug_exclusiveprice);
|
||||
qeug_notaxtotalprice = qty.multiply(qeug_exclusiveprice);
|
||||
|
@ -60,7 +65,7 @@ public class CalculationQuotaListOpPlugin extends AbstractOperationServicePlugIn
|
|||
qeug_taxtotalprice = qty.multiply(qeug_taxprice);
|
||||
dynamicObject1.set("qeug_taxtotalprice", qeug_taxtotalprice);
|
||||
}else if(!noTaxPrice && TaxPrice && taxRate && !Tax){
|
||||
qeug_exclusiveprice = qeug_taxprice.divide(BigDecimal.ONE.add(qeug_taxamount), 2, RoundingMode.HALF_UP);
|
||||
qeug_exclusiveprice = qeug_taxprice.divide(BigDecimal.ONE.add(qeug_taxrate), 2, RoundingMode.HALF_UP);
|
||||
dynamicObject1.set("qeug_exclusiveprice",qeug_exclusiveprice);
|
||||
qeug_notaxtotalprice = qty.multiply(qeug_exclusiveprice);
|
||||
dynamicObject1.set("qeug_notaxtotalprice", qeug_notaxtotalprice);
|
||||
|
@ -89,7 +94,7 @@ public class CalculationQuotaListOpPlugin extends AbstractOperationServicePlugIn
|
|||
qeug_taxtotalprice = qty.multiply(qeug_taxprice);
|
||||
dynamicObject1.set("qeug_taxtotalprice", qeug_taxtotalprice);
|
||||
}else if(noTaxPrice && !TaxPrice && taxRate && !Tax){
|
||||
qeug_taxprice = qeug_exclusiveprice.divide(BigDecimal.ONE.add(qeug_taxamount), 2, RoundingMode.HALF_UP);
|
||||
qeug_taxprice = qeug_exclusiveprice.multiply(BigDecimal.ONE.add(qeug_taxrate));
|
||||
dynamicObject1.set("qeug_taxprice",qeug_taxprice);
|
||||
qeug_notaxtotalprice = qty.multiply(qeug_exclusiveprice);
|
||||
dynamicObject1.set("qeug_notaxtotalprice", qeug_notaxtotalprice);
|
||||
|
@ -132,4 +137,15 @@ public class CalculationQuotaListOpPlugin extends AbstractOperationServicePlugIn
|
|||
private boolean returnComperZero(BigDecimal bigDecimal){
|
||||
return BigDecimal.ZERO.compareTo(bigDecimal) == -1;
|
||||
}
|
||||
|
||||
private BigDecimal returnRate(BigDecimal bigDecimal){
|
||||
if(bigDecimal==null){
|
||||
return BigDecimal.ZERO;
|
||||
}
|
||||
if(BigDecimal.ONE.compareTo(bigDecimal) <= 0){
|
||||
return bigDecimal.divide(new BigDecimal(100));
|
||||
}else{
|
||||
return bigDecimal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue