ソースを参照

化验室日报和连续监测日报 检测指标标红逻辑处理

王苗苗 3 週間 前
コミット
a803d815e3

+ 24 - 0
ruoyi-system/src/main/java/com/ruoyi/business/res/AssayDetailRes.java

@@ -36,6 +36,9 @@ public class AssayDetailRes {
 
     private Double highCodDeviationRateNumber;//高COD偏差度-数字
 
+    //2025年04月09日16:21:26 新增字段,高COD是否需要标红
+    private boolean highCodRed = false;
+
     private Double lowCodStandardVal;//低COD标称值
 
     private Double lowCodResultConcentration;//低COD化验值
@@ -44,6 +47,9 @@ public class AssayDetailRes {
 
     private Double lowCodDeviationRateNumber;//低COD偏差度-数字
 
+    //2025年04月09日16:21:26 新增字段,低COD是否需要标红
+    private boolean lowCodRed = false;
+
     private Double anDanStandardVal;//氨氮标称值
 
     private Double anDanResultConcentration;//氨氮化验值
@@ -52,6 +58,9 @@ public class AssayDetailRes {
 
     private Double anDanDeviationRateNumber;//氨氮偏差度-数字
 
+    //2025年04月09日16:21:26 新增字段,氨氮是否需要标红
+    private boolean anDanRed = false;
+
     private Double tnStandardVal;//总氮标称值
 
     private Double tnResultConcentration;//总氮化验值
@@ -60,6 +69,9 @@ public class AssayDetailRes {
 
     private Double tnDeviationRateNumber;//总氮偏差度-数字
 
+    //2025年04月09日16:21:26 新增字段,总氮是否需要标红
+    private boolean tnRed = false;
+
     private Double tpStandardVal;//总磷标称值
 
     private Double tpResultConcentration;//总磷化验值
@@ -68,6 +80,9 @@ public class AssayDetailRes {
 
     private Double tpDeviationRateNumber;//总磷偏差度-数字
 
+    //2025年04月09日16:21:26 新增字段,总磷是否需要标红
+    private boolean tpRed = false;
+
     private Double xsydStandardVal;//硝酸盐氮标称值
 
     private Double xsydResultConcentration;//硝酸盐氮化验值
@@ -76,6 +91,9 @@ public class AssayDetailRes {
 
     private Double xsydDeviationRateNumber;//硝酸盐氮偏差度-数字
 
+    //2025年04月09日16:21:26 新增字段,硝酸盐氮是否需要标红
+    private boolean xsydRed = false;
+
     private Double yxsyStandardVal;//亚硝酸盐标称值
 
     private Double yxsyResultConcentration;//亚硝酸盐化验值
@@ -84,6 +102,9 @@ public class AssayDetailRes {
 
     private Double yxsyDeviationRateNumber;//亚硝酸盐偏差度-数字
 
+    //2025年04月09日16:21:26 新增字段,亚硝酸盐是否需要标红
+    private boolean yxsyRed = false;
+
     private Double zlsyStandardVal;//正磷酸标称值
 
     private Double zlsyResultConcentration;//正磷酸盐化验值
@@ -92,6 +113,9 @@ public class AssayDetailRes {
 
     private Double zlsyDeviationRateNumber;//正磷酸偏差度-数字
 
+    //2025年04月09日16:21:26 新增字段,正磷酸是否需要标红
+    private boolean zlsyRed = false;
+
 
 
 

+ 56 - 0
ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusinessServiceImpl.java

@@ -461,6 +461,13 @@ public class BusinessServiceImpl implements IBusinessService {
                                 assayDetailRes.setHighCodDeviationRate(NumberUtils.getDoublePercentAndNLength(INT_4, val, INT_2));
                                 assayDetailRes.setHighCodDeviationRateNumber(NumberUtils.getDoubleNLength(INT_2, val));
                             }
+                            //2025年04月09日16:31:56 额外处理,该指标是否需要标红
+                            Double highValue = zQualityValue.getHighValue();
+                            if(!Objects.isNull(highValue) && resultConcentration > highValue)
+                                assayDetailRes.setHighCodRed(true);
+                            Double lowValue = zQualityValue.getLowValue();
+                            if(!Objects.isNull(lowValue) && resultConcentration < lowValue)
+                                assayDetailRes.setHighCodRed(true);
                         }
                     }
                 }
@@ -492,6 +499,13 @@ public class BusinessServiceImpl implements IBusinessService {
                                 assayDetailRes.setLowCodDeviationRate(NumberUtils.getDoublePercentAndNLength(INT_4, val, INT_2));
                                 assayDetailRes.setLowCodDeviationRateNumber(NumberUtils.getDoubleNLength(INT_2, val));
                             }
+                            //2025年04月09日16:31:56 额外处理,该指标是否需要标红
+                            Double highValue = zQualityValue.getHighValue();
+                            if(!Objects.isNull(highValue) && resultConcentration > highValue)
+                                assayDetailRes.setLowCodRed(true);
+                            Double lowValue = zQualityValue.getLowValue();
+                            if(!Objects.isNull(lowValue) && resultConcentration < lowValue)
+                                assayDetailRes.setLowCodRed(true);
                         }
                     }
                 }
@@ -524,6 +538,13 @@ public class BusinessServiceImpl implements IBusinessService {
                                 assayDetailRes.setAnDanDeviationRate(NumberUtils.getDoublePercentAndNLength(INT_4, val, INT_2));
                                 assayDetailRes.setAnDanDeviationRateNumber(NumberUtils.getDoubleNLength(INT_2, val));
                             }
+                            //2025年04月09日16:31:56 额外处理,该指标是否需要标红
+                            Double highValue = zQualityValue.getHighValue();
+                            if(!Objects.isNull(highValue) && resultConcentration > highValue)
+                                assayDetailRes.setAnDanRed(true);
+                            Double lowValue = zQualityValue.getLowValue();
+                            if(!Objects.isNull(lowValue) && resultConcentration < lowValue)
+                                assayDetailRes.setAnDanRed(true);
                         }
                     }
                 }
@@ -555,6 +576,13 @@ public class BusinessServiceImpl implements IBusinessService {
                                 assayDetailRes.setTnDeviationRate(NumberUtils.getDoublePercentAndNLength(INT_4, val, INT_2));
                                 assayDetailRes.setTnDeviationRateNumber(NumberUtils.getDoubleNLength(INT_2, val));
                             }
+                            //2025年04月09日16:31:56 额外处理,该指标是否需要标红
+                            Double highValue = zQualityValue.getHighValue();
+                            if(!Objects.isNull(highValue) && resultConcentration > highValue)
+                                assayDetailRes.setTnRed(true);
+                            Double lowValue = zQualityValue.getLowValue();
+                            if(!Objects.isNull(lowValue) && resultConcentration < lowValue)
+                                assayDetailRes.setTnRed(true);
                         }
                     }
                 }
@@ -586,6 +614,13 @@ public class BusinessServiceImpl implements IBusinessService {
                                 assayDetailRes.setTpDeviationRate(NumberUtils.getDoublePercentAndNLength(INT_4, val, INT_2));
                                 assayDetailRes.setTpDeviationRateNumber(NumberUtils.getDoubleNLength(INT_2, val));
                             }
+                            //2025年04月09日16:31:56 额外处理,该指标是否需要标红
+                            Double highValue = zQualityValue.getHighValue();
+                            if(!Objects.isNull(highValue) && resultConcentration > highValue)
+                                assayDetailRes.setTpRed(true);
+                            Double lowValue = zQualityValue.getLowValue();
+                            if(!Objects.isNull(lowValue) && resultConcentration < lowValue)
+                                assayDetailRes.setTpRed(true);
                         }
                     }
                 }
@@ -617,6 +652,13 @@ public class BusinessServiceImpl implements IBusinessService {
                                 assayDetailRes.setZlsyDeviationRate(NumberUtils.getDoublePercentAndNLength(INT_4, val, INT_2));
                                 assayDetailRes.setZlsyDeviationRateNumber(NumberUtils.getDoubleNLength(INT_2, val));
                             }
+                            //2025年04月09日16:31:56 额外处理,该指标是否需要标红
+                            Double highValue = zQualityValue.getHighValue();
+                            if(!Objects.isNull(highValue) && resultConcentration > highValue)
+                                assayDetailRes.setZlsyRed(true);
+                            Double lowValue = zQualityValue.getLowValue();
+                            if(!Objects.isNull(lowValue) && resultConcentration < lowValue)
+                                assayDetailRes.setZlsyRed(true);
                         }
                     }
                 }
@@ -648,6 +690,13 @@ public class BusinessServiceImpl implements IBusinessService {
                                 assayDetailRes.setYxsyDeviationRate(NumberUtils.getDoublePercentAndNLength(INT_4, val, INT_2));
                                 assayDetailRes.setYxsyDeviationRateNumber(NumberUtils.getDoubleNLength(INT_2, val));
                             }
+                            //2025年04月09日16:31:56 额外处理,该指标是否需要标红
+                            Double highValue = zQualityValue.getHighValue();
+                            if(!Objects.isNull(highValue) && resultConcentration > highValue)
+                                assayDetailRes.setYxsyRed(true);
+                            Double lowValue = zQualityValue.getLowValue();
+                            if(!Objects.isNull(lowValue) && resultConcentration < lowValue)
+                                assayDetailRes.setYxsyRed(true);
                         }
                     }
                 }
@@ -679,6 +728,13 @@ public class BusinessServiceImpl implements IBusinessService {
                                 assayDetailRes.setXsydDeviationRate(NumberUtils.getDoublePercentAndNLength(INT_4, val, INT_2));
                                 assayDetailRes.setXsydDeviationRateNumber(NumberUtils.getDoubleNLength(INT_2, val));
                             }
+                            //2025年04月09日16:31:56 额外处理,该指标是否需要标红
+                            Double highValue = zQualityValue.getHighValue();
+                            if(!Objects.isNull(highValue) && resultConcentration > highValue)
+                                assayDetailRes.setXsydRed(true);
+                            Double lowValue = zQualityValue.getLowValue();
+                            if(!Objects.isNull(lowValue) && resultConcentration < lowValue)
+                                assayDetailRes.setXsydRed(true);
                         }
                     }
                 }