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 1/2] =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=8D=95=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=8F=91=E7=A5=A8=E9=80=BB=E8=BE=91=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=BF=87=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")); } From bbcec0604af838000506f6fb59c6d83178920097 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Wed, 11 Jun 2025 16:14:23 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=8D=95=E4=BA=8B?= =?UTF-8?q?=E7=89=A9=E7=B1=BB=E5=9E=8B=E9=BB=98=E8=AE=A4=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?+=E6=98=AF=E5=90=A6=E4=B8=BB=E6=9D=90=E9=9A=90=E6=98=BE?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...aterialInbFinaceConfirmeInvoicePlugin.java | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) 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 54a67f3..ff98bc7 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 @@ -40,11 +40,40 @@ import java.util.*; import java.util.stream.Collectors; /** - * 入库单发票导入插件 + * 入库单发票导入插件+事物类型默认为空+是否主材隐显 */ public class MaterialInbFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn implements Plugin { private static final Log log = LogFactory.getLog(MaterialInbFinaceConfirmeInvoicePlugin.class); + @Override + public void afterCreateNewData(EventObject e) { + super.afterCreateNewData(e); + this.getModel().setValue("transtype", null);//事务类型默认为空 + } + + @Override + public void propertyChanged(PropertyChangedArgs e) { + super.propertyChanged(e); + String key = e.getProperty().getName(); + if (key.equals("transtype")) { + //事务类型 + ChangeData[] changeSet = e.getChangeSet(); + ChangeData changeData = changeSet[0]; + DynamicObject transtype = (DynamicObject) changeData.getNewValue();//新值 + if (transtype != null) { + String number = transtype.getString("number"); + if (number.equals("jrjc")) { + //事务类型为即入即出时隐藏是否主材 + this.getView().setVisible(false, "ismainmaterial");//是否主材 + } else { + this.getView().setVisible(true, "ismainmaterial");//是否主材 + } + } else { + this.getView().setVisible(true, "ismainmaterial");//是否主材 + } + } + } + @Override public void beforeDoOperation(BeforeDoOperationEventArgs args) { super.beforeDoOperation(args);