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/TProjectTeamController.java |  243 +++++++++++++++++++++++++++++-------------------
 1 files changed, 147 insertions(+), 96 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectTeamController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectTeamController.java
index 65b1130..ff6e0ed 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectTeamController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectTeamController.java
@@ -86,6 +86,19 @@
     @PostMapping(value = "/api/t-project-team/pageList")
     public R<PageInfo<TProjectTeamVO>> pageList(@RequestBody String param) {
         TProjectTeamQuery query = JSON.parseObject(param, TProjectTeamQuery.class);
+        // 查询所在项目组
+        Long userId = tokenService.getLoginUser().getUserId();
+        Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
+        if(roleType != 1){
+            // 获取用户所在项目组
+            List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class)
+                    .eq(TProjectTeamStaff::getUserId, userId));
+            if(CollectionUtils.isEmpty(projectTeamStaffs)){
+                return R.ok(new PageInfo<>());
+            }
+            List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
+            query.setTeamIds(teamIds);
+        }
         PageInfo<TProjectTeamVO> tProjectTeamVOPageInfo = projectTeamService.pageList(query);
         return R.ok(tProjectTeamVOPageInfo);
     }
@@ -101,18 +114,18 @@
         TProjectTeamDTO dto = JSON.parseObject(param,TProjectTeamDTO.class);
         List<TProjectTeamStaff> staffs = dto.getStaffs();
         // 判断工艺工程师是否存在其他项目组中
-        staffs.stream().filter(staff -> staff.getRoleType() == 3).forEach(staff -> {
-            long count = projectTeamStaffService.count(Wrappers.lambdaQuery(TProjectTeamStaff.class).eq(TProjectTeamStaff::getUserId, staff.getUserId()));
-            if(count > 0){
-                throw new ServiceException("该工艺工程师已存在项目组");
-            }
-        });
-        staffs.stream().filter(staff -> staff.getRoleType() == 2).forEach(staff -> {
-            long count = projectTeamStaffService.count(Wrappers.lambdaQuery(TProjectTeamStaff.class).eq(TProjectTeamStaff::getUserId, staff.getUserId()));
-            if(count > 0){
-                throw new ServiceException("该审批人已存在项目组");
-            }
-        });
+//        staffs.stream().filter(staff -> staff.getRoleType() == 3).forEach(staff -> {
+//            long count = projectTeamStaffService.count(Wrappers.lambdaQuery(TProjectTeamStaff.class).eq(TProjectTeamStaff::getUserId, staff.getUserId()));
+//            if(count > 0){
+//                throw new ServiceException("该工艺工程师已存在项目组");
+//            }
+//        });
+//        staffs.stream().filter(staff -> staff.getRoleType() == 2).forEach(staff -> {
+//            long count = projectTeamStaffService.count(Wrappers.lambdaQuery(TProjectTeamStaff.class).eq(TProjectTeamStaff::getUserId, staff.getUserId()));
+//            if(count > 0){
+//                throw new ServiceException("该审批人已存在项目组");
+//            }
+//        });
         projectTeamService.save(dto);
         // 保存项目组成员
         for (TProjectTeamStaff staff : staffs) {
@@ -223,98 +236,136 @@
         projectTeam.setStatus(dto.getStatus());
         projectTeamService.updateById(projectTeam);
 
-        // 封存项目课题方案
-        List<TProjectProposal> projectProposals = projectProposalService.list(Wrappers.lambdaQuery(TProjectProposal.class)
-                .eq(TProjectProposal::getTeamId, dto.getId()));
-        if(!CollectionUtils.isEmpty(projectProposals)){
-            for (TProjectProposal projectProposal : projectProposals) {
-                projectProposal.setAuditStatus(5);
+        if(dto.getStatus() == 2){
+            // 封存项目课题方案
+            List<TProjectProposal> projectProposals = projectProposalService.list(Wrappers.lambdaQuery(TProjectProposal.class)
+                    .eq(TProjectProposal::getTeamId, dto.getId()));
+            if(!CollectionUtils.isEmpty(projectProposals)){
+                for (TProjectProposal projectProposal : projectProposals) {
+                    projectProposal.setOldStatus(projectProposal.getAuditStatus());
+                    projectProposal.setAuditStatus(5);
+                }
+                projectProposalService.updateBatchById(projectProposals);
+                List<String> projectIds = projectProposals.stream().map(TProjectProposal::getId).collect(Collectors.toList());
+                // 封存实验调度
+                List<TExperimentDispatch> experimentDispatches = experimentDispatchService.list(Wrappers.lambdaQuery(TExperimentDispatch.class)
+                        .in(TExperimentDispatch::getProposalId, projectIds));
+                if(!CollectionUtils.isEmpty(experimentDispatches)){
+                    experimentDispatches.forEach(experimentDispatch -> {
+                        experimentDispatch.setOldStatus(experimentDispatch.getStatus());
+                        experimentDispatch.setStatus(3);
+                    });
+                    experimentDispatchService.updateBatchById(experimentDispatches);
+
+                    // 封存检验方法
+                    List<String> dispatchIds = experimentDispatches.stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
+                    List<TTestMethodConfirmSheet> testMethodConfirmSheets = testMethodConfirmSheetService.list(Wrappers.lambdaQuery(TTestMethodConfirmSheet.class)
+                            .in(TTestMethodConfirmSheet::getDispatchId, dispatchIds));
+                    if(!CollectionUtils.isEmpty(testMethodConfirmSheets)){
+                        testMethodConfirmSheets.forEach(testMethodConfirmSheet -> {
+                            testMethodConfirmSheet.setOldStatus(testMethodConfirmSheet.getAuditStatus());
+                            testMethodConfirmSheet.setAuditStatus(5);
+                        });
+                        testMethodConfirmSheetService.updateBatchById(testMethodConfirmSheets);
+                    }
+
+                    // 封存试验方案
+                    List<TExperimentScheme> experimentSchemes = experimentSchemeService.list(Wrappers.lambdaQuery(TExperimentScheme.class)
+                            .in(TExperimentScheme::getDispatchId, dispatchIds));
+                    if(!CollectionUtils.isEmpty(experimentSchemes)){
+                        experimentSchemes.forEach(experimentScheme -> {
+                            experimentScheme.setOldStatus(experimentScheme.getStatus());
+                            experimentScheme.setStatus(5);
+                        });
+                        experimentSchemeService.updateBatchById(experimentSchemes);
+                    }
+
+                    // 封存取样记录
+                    List<TSamplingRecord> samplingRecords = samplingRecordService.list(Wrappers.lambdaQuery(TSamplingRecord.class)
+                            .in(TSamplingRecord::getDispatchId, dispatchIds));
+                    if(!CollectionUtils.isEmpty(samplingRecords)){
+                        samplingRecords.forEach(samplingRecord -> {
+                            samplingRecord.setOldStatus(samplingRecord.getStatus());
+                            samplingRecord.setStatus(3);
+                        });
+                        samplingRecordService.updateBatchById(samplingRecords);
+                    }
+
+                    // 封存结果汇报
+                    List<TExperimentResultReport> experimentResultReports = experimentResultReportService.list(Wrappers.lambdaQuery(TExperimentResultReport.class)
+                            .in(TExperimentResultReport::getDispatchId, dispatchIds));
+                    if(!CollectionUtils.isEmpty(experimentResultReports)){
+                        experimentResultReports.forEach(experimentResultReport -> {
+                            experimentResultReport.setOldStatus(experimentResultReport.getStatus());
+                            experimentResultReport.setStatus(4);
+                        });
+                        experimentResultReportService.updateBatchById(experimentResultReports);
+                    }
+
+                }
             }
-            projectProposalService.updateBatchById(projectProposals);
-            List<String> projectIds = projectProposals.stream().map(TProjectProposal::getId).collect(Collectors.toList());
-            // 封存实验调度
-            List<TExperimentDispatch> experimentDispatches = experimentDispatchService.list(Wrappers.lambdaQuery(TExperimentDispatch.class)
-                    .in(TExperimentDispatch::getProposalId, projectIds));
-            if(!CollectionUtils.isEmpty(experimentDispatches)){
-                experimentDispatches.forEach(experimentDispatch -> {
-                    experimentDispatch.setStatus(3);
-                });
-                experimentDispatchService.updateBatchById(experimentDispatches);
-
-                // 封存检验方法
-                List<String> dispatchIds = experimentDispatches.stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
-                List<TTestMethodConfirmSheet> testMethodConfirmSheets = testMethodConfirmSheetService.list(Wrappers.lambdaQuery(TTestMethodConfirmSheet.class)
-                        .in(TTestMethodConfirmSheet::getDispatchId, dispatchIds));
-                if(!CollectionUtils.isEmpty(testMethodConfirmSheets)){
-                    testMethodConfirmSheets.forEach(testMethodConfirmSheet -> {
-                        testMethodConfirmSheet.setAuditStatus(5);
-                    });
-                    testMethodConfirmSheetService.updateBatchById(testMethodConfirmSheets);
+        }else {
+            // 解封项目课题方案
+            List<TProjectProposal> projectProposals = projectProposalService.list(Wrappers.lambdaQuery(TProjectProposal.class)
+                    .eq(TProjectProposal::getTeamId, dto.getId()));
+            if(!CollectionUtils.isEmpty(projectProposals)){
+                for (TProjectProposal projectProposal : projectProposals) {
+                    projectProposal.setAuditStatus(projectProposal.getOldStatus());
                 }
-
-                // 封存试验方案
-                List<TExperimentScheme> experimentSchemes = experimentSchemeService.list(Wrappers.lambdaQuery(TExperimentScheme.class)
-                        .in(TExperimentScheme::getDispatchId, dispatchIds));
-                if(!CollectionUtils.isEmpty(experimentSchemes)){
-                    experimentSchemes.forEach(experimentScheme -> {
-                        experimentScheme.setStatus(5);
+                projectProposalService.updateBatchById(projectProposals);
+                List<String> projectIds = projectProposals.stream().map(TProjectProposal::getId).collect(Collectors.toList());
+                // 封存实验调度
+                List<TExperimentDispatch> experimentDispatches = experimentDispatchService.list(Wrappers.lambdaQuery(TExperimentDispatch.class)
+                        .in(TExperimentDispatch::getProposalId, projectIds));
+                if(!CollectionUtils.isEmpty(experimentDispatches)){
+                    experimentDispatches.forEach(experimentDispatch -> {
+                        experimentDispatch.setStatus(experimentDispatch.getOldStatus());
                     });
-                    experimentSchemeService.updateBatchById(experimentSchemes);
-                }
+                    experimentDispatchService.updateBatchById(experimentDispatches);
 
-                // 封存取样记录
-                List<TSamplingRecord> samplingRecords = samplingRecordService.list(Wrappers.lambdaQuery(TSamplingRecord.class)
-                        .in(TSamplingRecord::getDispatchId, dispatchIds));
-                if(!CollectionUtils.isEmpty(samplingRecords)){
-                    samplingRecords.forEach(samplingRecord -> {
-                        samplingRecord.setStatus(3);
-                    });
-                    samplingRecordService.updateBatchById(samplingRecords);
-                }
+                    // 封存检验方法
+                    List<String> dispatchIds = experimentDispatches.stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
+                    List<TTestMethodConfirmSheet> testMethodConfirmSheets = testMethodConfirmSheetService.list(Wrappers.lambdaQuery(TTestMethodConfirmSheet.class)
+                            .in(TTestMethodConfirmSheet::getDispatchId, dispatchIds));
+                    if(!CollectionUtils.isEmpty(testMethodConfirmSheets)){
+                        testMethodConfirmSheets.forEach(testMethodConfirmSheet -> {
+                            testMethodConfirmSheet.setAuditStatus(testMethodConfirmSheet.getAuditStatus());
+                        });
+                        testMethodConfirmSheetService.updateBatchById(testMethodConfirmSheets);
+                    }
 
-                // 封存结果汇报
-                List<TExperimentResultReport> experimentResultReports = experimentResultReportService.list(Wrappers.lambdaQuery(TExperimentResultReport.class)
-                        .in(TExperimentResultReport::getDispatchId, dispatchIds));
-                if(!CollectionUtils.isEmpty(experimentResultReports)){
-                    experimentResultReports.forEach(experimentResultReport -> {
-                        experimentResultReport.setStatus(4);
-                    });
-                    experimentResultReportService.updateBatchById(experimentResultReports);
-                }
+                    // 封存试验方案
+                    List<TExperimentScheme> experimentSchemes = experimentSchemeService.list(Wrappers.lambdaQuery(TExperimentScheme.class)
+                            .in(TExperimentScheme::getDispatchId, dispatchIds));
+                    if(!CollectionUtils.isEmpty(experimentSchemes)){
+                        experimentSchemes.forEach(experimentScheme -> {
+                            experimentScheme.setStatus(experimentScheme.getOldStatus());
+                        });
+                        experimentSchemeService.updateBatchById(experimentSchemes);
+                    }
 
+                    // 封存取样记录
+                    List<TSamplingRecord> samplingRecords = samplingRecordService.list(Wrappers.lambdaQuery(TSamplingRecord.class)
+                            .in(TSamplingRecord::getDispatchId, dispatchIds));
+                    if(!CollectionUtils.isEmpty(samplingRecords)){
+                        samplingRecords.forEach(samplingRecord -> {
+                            samplingRecord.setStatus(samplingRecord.getOldStatus());
+                        });
+                        samplingRecordService.updateBatchById(samplingRecords);
+                    }
+
+                    // 封存结果汇报
+                    List<TExperimentResultReport> experimentResultReports = experimentResultReportService.list(Wrappers.lambdaQuery(TExperimentResultReport.class)
+                            .in(TExperimentResultReport::getDispatchId, dispatchIds));
+                    if(!CollectionUtils.isEmpty(experimentResultReports)){
+                        experimentResultReports.forEach(experimentResultReport -> {
+                            experimentResultReport.setStatus(experimentResultReport.getOldStatus());
+                        });
+                        experimentResultReportService.updateBatchById(experimentResultReports);
+                    }
+                }
             }
         }
-
-        // 封存检测项
-//        List<TQaTestItem> qaTestItems = qaTestItemService.list(Wrappers.lambdaQuery(TQaTestItem.class)
-//                .eq(TQaTestItem::getTeamId, dto.getId()));
-//        if(!CollectionUtils.isEmpty(qaTestItems)){
-//            qaTestItems.forEach(qaTestItem -> {
-//                qaTestItem.setStatus(4);
-//            });
-//            qaTestItemService.updateBatchById(qaTestItems);
-//        }
-
-        // 封存中试
-//        List<TQaProduceReport> qaProduceReports = qaProduceReportService.list(Wrappers.lambdaQuery(TQaProduceReport.class)
-//                .eq(TQaProduceReport::getTeamId, dto.getId()));
-//        if(!CollectionUtils.isEmpty(qaProduceReports)){
-//            qaProduceReports.forEach(qaProduceReport -> {
-//                qaProduceReport.setStatus(4);
-//            });
-//            qaProduceReportService.updateBatchById(qaProduceReports);
-//        }
-
-        // 封存可行等报告
-//        List<TFeasibilityStudyReport> feasibilityStudyReports = feasibilityStudyReportService.list(Wrappers.lambdaQuery(TFeasibilityStudyReport.class)
-//                .eq(TFeasibilityStudyReport::getTeamId, dto.getId()));
-//        if(!CollectionUtils.isEmpty(feasibilityStudyReports)){
-//            feasibilityStudyReports.forEach(feasibilityStudyReport -> {
-//                feasibilityStudyReport.setStatus(4);
-//            });
-//            feasibilityStudyReportService.updateBatchById(feasibilityStudyReports);
-//        }
-
 
         return R.ok();
     }

--
Gitblit v1.7.1