Procházet zdrojové kódy

试验自检关联查询回显样品处理结果

lvy před 2 týdny
rodič
revize
a147644465

+ 13 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/TrialSampleInfoVO.java

@@ -52,4 +52,17 @@ public class TrialSampleInfoVO extends TrialSampleInfo {
     @ApiModelProperty("试验单id")
     private String testId;
 
+    /**
+     * 样品处理
+     */
+    @ApiModelProperty("样品处理")
+    private String sampleProcessing;
+
+
+    /**
+     * 样品处理时间或者原因
+     */
+    @ApiModelProperty("样品处理时间或者原因")
+    private String sampleProcessingResult;
+
 }

+ 16 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialSelfInspectionRecordServiceImpl.java

@@ -1118,6 +1118,8 @@ public class TrialSelfInspectionRecordServiceImpl extends BaseServiceImpl<TrialS
         List<String> sampleIds = baseMapper.selectSelfSampleRecord(id);
         if (sampleIds.size() > 0) {
             List<TrialSampleInfo> trialSampleInfos = trialSampleInfoMapper.selectBatchIds(sampleIds);
+            List<EntrustInfo> entrustInfoList = entrustInfoService.list(Wrappers.<EntrustInfo>lambdaQuery().in(EntrustInfo::getSampleId, sampleIds));
+            Map<Long, EntrustInfo> entrustInfoMap = entrustInfoList.stream().collect(Collectors.toMap(EntrustInfo::getSampleId, item -> item, (v1, v2) -> v1));
             Map<Long, User> map = iUserClient.selectUserAll().stream().collect(Collectors.toMap(User::getId, Function.identity()));
             if (trialSampleInfos.size() > 0) {
                 for (TrialSampleInfo trialSampleInfo : trialSampleInfos) {
@@ -1126,6 +1128,20 @@ public class TrialSelfInspectionRecordServiceImpl extends BaseServiceImpl<TrialS
                         TrialSampleInfoVO trialSampleInfoVO = BeanUtil.copyProperties(trialSampleInfo, TrialSampleInfoVO.class);
                         if (trialSampleInfoVO != null) {
                             trialSampleInfoVO.setUserName(ObjectUtil.isNotEmpty(user.getName()) ? user.getName() : user.getRealName());
+                            EntrustInfo entrustInfo = entrustInfoMap.get(trialSampleInfo.getId());
+                            if (entrustInfo != null && entrustInfo.getSampleStatus() != null) {
+                                if (entrustInfo.getSampleStatus().equals("6")) {
+                                    trialSampleInfoVO.setSampleProcessing("处理");
+                                    trialSampleInfoVO.setSampleProcessingResult(entrustInfo.getRepealReason() == null ? "" : entrustInfo.getRepealReason());
+                                } else if (entrustInfo.getSampleStatus().equals("5")) {
+                                    trialSampleInfoVO.setSampleProcessing("留样");
+                                    Date endTime = entrustInfo.getResamEndTime();
+                                    Date startTime = entrustInfo.getResamStartTime();
+                                    if (startTime != null && endTime != null) {
+                                        trialSampleInfoVO.setSampleProcessingResult(DateUtil.format(startTime, "yyyy-MM-dd") + "-" + DateUtil.format(endTime, "yyyy-MM-dd"));
+                                    }
+                                }
+                            }
                             result.add(trialSampleInfoVO);
                         }
                     }