wenminjie
2026-07-13 0220811fbcffd4bd4df334502a2af272ae29f1e3
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();
    }