From 8f8dcf1c8490d84735fc09a6847b454090c94c2a Mon Sep 17 00:00:00 2001 From: zengweihai Date: Thu, 13 Jun 2024 19:05:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E6=8D=AE=E7=B1=BB=E5=9E=8B=E5=85=B3?= =?UTF-8?q?=E8=81=94=E7=BA=A6=E6=9D=9F=E4=BB=98=E6=AC=BE=E4=BA=8B=E9=A1=B9?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A403?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CommonBillOsPaymentBillFormPlugin.java | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/shkd-cosmic-debug/src/main/java/shkd/fi/er/plugin/formplugin/CommonBillOsPaymentBillFormPlugin.java b/shkd-cosmic-debug/src/main/java/shkd/fi/er/plugin/formplugin/CommonBillOsPaymentBillFormPlugin.java index f742331..526ef57 100644 --- a/shkd-cosmic-debug/src/main/java/shkd/fi/er/plugin/formplugin/CommonBillOsPaymentBillFormPlugin.java +++ b/shkd-cosmic-debug/src/main/java/shkd/fi/er/plugin/formplugin/CommonBillOsPaymentBillFormPlugin.java @@ -79,8 +79,26 @@ public class CommonBillOsPaymentBillFormPlugin extends AbstractBillPlugIn implem ArrayList paymentNumbers = new ArrayList<>(); DynamicObject[] loads = BusinessDataServiceHelper.load("shkd_paymatter", "id,shkd_paymatterinfo.number", QF.toArray()); for (DynamicObject load : loads) { - String paymentNumber = load.getString("shkd_paymatterinfo.number"); - paymentNumbers.add(paymentNumber); + String paymentNumber = load.getString("shkd_paymatterinfo.number");//由于辅助资料包含的付款事项可能存在非叶子节点的情况。查询对象的下级叶子对象。 + String sql_number = "%"+paymentNumber+"%"; + QFilter QFSon = new QFilter("longnumber", QCP.like, sql_number); + QFSon.and("isleaf",QCP.equals,"1"); + DynamicObject[] datum = BusinessDataServiceHelper.load("bos_assistantdata_detail", "id,number,longnumber,level", QFSon.toArray()); + for (DynamicObject data : datum) { + String longnumber = data.getString("longnumber");//长编码 + if (data.getInt("level")>1){ + int index = longnumber.indexOf("!"); + String substr = longnumber.substring(0, index); + if (substr.equals(paymentNumber)){ + paymentNumbers.add(data.getString("number")); + } + }else { + if (longnumber.equals(paymentNumber)){ + paymentNumbers.add(paymentNumber); + } + } + + } } if (!paymentNumbers.isEmpty()){ logger.info("付款事项编码集合为"+paymentNumbers.toString());