diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/TestRecordSampleDataConstant.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/TestRecordSampleDataConstant.java index e89d9d1..add09b1 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/TestRecordSampleDataConstant.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/constant/TestRecordSampleDataConstant.java @@ -63,6 +63,8 @@ public interface TestRecordSampleDataConstant { Double INVALID_VALUE = -999d; + String INVALID_VALUE_STR = "/"; + // 判断当前值是否是无效值 static boolean isInvalidValue(Double value) { return value != null && INVALID_VALUE.equals(value); diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/convert/TestRecordSampleDataConverter.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/convert/TestRecordSampleDataConverter.java index 473fb96..14d5ce7 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/convert/TestRecordSampleDataConverter.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/convert/TestRecordSampleDataConverter.java @@ -5,6 +5,7 @@ import digital.laboratory.platform.inspection.dto.SampleInspectDataDTO; import digital.laboratory.platform.inspection.entity.TestRecordSampleData; import digital.laboratory.platform.inspection.vo.TestRecordSampleDataVO; +import java.math.BigDecimal; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -28,7 +29,12 @@ public class TestRecordSampleDataConverter { testRecordSampleData.setSampleConcentration(vo.getSampleConcentration()); testRecordSampleData.setCompoundName(vo.getCompoundName()); testRecordSampleData.setRtTimeWithinError(vo.getRtTimeWithinError()); - testRecordSampleData.setRtTimeError(vo.getRtTimeError()); + String rtTimeError = vo.getRtTimeError(); + if (rtTimeError != null && rtTimeError.equals(TestRecordSampleDataConstant.INVALID_VALUE_STR)) { + testRecordSampleData.setRtTimeError(null); + } else { + testRecordSampleData.setRtTimeError(new BigDecimal(rtTimeError)); + } testRecordSampleData.setTargetRtTime(vo.getTargetRtTime()); testRecordSampleData.setStdRtTime(vo.getStdRtTime()); testRecordSampleData.setIsDetected(vo.getIsDetected().equals(TestRecordSampleDataConstant.IS) ? 1 : 0); diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/PushDataToLabsCareServiceImpl.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/PushDataToLabsCareServiceImpl.java index 550840e..ee4b87b 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/PushDataToLabsCareServiceImpl.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/service/impl/PushDataToLabsCareServiceImpl.java @@ -324,7 +324,7 @@ public class PushDataToLabsCareServiceImpl implements PushDataToLabsCareService testDataJson.set("swsj", NULL_PLACEHOLDER); // 上机 testDataJson.set("swyxtj", NULL_PLACEHOLDER); // 液相条件 testDataJson.set("swzptj", NULL_PLACEHOLDER); // 质谱条件 - testDataJson.set("wjcjgpd", "±" + processInspectDataService.getHairCaseIonAbundanceRatioWithinErrorRange(stdData.getIonAbundanceRatio().doubleValue())); //相对离子丰度比的最大允许相对误差(%) + testDataJson.set("wjcjgpd", "±" + processInspectDataService.getHairCaseIonAbundanceRatioWithinErrorRange(Double.parseDouble(stdData.getIonAbundanceRatio()))); //相对离子丰度比的最大允许相对误差(%) testDataJson.set("wtdw", entrustInfo.getEntrustDepartment()); testDataJson.set("wzdy", StrUtil.join(",", drug.getMainDeclusteringPotential(), drug.getMinorDeclusteringPotential())); return testDataJson; diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/vo/TestRecordSampleDataExpandVO.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/vo/TestRecordSampleDataExpandVO.java index 956d20e..d689a1c 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/vo/TestRecordSampleDataExpandVO.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/vo/TestRecordSampleDataExpandVO.java @@ -50,12 +50,25 @@ public class TestRecordSampleDataExpandVO { /************************ 处理需要特定格式返回的字段 **************************/ - public BigDecimal getIonAbundanceRatio() { - return ionAbundanceRatio != null ? ionAbundanceRatio.setScale(2, RoundingMode.HALF_UP) : null; + public String getIonAbundanceRatio() { + if (getBasePeak()) { + return "/"; + } + return ionAbundanceRatio != null ? ionAbundanceRatio.setScale(2, RoundingMode.HALF_UP).toString() : null; } - public BigDecimal getIonAbundanceRatioError() { - return ionAbundanceRatioError != null ? ionAbundanceRatioError.setScale(2, RoundingMode.HALF_UP) : null; + public String getIonAbundanceRatioError() { + if (getBasePeak()) { + return "/"; + } + return ionAbundanceRatioError != null ? ionAbundanceRatioError.setScale(2, RoundingMode.HALF_UP).toString() : null; + } + + public String getIonAbundanceRatioWithinError() { + if (getBasePeak()) { + return "/"; + } + return ionAbundanceRatioWithinError; } } diff --git a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/vo/TestRecordSampleDataVO.java b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/vo/TestRecordSampleDataVO.java index 79fd4f0..263e556 100644 --- a/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/vo/TestRecordSampleDataVO.java +++ b/dlp-drugtesting-biz/src/main/java/digital/laboratory/platform/inspection/vo/TestRecordSampleDataVO.java @@ -89,8 +89,11 @@ public class TestRecordSampleDataVO { return isDetected.equals(1) ? TestRecordSampleDataConstant.IS : TestRecordSampleDataConstant.NO; } - public BigDecimal getRtTimeError() { - return rtTimeError != null ? rtTimeError.setScale(3, RoundingMode.HALF_UP) : null; + public String getRtTimeError() { + if (sampleType.equals(TestRecordSampleDataConstant.SAMPLE_TYPE_STD)) { + return TestRecordSampleDataConstant.INVALID_VALUE_STR; + } + return rtTimeError != null ? rtTimeError.setScale(3, RoundingMode.HALF_UP).toString() : null; } /** @@ -98,11 +101,11 @@ public class TestRecordSampleDataVO { * * @return */ - public BigDecimal getIonAbundanceRatioError() { + public String getIonAbundanceRatioError() { return expandList != null && expandList.size() > 1 ? expandList.get(1).getIonAbundanceRatioError() : null; } - public BigDecimal getIonAbundanceRatio() { + public String getIonAbundanceRatio() { return expandList != null && expandList.size() > 1 ? expandList.get(1).getIonAbundanceRatio() : null; }