From b5e489c5857982301dfe0e24dd3691a8e1497fba Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Sun, 4 Jan 2026 17:15:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E5=85=A5=E8=B4=A2=E5=8A=A1=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E5=8D=95=E4=BC=98=E5=8C=96=E6=94=AF=E5=87=BA=E5=90=88?= =?UTF-8?q?=E5=90=8C=E7=BB=93=E7=AE=97=E5=B7=B2=E5=86=B2=E9=94=80=E9=87=91?= =?UTF-8?q?=E9=A2=9D=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/InContractFinaceConfirmePlugin.java | 38 +++++++++++++++++++ .../operate/FinaceConfirmRevWriteAmtOp.java | 20 +++++++++- 2 files changed, 57 insertions(+), 1 deletion(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java index 6ffa113..d93f955 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java @@ -157,6 +157,23 @@ public class InContractFinaceConfirmePlugin extends AbstractBillPlugIn implement } else if (StringUtils.equals(name, "zcgj_bolttype")) { //冲销类型 Object newValue = changeData.getNewValue();//新值 + if ("30".equals(newValue)) { + //无冲销 + this.getView().setVisible(false, "zcgj_advconap21");//隐藏冲销支出结算分录 + this.getView().setVisible(false, "zcgj_advconap211");//隐藏冲销履约记录分录 + } else if ("10".equals(newValue)) { + //冲销合同履约 + this.getView().setVisible(true, "zcgj_advconap211");//显示冲销履约记录分录 + this.getView().setVisible(false, "zcgj_advconap21");//隐藏冲销支出结算分录 + } else if ("20".equals(newValue)) { + //冲销支出结算 + this.getView().setVisible(false, "zcgj_advconap211");//隐藏冲销履约记录分录 + this.getView().setVisible(true, "zcgj_advconap21");//显示冲销支出结算分录 + } else if ("40".equals(newValue)) { + //冲销合同履约&&冲销支出结算 + this.getView().setVisible(true, "zcgj_advconap211");//显示冲销履约记录分录 + this.getView().setVisible(true, "zcgj_advconap21");//显示冲销支出结算分录 + } DynamicObjectCollection zcgj_expensereversal = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_expensereversal");//冲销支出结算分录 DynamicObjectCollection zcgj_performrec = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_performrec");//冲销履约记录分录 if (newValue == null || newValue.equals("30")) { @@ -242,6 +259,8 @@ public class InContractFinaceConfirmePlugin extends AbstractBillPlugIn implement this.addItemClickListeners("zcgj_entrytoolbar1111"); EntryGrid entryGrid = this.getView().getControl("zcgj_performrec");//冲销履约记录 entryGrid.addHyperClickListener(this); + EntryGrid zcgj_expensereversal = this.getView().getControl("zcgj_expensereversal");//冲销支出结算 + zcgj_expensereversal.addHyperClickListener(this); } @Override @@ -285,6 +304,25 @@ public class InContractFinaceConfirmePlugin extends AbstractBillPlugIn implement listShowParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage); dailyLoanBillDataIds.forEach(listShowParameter::addLinkQueryPkId); this.getView().showForm(listShowParameter); + } else if (StringUtils.equals(fieldName, "zcgj_alreadyboltamount")) { + //冲销支出结算-已冲销金额 + List dailyLoanBillDataIds = new ArrayList<>(); + int rowIndex = hyperLinkClickEvent.getRowIndex(); + DynamicObjectCollection expenseReversalCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_expensereversal");//冲销支出结算 + DynamicObject expenseReversal = expenseReversalCollection.get(rowIndex); + long zcgj_expensereversaid = expenseReversal.getLong("zcgj_expensereversaid"); + QFilter filter = new QFilter("zcgj_expensereversal.zcgj_expensereversaid", QCP.equals, zcgj_expensereversaid); + filter.and(new QFilter("billstatus", QCP.equals, "C")); + DynamicObjectCollection zcgj_ec_in_finaceconfirms = QueryServiceHelper.query("zcgj_ec_in_finaceconfirm", "id", new QFilter[]{filter}); + for (DynamicObject zcgj_ec_in_finaceconfirm : zcgj_ec_in_finaceconfirms) { + dailyLoanBillDataIds.add((Long) zcgj_ec_in_finaceconfirm.get("id")); + } + ListShowParameter listShowParameter = new ListShowParameter(); + listShowParameter.setFormId("bos_list"); //列表界面 + listShowParameter.setBillFormId("zcgj_ec_in_finaceconfirm"); //单据的标识 + listShowParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage); + dailyLoanBillDataIds.forEach(listShowParameter::addLinkQueryPkId); + this.getView().showForm(listShowParameter); } } diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/FinaceConfirmRevWriteAmtOp.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/FinaceConfirmRevWriteAmtOp.java index 56e2dad..f88c313 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/FinaceConfirmRevWriteAmtOp.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/FinaceConfirmRevWriteAmtOp.java @@ -15,7 +15,7 @@ import java.util.ArrayList; import java.util.List; /** - * 收入财务确认单反写收入合同履约记录已冲销金额 + * 收入财务确认单反写收入合同履约记录已冲销金额和支出合同结算已冲销金额 */ public class FinaceConfirmRevWriteAmtOp extends AbstractOperationServicePlugIn { @@ -24,6 +24,9 @@ public class FinaceConfirmRevWriteAmtOp extends AbstractOperationServicePlugIn { e.getFieldKeys().add("zcgj_performrec");//冲销履约记录分录 e.getFieldKeys().add("zcgj_performrec.zcgj_thisreversalamount");//本次冲销金额 e.getFieldKeys().add("zcgj_performrec.zcgj_performrecid");//来源单据id-收入合同履约记录id + e.getFieldKeys().add("zcgj_expensereversal");//冲销支出结算分录 + e.getFieldKeys().add("zcgj_expensereversal.zcgj_boltamount");//本次冲销金额 + e.getFieldKeys().add("zcgj_expensereversal.zcgj_expensereversaid");//来源单据id-支出合同结算id e.getFieldKeys().add("zcgj_bolttype");//冲销类型 } @@ -63,6 +66,21 @@ public class FinaceConfirmRevWriteAmtOp extends AbstractOperationServicePlugIn { } } else if ("20".equals(zcgj_bolttype)) { //冲销业主支出结算 + DynamicObjectCollection expenseReversalCollection = dataEntity.getDynamicObjectCollection("zcgj_expensereversal");//冲销支出结算分录 + for (DynamicObject expenseReversal : expenseReversalCollection) { + BigDecimal zcgj_boltamount = expenseReversal.getBigDecimal("zcgj_boltamount");//本次冲销金额 + long zcgj_expensereversaid = expenseReversal.getLong("zcgj_expensereversaid");//来源单据id-支出合同结算id + QFilter[] qFilters = new QFilter[]{new QFilter("id", QCP.equals, zcgj_expensereversaid)}; + DynamicObject ec_out_contract_settle = BusinessDataServiceHelper.loadSingle("ec_out_contract_settle", "id,zcgj_taxinclcontractrev", qFilters);//支出合同结算 + BigDecimal zcgj_taxinclcontractrev = ec_out_contract_settle.getBigDecimal("zcgj_taxinclcontractrev");//含税合同金额(已冲销) + if (isAudit) { + zcgj_taxinclcontractrev = zcgj_taxinclcontractrev.add(zcgj_boltamount); + } else { + zcgj_taxinclcontractrev = zcgj_taxinclcontractrev.subtract(zcgj_boltamount); + } + ec_out_contract_settle.set("zcgj_taxinclcontractrev", zcgj_taxinclcontractrev);//含税履约金额(已冲销) + SaveServiceHelper.save(new DynamicObject[]{ec_out_contract_settle}); + } } } }