From b2f0702195d4f16b487fd9d58f3c5e8fd853e7a0 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Mon, 13 Oct 2025 13:55:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=8D=95=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=BF=90=E8=B4=B9=E5=92=8C=E8=BF=90=E8=B4=B9=E7=A8=8E=E9=A2=9D?= =?UTF-8?q?=E5=8F=98=E5=8C=96=E5=90=8E=E6=94=B9=E5=8F=98=E5=AF=B9=E5=BA=94?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/MaterialInbPurchaseApplyPlugin.java | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java index f53076d..b4092a1 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java @@ -8,6 +8,7 @@ import kd.bos.dataentity.resource.ResManager; import kd.bos.entity.datamodel.events.ChangeData; import kd.bos.entity.datamodel.events.PropertyChangedArgs; import kd.bos.form.*; +import kd.bos.form.control.EntryGrid; import kd.bos.form.control.events.ItemClickEvent; import kd.bos.form.events.BeforeDoOperationEventArgs; import kd.bos.form.events.ClosedCallBackEvent; @@ -36,6 +37,7 @@ import java.util.*; * 5:申请人部门赋值逻辑 * 6:合同编码字段赋值 * 7:费用汇总分录新增赋值逻辑 + * 8:运费和运费税额变化后改变对应字段逻辑 */ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener { @Override @@ -142,6 +144,54 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement } } setNewExpenseSummary(); + } else if ("zcgj_transtaxamount".equals(key)) { + // 入库单明细-运费税额 + EntryGrid entryGrid = (EntryGrid) this.getControl("entryentity"); + + BigDecimal totalFreightAmount = entryGrid.getSum("ftransamount"); // 入库单明细-运费总金额 + BigDecimal totalFreightTaxAmount = entryGrid.getSum("zcgj_transtaxamount"); // 入库单明细-运费税额总和 + BigDecimal totalNoTaxAmount = entryGrid.getSum("notaxamount"); // 入库单明细-不含税金额总和 + BigDecimal totalTaxAmount = entryGrid.getSum("taxamount"); // 入库单明细-税额总和 + + BigDecimal calculatedTotalTax = totalTaxAmount.add(totalFreightTaxAmount); // 总税额 = 原税额 + 运费税额 + BigDecimal calculatedTaxIncludedFreight = totalFreightTaxAmount.add(totalFreightAmount); // 含税运费 = 运费税额 + 运费 + BigDecimal calculatedTotalTaxIncluded = totalFreightAmount.add(totalFreightTaxAmount).add(totalNoTaxAmount).add(totalTaxAmount); // 入库含税总金额 + + this.getModel().beginInit(); + this.getModel().setValue("totaltaxamount", calculatedTotalTax); // 总税额 + this.getModel().setValue("transtaxamount", totalFreightTaxAmount); // 运费总税额 + this.getModel().setValue("transoftaxamount", calculatedTaxIncludedFreight); // 含税总运费 + this.getModel().setValue("totaloftaxamount", calculatedTotalTaxIncluded); // 入库含税总金额 + + this.getView().updateView("totaltaxamount"); + this.getView().updateView("transtaxamount"); + this.getView().updateView("transoftaxamount"); + this.getView().updateView("totaloftaxamount"); + this.getModel().endInit(); + } else if ("ftransamount".equals(key)) { + // 入库单明细-运费 + EntryGrid entryGrid = (EntryGrid) this.getControl("entryentity"); + + BigDecimal totalFreightAmount = entryGrid.getSum("ftransamount"); // 入库单明细-运费总金额 + BigDecimal totalFreightTaxAmount = entryGrid.getSum("zcgj_transtaxamount"); // 入库单明细-运费税额总和 + BigDecimal totalNoTaxAmount = entryGrid.getSum("notaxamount"); // 入库单明细-不含税金额总和 + BigDecimal totalTaxAmount = entryGrid.getSum("taxamount"); // 入库单明细-税额总和 + + BigDecimal calculatedTotalAmount = totalNoTaxAmount.add(totalFreightAmount); // 入库总金额 = 不含税金额 + 运费 + BigDecimal calculatedTaxIncludedFreight = totalFreightTaxAmount.add(totalFreightAmount); // 含税运费 = 运费税额 + 运费 + BigDecimal calculatedTotalTaxIncluded = totalFreightAmount.add(totalFreightTaxAmount).add(totalNoTaxAmount).add(totalTaxAmount); // 入库含税总金额 + + this.getModel().beginInit(); + this.getModel().setValue("transamount", totalFreightAmount); // 总运费 + this.getModel().setValue("totalamount", calculatedTotalAmount); // 入库总金额 + this.getModel().setValue("transoftaxamount", calculatedTaxIncludedFreight); // 含税总运费 + this.getModel().setValue("totaloftaxamount", calculatedTotalTaxIncluded); // 入库含税总金额 + + this.getView().updateView("transamount"); + this.getView().updateView("totalamount"); + this.getView().updateView("transoftaxamount"); + this.getView().updateView("totaloftaxamount"); + this.getModel().endInit(); } }