From 2fa7f761cf80802f54f727381b282d3b264501a7 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 08 十月 2026 11:11:26 +0800
Subject: [PATCH] 提交最新代码

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectionReportController.java |   47 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 43 insertions(+), 4 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectionReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectionReportController.java
index 051bbab..e9a60e9 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectionReportController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectionReportController.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.TInspectionReportDTO;
 import com.ruoyi.system.mapper.SysUserMapper;
@@ -81,6 +82,9 @@
                 // 查询项目组
                 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())
@@ -115,9 +119,10 @@
     @PostMapping(value = "/api/t-inspection-report/add")
     public R<Boolean> add(@RequestBody String param) {
         TInspectionReportDTO dto = JSON.parseObject(param,TInspectionReportDTO.class);
+        Long userId = tokenService.getLoginUser().getUserId();
+        dto.setCommitUserId(userId);
         inspectionReportService.save(dto);
         // 通过当前用户查询项目组
-        Long userId = tokenService.getLoginUser().getUserId();
         TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class)
                 .eq(TProjectTeamStaff::getUserId, userId)
                 .last("LIMIT 1"));
@@ -143,7 +148,37 @@
     @PostMapping(value = "/api/t-inspection-report/update")
     public R<Boolean> update(@RequestBody String param) {
         TInspectionReportDTO dto = JSON.parseObject(param,TInspectionReportDTO.class);
+        Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
+        TInspectionReport inspectionReport = inspectionReportService.getById(dto.getId());
+
+        if (Objects.equals(roleType, 1)
+                && Objects.nonNull(inspectionReport)
+                && Objects.equals(inspectionReport.getStatus(), 2)) {
+            return R.fail("化验师已提交的检验报告不允许编辑");
+        }
+
+        if (SecurityUtils.isAdmin(SecurityUtils.getUserId())) {
+            dto.setStatus(null);
+        }
+
         inspectionReportService.updateById(dto);
+        if(dto.getStatus() != null && dto.getStatus() != -1){
+            // 通过当前用户查询项目组
+            Long userId = tokenService.getLoginUser().getUserId();
+            TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class)
+                    .eq(TProjectTeamStaff::getUserId, userId)
+                    .last("LIMIT 1"));
+            // 查询项目组
+            TProjectTeam projectTeam = projectTeamService.getById(projectTeamStaff.getTeamId());
+            // MESSAGE 添加消息
+            TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class)
+                    .eq(TProjectTeamStaff::getTeamId, projectTeam.getId())
+                    .eq(TProjectTeamStaff::getRoleType, 3)
+                    .last("LIMIT 1"));
+            if(Objects.nonNull(teamStaff)){
+                noticeService.saveNotice(teamStaff.getUserId(), "化验师已提交检验报告,请查收!", tokenService.getLoginUser().getUser().getNickName(),7);
+            }
+        }
         return R.ok();
     }
 
@@ -159,9 +194,13 @@
         BeanUtils.copyProperties(inspectionReport, inspectionReportVO);
         // 查询实验调度
         TExperimentDispatch experimentDispatch = experimentDispatchService.getById(inspectionReportVO.getDispatchId());
-        // 查询项目课题
-        TProjectProposal projectProposal = projectProposalService.getById(experimentDispatch.getProposalId());
-        experimentDispatch.setProjectName(projectProposal.getProjectName());
+
+        if (experimentDispatch != null) {
+            // 查询项目课题
+            TProjectProposal projectProposal = projectProposalService.getById(experimentDispatch.getProposalId());
+            experimentDispatch.setProjectName(projectProposal.getProjectName());
+            experimentDispatch.setProjectCode(projectProposal.getProjectCode());
+        }
         // 查询实验调度人员
         List<TExperimentDispatchParticipants> experimentDispatchParticipants = experimentDispatchParticipantsService.list(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class)
                 .eq(TExperimentDispatchParticipants::getDispatchId, inspectionReportVO.getDispatchId()));

--
Gitblit v1.7.1