|
|
@@ -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) {
|