From 272f4a9eff53028bc620f5a678dad53d3634e7ef Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Wed, 12 Nov 2025 15:07:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E5=87=BA=E5=90=88=E5=90=8C=E7=BB=93?= =?UTF-8?q?=E7=AE=97=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/form/CostAllocatorBillPlugin.java | 74 ++++++++++--------- .../operate/OutContractSettleOpExt.java | 12 ++- 2 files changed, 46 insertions(+), 40 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/CostAllocatorBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/CostAllocatorBillPlugin.java index e5c8e30..903c607 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/CostAllocatorBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/CostAllocatorBillPlugin.java @@ -107,24 +107,6 @@ public class CostAllocatorBillPlugin extends AbstractFormPlugin { QFilter qFilter = new QFilter("billno", QCP.equals, matInNumber); DynamicObject ecma_materialInBill = BusinessDataServiceHelper.loadSingle("ecma_materialinbill", new QFilter[]{qFilter});//入库单 if (ecma_materialInBill != null) { - DynamicObjectCollection entryEntityCollection = ecma_materialInBill.getDynamicObjectCollection("entryentity");//入库单分录 - for (DynamicObject entryEntity : entryEntityCollection) { - DynamicObject newProcessAllocEntity = new DynamicObject(processAllocEntityType); - newProcessAllocEntity.set("zcgj_pa_amount", entryEntity.get("oftaxamount"));//价税合计-含税金额 - newProcessAllocEntity.set("zcgj_amountnotax", entryEntity.get("notaxamount"));//不含税金额-金额 - newProcessAllocEntity.set("zcgj_rateval", entryEntity.getDynamicObject("entrytaxrate").get("taxrate"));//税率(%)-税率名称(值 - newProcessAllocEntity.set("zcgj_taxamt", entryEntity.get("taxamount"));//税额-税额 - - DynamicObject expenseItem = null; - DynamicObject material = entryEntity.getDynamicObject("material");//入库单分录-资源编码 - if (material != null) { - DynamicObject resource = material.getDynamicObject("resource");//入库单分录-资源编码-清单分类 - expenseItem = getExpenseItemByResource(resource); - } - newProcessAllocEntity.set("zcgj_expenseitem", expenseItem);//费用项目-对应费用项目 - - processAllocEntityCollection.add(newProcessAllocEntity); - } if (zcgj_transset) { DynamicObjectCollection expensesummaryCollection = ecma_materialInBill.getDynamicObjectCollection("zcgj_expensesummary");//费用汇总 for (DynamicObject entryEntity : expensesummaryCollection) { @@ -139,6 +121,25 @@ public class CostAllocatorBillPlugin extends AbstractFormPlugin { newProcessAllocEntity.set("zcgj_taxamt", entryEntity.get("zcgj_taxamt"));//税额-税额 newProcessAllocEntity.set("zcgj_expenseitem", entryEntity.get("zcgj_expenseitem"));//费用项目-费用项目 + processAllocEntityCollection.add(newProcessAllocEntity); + } + } else { + DynamicObjectCollection entryEntityCollection = ecma_materialInBill.getDynamicObjectCollection("entryentity");//入库单分录 + for (DynamicObject entryEntity : entryEntityCollection) { + DynamicObject newProcessAllocEntity = new DynamicObject(processAllocEntityType); + newProcessAllocEntity.set("zcgj_pa_amount", entryEntity.get("oftaxamount"));//价税合计-含税金额 + newProcessAllocEntity.set("zcgj_amountnotax", entryEntity.get("notaxamount"));//不含税金额-金额 + newProcessAllocEntity.set("zcgj_rateval", entryEntity.getDynamicObject("entrytaxrate").get("taxrate"));//税率(%)-税率名称(值 + newProcessAllocEntity.set("zcgj_taxamt", entryEntity.get("taxamount"));//税额-税额 + + DynamicObject expenseItem = null; + DynamicObject material = entryEntity.getDynamicObject("material");//入库单分录-资源编码 + if (material != null) { + DynamicObject resource = material.getDynamicObject("resource");//入库单分录-资源编码-清单分类 + expenseItem = getExpenseItemByResource(resource); + } + newProcessAllocEntity.set("zcgj_expenseitem", expenseItem);//费用项目-对应费用项目 + processAllocEntityCollection.add(newProcessAllocEntity); } } @@ -246,24 +247,6 @@ public class CostAllocatorBillPlugin extends AbstractFormPlugin { QFilter qFilter = new QFilter("billno", QCP.equals, matInNumber); DynamicObject ecma_materialInBill = BusinessDataServiceHelper.loadSingle("ecma_materialinbill", new QFilter[]{qFilter});//入库单 if (ecma_materialInBill != null) { - DynamicObjectCollection entryEntityCollection = ecma_materialInBill.getDynamicObjectCollection("entryentity");//入库单分录 - for (DynamicObject entryEntity : entryEntityCollection) { - DynamicObject newProcessAllocEntity = new DynamicObject(processAllocEntityType); - newProcessAllocEntity.set("zcgj_pa_amount", entryEntity.get("oftaxamount"));//价税合计-含税金额 - newProcessAllocEntity.set("zcgj_amountnotax", entryEntity.get("notaxamount"));//不含税金额-金额 - newProcessAllocEntity.set("zcgj_rateval", entryEntity.getDynamicObject("entrytaxrate").get("taxrate"));//税率(%)-税率名称(值 - newProcessAllocEntity.set("zcgj_taxamt", entryEntity.get("taxamount"));//税额-税额 - - DynamicObject expenseItem = null; - DynamicObject material = entryEntity.getDynamicObject("material");//入库单分录-资源编码 - if (material != null) { - DynamicObject resource = material.getDynamicObject("resource");//入库单分录-资源编码-清单分类 - expenseItem = getExpenseItemByResource(resource); - } - newProcessAllocEntity.set("zcgj_expenseitem", expenseItem);//费用项目-对应费用项目 - - processAllocEntityCollection.add(newProcessAllocEntity); - } if (zcgj_transset) { DynamicObjectCollection expensesummaryCollection = ecma_materialInBill.getDynamicObjectCollection("zcgj_expensesummary");//费用汇总 for (DynamicObject entryEntity : expensesummaryCollection) { @@ -278,6 +261,25 @@ public class CostAllocatorBillPlugin extends AbstractFormPlugin { newProcessAllocEntity.set("zcgj_taxamt", entryEntity.get("zcgj_taxamt"));//税额-税额 newProcessAllocEntity.set("zcgj_expenseitem", entryEntity.get("zcgj_expenseitem"));//费用项目-费用项目 + processAllocEntityCollection.add(newProcessAllocEntity); + } + } else { + DynamicObjectCollection entryEntityCollection = ecma_materialInBill.getDynamicObjectCollection("entryentity");//入库单分录 + for (DynamicObject entryEntity : entryEntityCollection) { + DynamicObject newProcessAllocEntity = new DynamicObject(processAllocEntityType); + newProcessAllocEntity.set("zcgj_pa_amount", entryEntity.get("oftaxamount"));//价税合计-含税金额 + newProcessAllocEntity.set("zcgj_amountnotax", entryEntity.get("notaxamount"));//不含税金额-金额 + newProcessAllocEntity.set("zcgj_rateval", entryEntity.getDynamicObject("entrytaxrate").get("taxrate"));//税率(%)-税率名称(值 + newProcessAllocEntity.set("zcgj_taxamt", entryEntity.get("taxamount"));//税额-税额 + + DynamicObject expenseItem = null; + DynamicObject material = entryEntity.getDynamicObject("material");//入库单分录-资源编码 + if (material != null) { + DynamicObject resource = material.getDynamicObject("resource");//入库单分录-资源编码-清单分类 + expenseItem = getExpenseItemByResource(resource); + } + newProcessAllocEntity.set("zcgj_expenseitem", expenseItem);//费用项目-对应费用项目 + processAllocEntityCollection.add(newProcessAllocEntity); } } diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettleOpExt.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettleOpExt.java index a80319d..829ff19 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettleOpExt.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettleOpExt.java @@ -34,6 +34,9 @@ import kd.ec.contract.opplugin.validator.OutContractSettleReferValidator; import kd.ec.contract.opplugin.validator.OutContractSettleTimeValidator; import kd.ec.contract.opplugin.validator.OutContractSettleValidator; +/** + * 支出合同结算审核反审核系统插件二开 + */ public class OutContractSettleOpExt extends AbstractContractSettleOp { public OutContractSettleOpExt() { } @@ -122,6 +125,7 @@ public class OutContractSettleOpExt extends AbstractContractSettleOp { boolean isSettleByMatIn = dataArr[i].getBoolean("issettlebymatin"); boolean isSettleByReconciliation = dataArr[i].getBoolean("issettlebyreconc"); boolean isSettleByEquipment = dataArr[i].getBoolean("iseqsettle"); + boolean zcgj_transset = dataArr[i].getBoolean("zcgj_transset");//按入库运费结算//二开添加 Set materialInBillIds = new HashSet(16); Set reconciliationBillIds = new HashSet(16); Set equipmentBillIds = new HashSet(16); @@ -151,7 +155,8 @@ public class OutContractSettleOpExt extends AbstractContractSettleOp { materialInBillIds.addAll(matInBillIdList); } - if (isSettleByMatIn) { +// if (isSettleByMatIn) {//系统代码 + if (isSettleByMatIn || zcgj_transset) {//二开修改 dynamicObjects = dataArr[i].getDynamicObjectCollection("materialinentry"); for (j = 0; j < dynamicObjects.size(); ++j) { @@ -236,7 +241,6 @@ public class OutContractSettleOpExt extends AbstractContractSettleOp { bill.set("settlestatus", "0"); }*///系统代码 //二开修改↓ - boolean zcgj_transset = dataArr[i].getBoolean("zcgj_transset");//按入库运费结算 if (StringUtils.equals("audit", operationKey)) { if (zcgj_transset) { bill.set("zcgj_settlestatus", "1");//运费已结算 @@ -304,7 +308,7 @@ public class OutContractSettleOpExt extends AbstractContractSettleOp { public void afterExecuteOperationTransaction(AfterOperationArgs e) { super.afterExecuteOperationTransaction(e); - String operation = e.getOperationKey(); +/* String operation = e.getOperationKey(); DynamicObject[] settleBills = e.getDataEntities(); List settleBillList = Arrays.asList(settleBills); List listingEntrys = (List) settleBillList.stream().flatMap((settleBill) -> { @@ -318,7 +322,7 @@ public class OutContractSettleOpExt extends AbstractContractSettleOp { this.updateListing(listingEntrys, true); } else if ("unaudit".equals(operation)) { this.updateListing(listingEntrys, false); - } + }*///二开注释掉的 }