Kaynağa Gözat

feat(hr): 添加批量单组织F7树实体标识并优化任务消息推送功能

- 新增HAOS_ORGBATCHTREELISTF7_ENTITY常量用于批量单组织F7树实体标识
- 重构SendTaskOpPlugin中的消息推送逻辑,使用MessageCenterServiceHelper进行批量消息发送
- 将sendMessage方法重命名为buildMessage并优化消息构建流程
- 添加消息信息收集机制,实现批量消息发送功能
- 移除过时的MessageUtils导入并更新消息发送方式
jtd 2 hafta önce
ebeveyn
işleme
ec908c42c5

+ 2 - 0
code/base/nckd-jxccl-base-common/src/main/java/nckd/jxccl/base/common/constant/FormConstant.java

@@ -136,6 +136,8 @@ public class FormConstant {
     public static final String BOS_LIST_ENTITY = "bos_list";
     /** HR组织树实体标识 */
     public static final String HAOS_ADMINORGTREELISTF7_ENTITY = "haos_adminorgtreelistf7";
+    /** 批量单组织F7-树实体标识 */
+    public static final String HAOS_ORGBATCHTREELISTF7_ENTITY = "haos_orgbatchtreelistf7";
 
     //====================================== 标品op ======================================
     /** 确认框确认按钮 */

+ 1 - 1
code/hr/nckd-jxccl-hr/src/main/java/nckd/jxccl/hr/homs/business/application/event/GenerateEmploymentContractEventServicePlugin.java

@@ -67,7 +67,7 @@ public class GenerateEmploymentContractEventServicePlugin implements IEventServi
         }
 
         public long getPkId() {
-            return this.pkId;// 37
+            return this.pkId;
         }
     }
 

+ 6 - 4
code/hr/nckd-jxccl-hr/src/main/java/nckd/jxccl/hr/sdm/plugin/operate/SendTaskOpPlugin.java

@@ -17,13 +17,13 @@ import kd.bos.entity.plugin.args.BeginOperationTransactionArgs;
 import kd.bos.entity.plugin.args.EndOperationTransactionArgs;
 import kd.bos.exception.ErrorCode;
 import kd.bos.exception.KDBizException;
-import kd.bos.message.util.MessageUtils;
 import kd.bos.orm.ORM;
 import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QFilter;
 import kd.bos.servicehelper.coderule.CodeRuleServiceHelper;
 import kd.bos.servicehelper.operation.SaveServiceHelper;
 import kd.bos.servicehelper.user.UserServiceHelper;
+import kd.bos.servicehelper.workflow.MessageCenterServiceHelper;
 import kd.bos.url.UrlService;
 import kd.bos.workflow.engine.msg.info.MessageInfo;
 import kd.hr.hbp.business.servicehelper.HRBaseServiceHelper;
@@ -97,12 +97,14 @@ public class SendTaskOpPlugin extends AbstractOperationServicePlugIn {
         try {
             DynamicObject[] dyos = e.getDataEntities();
             // 推送消息
+            List<MessageInfo> messageInfos = new ArrayList<MessageInfo>();
             for (DynamicObject dyo : dyos) {
                 DynamicObjectCollection entryDyoColl = dyo.getDynamicObjectCollection(SanDingConstant.NCKD_ENTRYENTITY);
                 for (DynamicObject entryDyo : entryDyoColl) {
-                    //sendMessage(entryDyo);
+                    buildMessage(entryDyo);
                 }
             }
+            MessageCenterServiceHelper.batchSendMessages(messageInfos);
         } catch (Exception ex) {
             throw new KDBizException(ex, new ErrorCode("sendMessageError", ex.getMessage()));
         }
@@ -399,7 +401,7 @@ public class SendTaskOpPlugin extends AbstractOperationServicePlugIn {
         SaveServiceHelper.save(dyos);
     }
 
-    private void sendMessage(DynamicObject entryDyo) {
+    private void buildMessage(DynamicObject entryDyo) {
         // 构建 消息
         MessageInfo messageInfo = new MessageInfo();
         // 设置 消息标题
@@ -410,6 +412,7 @@ public class SendTaskOpPlugin extends AbstractOperationServicePlugIn {
         messageInfo.setType(MessageInfo.TYPE_MESSAGE);
         // 设置 实体编码
         messageInfo.setEntityNumber(SanDingConstant.NCKD_SANDINGTASK_ENTITY);
+        // 设置 业务单据ID
         messageInfo.setBizDataId(SANDING_TASK_MAP.get(entryDyo.getLong(SanDingConstant.ID_KEY)));
         // 设置 标签
         messageInfo.setTag("三定管理");
@@ -419,7 +422,6 @@ public class SendTaskOpPlugin extends AbstractOperationServicePlugIn {
         messageInfo.setUserIds(userIds);
         // 设置 消息Web端url
         messageInfo.setContentUrl(UrlService.getDomainContextUrl() + "/index.html?formId="+SanDingConstant.NCKD_SANDINGTASK_ENTITY+"&pkId=" + SANDING_TASK_MAP.get(entryDyo.getLong(SanDingConstant.ID_KEY)));
-        MessageUtils.sendMessage(messageInfo);
     }
 
     private List<Long> getUserIds(List<Long> managerBoIdList) {