From 649a77a70100c63aefd8c73deff2d6b4d71af36f Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 04 二月 2026 19:18:53 +0800
Subject: [PATCH] 检测项修改,检验方法确认单修改

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java |  119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 108 insertions(+), 11 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java
index 275df4d..2e8e606 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java
@@ -10,13 +10,13 @@
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.dto.TExperimentResultReportDTO;
+import com.ruoyi.system.dto.TExperimentResultReportRejectDTO;
 import com.ruoyi.system.mapper.SysUserMapper;
 import com.ruoyi.system.model.*;
+import com.ruoyi.system.query.OriginalPageListQuery;
 import com.ruoyi.system.query.TExperimentResultReportQuery;
 import com.ruoyi.system.service.*;
-import com.ruoyi.system.vo.TExperimentDispatchVO;
-import com.ruoyi.system.vo.TExperimentResultReportVO;
-import com.ruoyi.system.vo.TExperimentSchemeVO;
+import com.ruoyi.system.vo.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.BeanUtils;
@@ -54,8 +54,12 @@
     private final TExperimentDispatchParticipantsService experimentDispatchParticipantsService;
     private final TExperimentDispatchService experimentDispatchService;
     private final TProjectProposalService projectProposalService;
+    private final TNoticeService noticeService;
+    private final TTestMethodConfirmSheetService testMethodConfirmSheetService;
+    private final TTestMethodConfirmSheetTermService testMethodConfirmSheetTermService;
+    private final TTestMethodConfirmSheetOriginalService testMethodConfirmSheetOriginalService;
     @Autowired
-    public TExperimentResultReportController(TExperimentResultReportService experimentResultReportService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TResultWorkEvaluateService resultWorkEvaluateService, TExperimentSchemeService experimentSchemeService, TInspectionReportService inspectionReportService, TProjectTeamStaffService projectTeamStaffService, TProjectTeamService projectTeamService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService) {
+    public TExperimentResultReportController(TExperimentResultReportService experimentResultReportService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TResultWorkEvaluateService resultWorkEvaluateService, TExperimentSchemeService experimentSchemeService, TInspectionReportService inspectionReportService, TProjectTeamStaffService projectTeamStaffService, TProjectTeamService projectTeamService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService, TNoticeService noticeService, TTestMethodConfirmSheetService testMethodConfirmSheetService, TTestMethodConfirmSheetTermService testMethodConfirmSheetTermService, TTestMethodConfirmSheetOriginalService testMethodConfirmSheetOriginalService) {
         this.experimentResultReportService = experimentResultReportService;
         this.tokenService = tokenService;
         this.sysUserService = sysUserService;
@@ -68,6 +72,10 @@
         this.experimentDispatchParticipantsService = experimentDispatchParticipantsService;
         this.experimentDispatchService = experimentDispatchService;
         this.projectProposalService = projectProposalService;
+        this.noticeService = noticeService;
+        this.testMethodConfirmSheetService = testMethodConfirmSheetService;
+        this.testMethodConfirmSheetTermService = testMethodConfirmSheetTermService;
+        this.testMethodConfirmSheetOriginalService = testMethodConfirmSheetOriginalService;
     }
 
     /**
@@ -80,11 +88,15 @@
         TExperimentResultReportQuery query = JSON.parseObject(param, TExperimentResultReportQuery.class);
         Long userId = tokenService.getLoginUser().getUserId();
         Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
+        query.setRoleType(roleType);
         if(roleType != 1){
             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())
@@ -122,13 +134,25 @@
         Long userId = tokenService.getLoginUser().getUserId();
         Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
         if(roleType != 1){
-            // 查询用户所参与的实验调度
-            List<TExperimentDispatchParticipants> experimentDispatchParticipants = experimentDispatchParticipantsService.list(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class)
-                    .eq(TExperimentDispatchParticipants::getUserId, userId));
-            if(experimentDispatchParticipants.size() > 0){
-                // 查询项目组id
-                List<String> dispatchIds = experimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getDispatchId).distinct().collect(Collectors.toList());
-                query.setDispatchIds(dispatchIds);
+            // 查询项目组
+            List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class)
+                    .eq(TProjectTeamStaff::getUserId, userId)
+                    .eq(TProjectTeamStaff::getRoleType, 2));
+            if(!CollectionUtils.isEmpty(projectTeamStaffs)){
+                List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
+                // 查询分组
+                List<TProjectTeamStaff> tProjectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class)
+                        .in(TProjectTeamStaff::getTeamId, teamIds)
+                        .eq(TProjectTeamStaff::getRoleType, 3));
+                List<Long> userIds = tProjectTeamStaffs.stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList());
+                // 查询用户所参与的实验调度
+                List<TExperimentDispatchParticipants> experimentDispatchParticipants = experimentDispatchParticipantsService.list(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class)
+                        .in(TExperimentDispatchParticipants::getUserId, userIds));
+                if(!experimentDispatchParticipants.isEmpty()){
+                    // 查询项目组id
+                    List<String> dispatchIds = experimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getDispatchId).distinct().collect(Collectors.toList());
+                    query.setDispatchIds(dispatchIds);
+                }
             }
         }
         return R.ok(experimentResultReportService.evaluatePageList(query));
@@ -161,6 +185,18 @@
             resultWorkEvaluate.setTeamId(projectTeamStaff.getTeamId());
         }
         resultWorkEvaluateService.saveOrUpdateBatch(resultWorkEvaluates);
+
+        // 查询项目组
+        TProjectTeam projectTeam = projectTeamService.getById(projectTeamStaff.getTeamId());
+        // MESSAGE 添加消息
+        TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class)
+                .eq(TProjectTeamStaff::getTeamId, projectTeam.getId())
+                .eq(TProjectTeamStaff::getRoleType, 2)
+                .last("LIMIT 1"));
+        if(Objects.nonNull(teamStaff)){
+            noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【实验结果汇报】等待评定", tokenService.getLoginUser().getUser().getNickName(),3);
+        }
+
         return R.ok();
     }
 
@@ -177,6 +213,22 @@
         // 修改实验结果工作评价
         List<TResultWorkEvaluate> resultWorkEvaluates = dto.getResultWorkEvaluates();
         resultWorkEvaluateService.saveOrUpdateBatch(resultWorkEvaluates);
+        // 获取当前用户的项目组id
+        Long userId = tokenService.getLoginUser().getUserId();
+        TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class)
+                .eq(TProjectTeamStaff::getUserId, userId));
+        // 查询项目组
+        TProjectTeam projectTeam = projectTeamService.getById(projectTeamStaff.getTeamId());
+        if(dto.getStatus() != -1){
+            // MESSAGE 添加消息
+            TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class)
+                    .eq(TProjectTeamStaff::getTeamId, projectTeam.getId())
+                    .eq(TProjectTeamStaff::getRoleType, 2)
+                    .last("LIMIT 1"));
+            if(Objects.nonNull(teamStaff)){
+                noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【实验结果汇报】等待评定", tokenService.getLoginUser().getUser().getNickName(),3);
+            }
+        }
         return R.ok();
     }
 
@@ -214,6 +266,39 @@
         // 查询实验结果汇报
         TExperimentResultReport experimentResultReport = experimentResultReportService.getById(resultWorkEvaluate.getResultReportId());
         experimentResultReport.setStatus(3);
+        experimentResultReportService.updateById(experimentResultReport);
+        return R.ok();
+    }
+
+
+    /**
+     * 驳回实验结果汇报
+     */
+    //@PreAuthorize("@ss.hasPermi('system:experimentResultReport:edit')")
+    @Log(title = "实验结果汇报信息-评定工艺工程师实验-驳回实验结果汇报", businessType = BusinessType.UPDATE)
+    @ApiOperation(value = "评定工艺工程师实验-驳回实验结果汇报",response = TExperimentResultReportRejectDTO.class)
+    @PostMapping(value = "/api/t-experiment-result-report/rejectResult")
+    public R<Boolean> rejectResult(@RequestBody String param) {
+        TExperimentResultReportRejectDTO experimentResultReportRejectDTO = JSON.parseObject(param,TExperimentResultReportRejectDTO.class);
+        Long userId = tokenService.getLoginUser().getUserId();
+        // 查询当前用户组
+        TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class)
+                .eq(TProjectTeamStaff::getUserId, userId)
+                .last("LIMIT 1"));
+        if(Objects.isNull(projectTeamStaff)){
+            return R.fail("当前用户未分配项目组,无法进行评定");
+        }
+        TProjectTeamStaff projectTeamStaff1 = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class)
+                .eq(TProjectTeamStaff::getTeamId, projectTeamStaff.getTeamId())
+                .eq(TProjectTeamStaff::getRoleType, 2)
+                .last("LIMIT 1"));
+        if(Objects.isNull(projectTeamStaff1)){
+            return R.fail("当前项目组未分配审批人,无法进行评定");
+        }
+        // 查询实验结果汇报
+        TExperimentResultReport experimentResultReport = experimentResultReportService.getById(experimentResultReportRejectDTO.getResultReportId());
+        experimentResultReport.setStatus(1);
+        experimentResultReport.setRejectRemark(experimentResultReportRejectDTO.getRejectRemark());
         experimentResultReportService.updateById(experimentResultReport);
         return R.ok();
     }
@@ -328,6 +413,18 @@
     }
 
     /**
+     * 通过实验调度id获取原始检验记录列表
+     */
+    //@PreAuthorize("@ss.hasPermi('system:experimentResultReport:detail')")
+    @ApiOperation(value = "通过实验调度id获取原始检验记录列表",response = OriginalPageListQuery.class)
+    @PostMapping(value = "/api/t-experiment-result-report/getOriginalPageListByDispatchId")
+    public R<PageInfo<TTestMethodConfirmSheetOriginalVO>> getOriginalPageListByDispatchId(@RequestBody String param) {
+        OriginalPageListQuery query = JSON.parseObject(param,OriginalPageListQuery.class);
+        PageInfo<TTestMethodConfirmSheetOriginalVO> pageInfo = testMethodConfirmSheetOriginalService.getOriginalPageListByDispatchId(query);
+        return R.ok(pageInfo);
+    }
+
+    /**
      * 提交接口
      */
     //@PreAuthorize("@ss.hasPermi('system:experimentResultReport:detail')")

--
Gitblit v1.7.1