From 70570de6604781d22bcd2682eaf0db590f80a732 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Wed, 11 Jun 2025 10:48:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=8D=95=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=8F=91=E7=A5=A8=E9=80=BB=E8=BE=91=E6=B7=BB=E5=8A=A0=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...aterialInbFinaceConfirmeInvoicePlugin.java | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbFinaceConfirmeInvoicePlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbFinaceConfirmeInvoicePlugin.java index 3b88c07..54a67f3 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbFinaceConfirmeInvoicePlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbFinaceConfirmeInvoicePlugin.java @@ -99,17 +99,30 @@ public class MaterialInbFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn i filter.and(new QFilter("unapplyamount", ">", BigDecimal.ZERO)); QFilter filter1 = new QFilter("isclaimed", "=", true); filter1.and(new QFilter("billstatus", "=", "C")); -// DynamicObject contract = (DynamicObject) this.getModel().getValue("zcgj_contract"); -// if (contract != null) { -// long contractId = contract.getLong("id"); -// filter1.and(new QFilter("contract", "=", contractId)); - filter1.and(new QFilter("unapplyamount", ">", BigDecimal.ZERO)); - DynamicObjectCollection contInvEntryCol = this.getModel().getEntryEntity("zcgj_entryentity"); + DynamicObject contract = (DynamicObject) this.getModel().getValue("contract");//合同 + String matinsource = (String) this.getModel().getValue("matinsource");//入库来源 + if (contract != null && matinsource.equals("1")) { + //入库来源为合同清单且合同字段不为空时,使用合同过滤 + long contractId = contract.getLong("id"); + filter1.and(new QFilter("contract", "=", contractId)); + filter1.and(new QFilter("unapplyamount", ">", BigDecimal.ZERO)); + } else { + //入库来源不为合同时,根据项目过滤 + DynamicObject project = (DynamicObject) this.getModel().getValue("project");//项目 + if (project != null) { + DynamicObject ec_in_invoice = BusinessDataServiceHelper.loadSingle("ec_in_invoice", + new QFilter("project.billno", "=", project.getString("billno")).toArray());//进项发票登记 + if (ec_in_invoice != null) { + filter1.and(new QFilter("invoiceno", "=", ec_in_invoice.getString("invoiceno")));//发票号码 + } + } + } + DynamicObjectCollection contInvEntryCol = this.getModel().getEntryEntity("zcgj_entryentity");//发票分录 if (contInvEntryCol.size() > 0) { List selectedInvIds = new ArrayList(8); for (DynamicObject contInvEntryObj : contInvEntryCol) { - DynamicObject invoice = contInvEntryObj.getDynamicObject("zcgj_invoice"); + DynamicObject invoice = contInvEntryObj.getDynamicObject("zcgj_invoice");//发票号码 selectedInvIds.add(invoice.getLong("id")); }