diff --git a/lc123/cloud/app/plugin/operate/pm/PurRefundApplySaveOpPlugin.java b/lc123/cloud/app/plugin/operate/pm/PurRefundApplySaveOpPlugin.java index 06f22e7..6091bcc 100644 --- a/lc123/cloud/app/plugin/operate/pm/PurRefundApplySaveOpPlugin.java +++ b/lc123/cloud/app/plugin/operate/pm/PurRefundApplySaveOpPlugin.java @@ -29,8 +29,11 @@ public class PurRefundApplySaveOpPlugin extends AbstractOperationServicePlugIn i public void beforeExecuteOperationTransaction(BeforeOperationArgs e) { super.beforeExecuteOperationTransaction(e); DynamicObject[] dataEntities1 = e.getDataEntities(); + logger.info("PurRefundApplySaveOpPlugin-start"); + logger.info("PurRefundApplySaveOpPlugin:单据数量"+dataEntities1.length); if (dataEntities1.length > 0) { DynamicObject dynamicObject = dataEntities1[0]; + logger.info("PurRefundApplySaveOpPlugin:单据号"+dynamicObject.getString("billno")); DynamicObjectCollection billentry1 = dynamicObject.getDynamicObjectCollection("billentry"); if (billentry1.size() > 0) { DynamicObject dynamicObject1 = billentry1.get(0); @@ -40,11 +43,16 @@ public class PurRefundApplySaveOpPlugin extends AbstractOperationServicePlugIn i dynamicObjects.add(pm_purorderbill); dynamicObjects.stream().collect(Collectors.toList()); AutoFixLinkUtil fixLinkHelp = new AutoFixLinkUtil(); + fixLinkHelp.linkSourceRow(dynamicObject, dynamicObjects.stream().collect(Collectors.toList()), PM_PURREFUNDAPPLYBILL, billentry, "srcbillentryid", PM_PURORDERBILL, billentry, "", "billentry_lk"); + logger.info("PurRefundApplySaveOpPlugin:修复关联关系成功"); + } } + logger.info("PurRefundApplySaveOpPlugin-end"); + } } \ No newline at end of file diff --git a/lc123/cloud/app/plugin/utils/AutoFixLinkUtil.java b/lc123/cloud/app/plugin/utils/AutoFixLinkUtil.java index 371a14a..99c703c 100644 --- a/lc123/cloud/app/plugin/utils/AutoFixLinkUtil.java +++ b/lc123/cloud/app/plugin/utils/AutoFixLinkUtil.java @@ -4,6 +4,9 @@ import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.entity.EntityMetadataCache; import kd.bos.entity.botp.runtime.TableDefine; +import kd.bos.logging.Log; +import kd.bos.logging.LogFactory; +import tqq9.lc123.cloud.app.plugin.operate.pm.PurRefundApplySaveOpPlugin; import java.util.HashMap; import java.util.List; @@ -15,6 +18,8 @@ import java.util.Map; * @author rd_johnnyding */ public class AutoFixLinkUtil { + private final static Log logger = LogFactory.getLog(PurRefundApplySaveOpPlugin.class); + /** * @param targetBill 目标单据 @@ -31,7 +36,18 @@ public class AutoFixLinkUtil { String targetEntityNumber, String targetEntryKey, String targetFieldKey, String srcEntityNumber, String srcEntryKey, String srcFieldKey, String lkEntryKey) { + // 循环分析源单行,提取源单行号、源单内码、分录行内码对应关系,放在字典中备用: key = 源单行号; value = [源单内码、分录行内码] + logger.info("PurRefundApplySaveOpPlugin-targetBill"+targetBill); + logger.info("PurRefundApplySaveOpPlugin-srcBills"+srcBills); + logger.info("PurRefundApplySaveOpPlugin-targetEntityNumber"+targetEntityNumber); + logger.info("PurRefundApplySaveOpPlugin-targetEntryKey"+targetEntryKey); + logger.info("PurRefundApplySaveOpPlugin-targetFieldKey"+targetFieldKey); + logger.info("PurRefundApplySaveOpPlugin-srcEntityNumber"+srcEntityNumber); + logger.info("PurRefundApplySaveOpPlugin-srcEntryKey"+srcEntryKey); + logger.info("PurRefundApplySaveOpPlugin-srcFieldKey"+srcFieldKey); + logger.info("PurRefundApplySaveOpPlugin-lkEntryKey"+lkEntryKey); + Map srcRowIds = new HashMap<>(); for (DynamicObject srcBill : srcBills) { DynamicObjectCollection srcRows = srcBill.getDynamicObjectCollection(srcEntryKey);