From b7e2ed4f7af14dc64e8cc6d4caa4b92033c63435 Mon Sep 17 00:00:00 2001 From: zoujiangtao Date: Mon, 23 Jun 2025 10:36:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=86=85=E5=AE=B9=EF=BC=9A?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BB=98=E6=AC=BE=E5=8D=95=E5=92=8C=E7=A5=A8?= =?UTF-8?q?=E6=8D=AE=E7=9A=84=E5=85=B3=E8=81=94=E5=85=B3=E7=B3=BB=20?= =?UTF-8?q?=E6=97=B6=E9=97=B4=EF=BC=9A2025-06-23=2010=EF=BC=9A35=20?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=BA=EF=BC=9A=E9=82=B9=E6=B1=9F=E6=B6=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PaymentSlipAssociationFixed.java | 37 ++++++++++++------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/PaymentSlipAssociationFixed.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/PaymentSlipAssociationFixed.java index f32eadd..5765983 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/PaymentSlipAssociationFixed.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/PaymentSlipAssociationFixed.java @@ -30,24 +30,43 @@ public class PaymentSlipAssociationFixed extends AbstractOperationServicePlugIn // 付款单 DynamicObject fkDynamicObject = BusinessDataServiceHelper.loadSingle(dataEntity.getPkValue(), dataEntity.getDynamicObjectType()); + // 付款金额 BigDecimal actpayamt = fkDynamicObject.getBigDecimal("actpayamt"); - String formattedValue = String.format("%.2f", Double.parseDouble(actpayamt.toString())); + // 大写金额 + String shkdZwamount = fkDynamicObject.getString("shkd_zwamount"); + AmountConvertResult amountConvertResult = I18nServiceHelper.amountConvertUppercase( "ZH", "CNY", formattedValue, "false"); - if (amountConvertResult.isSuccess()) { - fkDynamicObject.set("actpayamt", amountConvertResult.getResult()); + if (amountConvertResult.isSuccess() && !shkdZwamount.equals(amountConvertResult.getResult())) { + fkDynamicObject.set("shkd_zwamount", amountConvertResult.getResult()); } - String shkdBusinessname = dataEntity.getString("shkd_businessname");//来源系统 + // 来源系统 + Object businessnameObj = fkDynamicObject.get("shkd_businessname"); + + // 付款单关联票据分录 + String blEntryKey = fkDynamicObject.getDataEntityType().getName() + "_bl"; + DynamicObjectCollection dynamicObjectCollection = fkDynamicObject.getDynamicObjectCollection(blEntryKey); + + // 票据关联付款单不为空,说明已经关联了 + if (!dynamicObjectCollection.isEmpty()) { + return; + } if (dataEntity.get("settletnumber") != null) { String settletnumber = dataEntity.getString("settletnumber");//结算号 DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load("cdm_payablebill", "id,draftbillno", new QFilter("draftbillno", QCP.equals, settletnumber).toArray()); - if ("XK".equals(shkdBusinessname) && dynamicObjects.length > 0) { + if (businessnameObj != null && "XK".equals(businessnameObj.toString()) && dynamicObjects.length > 0) { + // 写入付款单关联票据关联关系 + DynamicObject linkRow = new DynamicObject(dynamicObjectCollection.getDynamicObjectType()); + linkRow.set(blEntryKey + "_basedataid", dynamicObjects[0].getPkValue()); + dynamicObjectCollection.add(linkRow); + SaveServiceHelper.save(new DynamicObject[]{fkDynamicObject}); + // 写入票据关联付款单关联关系 DynamicObject kpdjDynamicObject = BusinessDataServiceHelper.loadSingle(dynamicObjects[0].getPkValue(), dynamicObjects[0].getDynamicObjectType()); DynamicObjectCollection releatedcasbillentrys = kpdjDynamicObject.getDynamicObjectCollection("releatedcasbillentrys"); @@ -62,14 +81,6 @@ public class PaymentSlipAssociationFixed extends AbstractOperationServicePlugIn kpLinkRow.set("rel_isrefuse", "0");// 票据退票 releatedcasbillentrys.add(kpLinkRow); SaveServiceHelper.save(new DynamicObject[]{kpdjDynamicObject}); - - // 写入付款单关联票据关联关系 - String blEntryKey = fkDynamicObject.getDataEntityType().getName() + "_bl"; - DynamicObjectCollection dynamicObjectCollection = fkDynamicObject.getDynamicObjectCollection(blEntryKey); - DynamicObject linkRow = new DynamicObject(dynamicObjectCollection.getDynamicObjectType()); - linkRow.set(blEntryKey + "_basedataid", dynamicObjects[0].getPkValue()); - dynamicObjectCollection.add(linkRow); - SaveServiceHelper.save(new DynamicObject[]{fkDynamicObject}); } } }