From 0220811fbcffd4bd4df334502a2af272ae29f1e3 Mon Sep 17 00:00:00 2001
From: wenminjie <1036699586@qq.com>
Date: 星期一, 13 七月 2026 10:14:30 +0800
Subject: [PATCH] 修复了已知BUG

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentDispatchController.java |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentDispatchController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentDispatchController.java
index 029e2ab..1a075e6 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentDispatchController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentDispatchController.java
@@ -8,6 +8,7 @@
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.dto.ExperimentDispatchSignDTO;
 import com.ruoyi.system.dto.TExperimentDispatchDTO;
@@ -78,12 +79,16 @@
         // 获取当前用户
         Long userId = tokenService.getLoginUser().getUserId();
         Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
+        query.setRoleType(roleType);
         if (roleType != 1){
             query.setUserId(userId);
             if(roleType ==2){
                 // 查询项目组
                 TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class)
                         .eq(TProjectTeamStaff::getUserId, userId));
+                if(Objects.isNull(projectTeamStaff)){
+                    return R.fail("当前用户未加入项目组,无法进行操作");
+                }
                 // 查询项目的工艺工程师id
                 TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class)
                         .eq(TProjectTeamStaff::getTeamId, projectTeamStaff.getTeamId())
@@ -184,7 +189,15 @@
     @PostMapping(value = "/api/t-experiment-dispatch/update")
     public R<Boolean> update(@RequestBody String param) {
         TExperimentDispatchDTO dto = JSON.parseObject(param,TExperimentDispatchDTO.class);
+
+        if (SecurityUtils.isAdmin(SecurityUtils.getUserId())){
+            dto.setStatus(null);
+            experimentDispatchService.updateById(dto);
+            return R.ok();
+        }
+
         experimentDispatchService.updateById(dto);
+
         // 添加实验分组
         experimentDispatchGroupService.remove(Wrappers.lambdaQuery(TExperimentDispatchGroup.class).eq(TExperimentDispatchGroup::getDispatchId, dto.getId()));
         List<TExperimentDispatchGroup> experimentDispatchGroups = dto.getExperimentDispatchGroups();
@@ -206,6 +219,15 @@
             experimentDispatchTask.setDispatchId(dto.getId());
         });
         experimentDispatchTaskService.saveBatch(experimentDispatchTasks);
+        // MESSAGE 添加消息
+        if(!dto.getStatus().equals(-1)){
+            experimentDispatchParticipants.stream().filter(e->e.getRoleType().equals(4)).forEach(teamStaff -> {
+                noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【实验调度】等待确认", tokenService.getLoginUser().getUser().getNickName(),11);
+            });
+            experimentDispatchParticipants.stream().filter(e->e.getRoleType().equals(5)).forEach(teamStaff -> {
+                noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【实验调度】等待确认", tokenService.getLoginUser().getUser().getNickName(),14);
+            });
+        }
         return R.ok();
     }
 

--
Gitblit v1.7.1