From 69fbf64de215437b0f22c056fc2135bd7929027f Mon Sep 17 00:00:00 2001
From: weiyunlong <weiyunlong@x-ri.com>
Date: Wed, 5 Mar 2025 10:15:34 +0800
Subject: [PATCH] =?UTF-8?q?1.=E8=A1=A5=E5=85=85=E5=90=88=E5=90=8C=E5=8D=B0?=
 =?UTF-8?q?=E7=AB=A0=E7=AE=A1=E7=90=86=E5=91=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

S
---
 .../repc/iwork/IWorkParticipantPlugin.java    | 31 +++++++++++++------
 1 file changed, 21 insertions(+), 10 deletions(-)

diff --git a/main/java/shkd/repc/iwork/IWorkParticipantPlugin.java b/main/java/shkd/repc/iwork/IWorkParticipantPlugin.java
index 3cceba7..f23a682 100644
--- a/main/java/shkd/repc/iwork/IWorkParticipantPlugin.java
+++ b/main/java/shkd/repc/iwork/IWorkParticipantPlugin.java
@@ -26,6 +26,7 @@ public class IWorkParticipantPlugin implements IWorkflowPlugin {
      * recon_designchgbill(涉及变更)  供应商:designunit(设计单位)
      * recon_chgauditorderbill(工程指令) 供应商:construnit(施工单位)
      * recon_rewarddeductbill(奖励扣款) 供应商存在分录:rewarddeductentry(奖惩单分录) 供应商:entry_supplier(供应商)
+     * recon_supplyconbill(补充合同)_主合同(contractbill)_印章管理员
      */
     @Override
     public List<Long> calcUserIds(AgentExecution execution) {
@@ -52,6 +53,13 @@ public class IWorkParticipantPlugin implements IWorkflowPlugin {
                 case "recon_payreqbill":
                     handlePayReqBill(entity, currentApprover);
                     break;
+                case "recon_supplyconbill":
+                    DynamicObject contractbill = entity.getDynamicObject("contractbill"); // 补充合同_主合同
+                    if (null != contractbill) {
+                        contractbill = BusinessDataServiceHelper.loadSingle(contractbill.getPkValue(), "recon_contractbill");
+                        handleContractBill(contractbill, currentApprover);
+                    }
+                    break;
                 default:
                     // 处理未定义的实体编码的情况(可选)
                     break;
@@ -63,9 +71,10 @@ public class IWorkParticipantPlugin implements IWorkflowPlugin {
 
     /**
      * 根据供应商名称获取联系人,并添加到传阅人中
-     * @param entity 当前单据
+     *
+     * @param entity          当前单据
      * @param currentApprover 当前审批人
-     * @param supplierTitle 供应商标识
+     * @param supplierTitle   供应商标识
      * @return
      */
     public static List<Long> getApprover(DynamicObject entity, List<Long> currentApprover, String supplierTitle) {
@@ -88,10 +97,11 @@ public class IWorkParticipantPlugin implements IWorkflowPlugin {
 
     /**
      * 根据供应商名称获取联系人,并添加到传阅人中
-     * @param entity 当前单据
+     *
+     * @param entity          当前单据
      * @param currentApprover 当前审批人
-     * @param supplierEntry 供应商分录标识
-     * @param supplierTitle 供应商标识
+     * @param supplierEntry   供应商分录标识
+     * @param supplierTitle   供应商标识
      * @return
      */
     public static List<Long> getApprovers(DynamicObject entity, List<Long> currentApprover, String supplierEntry, String supplierTitle) {
@@ -117,7 +127,8 @@ public class IWorkParticipantPlugin implements IWorkflowPlugin {
 
     /**
      * 将用户添加到当前审批人列表中
-     * @param contactPerson 联系人姓名
+     *
+     * @param contactPerson   联系人姓名
      * @param currentApprover 当前审批人列表
      */
     private static void addUserToApprover(String contactPerson, List<Long> currentApprover) {
@@ -133,8 +144,8 @@ public class IWorkParticipantPlugin implements IWorkflowPlugin {
     private void handleContractBill(DynamicObject entity, List<Long> currentApprover) {
 //        String partyatype = entity.getString("partyatype"); // 甲方类别
 //        if ("qeug_recon_developer".equals(partyatype)) {
-            DynamicObject dynamicObject = entity.getDynamicObject("multitypepartya"); // 甲方
-            addApprover(currentApprover, dynamicObject, "qeug_userfield2", "印章管理员");
+        DynamicObject dynamicObject = entity.getDynamicObject("multitypepartya"); // 甲方
+        addApprover(currentApprover, dynamicObject, "qeug_userfield2", "印章管理员");
 //        }
     }
 
@@ -144,8 +155,8 @@ public class IWorkParticipantPlugin implements IWorkflowPlugin {
             contractbill = BusinessDataServiceHelper.loadSingle(contractbill.getPkValue(), "recon_contractbill");
 //            String partyatype1 = contractbill.getString("partyatype"); // 甲方类别
 //            if ("qeug_recon_developer".equals(partyatype1)) {
-                DynamicObject dynamicObject = contractbill.getDynamicObject("multitypepartya"); // 甲方
-                addApprover(currentApprover, dynamicObject, "qeug_userfield", "园区会计");
+            DynamicObject dynamicObject = contractbill.getDynamicObject("multitypepartya"); // 甲方
+            addApprover(currentApprover, dynamicObject, "qeug_userfield", "园区会计");
 //            }
         }
     }