采购订单-现返货返分摊到明细
This commit is contained in:
commit
60cc77ae80
|
@ -0,0 +1,48 @@
|
|||
package tqq9.lc123.cloud.app.plugin.form;
|
||||
|
||||
import kd.bos.bill.AbstractBillPlugIn;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
|
||||
/**
|
||||
* 采购订单
|
||||
* 现返、货返金额分摊
|
||||
*/
|
||||
public class PuroderBillShareRefundPlugin extends AbstractBillPlugIn {
|
||||
|
||||
|
||||
@Override
|
||||
public void propertyChanged(PropertyChangedArgs e) {
|
||||
super.propertyChanged(e);
|
||||
String name = e.getProperty().getName();
|
||||
DynamicObject dataEntity = this.getModel().getDataEntity(true);
|
||||
if("tqq9_hsxfsyje".equals(name)){
|
||||
//含税现返使用金额
|
||||
BigDecimal tqq9_hsxfsyje = dataEntity.getBigDecimal(name);
|
||||
if(tqq9_hsxfsyje.compareTo(BigDecimal.ZERO) > 0){
|
||||
BigDecimal totalallamount = dataEntity.getBigDecimal("totalallamount");//单头价税合计
|
||||
DynamicObjectCollection billentries = dataEntity.getDynamicObjectCollection("billentry");
|
||||
if(billentries != null && billentries.size() > 0){
|
||||
BigDecimal remainRefundAmt = totalallamount;//拆分后剩余的金额
|
||||
for (int i = 0; i <= billentries.size() - 1; i++) {
|
||||
DynamicObject billentry = billentries.get(i);
|
||||
if(i == billentries.size() - 1){
|
||||
billentry.set("tqq9_xfamount", remainRefundAmt);//明细现返使用金额
|
||||
}else{
|
||||
BigDecimal amountandtax = billentry.getBigDecimal("amountandtax");//明细价税合计
|
||||
BigDecimal rate = amountandtax.divide(totalallamount, 2, RoundingMode.HALF_UP);//分录行含税金额比例
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if("tqq9_hshfsyje".equals(name)){
|
||||
//含税货返使用金额
|
||||
BigDecimal tqq9_hshfsyje = dataEntity.getBigDecimal(name);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue