From 6dc491c5cff186b45b26baa5b2645661f89c48a4 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Wed, 21 Jan 2026 17:24:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E5=85=A5=E5=90=88=E5=90=8C=E7=BB=93?= =?UTF-8?q?=E7=AE=97=E4=BC=98=E5=8C=96=E6=9C=9F=E9=97=B4=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E7=9A=84bug=E4=BF=AE=E5=A4=8D=E5=8F=8A?= =?UTF-8?q?=E5=85=B6=E4=BB=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/TripReqBillFlightMobPlugin.java | 4 ++ .../plugin/form/ContractSettleBillPlugin.java | 54 +++++++++++++++++-- .../OutContractSettleUnauditCheckOp.java | 6 ++- 3 files changed, 58 insertions(+), 6 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TripReqBillFlightMobPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TripReqBillFlightMobPlugin.java index 124589c..3b38156 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TripReqBillFlightMobPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TripReqBillFlightMobPlugin.java @@ -10,6 +10,10 @@ import kd.bos.servicehelper.QueryServiceHelper; import java.util.EventObject; +/** + * 出差申请单移动端表单插件 + * 说明:机票审批相关逻辑 + */ public class TripReqBillFlightMobPlugin extends AbstractBillPlugIn { @Override public void afterCopyData(EventObject e) { diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractSettleBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractSettleBillPlugin.java index f07ff26..da3b3eb 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractSettleBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractSettleBillPlugin.java @@ -41,11 +41,11 @@ public class ContractSettleBillPlugin extends ContractSettleCommonEditPlugin{ if (zcgjEnddate!=null){ Date nowdate = new Date(); int timeDays = PluginUtils.getTimeDays(zcgjEnddate, nowdate); - int endDays = Integer.parseInt(System.getProperty("contract.enddays")); -// int endDays = 100; - if (timeDays-endDays<=0){ - this.getView().showTipNotification("当前选择合同距离到期不足"+endDays+"天!"); - } +// int endDays = Integer.parseInt(System.getProperty("contract.enddays")); +//// int endDays = 100; +// if (timeDays-endDays<=0){ +// this.getView().showTipNotification("当前选择合同距离到期不足"+endDays+"天!"); +// } } } DynamicObject contract = (DynamicObject)changeData.getNewValue(); @@ -102,6 +102,50 @@ public class ContractSettleBillPlugin extends ContractSettleCommonEditPlugin{ } } }*/ + protected void periodChanged(ChangeData changeData) { + DynamicObject period = (DynamicObject) changeData.getNewValue(); + this.getModel().setValue("begindate", period == null ? null : period.getDate("begindate")); + this.getModel().setValue("enddate", period == null ? null : period.getDate("enddate")); + this.reloadMeasureDetails(); + this.reloadMaterialOutDetails(); + //二开添加↓ + DynamicObjectCollection itemEntryCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("itementry");//支付项分录 + // 存储第一行和第二行的 pkValue + Object firstPkValue = null; + Object secondPkValue = null; + // 用于记录是否已经处理了第一行和第二行 + boolean hasFirst = false; + boolean hasSecond = false; + for (DynamicObject itemEntry : itemEntryCollection) { + Object seq = itemEntry.get("seq"); + if (seq.equals(1) || seq.equals(2)) { + DynamicObject payitem = itemEntry.getDynamicObject("payitem"); + if (payitem != null) { + Object pkValue = payitem.getPkValue(); + // 根据 seq 值存储对应的 pkValue + if (seq.equals(1) && !hasFirst) { + firstPkValue = pkValue; + hasFirst = true; + } else if (seq.equals(2) && !hasSecond) { + secondPkValue = pkValue; + hasSecond = true; + } + } + } + } + if (hasFirst && hasSecond) { + if (firstPkValue != null && firstPkValue.equals(secondPkValue)) { + DynamicObject itemEntry = this.getModel().getEntryRowEntity("itementry", 0); + if (itemEntry != null) { + BigDecimal ofTaxAmount = itemEntry.getBigDecimal("oftaxamount");//含税金额 + if (ofTaxAmount.compareTo(BigDecimal.ZERO) == 0) { + this.getModel().deleteEntryRow("itementry", 0); + } + } + } + } + //二开添加↑ + } private void taxamtChanged(ChangeData changeData) { int rowIndex = changeData.getRowIndex(); diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettleUnauditCheckOp.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettleUnauditCheckOp.java index d381d88..9d95678 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettleUnauditCheckOp.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettleUnauditCheckOp.java @@ -75,7 +75,11 @@ public class OutContractSettleUnauditCheckOp extends AbstractOperationServicePlu bindInvoice("1", dynamicObject.getLong("id")); QFilter idFilter = new QFilter("id", "=", dynamicObject.getLong("id")); QFilter statusFilter = new QFilter("billstatus", "=", "A"); - DeleteServiceHelper.delete("zcgj_ec_out_finaceconfirm", new QFilter[]{idFilter.and(statusFilter)}); + try { + DeleteServiceHelper.delete("zcgj_ec_out_finaceconfirm", new QFilter[]{idFilter.and(statusFilter)}); + } catch (Exception e) { + throw new RuntimeException(e); + } } }