清账明细单反写清账单已认领金额按照凭证类型DZ来判断
This commit is contained in:
parent
38e2721ee4
commit
488b84fb88
|
|
@ -188,37 +188,6 @@ public class ClearDetailBillOperation extends AbstractOperationServicePlugIn imp
|
|||
return "ok";
|
||||
}
|
||||
|
||||
private boolean checkAmount(DynamicObject prinfo){
|
||||
//【未清金额】+【账扣金额】+【尾差金额】≥【本次核销金额合计】
|
||||
BigDecimal billtotal = BigDecimal.ZERO;
|
||||
BigDecimal a1 = prinfo.getBigDecimal("shjh_unclaimamount");//未清金额
|
||||
BigDecimal a2 = prinfo.getBigDecimal("shjh_deductionamount");//账扣金额
|
||||
BigDecimal a3 = prinfo.getBigDecimal("shjh_diffamount");//尾差金额
|
||||
if(a1 != null){
|
||||
billtotal = billtotal.add(a1);
|
||||
}
|
||||
if(a2 != null){
|
||||
billtotal = billtotal.add(a2);
|
||||
}
|
||||
if(a3 != null){
|
||||
billtotal = billtotal.add(a3);
|
||||
}
|
||||
//获取分录本次核销金额合计
|
||||
BigDecimal entrytotal = BigDecimal.ZERO;
|
||||
DynamicObjectCollection doc = prinfo.getDynamicObjectCollection("shjh_details");//获取分录
|
||||
for (int i = 0; i < doc.size(); i++) {
|
||||
if(doc.get(i).getBigDecimal("shjh_e_cursettle") != null){
|
||||
entrytotal = entrytotal.add(doc.get(i).getBigDecimal("shjh_e_cursettle"));//累计分录本次核销金额
|
||||
}
|
||||
}
|
||||
//本次核销金额合计-账扣-尾差 >=0 才允许提交
|
||||
if(billtotal.compareTo(entrytotal) >= 0 && entrytotal.compareTo(JhzjUtils.addTwoAmount(a2,a3)) >= 0){
|
||||
//校验通过返回true
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 操作执行完毕,事务提交之后,触发此事件;
|
||||
* 插件可以在此事件,处理操作后续事情,与操作事务无关
|
||||
|
|
@ -335,12 +304,12 @@ public class ClearDetailBillOperation extends AbstractOperationServicePlugIn imp
|
|||
//获取清账单收款金额
|
||||
BigDecimal q3 = clearBillInfo.getBigDecimal("shjh_receamount");
|
||||
//获取清账单的本次核销金额合计
|
||||
BigDecimal entrytotal = BigDecimal.ZERO;
|
||||
// BigDecimal entrytotal = BigDecimal.ZERO;
|
||||
BigDecimal entrynegatetotal = BigDecimal.ZERO;//获取清账单中对应的已认领收款金额
|
||||
for (int i = 0; i < cleardoc.size(); i++) {
|
||||
clearEntryInfo = cleardoc.get(i);
|
||||
entrytotal = entrytotal.add(clearEntryInfo.getBigDecimal("shjh_e_cursettle"));
|
||||
if(clearEntryInfo.getBigDecimal("shjh_e_cursettle").signum() == -1){
|
||||
// entrytotal = entrytotal.add(clearEntryInfo.getBigDecimal("shjh_e_cursettle"));
|
||||
if(isDZvourcherType(clearEntryInfo.getString("shjh_e_pzlx"))){
|
||||
entrynegatetotal = entrynegatetotal.add(clearEntryInfo.getBigDecimal("shjh_e_cursettle"));
|
||||
}
|
||||
}
|
||||
|
|
@ -350,7 +319,7 @@ public class ClearDetailBillOperation extends AbstractOperationServicePlugIn imp
|
|||
// }
|
||||
// //已认领收款金额=本次核销金额合计-账扣-尾差
|
||||
// clearBillInfo.set("shjh_claimamount", entrytotal.subtract(q1).subtract(q2));
|
||||
//已认领收款金额=分录负数金额合计的绝对值
|
||||
//已认领收款金额=分录凭证类型DZ负数金额合计的绝对值
|
||||
clearBillInfo.set("shjh_claimamount", entrynegatetotal.abs());
|
||||
//未认领收款金额=收款金额-已认领收款金额
|
||||
clearBillInfo.set("shjh_unclaimamount", q3.subtract(clearBillInfo.getBigDecimal("shjh_claimamount")));
|
||||
|
|
@ -395,7 +364,7 @@ public class ClearDetailBillOperation extends AbstractOperationServicePlugIn imp
|
|||
clearEntryInfo = cleardoc.get(i);
|
||||
if(idsets.contains(clearEntryInfo.getString("shjh_e_detailentryid"))){
|
||||
cleardoc.remove(clearEntryInfo);
|
||||
}else if(clearEntryInfo.getBigDecimal("shjh_e_cursettle").signum() == -1){
|
||||
}else if(isDZvourcherType(clearEntryInfo.getString("shjh_e_pzlx"))){
|
||||
entrynegatetotal = entrynegatetotal.add(clearEntryInfo.getBigDecimal("shjh_e_cursettle"));
|
||||
}
|
||||
// else{
|
||||
|
|
@ -412,7 +381,7 @@ public class ClearDetailBillOperation extends AbstractOperationServicePlugIn imp
|
|||
clearBillInfo.set("shjh_diffamount",q2);
|
||||
//已认领收款金额=本次核销金额合计-账扣-尾差
|
||||
// clearBillInfo.set("shjh_claimamount", entrytotal.subtract(q1).subtract(q2));
|
||||
//已认领收款金额=分录负数金额合计的绝对值
|
||||
//已认领收款金额=分录凭证类型DZ负数金额合计的绝对值
|
||||
clearBillInfo.set("shjh_claimamount", entrynegatetotal.abs());
|
||||
//未认领收款金额=收款金额-已认领收款金额
|
||||
clearBillInfo.set("shjh_unclaimamount", JhzjUtils.reduceTwoAmount(clearBillInfo.getBigDecimal("shjh_receamount"),
|
||||
|
|
|
|||
Loading…
Reference in New Issue