From 514080a0f905399e68a10567c2ddabbcb606ba57 Mon Sep 17 00:00:00 2001 From: funny <834502597@qq.com> Date: Tue, 21 Apr 2026 14:14:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=8F=91=E9=80=81COA?= =?UTF-8?q?=E5=8F=91=E5=B8=83=E9=80=9A=E7=9F=A5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/QmsCoaTaskController.java | 46 +++++++++++++------ 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsCoaTaskController.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsCoaTaskController.java index 47ef8d3c..2f080f9d 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsCoaTaskController.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsCoaTaskController.java @@ -12,9 +12,12 @@ import com.nflg.wms.common.pojo.vo.QmsCoaTaskDetailVO; import com.nflg.wms.common.pojo.vo.QmsCoaTaskMaterialVO; import com.nflg.wms.common.pojo.vo.QmsCoaTaskVO; import com.nflg.wms.common.util.UserUtil; +import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.QmsCoaTask; import com.nflg.wms.repository.entity.QmsTodoItem; +import com.nflg.wms.repository.service.IDictionaryItemService; import com.nflg.wms.repository.service.IQmsCoaTaskService; +import com.nflg.wms.repository.service.IQmsTodoItemService; import com.nflg.wms.starter.BaseController; import jakarta.annotation.Resource; import jakarta.validation.Valid; @@ -23,6 +26,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Objects; /** * COA通知管理 @@ -37,9 +41,15 @@ public class QmsCoaTaskController extends BaseController { @Resource private List sendMessageServices; + @Resource + private IQmsTodoItemService todoItemService; + @Resource private BasdeSerialNumberControllerService basdeSerialNumberControllerService; + @Resource + private IDictionaryItemService dictionaryItemService; + /** * 新增COA通知任务 * 状态默认为0(待发送) @@ -80,22 +90,23 @@ public class QmsCoaTaskController extends BaseController { @PostMapping("publish") public ApiResult publish(@Valid @RequestBody QmsCoaTaskAddQO qo) { coaTaskService.publish(qo); - + Long dictionaryItemServiceId = dictionaryItemService.getId("消息类型", "COANotificationSent"); + VUtil.trueThrowBusinessError(Objects.isNull(dictionaryItemServiceId)).throwMessage("消息类型不存在"); // 推送COA通知 QmsTodoItem qmsTodoItem = new QmsTodoItem() .setCode(basdeSerialNumberControllerService.generateSerialNumber(32)) .setIsRead(false) - .setSourceTypeId(2046157760401182721L) + .setSourceTypeId(dictionaryItemServiceId) .setSourceId(coaTaskService.lambdaQuery().eq(QmsCoaTask::getMaterialId,qo.getMaterialNo()).one().getId()) .setCreateUserId(UserUtil.getUserId()) .setCreateUserName(UserUtil.getUserName()) .setCreateTime(java.time.LocalDateTime.now()); - sendMessageServices.forEach(service -> service.sendSystemMessage(qmsTodoItem)); + todoItemService.save(qmsTodoItem); return ApiResult.success(); } /** - * 批量发送(状态改为1(已发送),填入发送时间) + * 批量发送(状态改为1(已发送),填入发送时间,每条任务单独推送一条待办消息) * * @param ids 任务ID列表 */ @@ -103,16 +114,23 @@ public class QmsCoaTaskController extends BaseController { @PostMapping("send") public ApiResult send(@RequestBody List ids) { coaTaskService.send(ids); -// 推送COA通知 - QmsTodoItem qmsTodoItem = new QmsTodoItem() - .setCode(basdeSerialNumberControllerService.generateSerialNumber(32)) - .setIsRead(false) - .setSourceTypeId(2046157760401182721L) - .setSourceId(0L) - .setCreateUserId(UserUtil.getUserId()) - .setCreateUserName(UserUtil.getUserName()) - .setCreateTime(java.time.LocalDateTime.now()); - sendMessageServices.forEach(service -> service.sendSystemMessage(qmsTodoItem)); + Long dictionaryItemServiceId = dictionaryItemService.getId("消息类型", "COANotificationSent"); + VUtil.trueThrowBusinessError(Objects.isNull(dictionaryItemServiceId)).throwMessage("消息类型不存在"); + Long currentUserId = UserUtil.getUserId(); + String currentUserName = UserUtil.getUserName(); + java.time.LocalDateTime now = java.time.LocalDateTime.now(); + // 每个任务ID单独推送一条待办消息 + for (Long taskId : ids) { + QmsTodoItem qmsTodoItem = new QmsTodoItem() + .setCode(basdeSerialNumberControllerService.generateSerialNumber(32)) + .setIsRead(false) + .setSourceTypeId(dictionaryItemServiceId) + .setSourceId(taskId) + .setCreateUserId(currentUserId) + .setCreateUserName(currentUserName) + .setCreateTime(now); + todoItemService.save(qmsTodoItem); + } return ApiResult.success(); }