From 949e66b636d50b57a97f7a756495994756ae4909 Mon Sep 17 00:00:00 2001 From: chen <2710907404@qq.com> Date: Mon, 24 Mar 2025 09:46:35 +0800 Subject: [PATCH] =?UTF-8?q?20250324=20=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EntrustInfoController.java | 4 +- ...stRecordInstrumentConditionController.java | 4 +- .../TestRecordSampleDataController.java | 10 +- .../TestRecordSampleDataExpandController.java | 48 +++++++ ...t.java => TestRecordReagentConverter.java} | 6 +- .../TestSampleDataExpandConverter.java | 33 +++++ .../dto/QueryTestResultPageDTO.java | 43 ------ .../dto/TestSampleDataExpandDTO.java | 46 ++++++ .../{constant => enums}/BusinessType.java | 2 +- .../{constant => enums}/CompoundMassKV.java | 2 +- .../{constant => enums}/MaterialType.java | 2 +- .../NumberTransferHanZi.java | 2 +- .../SewageCompoundNameTransform.java | 2 +- .../SewageReportColumn.java | 3 +- .../{constant => enums}/StdSolutionNum.java | 2 +- .../TaskTestDataStatus.java | 2 +- .../{constant => enums}/TestDataType.java | 2 +- .../TestRecordArgumentType.java | 2 +- .../TestRecordFileUrl.java | 2 +- .../event/CalculateInspectDataEvent.java | 26 ++++ .../AnalysisTestResultPageQuery.java} | 18 +-- .../platform/inspection/query/BaseQuery.java | 36 +++++ .../query/QueryTestResultPageQuery.java | 22 +++ .../service/TestRecordReagentService.java | 15 +- .../service/TestRecordSampleDataService.java | 11 +- .../TestRecordSampledataExpandService.java | 20 +++ .../impl/AssignmentInfoServiceImpl.java | 2 +- .../impl/InspectRecordServiceImpl.java | 4 +- .../service/impl/SampleInfoServiceImpl.java | 2 +- .../impl/SampleInjectorServiceImpl.java | 2 +- .../SewageDrugInspectReportServiceImpl.java | 2 +- .../service/impl/TaskInfoServiceImpl.java | 5 +- .../service/impl/TestAtlasServiceImpl.java | 2 +- ...tRecordInstrumentConditionServiceImpl.java | 4 +- .../impl/TestRecordInstrumentServiceImpl.java | 2 +- .../impl/TestRecordMethodServiceImpl.java | 2 +- .../impl/TestRecordReagentServiceImpl.java | 20 ++- .../impl/TestRecordSampleDataServiceImpl.java | 132 +++++++++++------- .../TestRecordSampleSolutionServiceImpl.java | 2 +- ...TestRecordSampledataExpandServiceImpl.java | 100 +++++++++++++ .../service/impl/TestRecordServiceImpl.java | 6 +- ...TestRecordStandardSolutionServiceImpl.java | 5 +- .../service/impl/TestTemplateServiceImpl.java | 4 +- 43 files changed, 493 insertions(+), 168 deletions(-) create mode 100644 dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/controller/TestRecordSampleDataExpandController.java rename dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/convert/{TestRecordReagentConvert.java => TestRecordReagentConverter.java} (91%) create mode 100644 dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/convert/TestSampleDataExpandConverter.java delete mode 100644 dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/dto/QueryTestResultPageDTO.java create mode 100644 dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/dto/TestSampleDataExpandDTO.java rename dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/{constant => enums}/BusinessType.java (95%) rename dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/{constant => enums}/CompoundMassKV.java (95%) rename dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/{constant => enums}/MaterialType.java (83%) rename dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/{constant => enums}/NumberTransferHanZi.java (94%) rename dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/{constant => enums}/SewageCompoundNameTransform.java (97%) rename dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/{constant => enums}/SewageReportColumn.java (96%) rename dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/{constant => enums}/StdSolutionNum.java (85%) rename dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/{constant => enums}/TaskTestDataStatus.java (95%) rename dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/{constant => enums}/TestDataType.java (96%) rename dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/{constant => enums}/TestRecordArgumentType.java (94%) rename dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/{constant => enums}/TestRecordFileUrl.java (93%) create mode 100644 dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/event/CalculateInspectDataEvent.java rename dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/{dto/AnalysisTestResultPageDTO.java => query/AnalysisTestResultPageQuery.java} (51%) create mode 100644 dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/query/BaseQuery.java create mode 100644 dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/query/QueryTestResultPageQuery.java diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/controller/EntrustInfoController.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/controller/EntrustInfoController.java index 9df5edc..b389e73 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/controller/EntrustInfoController.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/controller/EntrustInfoController.java @@ -5,8 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import digital.laboratory.platform.common.core.util.R; import digital.laboratory.platform.common.oss.service.OssFile; -import digital.laboratory.platform.inspection.constant.BusinessType; -import digital.laboratory.platform.inspection.constant.TestRecordFileUrl; +import digital.laboratory.platform.inspection.enums.BusinessType; +import digital.laboratory.platform.inspection.enums.TestRecordFileUrl; import digital.laboratory.platform.inspection.dto.EntrustInfoDto; import digital.laboratory.platform.inspetion.api.entity.EntrustInfo; import digital.laboratory.platform.inspection.service.EntrustInfoService; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/controller/TestRecordInstrumentConditionController.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/controller/TestRecordInstrumentConditionController.java index aab9cf1..fc05367 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/controller/TestRecordInstrumentConditionController.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/controller/TestRecordInstrumentConditionController.java @@ -2,7 +2,7 @@ package digital.laboratory.platform.inspection.controller; import cn.hutool.core.util.StrUtil; import digital.laboratory.platform.common.core.util.R; -import digital.laboratory.platform.inspection.constant.TestRecordFileUrl; +import digital.laboratory.platform.inspection.enums.TestRecordFileUrl; import digital.laboratory.platform.inspection.dto.TestRecordArgumentDto; import digital.laboratory.platform.inspection.entity.TestRecordInstrumentCondition; import digital.laboratory.platform.inspection.service.TestRecordInstrumentConditionService; @@ -79,4 +79,4 @@ public class TestRecordInstrumentConditionController { String filePath = testRecordInstrumentConditionService.generatedOrNot(testId); return StrUtil.isNotBlank(filePath) ? R.ok(filePath) : R.failed("没有创建好仪器条件模板!"); } -} \ No newline at end of file +} diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/controller/TestRecordSampleDataController.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/controller/TestRecordSampleDataController.java index 8212ef0..dc93d35 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/controller/TestRecordSampleDataController.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/controller/TestRecordSampleDataController.java @@ -7,9 +7,11 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import digital.laboratory.platform.common.core.util.R; import digital.laboratory.platform.common.mybatis.security.service.DLPUser; -import digital.laboratory.platform.inspection.constant.BusinessType; +import digital.laboratory.platform.inspection.enums.BusinessType; import digital.laboratory.platform.inspection.dto.*; import digital.laboratory.platform.inspection.entity.TestRecordSampleData; +import digital.laboratory.platform.inspection.query.AnalysisTestResultPageQuery; +import digital.laboratory.platform.inspection.query.QueryTestResultPageQuery; import digital.laboratory.platform.inspection.service.TestRecordSampleDataService; import digital.laboratory.platform.inspection.utils.TestDataFileUtil; import digital.laboratory.platform.inspection.utils.datafile.hair.HairSewageCompoundData; @@ -186,10 +188,10 @@ public class TestRecordSampleDataController { @PostMapping("/getAnalysisTestResultPage") @ApiOperation(value = "分页查询-获取实验结果", notes = "分页查询-获取实验结果") - public R> getAnalysisTestResultPage(@RequestBody @Valid AnalysisTestResultPageDTO pageDTO) { + public R> getAnalysisTestResultPage(@RequestBody @Valid AnalysisTestResultPageQuery query) { Page page = null; try { - page = testRecordSampleDataService.getSampleTestDataByTestIdPage(pageDTO); + page = testRecordSampleDataService.getSampleTestDataByTestIdPage(query); } catch (Exception e) { e.printStackTrace(); return R.failed("查询失败,系统异常!"); @@ -227,7 +229,7 @@ public class TestRecordSampleDataController { // 实验结果等相关接口 @PostMapping("/queryTestResultPage") @ApiOperation(value = "实验结果查询中分页查询", notes = "实验结果查询中分页查询, 10000 委托、20000 任务、 30000 筛查") - public R> queryTestResultPage(@RequestBody QueryTestResultPageDTO dto, HttpServletRequest theHttpServletRequest) { + public R> queryTestResultPage(@RequestBody QueryTestResultPageQuery dto, HttpServletRequest theHttpServletRequest) { Principal principal = theHttpServletRequest.getUserPrincipal(); DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal(); IPage resultPage = null; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/controller/TestRecordSampleDataExpandController.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/controller/TestRecordSampleDataExpandController.java new file mode 100644 index 0000000..5467975 --- /dev/null +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/controller/TestRecordSampleDataExpandController.java @@ -0,0 +1,48 @@ +package digital.laboratory.platform.inspection.controller; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import digital.laboratory.platform.common.core.util.R; +import digital.laboratory.platform.inspection.dto.TestSampleDataExpandDTO; +import digital.laboratory.platform.inspection.entity.TestRecordSampleDataExpand; +import digital.laboratory.platform.inspection.service.TestRecordSampledataExpandService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author xy + * @version 1.0 + * @title TestRecordSampleDataController 实验数据控制器 + * @description + * @create 2024/1/19 15:57 + */ +@RestController +@RequestMapping("/testDataExpand") +@Api(tags = "18-检验鉴定-实验扩展数据管理服务", description = "检验鉴定-实验扩展数据管理服务") +public class TestRecordSampleDataExpandController { + + @Resource + private TestRecordSampledataExpandService testRecordSampledataExpandService; + + @ApiOperation("样本实验扩展数据 - 列表查询") + @PostMapping("/list") + public R> list(String dataId) { + return R.ok(testRecordSampledataExpandService.list(Wrappers.lambdaQuery() + .eq(StrUtil.isNotBlank(dataId), TestRecordSampleDataExpand::getTestDataId, dataId)) + ); + } + + @ApiOperation("更新扩展数据") + @PutMapping("/update") + public R update(@RequestBody TestSampleDataExpandDTO updateDTO) { + if (StrUtil.isBlank(updateDTO.getId())) { + return R.failed("扩展数据id不能为空!"); + } + return R.ok(testRecordSampledataExpandService.updateByDTO(updateDTO)); + } + +} diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/convert/TestRecordReagentConvert.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/convert/TestRecordReagentConverter.java similarity index 91% rename from dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/convert/TestRecordReagentConvert.java rename to dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/convert/TestRecordReagentConverter.java index 2fbc231..718eb14 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/convert/TestRecordReagentConvert.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/convert/TestRecordReagentConverter.java @@ -14,12 +14,12 @@ import java.util.stream.Collectors; * @description: 实验中用到的试剂耗材 的转换类 * @date 2025/3/20 14:59 */ -public class TestRecordReagentConvert { +public class TestRecordReagentConverter { /** * 实体类转vo类 */ - public static TestRecordReagentVO entityToVOPage(TestRecordReagent entity) { + public static TestRecordReagentVO entityToVO(TestRecordReagent entity) { if (entity == null) return null; TestRecordReagentVO testRecordReagentVO = new TestRecordReagentVO(); testRecordReagentVO.setId(entity.getId()); @@ -43,7 +43,7 @@ public class TestRecordReagentConvert { // 将实体列表转换为 VO 列表 List voList = entityPage.getRecords().stream() - .map(TestRecordReagentConvert::entityToVOPage) + .map(TestRecordReagentConverter::entityToVO) .collect(Collectors.toList()); // 设置转换后的记录 diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/convert/TestSampleDataExpandConverter.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/convert/TestSampleDataExpandConverter.java new file mode 100644 index 0000000..1402a39 --- /dev/null +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/convert/TestSampleDataExpandConverter.java @@ -0,0 +1,33 @@ +package digital.laboratory.platform.inspection.convert; + +import digital.laboratory.platform.inspection.dto.TestSampleDataExpandDTO; +import digital.laboratory.platform.inspection.entity.TestRecordSampleDataExpand; + +/** + * @author ChenJiangBao + * @version 1.0 + * @description: 样本实验扩展数据实现类 + * @date 2025/3/21 15:35 + */ +public class TestSampleDataExpandConverter { + + /** + * DTO 转实体类 + */ + public static TestRecordSampleDataExpand dtoToEntity(TestSampleDataExpandDTO dto) { + if (dto == null) return null; + TestRecordSampleDataExpand testRecordSampleDataExpand = new TestRecordSampleDataExpand(); + testRecordSampleDataExpand.setId(dto.getId()); + testRecordSampleDataExpand.setTestDataId(dto.getTestDataId()); + testRecordSampleDataExpand.setPeakArea(dto.getPeakArea()); + testRecordSampleDataExpand.setBasePeak(dto.getBasePeak()); + testRecordSampleDataExpand.setIonAbundanceRatio(dto.getIonAbundanceRatio()); + testRecordSampleDataExpand.setIonAbundanceRatioError(dto.getIonAbundanceRatioError()); + testRecordSampleDataExpand.setIonAbundanceRatioWithinError(dto.getIonAbundanceRatioWithinError()); + testRecordSampleDataExpand.setFragmentRetTime(dto.getFragmentRetTime()); + testRecordSampleDataExpand.setMassToChargeRatio(dto.getMassToChargeRatio()); + testRecordSampleDataExpand.setQualitativeIonPair(dto.getQualitativeIonPair()); + return testRecordSampleDataExpand; + } + +} diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/dto/QueryTestResultPageDTO.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/dto/QueryTestResultPageDTO.java deleted file mode 100644 index 60559f4..0000000 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/dto/QueryTestResultPageDTO.java +++ /dev/null @@ -1,43 +0,0 @@ -package digital.laboratory.platform.inspection.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; -import java.util.Date; - -/** - * 实验结果查询分页查询 - */ -@Data -@ApiModel(value = "QueryTestResultPageDTO", description = "实验结果查询分页查询的参数") -public class QueryTestResultPageDTO { - - @ApiModelProperty("分页参数,每页多少条") - private long size = 10L; - - @ApiModelProperty("分页参数, 当前页") - private long current = 1L; - - @ApiModelProperty("类型,10000 委托、20000 任务、 30000 筛查") - @NotNull(message = "参数不全, 请检查参数是否符合!") - private Integer type; - - @ApiModelProperty("关键字") - private String keyword; - - @ApiModelProperty("录入人-查询") - private String createBy; - - @ApiModelProperty("开始时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime startTime; - - @ApiModelProperty("结束时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime endTime; - -} diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/dto/TestSampleDataExpandDTO.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/dto/TestSampleDataExpandDTO.java new file mode 100644 index 0000000..f94059f --- /dev/null +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/dto/TestSampleDataExpandDTO.java @@ -0,0 +1,46 @@ +package digital.laboratory.platform.inspection.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 样本检验数据的扩展信息 得更新DTO + * @TableName b_test_record_sampledata_expand + */ +@Data +@ApiModel(value = "TestSampleDataExpandDTO", description = "样本检验数据的扩展信息 得更新DTO") +public class TestSampleDataExpandDTO { + + @ApiModelProperty(value = "主键标识", example = "123456") + private String id; + + @ApiModelProperty(value = "关联的实验数据 ID (一个实验数据可能关联多个扩展数据)", example = "654321") + private String testDataId; + + @ApiModelProperty(value = "峰面积", example = "12345.6789") + private BigDecimal peakArea; + + @ApiModelProperty(value = "是否是基峰, 1 是 | 0 不是", example = "true") + private Boolean basePeak; + + @ApiModelProperty(value = "离子丰度比(峰面积之比)", example = "0.85") + private BigDecimal ionAbundanceRatio; + + @ApiModelProperty(value = "离子丰度比相对偏差(%)", example = "-2.5") + private BigDecimal ionAbundanceRatioError; + + @ApiModelProperty(value = "离子丰度比偏差是否在误差范围内", example = "是") + private String ionAbundanceRatioWithinError; + + @ApiModelProperty(value = "碎片保留时间(仅对 NPS 实验有用),求具体样本保留时间 = 碎片保留时间的平均值", example = "3.75") + private BigDecimal fragmentRetTime; + + @ApiModelProperty(value = "质荷比 (m/z),适用于 NPS 案件", example = "250.1") + private BigDecimal massToChargeRatio; + + @ApiModelProperty(value = "定性离子对,生物案件使用", example = "m/z 100 > 50") + private String qualitativeIonPair; +} diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/BusinessType.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/BusinessType.java similarity index 95% rename from dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/BusinessType.java rename to dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/BusinessType.java index c252d2d..37d8338 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/BusinessType.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/BusinessType.java @@ -1,4 +1,4 @@ -package digital.laboratory.platform.inspection.constant; +package digital.laboratory.platform.inspection.enums; import lombok.Getter; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/CompoundMassKV.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/CompoundMassKV.java similarity index 95% rename from dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/CompoundMassKV.java rename to dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/CompoundMassKV.java index 3ea8d4a..0e46a86 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/CompoundMassKV.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/CompoundMassKV.java @@ -1,4 +1,4 @@ -package digital.laboratory.platform.inspection.constant; +package digital.laboratory.platform.inspection.enums; /** * @author xy diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/MaterialType.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/MaterialType.java similarity index 83% rename from dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/MaterialType.java rename to dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/MaterialType.java index 102f0f3..a64bc79 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/MaterialType.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/MaterialType.java @@ -1,4 +1,4 @@ -package digital.laboratory.platform.inspection.constant; +package digital.laboratory.platform.inspection.enums; public enum MaterialType { diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/NumberTransferHanZi.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/NumberTransferHanZi.java similarity index 94% rename from dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/NumberTransferHanZi.java rename to dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/NumberTransferHanZi.java index ceb78f0..bb5f96f 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/NumberTransferHanZi.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/NumberTransferHanZi.java @@ -1,4 +1,4 @@ -package digital.laboratory.platform.inspection.constant; +package digital.laboratory.platform.inspection.enums; import lombok.Getter; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/SewageCompoundNameTransform.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/SewageCompoundNameTransform.java similarity index 97% rename from dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/SewageCompoundNameTransform.java rename to dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/SewageCompoundNameTransform.java index ade99e3..65781f7 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/SewageCompoundNameTransform.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/SewageCompoundNameTransform.java @@ -1,4 +1,4 @@ -package digital.laboratory.platform.inspection.constant; +package digital.laboratory.platform.inspection.enums; import lombok.Getter; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/SewageReportColumn.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/SewageReportColumn.java similarity index 96% rename from dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/SewageReportColumn.java rename to dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/SewageReportColumn.java index c4b311a..0b0200d 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/SewageReportColumn.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/SewageReportColumn.java @@ -1,7 +1,6 @@ -package digital.laboratory.platform.inspection.constant; +package digital.laboratory.platform.inspection.enums; import lombok.AllArgsConstructor; -import lombok.NoArgsConstructor; @AllArgsConstructor public enum SewageReportColumn { diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/StdSolutionNum.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/StdSolutionNum.java similarity index 85% rename from dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/StdSolutionNum.java rename to dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/StdSolutionNum.java index 98526d5..7cabf78 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/StdSolutionNum.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/StdSolutionNum.java @@ -1,4 +1,4 @@ -package digital.laboratory.platform.inspection.constant; +package digital.laboratory.platform.inspection.enums; public enum StdSolutionNum { SIMPLE_SOLUTION("Sin"), diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/TaskTestDataStatus.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/TaskTestDataStatus.java similarity index 95% rename from dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/TaskTestDataStatus.java rename to dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/TaskTestDataStatus.java index f5eb536..e70301f 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/TaskTestDataStatus.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/TaskTestDataStatus.java @@ -1,4 +1,4 @@ -package digital.laboratory.platform.inspection.constant; +package digital.laboratory.platform.inspection.enums; import lombok.Getter; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/TestDataType.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/TestDataType.java similarity index 96% rename from dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/TestDataType.java rename to dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/TestDataType.java index 48468e7..696efb8 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/TestDataType.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/TestDataType.java @@ -1,4 +1,4 @@ -package digital.laboratory.platform.inspection.constant; +package digital.laboratory.platform.inspection.enums; /** * @author xy diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/TestRecordArgumentType.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/TestRecordArgumentType.java similarity index 94% rename from dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/TestRecordArgumentType.java rename to dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/TestRecordArgumentType.java index 65da7d2..b9df231 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/TestRecordArgumentType.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/TestRecordArgumentType.java @@ -1,4 +1,4 @@ -package digital.laboratory.platform.inspection.constant; +package digital.laboratory.platform.inspection.enums; import lombok.Getter; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/TestRecordFileUrl.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/TestRecordFileUrl.java similarity index 93% rename from dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/TestRecordFileUrl.java rename to dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/TestRecordFileUrl.java index 0e1ddb4..4748c74 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/TestRecordFileUrl.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/enums/TestRecordFileUrl.java @@ -1,4 +1,4 @@ -package digital.laboratory.platform.inspection.constant; +package digital.laboratory.platform.inspection.enums; import lombok.Getter; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/event/CalculateInspectDataEvent.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/event/CalculateInspectDataEvent.java new file mode 100644 index 0000000..ac2b678 --- /dev/null +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/event/CalculateInspectDataEvent.java @@ -0,0 +1,26 @@ +package digital.laboratory.platform.inspection.event; + +import org.springframework.context.ApplicationEvent; + +import java.time.Clock; + +/** + * @author ChenJiangBao + * @version 1.0 + * @description: 计算检验数据事件 + * @date 2025/3/20 16:46 + */ +public class CalculateInspectDataEvent extends ApplicationEvent { + + private final String testId; + + public CalculateInspectDataEvent(Object source, String testId) { + super(source); + this.testId = testId; + } + + public CalculateInspectDataEvent(Object source, Clock clock, String testId) { + super(source, clock); + this.testId = testId; + } +} diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/dto/AnalysisTestResultPageDTO.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/query/AnalysisTestResultPageQuery.java similarity index 51% rename from dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/dto/AnalysisTestResultPageDTO.java rename to dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/query/AnalysisTestResultPageQuery.java index 8277fed..2d08144 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/dto/AnalysisTestResultPageDTO.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/query/AnalysisTestResultPageQuery.java @@ -1,4 +1,4 @@ -package digital.laboratory.platform.inspection.dto; +package digital.laboratory.platform.inspection.query; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -10,14 +10,8 @@ import javax.validation.constraints.NotBlank; * 获取实验数据分页查询DTO类 */ @Data -@ApiModel(value = "AnalysisTestResultPageDTO", description = "获取实验数据分页查询DTO类") -public class AnalysisTestResultPageDTO { - - @ApiModelProperty("分页参数,每页多少条") - private long size = 10L; - - @ApiModelProperty("分页参数, 当前页") - private long current = 1L; +@ApiModel(value = "AnalysisTestResultPageQuery", description = "获取实验数据分页查询DTO类") +public class AnalysisTestResultPageQuery extends BaseQuery { @ApiModelProperty("实验id") @NotBlank(message = "参数不全,请检查参数是否符合!") @@ -26,10 +20,4 @@ public class AnalysisTestResultPageDTO { @ApiModelProperty("获取数据类型, 检验数据的类型,比如说是nps的还是毛发案件的") private String type; - // 搜索参数 待定 - @ApiModelProperty("关键字") - private String keyword; - - - } diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/query/BaseQuery.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/query/BaseQuery.java new file mode 100644 index 0000000..5f24dd4 --- /dev/null +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/query/BaseQuery.java @@ -0,0 +1,36 @@ +package digital.laboratory.platform.inspection.query; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDate; + +/** + * @author ChenJiangBao + * @version 1.0 + * @description: 基础查询对象 + * @date 2025/3/17 16:14 + */ +@Data +@ApiModel(value = "BaseQuery", description = "基础查询对象") +public class BaseQuery { + + @ApiModelProperty(value = "分页参数,每页多少条, 默认10") + private Long size = 10L; + + @ApiModelProperty(value = "分页参数, 当前页, 默认1") + private Long current = 1L; + + @ApiModelProperty(value = "关键字,支持 案件名称查询") + private String keywords; + + @ApiModelProperty(value = "开始日期") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate startDate; + + @ApiModelProperty(value = "结束日期") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate endDate; +} diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/query/QueryTestResultPageQuery.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/query/QueryTestResultPageQuery.java new file mode 100644 index 0000000..64ba965 --- /dev/null +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/query/QueryTestResultPageQuery.java @@ -0,0 +1,22 @@ +package digital.laboratory.platform.inspection.query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * 实验结果查询分页查询 + */ +@Data +@ApiModel(value = "QueryTestResultPageDTO", description = "实验结果查询分页查询的参数") +public class QueryTestResultPageQuery extends BaseQuery { + + @ApiModelProperty("类型,10000 委托、20000 任务、 30000 筛查") + @NotNull(message = "参数不全, 请检查参数是否符合!") + private Integer type; + + @ApiModelProperty("录入人-查询") + private String createBy; +} diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/TestRecordReagentService.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/TestRecordReagentService.java index c48ad48..ec473d7 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/TestRecordReagentService.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/TestRecordReagentService.java @@ -3,9 +3,11 @@ package digital.laboratory.platform.inspection.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import digital.laboratory.platform.common.aop.annotation.DlpResultProc; import digital.laboratory.platform.inspection.dto.TestRecordArgumentDto; import digital.laboratory.platform.inspection.entity.TestRecordMethod; import digital.laboratory.platform.inspection.entity.TestRecordReagent; +import digital.laboratory.platform.inspection.vo.TestRecordReagentVO; import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -19,17 +21,28 @@ import java.util.List; */ public interface TestRecordReagentService extends IService { + + /** + * 根据id获取vo类 + * @param id + * @return + */ + TestRecordReagentVO getVOById(String id); + TestRecordReagent addTestRecordReagent(TestRecordReagent testRecordReagent);//添加实验使用方法 + TestRecordReagent updateTestRecordReagent(TestRecordReagent testRecordReagent);//修改实验使用方法 + Boolean deleteTestRecordReagent(String id);//删除实验使用方法 + IPage getTestRecordReagentPageList(Page page, String testId, String keywords, String category, Integer opCode); + List getTestRecordReagentList(String testId, String category); Boolean checkExist(String id); boolean useTestRecordReagent(TestRecordArgumentDto testRecordArgumentDto); - @Transactional(rollbackFor = Exception.class) boolean useTestTemplateReagent(TestRecordArgumentDto testRecordArgumentDto); IPage getTestTemplateReagentPageList(Page page, String templateId, String keywords, String category, Integer opCode); diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/TestRecordSampleDataService.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/TestRecordSampleDataService.java index 05cdc8c..d5d021d 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/TestRecordSampleDataService.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/TestRecordSampleDataService.java @@ -8,10 +8,11 @@ import com.baomidou.mybatisplus.extension.service.IService; import digital.laboratory.platform.common.core.util.R; import digital.laboratory.platform.inspection.dto.*; import digital.laboratory.platform.inspection.entity.TestRecordSampleData; +import digital.laboratory.platform.inspection.query.AnalysisTestResultPageQuery; +import digital.laboratory.platform.inspection.query.QueryTestResultPageQuery; import digital.laboratory.platform.inspection.utils.datafile.hair.HairSewageCompoundData; import digital.laboratory.platform.inspection.utils.datafile.nps.NPSDataFileStruct; import digital.laboratory.platform.inspection.vo.TestResultBusinessVO; -import digital.laboratory.platform.inspetion.api.entity.TestRecord; import javax.servlet.http.HttpServletRequest; import java.util.List; @@ -62,7 +63,7 @@ public interface TestRecordSampleDataService extends IService getSampleTestDataByTestIdPage(AnalysisTestResultPageDTO pageDTO); + Page getSampleTestDataByTestIdPage(AnalysisTestResultPageQuery pageDTO); /** * 分页查询 获取审核的任务检验数据, header 是自定义头 data 是分页对象 @@ -87,7 +88,7 @@ public interface TestRecordSampleDataService extends IService queryTestResultPage(Page testResultBusinessVOPage, QueryTestResultPageDTO dto, Object... arg); + IPage queryTestResultPage(Page testResultBusinessVOPage, QueryTestResultPageQuery dto, Object... arg); /** * 修改导入的实验数据 @@ -155,9 +156,9 @@ public interface TestRecordSampleDataService extends IService saveNPSInspectExpData(NPSCaseTestDataDto npsCaseTestDataDto, String testDataId); + + /** + * 根据业务类型保存检验数据扩展信息 + * @param testDataId 检验数据id + * @param drug 对应的标准品毒品清单 + * @param businessType 业务类型 + * @return + */ + List saveExpDataByBusinessType(String testDataId, Drug drug, String businessType); + + /** + *根据DTO去更新 + * @param updateDTO + * @return + */ + Boolean updateByDTO(TestSampleDataExpandDTO updateDTO); + } diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/AssignmentInfoServiceImpl.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/AssignmentInfoServiceImpl.java index 214ee05..d0fbef0 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/AssignmentInfoServiceImpl.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/AssignmentInfoServiceImpl.java @@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import digital.laboratory.platform.inspection.constant.BusinessType; +import digital.laboratory.platform.inspection.enums.BusinessType; import digital.laboratory.platform.inspection.dto.AssignmentInfoDto; import digital.laboratory.platform.inspection.entity.*; import digital.laboratory.platform.inspection.mapper.AssignmentInfoMapper; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/InspectRecordServiceImpl.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/InspectRecordServiceImpl.java index 0ecff19..7b9656e 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/InspectRecordServiceImpl.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/InspectRecordServiceImpl.java @@ -12,8 +12,8 @@ import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy; import com.deepoove.poi.xwpf.NiceXWPFDocument; import digital.laboratory.platform.common.core.util.R; import digital.laboratory.platform.common.oss.service.OssFile; -import digital.laboratory.platform.inspection.constant.BusinessType; -import digital.laboratory.platform.inspection.constant.TestRecordFileUrl; +import digital.laboratory.platform.inspection.enums.BusinessType; +import digital.laboratory.platform.inspection.enums.TestRecordFileUrl; import digital.laboratory.platform.inspection.dto.HairSewageDataDto; import digital.laboratory.platform.inspection.dto.NPSCaseTestDataDto; import digital.laboratory.platform.inspection.entity.TestRecordInstrument; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/SampleInfoServiceImpl.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/SampleInfoServiceImpl.java index cdcd571..44200a5 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/SampleInfoServiceImpl.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/SampleInfoServiceImpl.java @@ -16,7 +16,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import digital.laboratory.platform.common.mybatis.security.service.DLPUser; import digital.laboratory.platform.inspection.dto.TestRecordArgumentDto; import digital.laboratory.platform.inspection.entity.*; -import digital.laboratory.platform.inspection.constant.TestRecordArgumentType; +import digital.laboratory.platform.inspection.enums.TestRecordArgumentType; import digital.laboratory.platform.inspection.mapper.SampleInfoMapper; import digital.laboratory.platform.inspection.mapper.TestRecordMapper; import digital.laboratory.platform.inspection.service.*; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/SampleInjectorServiceImpl.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/SampleInjectorServiceImpl.java index c7cbfdf..8e80600 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/SampleInjectorServiceImpl.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/SampleInjectorServiceImpl.java @@ -11,7 +11,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import digital.laboratory.platform.inspection.constant.SampleInjectorConstant; -import digital.laboratory.platform.inspection.constant.StdSolutionNum; +import digital.laboratory.platform.inspection.enums.StdSolutionNum; import digital.laboratory.platform.inspection.dto.ResetSampleInjectorDTO; import digital.laboratory.platform.inspection.dto.SampleInjectorExcelDTO; import digital.laboratory.platform.inspection.entity.SampleInjector; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/SewageDrugInspectReportServiceImpl.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/SewageDrugInspectReportServiceImpl.java index fa24ce5..1ee3727 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/SewageDrugInspectReportServiceImpl.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/SewageDrugInspectReportServiceImpl.java @@ -7,7 +7,7 @@ import digital.laboratory.platform.common.core.constant.CommonConstants; import digital.laboratory.platform.common.core.constant.OSSDirectoryConstants; import digital.laboratory.platform.common.core.util.R; import digital.laboratory.platform.common.oss.service.OssFile; -import digital.laboratory.platform.inspection.constant.NumberTransferHanZi; +import digital.laboratory.platform.inspection.enums.NumberTransferHanZi; import digital.laboratory.platform.inspection.dto.ExportSewageAnalystReportsDTO; import digital.laboratory.platform.inspection.dto.RegionalDrugConsumptionDTO; import digital.laboratory.platform.inspection.dto.ReportConfigDTO; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TaskInfoServiceImpl.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TaskInfoServiceImpl.java index 0f54248..6688d7c 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TaskInfoServiceImpl.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TaskInfoServiceImpl.java @@ -9,7 +9,6 @@ package digital.laboratory.platform.inspection.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.LocalDateTimeUtil; -import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; @@ -28,8 +27,8 @@ import digital.laboratory.platform.common.core.constant.OSSDirectoryConstants; import digital.laboratory.platform.common.core.util.R; import digital.laboratory.platform.common.feign.RemoteGenerateWordService; import digital.laboratory.platform.common.oss.service.OssFile; -import digital.laboratory.platform.inspection.constant.BusinessType; -import digital.laboratory.platform.inspection.constant.SewageReportColumn; +import digital.laboratory.platform.inspection.enums.BusinessType; +import digital.laboratory.platform.inspection.enums.SewageReportColumn; import digital.laboratory.platform.inspection.dto.*; import digital.laboratory.platform.inspection.entity.AssignmentInfo; import digital.laboratory.platform.inspection.entity.TaskInfo; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestAtlasServiceImpl.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestAtlasServiceImpl.java index b47e13a..050b193 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestAtlasServiceImpl.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestAtlasServiceImpl.java @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import digital.laboratory.platform.common.core.util.R; import digital.laboratory.platform.common.oss.service.OssFile; -import digital.laboratory.platform.inspection.constant.TestRecordFileUrl; +import digital.laboratory.platform.inspection.enums.TestRecordFileUrl; import digital.laboratory.platform.inspection.dto.DataSolutionSampleDTO; import digital.laboratory.platform.inspection.dto.DeleteTestAtlasDTO; import digital.laboratory.platform.inspection.mapper.TestRecordSampleDataMapper; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordInstrumentConditionServiceImpl.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordInstrumentConditionServiceImpl.java index 45836b9..5d36b38 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordInstrumentConditionServiceImpl.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordInstrumentConditionServiceImpl.java @@ -6,10 +6,10 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.deepoove.poi.xwpf.NiceXWPFDocument; import digital.laboratory.platform.common.oss.service.OssFile; -import digital.laboratory.platform.inspection.constant.TestRecordFileUrl; +import digital.laboratory.platform.inspection.enums.TestRecordFileUrl; import digital.laboratory.platform.inspection.dto.TestRecordArgumentDto; import digital.laboratory.platform.inspection.entity.TestRecordInstrumentCondition; -import digital.laboratory.platform.inspection.constant.TestRecordArgumentType; +import digital.laboratory.platform.inspection.enums.TestRecordArgumentType; import digital.laboratory.platform.inspection.mapper.TestRecordInstrumentConditionMapper; import digital.laboratory.platform.inspection.mapper.TestRecordMapper; import digital.laboratory.platform.inspection.mapper.TestTemplateMapper; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordInstrumentServiceImpl.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordInstrumentServiceImpl.java index be49d33..849683a 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordInstrumentServiceImpl.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordInstrumentServiceImpl.java @@ -15,7 +15,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import digital.laboratory.platform.inspection.dto.TestRecordArgumentDto; import digital.laboratory.platform.inspection.entity.TestRecordInstrument; -import digital.laboratory.platform.inspection.constant.TestRecordArgumentType; +import digital.laboratory.platform.inspection.enums.TestRecordArgumentType; import digital.laboratory.platform.inspection.mapper.TestRecordInstrumentMapper; import digital.laboratory.platform.inspection.mapper.TestRecordMapper; import digital.laboratory.platform.inspection.mapper.TestTemplateMapper; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordMethodServiceImpl.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordMethodServiceImpl.java index 2a36ad5..a2891fb 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordMethodServiceImpl.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordMethodServiceImpl.java @@ -15,7 +15,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import digital.laboratory.platform.inspection.dto.TestRecordArgumentDto; import digital.laboratory.platform.inspection.entity.TestRecordMethod; -import digital.laboratory.platform.inspection.constant.TestRecordArgumentType; +import digital.laboratory.platform.inspection.enums.TestRecordArgumentType; import digital.laboratory.platform.inspection.mapper.TestRecordMapper; import digital.laboratory.platform.inspection.mapper.TestRecordMethodMapper; import digital.laboratory.platform.inspection.mapper.TestTemplateMapper; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordReagentServiceImpl.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordReagentServiceImpl.java index e08cab9..4307a28 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordReagentServiceImpl.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordReagentServiceImpl.java @@ -7,11 +7,10 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import digital.laboratory.platform.common.aop.annotation.DlpResultProc; -import digital.laboratory.platform.common.core.exception.CheckedException; -import digital.laboratory.platform.inspection.convert.TestRecordReagentConvert; +import digital.laboratory.platform.inspection.enums.TestRecordArgumentType; +import digital.laboratory.platform.inspection.convert.TestRecordReagentConverter; import digital.laboratory.platform.inspection.dto.TestRecordArgumentDto; import digital.laboratory.platform.inspection.entity.TestRecordReagent; -import digital.laboratory.platform.inspection.constant.TestRecordArgumentType; import digital.laboratory.platform.inspection.mapper.TestRecordMapper; import digital.laboratory.platform.inspection.mapper.TestRecordReagentMapper; import digital.laboratory.platform.inspection.mapper.TestTemplateMapper; @@ -20,8 +19,8 @@ import digital.laboratory.platform.inspection.service.TestRecordSampleDataServic import digital.laboratory.platform.inspection.service.TestRecordService; import digital.laboratory.platform.inspection.service.TestTemplateService; import digital.laboratory.platform.inspection.vo.TestRecordReagentVO; -import digital.laboratory.platform.inspetion.api.vo.TestRecordVo; import digital.laboratory.platform.inspection.vo.TestTemplateVo; +import digital.laboratory.platform.inspetion.api.vo.TestRecordVo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Service; @@ -56,6 +55,17 @@ public class TestRecordReagentServiceImpl extends ServiceImpl getSampleTestDataByTestIdPage(AnalysisTestResultPageDTO pageDTO) { + public Page getSampleTestDataByTestIdPage(AnalysisTestResultPageQuery pageDTO) { Page page = this.page(new Page<>(pageDTO.getCurrent(), pageDTO.getSize()), Wrappers.lambdaQuery() .eq(TestRecordSampleData::getTestId, pageDTO.getTestId()) .orderByDesc(TestRecordSampleData::getCompoundName) @@ -367,7 +378,7 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl queryTestResultPage(Page testResultBusinessVOPage, QueryTestResultPageDTO dto, Object... arg) { + public IPage queryTestResultPage(Page testResultBusinessVOPage, QueryTestResultPageQuery dto, Object... arg) { DLPUser dlpUsers = (DLPUser) arg[0]; IPage testResultBusinessVOIPage = new Page<>(); /** 1 查询当前用户做了哪些实验 @@ -1741,10 +1752,10 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl generateQueryWrapperByDTO(QueryTestResultPageDTO dto, Set businessIdList) { + private QueryWrapper generateQueryWrapperByDTO(QueryTestResultPageQuery dto, Set businessIdList) { QueryWrapper queryWrapper = new QueryWrapper<>(); // 获取查询的关键字字段 - String keyword = dto.getKeyword(); + String keyword = dto.getKeywords(); queryWrapper.in("T.id", businessIdList); queryWrapper.eq("T.type", dto.getType()); queryWrapper.ge("T.status", 3); @@ -1753,8 +1764,8 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl wrapper.like("T.case_name", keyword)); // 时间范围查询,包含开始时间和结束时间 - queryWrapper.ge(dto.getStartTime() != null, "T.create_time", dto.getStartTime()) - .le(dto.getEndTime() != null, "T.create_time", dto.getEndTime()); + queryWrapper.ge(dto.getStartDate() != null, "T.create_time", dto.getStartDate()) + .le(dto.getEndDate() != null, "T.create_time", dto.getEndDate()); // 根据创建时间进行排序 if (dto.getType().equals(20000)) { queryWrapper.orderByDesc("T.task_start_date"); @@ -1779,74 +1790,89 @@ public class TestRecordSampleDataServiceImpl extends ServiceImpl sampleIdList = testRecord.getSampleTestList(); + TestRecordReagentVO reagentVO = testRecordReagentService.getVOById(reagentId); + if (reagentVO == null) { + throw new CheckedException("Reagent not found for ID: " + reagentId); + } + + Drug drug = reagentVO.getDrug(); + String compoundName = drug.getEnglishName(); - // 根据样本ID列表查询样本信息列表 + List sampleIdList = testRecord.getSampleTestList(); List sampleInfos = sampleInfoService.list(Wrappers.lambdaQuery() .in(SampleInfo::getId, sampleIdList)); - // 用于存储生成的测试记录样本数据的列表 - ArrayList sampleDataList = new ArrayList<>(); + List sampleDataList = new ArrayList<>(); + + TestRecordSampleData stdSampleData = createSampleData(compoundName, TestRecordSampleDataConstant.SAMPLE_TYPE_STD, TestRecordSampleDataConstant.SAMPLE_TYPE_STD + "-" + compoundName); + sampleDataList.add(stdSampleData); - // 创建一个标准样本数据对象 - TestRecordSampleData data = new TestRecordSampleData(); - // 设置化合物名称 - data.setCompoundName(compoundName); - // 设置样本编号,格式为 "STD-" 加上化合物名称 - data.setSampleNo("STD-" + compoundName); - // 设置样本类型为 "STD" - data.setSampleType("STD"); - // 设置样本名称,格式为 "STD-" 加上化合物名称 - data.setName("STD-" + compoundName); - // 设置样本状态为 0 - data.setStatus(0); - // 生成一个32位的大写UUID作为样本数据ID - data.setId(IdWorker.get32UUID().toUpperCase()); - - // 将标准样本数据添加到样本数据列表中 - sampleDataList.add(data); - - // 遍历样本信息列表,为每个样本创建对应的测试记录样本数据 sampleInfos.forEach(item -> { - TestRecordSampleData sampleData = new TestRecordSampleData(); - // 设置化合物名称 - data.setCompoundName(compoundName); - // 设置样本编号为样本的受理编号 - data.setSampleNo(item.getAcceptNo()); - // 设置样本类型为 "Analyte" - data.setSampleType("Analyte"); - // 设置样本名称为样本的受理编号 - data.setName(item.getAcceptNo()); - // 设置样本状态为 0 - data.setStatus(0); - // 生成一个32位的大写UUID作为样本数据ID - data.setId(IdWorker.get32UUID().toUpperCase()); - // 将样本数据添加到样本数据列表中 - sampleDataList.add(data); + TestRecordSampleData sampleData = createSampleData(compoundName, TestRecordSampleDataConstant.SAMPLE_TYPE_ANALYTE, item.getAcceptNo()); + sampleDataList.add(sampleData); }); + + if (drug != null && StrUtil.isAllNotBlank(drug.getMainProductIon(), drug.getMinorProductIon(), drug.getCharacteristicIons())) { + // 当对应的毒品信息不为空,添加扩展数据 + List testRecordSampleDataExpandList = sampleDataList.stream().flatMap(sampleData -> { + List testRecordSampleDataExpand = testRecordSampledataExpandService.saveExpDataByBusinessType(sampleData.getId(), drug, testRecord.getBusinessType()); + return testRecordSampleDataExpand.stream(); + }).collect(Collectors.toList()); + testRecordSampledataExpandService.saveBatch(testRecordSampleDataExpandList); + } + super.saveBatch(sampleDataList); + } + + /** + * 创建一个检验数据样本数据对象 + * + * @param compoundName 化合物名称 + * @param sampleType 样本类型 + * @param sampleNo 样本编号 + * @return 返回创建的测试记录样本数据对象 + */ + private TestRecordSampleData createSampleData(String compoundName, String sampleType, String sampleNo) { + TestRecordSampleData data = new TestRecordSampleData(); + data.setCompoundName(compoundName); + data.setSampleNo(sampleNo); + data.setSampleType(sampleType); + data.setName(sampleNo); + data.setStatus(TaskTestDataStatus.WAIT_REVIEW.getCode()); + data.setId(IdWorker.getIdStr()); + return data; } + /** * 自动删除指定测试记录和化合物名称对应的测试记录样本数据 * * @param testId 测试记录的ID - * @param compoundName 化合物名称 + * @param reagentId 化合物名称 * @return 如果删除成功返回 true,否则返回 false */ @Override - public boolean autoDelData(String testId, String compoundName) { - // 根据测试记录ID和化合物名称删除对应的测试记录样本数据 - return this.remove(Wrappers.lambdaQuery() + @Transactional(rollbackFor = Exception.class) + public boolean autoDelData(String testId, String reagentId) { + TestRecordReagentVO reagentVO = testRecordReagentService.getVOById(reagentId); + Drug drug = reagentVO.getDrug(); + String compoundName = drug.getName(); + List removeDataList = this.list(Wrappers.lambdaQuery() .eq(TestRecordSampleData::getTestId, testId) .eq(TestRecordSampleData::getCompoundName, compoundName)); + List removeIds = removeDataList.stream().map(TestRecordSampleData::getId).collect(Collectors.toList()); + // 根据测试记录ID和化合物名称删除对应的测试记录样本数据 + testRecordSampledataExpandService.remove(Wrappers.lambdaQuery().in(TestRecordSampleDataExpand::getTestDataId, removeIds)); + return this.removeBatchByIds(removeIds); } @Override diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordSampleSolutionServiceImpl.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordSampleSolutionServiceImpl.java index 101a787..2a4924c 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordSampleSolutionServiceImpl.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordSampleSolutionServiceImpl.java @@ -15,7 +15,7 @@ import digital.laboratory.platform.inspection.dto.TestRecordSampleSolutionDto; import digital.laboratory.platform.inspetion.api.entity.SampleInfo; import digital.laboratory.platform.inspection.entity.SampleInjector; import digital.laboratory.platform.inspection.entity.TestRecordSampleSolution; -import digital.laboratory.platform.inspection.constant.TestRecordArgumentType; +import digital.laboratory.platform.inspection.enums.TestRecordArgumentType; import digital.laboratory.platform.inspection.mapper.TestRecordMapper; import digital.laboratory.platform.inspection.mapper.TestRecordSampleSolutionMapper; import digital.laboratory.platform.inspection.service.SampleInfoService; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordSampledataExpandServiceImpl.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordSampledataExpandServiceImpl.java index 7fb539e..402a210 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordSampledataExpandServiceImpl.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordSampledataExpandServiceImpl.java @@ -1,17 +1,26 @@ package digital.laboratory.platform.inspection.service.impl; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import digital.laboratory.platform.inspection.convert.TestSampleDataExpandConverter; +import digital.laboratory.platform.inspection.dto.TestSampleDataExpandDTO; +import digital.laboratory.platform.inspection.entity.TestRecordSampleData; +import digital.laboratory.platform.inspection.enums.BusinessType; import digital.laboratory.platform.inspection.constant.TestRecordSampleDataConstant; import digital.laboratory.platform.inspection.dto.HairSewageDataDto; import digital.laboratory.platform.inspection.dto.NPSCaseTestDataDto; import digital.laboratory.platform.inspection.entity.TestRecordSampleDataExpand; import digital.laboratory.platform.inspection.mapper.TestRecordSampleDataExpandMapper; +import digital.laboratory.platform.inspection.service.TestRecordSampleDataService; import digital.laboratory.platform.inspection.service.TestRecordSampledataExpandService; import digital.laboratory.platform.inspection.utils.datafile.nps.NPSTestDetailDataStruct; +import digital.laboratory.platform.sys.entity.Drug; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collection; @@ -27,6 +36,9 @@ import java.util.stream.Collectors; public class TestRecordSampledataExpandServiceImpl extends ServiceImpl implements TestRecordSampledataExpandService{ + @Resource + private TestRecordSampleDataService testRecordSampleDataService; + /** * 封装处理毛发案件、任务等检验扩展数据信息 * @param hairSewageDataDto @@ -80,6 +92,94 @@ public class TestRecordSampledataExpandServiceImpl extends ServiceImpl saveExpDataByBusinessType(String testDataId, Drug drug, String businessType) { + List testRecordSampleDataExpandList = null; + if (BusinessType.NPS_CASE.getBusinessType().equals(businessType)) { + List characteristicIonsList = StrUtil.split(drug.getCharacteristicIons(), "、"); + + testRecordSampleDataExpandList = characteristicIonsList.stream().map(characteristicIons -> { + TestRecordSampleDataExpand testRecordSampleDataExpand = new TestRecordSampleDataExpand(); + testRecordSampleDataExpand.setTestDataId(testDataId); + if (characteristicIons.contains("*")) { + testRecordSampleDataExpand.setBasePeak(Boolean.TRUE); + } else { + testRecordSampleDataExpand.setBasePeak(Boolean.FALSE); + } + // 如果有 * 号就替换掉 + testRecordSampleDataExpand.setMassToChargeRatio(new BigDecimal(characteristicIons.replace("*", ""))); + return testRecordSampleDataExpand; + }).collect(Collectors.toList()); + } else { + for (int i = 0; i < 2; i++) { + TestRecordSampleDataExpand testRecordSampleDataExpand = new TestRecordSampleDataExpand(); + testRecordSampleDataExpand.setTestDataId(testDataId); + if (i == 0) { + testRecordSampleDataExpand.setBasePeak(Boolean.TRUE); + testRecordSampleDataExpand.setQualitativeIonPair(drug.getMainProductIon()); + } else { + testRecordSampleDataExpand.setBasePeak(Boolean.FALSE); + testRecordSampleDataExpand.setQualitativeIonPair(drug.getMinorProductIon()); + } + testRecordSampleDataExpandList.add(testRecordSampleDataExpand); + } + } + + return testRecordSampleDataExpandList; + } + + /** + *根据DTO去更新 + * @param updateDTO + * @return + */ + @Override + public Boolean updateByDTO(TestSampleDataExpandDTO updateDTO) { + TestRecordSampleDataExpand testRecordSampleDataExpand = TestSampleDataExpandConverter.dtoToEntity(updateDTO); + boolean update = super.updateById(testRecordSampleDataExpand); + if (update) { + TestRecordSampleDataExpand sampleDataExpand = super.getById(updateDTO.getId()); + // 查询对应的基峰数据是否存在 + TestRecordSampleDataExpand basePeakData = super.getOne(Wrappers.lambdaQuery() + .eq(TestRecordSampleDataExpand::getTestDataId, sampleDataExpand.getTestDataId()) + .eq(TestRecordSampleDataExpand::getBasePeak, Boolean.TRUE) + ); + if (!sampleDataExpand.getBasePeak() && basePeakData != null) { + // 获取标准物质的扩展信息,1 先查询对应的实验数据 2 根据实验数据的实验id以及化合物以及类型获取标准物质的实验数据信息 3 根据标准物质实验数据id取对应的扩展数据 + TestRecordSampleData testRecordSampleData = testRecordSampleDataService.getById(sampleDataExpand.getTestDataId()); + List stdDataExpandList = null; + if (!testRecordSampleData.getSampleType().equals(TestRecordSampleDataConstant.SAMPLE_TYPE_STD)) { + TestRecordSampleData stdTestSampleData = testRecordSampleDataService.getOne(Wrappers.lambdaQuery().eq(TestRecordSampleData::getTestId, testRecordSampleData.getTestId()).eq(TestRecordSampleData::getCompoundName, testRecordSampleData.getCompoundName()).eq(TestRecordSampleData::getSampleType, TestRecordSampleDataConstant.SAMPLE_TYPE_STD)); + stdDataExpandList = super.list(Wrappers.lambdaQuery().eq(TestRecordSampleDataExpand::getTestDataId, stdTestSampleData.getId())); + } + if (sampleDataExpand.getPeakArea() != null && basePeakData.getPeakArea() != null) { + sampleDataExpand.setIonAbundanceRatio(sampleDataExpand.getPeakArea().divide(basePeakData.getPeakArea(), 5, BigDecimal.ROUND_HALF_UP)); + if (CollUtil.isNotEmpty(stdDataExpandList)) { + stdDataExpandList.forEach(stdDataExpand -> { + if (stdDataExpand.getMassToChargeRatio().equals(sampleDataExpand.getMassToChargeRatio())) { + BigDecimal ionAbundanceRatioError = sampleDataExpand.getIonAbundanceRatio() + .subtract(stdDataExpand.getIonAbundanceRatio()) + .divide(stdDataExpand.getIonAbundanceRatio(), 5, BigDecimal.ROUND_HALF_UP) + .multiply(BigDecimal.valueOf(100)); + sampleDataExpand.setIonAbundanceRatioError(ionAbundanceRatioError); +// sampleDataExpand.setIonAbundanceRatioWithinError(); + } + }); + } + } + + } + } + return update; + } + /** * 根据提供的参数创建一个TestRecordSampleDataExpand对象。 diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordServiceImpl.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordServiceImpl.java index f925218..c52f068 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordServiceImpl.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordServiceImpl.java @@ -16,9 +16,9 @@ import com.deepoove.poi.xwpf.NiceXWPFDocument; import digital.laboratory.platform.common.core.util.R; import digital.laboratory.platform.common.mybatis.security.service.DLPUser; import digital.laboratory.platform.common.oss.service.OssFile; -import digital.laboratory.platform.inspection.constant.BusinessType; -import digital.laboratory.platform.inspection.constant.TestRecordArgumentType; -import digital.laboratory.platform.inspection.constant.TestRecordFileUrl; +import digital.laboratory.platform.inspection.enums.BusinessType; +import digital.laboratory.platform.inspection.enums.TestRecordArgumentType; +import digital.laboratory.platform.inspection.enums.TestRecordFileUrl; import digital.laboratory.platform.inspection.constant.TestRecordSampleDataConstant; import digital.laboratory.platform.inspection.dto.*; import digital.laboratory.platform.inspection.entity.*; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordStandardSolutionServiceImpl.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordStandardSolutionServiceImpl.java index 95fccf8..d7ddb0f 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordStandardSolutionServiceImpl.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestRecordStandardSolutionServiceImpl.java @@ -1,6 +1,5 @@ package digital.laboratory.platform.inspection.service.impl; -import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -10,12 +9,12 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import digital.laboratory.platform.common.core.util.R; -import digital.laboratory.platform.inspection.constant.StdSolutionNum; +import digital.laboratory.platform.inspection.enums.StdSolutionNum; import digital.laboratory.platform.inspection.constant.TestRecordSampleDataConstant; import digital.laboratory.platform.inspection.dto.TestRecordStandardSolutionDto; import digital.laboratory.platform.inspetion.api.entity.TestRecord; import digital.laboratory.platform.inspection.entity.TestRecordStandardSolution; -import digital.laboratory.platform.inspection.constant.TestRecordArgumentType; +import digital.laboratory.platform.inspection.enums.TestRecordArgumentType; import digital.laboratory.platform.inspection.mapper.TestRecordStandardSolutionMapper; import digital.laboratory.platform.inspection.service.TestRecordReagentService; import digital.laboratory.platform.inspection.service.TestRecordService; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestTemplateServiceImpl.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestTemplateServiceImpl.java index 8fc00a7..05019f0 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestTemplateServiceImpl.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/TestTemplateServiceImpl.java @@ -9,10 +9,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import digital.laboratory.platform.common.mybatis.security.service.DLPUser; import digital.laboratory.platform.common.oss.service.OssFile; -import digital.laboratory.platform.inspection.constant.TestRecordFileUrl; +import digital.laboratory.platform.inspection.enums.TestRecordFileUrl; import digital.laboratory.platform.inspection.entity.TestRecordMethod; import digital.laboratory.platform.inspection.entity.TestTemplate; -import digital.laboratory.platform.inspection.constant.TestRecordArgumentType; +import digital.laboratory.platform.inspection.enums.TestRecordArgumentType; import digital.laboratory.platform.inspection.mapper.TestRecordMapper; import digital.laboratory.platform.inspection.mapper.TestTemplateMapper; import digital.laboratory.platform.inspection.service.TestRecordInstrumentConditionService;