From b7ec3aff011f05e236e76be844540dbe776f7353 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 27 六月 2025 19:12:03 +0800
Subject: [PATCH] bug修改

---
 ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml                            |   15 ++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TClinicalTrialPointsController.java |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/model/TClinicalTrialPoints.java                |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/model/TTestMethodConfirmSheet.java             |    4 
 ruoyi-system/src/main/resources/mapper/system/TResultWorkEvaluateMapper.xml                |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentResultReport.java             |    3 
 ruoyi-system/src/main/java/com/ruoyi/system/model/TProjectProposal.java                    |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java           |   12 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectTeamController.java         |  206 +++++++++++++++++------------
 ruoyi-system/src/main/java/com/ruoyi/system/model/TSamplingRecord.java                     |    9 +
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java                   |    3 
 ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentDispatch.java                 |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java                      |    3 
 ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentScheme.java                   |    4 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java           |  106 +++++++++++++-
 15 files changed, 278 insertions(+), 101 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TClinicalTrialPointsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TClinicalTrialPointsController.java
index 18464ce..34227d8 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TClinicalTrialPointsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TClinicalTrialPointsController.java
@@ -115,7 +115,7 @@
         if(Objects.isNull(projectTeamStaff)){
             return R.fail("当前项目组未分配工艺工程师,无法创建临床试验积分");
         }
-        dto.setProcessEngineerId(projectTeamStaff.getId());
+        dto.setProcessEngineerId(projectTeamStaff.getUserId());
         clinicalTrialPointsService.save(dto);
         return R.ok();
     }
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..0822c93 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
@@ -223,98 +223,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();
     }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
index 2893952..5559d64 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -17,7 +17,7 @@
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.dto.SysUserUpdateStatusDTO;
-import com.ruoyi.system.model.TProjectTeamStaff;
+import com.ruoyi.system.model.*;
 import com.ruoyi.system.query.SysUserQuery;
 import com.ruoyi.system.service.*;
 import com.ruoyi.system.vo.SysUserVO;
@@ -56,7 +56,28 @@
     private TProjectTeamService projectTeamService;
     @Autowired
     private TProjectTeamStaffService projectTeamStaffService;
-
+    @Autowired
+    private TClinicalTrialPointsService clinicalTrialPointsService;
+    @Autowired
+    private TExperimentDispatchParticipantsService experimentDispatchParticipantsService;
+    @Autowired
+    private TExperimentSchemePersonService experimentSchemePersonService;
+    @Autowired
+    private TNoticeService noticeService;
+    @Autowired
+    private TProjectProposalService projectProposalService;
+    @Autowired
+    private TQaProduceReportService qaProduceReportService;
+    @Autowired
+    private TQaTestItemService qaTestItemService;
+    @Autowired
+    private TResultWorkEvaluateService resultWorkEvaluateService;
+    @Autowired
+    private TSamplingRecordOperationService samplingRecordOperationService;
+    @Autowired
+    private TTestMethodConfirmSheetService testMethodConfirmSheetService;
+    @Autowired
+    private TTesterOtherTaskService testerOtherTaskService;
     /**
      * 获取用户列表
      */
@@ -222,18 +243,85 @@
         if (Objects.isNull(oldUser)){
             return R.fail("原始账号不存在");
         }
+        if ("0".equals(oldUser.getStatus())){
+            return R.fail("原始账号未停用,无法继承");
+        }
         SysUser user = userService.selectUserById(userId);
         if (Objects.isNull(user)){
             return R.fail("继承账号不存在");
         }
-        Long oldUserUserId = oldUser.getUserId();
-        List<SysUser> oldUserList = userService.selectOldList();
-//        oldUser.setUserId();
-//        userService.updateUserOldUser(oldUser);
-        user.setParentId(oldUser.getUserId());
-        user.setParentAccount(oldUser.getUserName());
+        if(!oldUser.getRoleType().equals(user.getRoleType())){
+            return R.fail("原始账号和继承账号角色不一致");
+        }
 
-//        userService.updateUserInherit(user);
+        Integer roleType = oldUser.getRoleType();
+        Long oldUserUserId = oldUser.getUserId();
+        switch (roleType){
+            case 3:
+                // 工艺工程师
+                // 临床试验积分
+                clinicalTrialPointsService.update(Wrappers.lambdaUpdate(TClinicalTrialPoints.class)
+                        .eq(TClinicalTrialPoints::getProcessEngineerId,oldUserUserId)
+                        .set(TClinicalTrialPoints::getProcessEngineerId,userId));
+                // QA检测项
+                qaTestItemService.update(Wrappers.lambdaUpdate(TQaTestItem.class)
+                        .eq(TQaTestItem::getCommitPersonId,oldUserUserId)
+                        .set(TQaTestItem::getCommitPersonId,userId));
+                break;
+            case 4:
+                // 化验师
+                // 中试、生产验证分析报告;辅料;产品报告
+                qaProduceReportService.update(Wrappers.lambdaUpdate(TQaProduceReport.class)
+                        .eq(TQaProduceReport::getCommitPersonId,oldUserUserId)
+                        .set(TQaProduceReport::getCommitPersonId,userId));
+                break;
+            case 5:
+                // 实验员
+                // 实验方案实验人员管理
+                experimentSchemePersonService.update(Wrappers.lambdaUpdate(TExperimentSchemePerson.class)
+                        .eq(TExperimentSchemePerson::getUserId,oldUserUserId)
+                        .set(TExperimentSchemePerson::getUserId,userId));
+                // 实验员其他任务
+                testerOtherTaskService.update(Wrappers.lambdaUpdate(TTesterOtherTask.class)
+                        .eq(TTesterOtherTask::getTesterId,oldUserUserId)
+                        .set(TTesterOtherTask::getTesterId,userId));
+                break;
+        }
+        // 实验调度参与人员
+        experimentDispatchParticipantsService.update(Wrappers.lambdaUpdate(TExperimentDispatchParticipants.class)
+                .eq(TExperimentDispatchParticipants::getUserId,oldUserUserId)
+                .set(TExperimentDispatchParticipants::getUserId,userId));
+        // 公告
+        noticeService.update(Wrappers.lambdaUpdate(TNotice.class)
+                .eq(TNotice::getUserId,oldUserUserId)
+                .set(TNotice::getUserId,userId));
+        // 项目课题
+        projectProposalService.update(Wrappers.lambdaUpdate(TProjectProposal.class)
+                .eq(TProjectProposal::getCommitUserId,oldUserUserId)
+                .set(TProjectProposal::getCommitUserId,userId));
+        // 项目组
+        projectTeamStaffService.update(Wrappers.lambdaUpdate(TProjectTeamStaff.class)
+                .eq(TProjectTeamStaff::getUserId,oldUserUserId)
+                .set(TProjectTeamStaff::getUserId,userId));
+        // 实验结果汇报
+        resultWorkEvaluateService.update(Wrappers.lambdaUpdate(TResultWorkEvaluate.class)
+                .eq(TResultWorkEvaluate::getUserId,oldUserUserId)
+                .set(TResultWorkEvaluate::getUserId,userId));
+        // 取样操作管理
+        samplingRecordOperationService.update(Wrappers.lambdaUpdate(TSamplingRecordOperation.class)
+                .eq(TSamplingRecordOperation::getHandlePersonId,oldUserUserId)
+                .set(TSamplingRecordOperation::getHandlePersonId,userId));
+        samplingRecordOperationService.update(Wrappers.lambdaUpdate(TSamplingRecordOperation.class)
+                .eq(TSamplingRecordOperation::getSendPersonId,oldUserUserId)
+                .set(TSamplingRecordOperation::getSendPersonId,userId));
+        samplingRecordOperationService.update(Wrappers.lambdaUpdate(TSamplingRecordOperation.class)
+                .eq(TSamplingRecordOperation::getReceiptsPersonId,oldUserUserId)
+                .set(TSamplingRecordOperation::getReceiptsPersonId,userId));
+        // 检验方法确认单
+        testMethodConfirmSheetService.update(Wrappers.lambdaUpdate(TTestMethodConfirmSheet.class)
+                .eq(TTestMethodConfirmSheet::getCommitUserId,oldUserUserId)
+                .set(TTestMethodConfirmSheet::getCommitUserId,userId));
+
         return R.ok();
     }
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
index 519b71c..57d92ac 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
@@ -186,4 +186,7 @@
     List<SysUser> selectOldList();
 
 
+    int deleteUserByOldUserId(@Param("oldUserId")Long oldUserId);
+
+    void updateUserInherit(SysUser user);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TClinicalTrialPoints.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TClinicalTrialPoints.java
index 0ba8797..4599d50 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TClinicalTrialPoints.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TClinicalTrialPoints.java
@@ -38,7 +38,7 @@
 
     @ApiModelProperty(value = "工艺工程师id")
     @TableField("process_engineer_id")
-    private String processEngineerId;
+    private Long processEngineerId;
 
     @ApiModelProperty(value = "临床实验内容")
     @TableField("trial_content")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentDispatch.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentDispatch.java
index 726accf..fe19146 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentDispatch.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentDispatch.java
@@ -67,6 +67,10 @@
     @TableField("status")
     private Integer status;
 
+    @ApiModelProperty(value = "历史状态")
+    @TableField("old_status")
+    private Integer oldStatus;
+
     @ApiModelProperty(value = "课题方案名称")
     @TableField(exist = false)
     private String projectName;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentResultReport.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentResultReport.java
index 8bc3643..6ec86a2 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentResultReport.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentResultReport.java
@@ -77,4 +77,7 @@
     @TableField("evaluate_time")
     private LocalDateTime evaluateTime;
 
+    @ApiModelProperty(value = "历史状态")
+    @TableField("old_status")
+    private Integer oldStatus;
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentScheme.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentScheme.java
index e08c7f4..c2036fe 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentScheme.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentScheme.java
@@ -94,5 +94,7 @@
     @TableField("audit_remark")
     private String auditRemark;
 
-
+    @ApiModelProperty(value = "历史状态")
+    @TableField("old_status")
+    private Integer oldStatus;
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TProjectProposal.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TProjectProposal.java
index d01eff8..e07c9e1 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TProjectProposal.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TProjectProposal.java
@@ -101,4 +101,8 @@
     @TableField("audit_remark")
     private String auditRemark;
 
+    @ApiModelProperty(value = "历史状态")
+    @TableField("old_status")
+    private Integer oldStatus;
+
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TSamplingRecord.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TSamplingRecord.java
index 030c4ae..d474901 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TSamplingRecord.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TSamplingRecord.java
@@ -1,6 +1,9 @@
 package com.ruoyi.system.model;
 
-import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.domain.BaseModel;
 import io.swagger.annotations.ApiModel;
@@ -8,7 +11,6 @@
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
-import java.io.Serializable;
 import java.time.LocalDateTime;
 
 /**
@@ -59,4 +61,7 @@
     @TableField("commit_time")
     private LocalDateTime commitTime;
 
+    @ApiModelProperty(value = "历史状态")
+    @TableField("old_status")
+    private Integer oldStatus;
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TTestMethodConfirmSheet.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TTestMethodConfirmSheet.java
index 47a3c31..322d244 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TTestMethodConfirmSheet.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TTestMethodConfirmSheet.java
@@ -66,5 +66,7 @@
     @TableField("audit_time")
     private LocalDateTime auditTime;
 
-
+    @ApiModelProperty(value = "历史状态")
+    @TableField("old_status")
+    private Integer oldStatus;
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
index 5f942e9..fe1ce57 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
@@ -286,4 +286,7 @@
     List<SysUser> selectOldList();
 
 
+    int deleteUserByOldUserId(Long oldUserId);
+
+    void updateUserInherit(SysUser user);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 9d9bc59..160cd76 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -703,6 +703,18 @@
         return userMapper.selectOldList();
     }
 
+    @Override
+    public int deleteUserByOldUserId(Long oldUserId) {
+        // 删除用户与角色关联
+        userRoleMapper.deleteUserRoleByUserId(oldUserId);
+        return userMapper.deleteUserByOldUserId(oldUserId);
+    }
+
+    @Override
+    public void updateUserInherit(SysUser user) {
+        userMapper.updateUserInherit(user);
+    }
+
 //    @Override
 //    public UserInfoVo userInfo(Long userId) {
 //        return userMapper.userInfo(userId);
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
index 71fe532..4dfb977 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -395,6 +395,16 @@
 	<update id="editSignPicture" parameterType="SysUser">
 		update sys_user set sign_picture = #{signPicture} where user_id = #{userId}
 	</update>
+	<update id="updateUserInherit">
+		update sys_user
+		<set>
+			<if test="parentId != null">parentId = #{parentId},</if>
+			<if test="parentAccount != null and parentAccount != ''">parentAccount = #{parentAccount},</if>
+			<if test="userId != null">user_id = #{userId},</if>
+			update_time = sysdate()
+		</set>
+		where userIdentification = #{userIdentification}
+	</update>
 
 	<delete id="deleteUserById" parameterType="Long">
  		update sys_user set del_flag = '2' where user_id = #{userId}
@@ -406,5 +416,8 @@
  			#{userId}
         </foreach> 
  	</delete>
-	
+	<delete id="deleteUserByOldUserId">
+		delete from sys_user where user_id = #{oldUserId}
+	</delete>
+
 </mapper> 
\ No newline at end of file
diff --git a/ruoyi-system/src/main/resources/mapper/system/TResultWorkEvaluateMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TResultWorkEvaluateMapper.xml
index 5e615c6..d75807e 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TResultWorkEvaluateMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TResultWorkEvaluateMapper.xml
@@ -46,7 +46,7 @@
             <if test="query.status == null">
                 AND t1.status != -1
             </if>
-            <if test="query.teamIds != null and query.teamIds > 0">
+            <if test="query.teamIds != null and query.teamIds.size() > 0">
                 AND t1.team_id in
                 <foreach collection="query.teamIds" item="id" open="(" separator="," close=")">
                     #{id}

--
Gitblit v1.7.1