【采购订单】分录的优惠金额分摊,分录增加计算返利和不计算返利按钮

This commit is contained in:
tanfengling@x-ri.com 2025-07-18 17:16:36 +08:00
parent 23f573ca41
commit 940d77c017
2 changed files with 68 additions and 0 deletions

View File

@ -70,5 +70,30 @@ public class PuroderBillShareRefundPlugin extends AbstractBillPlugIn {
}
this.getView().updateView("billentry");
}
if("tqq9_disamount".equals(name)){
//优惠金额
BigDecimal tqq9_hshfsyje = dataEntity.getBigDecimal(name);//单头优惠金额
if(tqq9_hshfsyje.compareTo(BigDecimal.ZERO) > 0){
BigDecimal totalallamount = dataEntity.getBigDecimal("totalallamount");//单头价税合计
DynamicObjectCollection billentries = dataEntity.getDynamicObjectCollection("billentry");
if(billentries != null && billentries.size() > 0){
BigDecimal remainRefundAmt = tqq9_hshfsyje;//拆分后剩余的金额
for (int i = 0; i <= billentries.size() - 1; i++) {
DynamicObject billentry = billentries.get(i);
if(i == billentries.size() - 1){
//如果是最后一行
this.getModel().setValue("tqq9_hfamount", remainRefundAmt, i);//明细货返使用金额
}else{
//如果不是最后一行
BigDecimal amountandtax = billentry.getBigDecimal("amountandtax");//明细价税合计
BigDecimal tqq9_hfamount = tqq9_hshfsyje.multiply(amountandtax).divide(totalallamount, 2, RoundingMode.HALF_UP);//分录行含税金额比例
this.getModel().setValue("tqq9_hfamount", tqq9_hfamount, i);//明细货返使用金额
remainRefundAmt = remainRefundAmt.subtract(tqq9_hfamount);
}
}
}
}
this.getView().updateView("billentry");
}
}
}

View File

@ -0,0 +1,43 @@
package tqq9.lc123.cloud.app.plugin.form.pm;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.form.control.events.ItemClickEvent;
import kd.bos.servicehelper.operation.SaveServiceHelper;
import java.util.EventObject;
/**
* 采购订单界面插件
* 明细计算返利不计算返利两个按钮的逻辑
*/
public class PurorderEntryBtnPlugin extends AbstractBillPlugIn {
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
this.addItemClickListeners("tbmainentry");
}
@Override
public void itemClick(ItemClickEvent evt) {
super.itemClick(evt);
String itemKey = evt.getItemKey();
DynamicObject dataEntity = this.getModel().getDataEntity(true);
if("tqq9_calrefundbtn".equals(itemKey)){
//分录计算返利按钮
DynamicObjectCollection billentries = dataEntity.getDynamicObjectCollection("billentry");
for (int i = 0; i < billentries.size(); i++) {
this.getModel().setValue("tqq9_calrefund", true, i);
}
}else if("tqq9_nocalrefundbtn".equals(itemKey)){
DynamicObjectCollection billentries = dataEntity.getDynamicObjectCollection("billentry");
for (int i = 0; i < billentries.size(); i++) {
this.getModel().setValue("tqq9_calrefund", false, i);
}
}
// this.getView().updateView("billentry");
}
}