diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java index 4fde3c0..623cd85 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java @@ -1192,7 +1192,7 @@ public class EntrustServiceImpl extends BaseServiceImpl // result.put("12", examineWay.getOperation()); result.put("12", examineResult.getOperateContent().replace("$", "\n")); if (examineBasis != null) { - result.put("13", examineBasis.getContent().replace("$", "\n")); + result.put("13", examineBasis.getContent().replace("$", "(char)11")); } String path = sysClient.getParamValue("electronic_signature_real_path").getData(); // 检测人 @@ -1244,25 +1244,26 @@ public class EntrustServiceImpl extends BaseServiceImpl result.put("17", s1); } - // position1 - // 如果是布鲁氏检测 - if ("2".equals(byId.getInputMode())) { + // 如果是布鲁氏检测 (列排单+式和列排多+式) + if ("2".equals(byId.getInputMode()) || "6".equals(byId.getInputMode())) { List list = JSON.parseArray(examineResult.getExamineDataArr(), ExamineTemplate2Excel.class); - // 阴性数量 + // 阴阳性数量 long yin = list.stream().filter((ExamineTemplate2Excel e) -> "阴性".equals(e.getResult())).count(); + long yang = list.stream().filter((ExamineTemplate2Excel e) -> "阳性".equals(e.getResult())).count(); + ExamineTemplate2Excel examineTemplate2Excel1 = new ExamineTemplate2Excel(); examineTemplate2Excel1.setExperieNum("阴性数量"); examineTemplate2Excel1.setValue(String.valueOf(yin)); list.add(examineTemplate2Excel1); - // 阳性数量 - long yang = list.stream().filter((ExamineTemplate2Excel e) -> "阳性".equals(e.getResult())).count(); + ExamineTemplate2Excel examineTemplate2Excel2 = new ExamineTemplate2Excel(); examineTemplate2Excel2.setExperieNum("阳性数量"); examineTemplate2Excel2.setValue(String.valueOf(yang)); list.add(examineTemplate2Excel2); - // 可疑数量 - long keyi = list.stream().filter((ExamineTemplate2Excel e) -> "可疑".equals(e.getResult())).count(); - if (keyi > 0) { + + // 如果是平板的,只有阴性和阳性,如果是试管的才有可疑 + if ("6".equals(byId.getInputMode())) { + long keyi = list.stream().filter((ExamineTemplate2Excel e) -> "可疑".equals(e.getResult())).count(); ExamineTemplate2Excel examineTemplate2Excel3 = new ExamineTemplate2Excel(); examineTemplate2Excel3.setExperieNum("可疑数量"); examineTemplate2Excel3.setValue(String.valueOf(keyi)); diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ExamineResultServiceImpl.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ExamineResultServiceImpl.java index 635c57b..dfe2a42 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ExamineResultServiceImpl.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ExamineResultServiceImpl.java @@ -1,5 +1,6 @@ package org.springblade.lims.service.impl; +import com.alibaba.fastjson.JSON; import com.alibaba.nacos.common.utils.CollectionUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -7,7 +8,9 @@ import lombok.AllArgsConstructor; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.CollectionUtil; import org.springblade.lims.entry.*; +import org.springblade.lims.excel.PCR2Excel; import org.springblade.lims.mapper.ExamineResultMapper; import org.springblade.lims.service.*; import org.springblade.resource.enums.SysTypeEnum; @@ -18,6 +21,7 @@ import org.springblade.system.user.feign.IUserClient; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; +import springfox.documentation.spring.web.json.Json; import java.io.*; import java.util.*; @@ -140,16 +144,26 @@ public class ExamineResultServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("input_mode", "6"); + List list = examineItemService.list(queryWrapper); + if (CollectionUtil.isNotEmpty(list) && list.get(0) != null) { + // 布鲁氏杆菌抗体检测(试管凝集微量法) + ExamineItem examineItem = list.get(0); + examine.setExamineItemId(examineItem.getId()); + String wayAndBasis = examineItem.getWayAndBasis(); + List wayAndBaseList = JSON.parseArray(wayAndBasis, WayAndBasis.class); + if (CollectionUtil.isNotEmpty(wayAndBaseList) && wayAndBaseList.get(0) != null) { + WayAndBasis wayAndBasis1 = wayAndBaseList.get(0); + examine.setExamineWayId(Long.valueOf(wayAndBasis1.getExamineWayId())); + examine.setExamineBasisId(Long.valueOf(wayAndBasis1.getExamineBasisId())); + } + } examine.setIsFinished("-1"); examineService.save(examine); // 新增一条记录