From 39a97f1b7585edc184ea5066600f1d9a2d2cb8cf Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 20 五月 2025 18:06:12 +0800
Subject: [PATCH] 测评接口,草稿箱修改

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java |   46 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 42 insertions(+), 4 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java
index 4990ce4..26e8cca 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java
@@ -6,6 +6,7 @@
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.basic.PageInfo;
 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.StringUtils;
 import com.ruoyi.framework.web.service.TokenService;
@@ -28,6 +29,7 @@
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -51,8 +53,9 @@
     private final TProjectProposalService projectProposalService;
     private final TProjectTeamService projectTeamService;
     private final TProjectTeamStaffService projectTeamStaffService;
+    private final TExperimentDispatchParticipantsService experimentDispatchParticipantsService;
     @Autowired
-    public TSamplingRecordController(TSamplingRecordService samplingRecordService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TSamplingRecordOperationService samplingRecordOperationService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService) {
+    public TSamplingRecordController(TSamplingRecordService samplingRecordService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TSamplingRecordOperationService samplingRecordOperationService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService) {
         this.samplingRecordService = samplingRecordService;
         this.tokenService = tokenService;
         this.sysUserService = sysUserService;
@@ -62,6 +65,7 @@
         this.projectProposalService = projectProposalService;
         this.projectTeamService = projectTeamService;
         this.projectTeamStaffService = projectTeamStaffService;
+        this.experimentDispatchParticipantsService = experimentDispatchParticipantsService;
     }
 
     /**
@@ -130,12 +134,12 @@
     public R<Boolean> update(@RequestBody String param) {
         TSamplingRecordDTO dto = JSON.parseObject(param,TSamplingRecordDTO.class);
         samplingRecordService.updateById(dto);
-        samplingRecordOperationService.remove(Wrappers.lambdaQuery(TSamplingRecordOperation.class).eq(TSamplingRecordOperation::getSamplingId,dto.getId()));
+//        samplingRecordOperationService.remove(Wrappers.lambdaQuery(TSamplingRecordOperation.class).eq(TSamplingRecordOperation::getSamplingId,dto.getId()));
         List<TSamplingRecordOperation> samplingRecordOperations = dto.getSamplingRecordOperations();
         samplingRecordOperations.forEach(samplingRecordOperation -> {
             samplingRecordOperation.setSamplingId(dto.getId());
         });
-        samplingRecordOperationService.saveBatch(samplingRecordOperations);
+        samplingRecordOperationService.saveOrUpdateBatch(samplingRecordOperations);
         return R.ok();
     }
 
@@ -169,6 +173,8 @@
         Long userId = tokenService.getLoginUser().getUserId();
         samplingRecord.setCommitPersonId(userId);
         samplingRecord.setStatus(2);
+        samplingRecord.setCommitSign(samplingRecord.getCommitSign());
+        samplingRecord.setRemark(samplingRecord.getRemark());
         samplingRecord.setCommitTime(LocalDateTime.now());
         samplingRecordService.updateById(samplingRecord);
         return R.ok();
@@ -186,10 +192,42 @@
         BeanUtils.copyProperties(samplingRecord, samplingRecordVO);
 
         // 查询取样操作记录
-        samplingRecordVO.setSamplingRecordOperations(samplingRecordOperationService.list(Wrappers.lambdaQuery(TSamplingRecordOperation.class).eq(TSamplingRecordOperation::getSamplingId, id)));
+        List<TSamplingRecordOperation> samplingRecordOperations = samplingRecordOperationService.list(Wrappers.lambdaQuery(TSamplingRecordOperation.class).eq(TSamplingRecordOperation::getSamplingId, id));
+
+        List<Long> userIds = samplingRecordOperations.stream().map(TSamplingRecordOperation::getHandlePersonId).collect(Collectors.toList());
+        List<Long> sendUserIds = samplingRecordOperations.stream().map(TSamplingRecordOperation::getSendPersonId).collect(Collectors.toList());
+        List<Long> receiptsUserIds = samplingRecordOperations.stream().map(TSamplingRecordOperation::getReceiptsPersonId).collect(Collectors.toList());
+        userIds.addAll(sendUserIds);
+        userIds.addAll(receiptsUserIds);
+        List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds);
+        samplingRecordOperations.forEach(samplingRecordOperation -> {
+            if(Objects.nonNull(samplingRecordOperation.getHandlePersonId())){
+                samplingRecordOperation.setHandlePersonName(Objects.requireNonNull(sysUsers.stream().filter(user -> user.getUserId().equals(samplingRecordOperation.getHandlePersonId())).findFirst().orElse(null)).getNickName());
+            }
+            if(Objects.nonNull(samplingRecordOperation.getSendPersonId())){
+                samplingRecordOperation.setSendPersonName(Objects.requireNonNull(sysUsers.stream().filter(user -> user.getUserId().equals(samplingRecordOperation.getSendPersonId())).findFirst().orElse(null)).getNickName());
+            }
+            if(Objects.nonNull(samplingRecordOperation.getReceiptsPersonId())){
+                samplingRecordOperation.setReceiptsPersonName(Objects.requireNonNull(sysUsers.stream().filter(user -> user.getUserId().equals(samplingRecordOperation.getReceiptsPersonId())).findFirst().orElse(null)).getNickName());
+            }
+        });
+
+        samplingRecordVO.setSamplingRecordOperations(samplingRecordOperations);
         // 查询实验调度信息
         TExperimentDispatch experimentDispatch = experimentDispatchService.getById(samplingRecordVO.getDispatchId());
         if(Objects.nonNull(experimentDispatch)){
+            List<TExperimentDispatchParticipants> tExperimentDispatchParticipants = experimentDispatchParticipantsService.list(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class)
+                    .eq(TExperimentDispatchParticipants::getDispatchId, experimentDispatch.getId()));
+            List<Long> userIdList = tExperimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getUserId).collect(Collectors.toList());
+            List<SysUser> sysUserList = sysUserMapper.selectUserByIds(userIdList);
+            tExperimentDispatchParticipants.forEach(tExperimentDispatchParticipant -> {
+                SysUser sysUser = sysUserList.stream().filter(user -> user.getUserId().equals(tExperimentDispatchParticipant.getUserId())).findFirst().orElse(null);
+                if(sysUser != null){
+                    tExperimentDispatchParticipant.setNickName(sysUser.getNickName());
+                }
+            });
+            String participantsName = tExperimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getNickName).collect(Collectors.joining(";"));
+            experimentDispatch.setParticipantsName(participantsName);
             // 查询课题方案名称
             TProjectProposal projectProposal = projectProposalService.getById(experimentDispatch.getProposalId());
             if(Objects.nonNull(projectProposal)){

--
Gitblit v1.7.1