Ver código fonte

调用决策的时候,新增字段标记是化验室数据 原来特殊赋值的不再需要

王苗苗 7 meses atrás
pai
commit
35b7289aee

+ 15 - 0
slibra-common/src/main/java/com/slibra/common/core/domain/DecisionReq.java

@@ -256,4 +256,19 @@ public class DecisionReq {
 
     @JSONField(name = "SS_off_daily")
     private BigDecimal ssOffDaily;
+
+    //2024年08月20日13:22:38 新增参数
+
+    @JSONField(name = "TN_off_lxjc1")
+    private BigDecimal tnOffLxjc1;
+
+    @JSONField(name = "TN_off_lxjc2")
+    private BigDecimal tnOffLxjc2;
+
+    @JSONField(name = "andan_off_lxjc")
+    private BigDecimal anDanOffLxjc;
+
+    @JSONField(name = "TP_off_lxjc")
+    private BigDecimal tpOffLxjc;
+
 }

+ 40 - 0
slibra-common/src/main/java/com/slibra/common/utils/format/WaterFormat.java

@@ -5,6 +5,7 @@ import com.slibra.common.DecimalUtils;
 import com.slibra.common.constant.MyConstants;
 import com.slibra.common.core.domain.DecisionReq;
 import com.slibra.common.core.domain.TXinyiDaily;
+import com.slibra.common.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
 
@@ -134,8 +135,47 @@ public class WaterFormat {
         decisionReq.setTnOffDaily(DecimalUtils.getAbsAndScale(daily.getCsTn(), INT_0));
         decisionReq.setAnDanOffDaily(DecimalUtils.getAbsAndScale(daily.getCsNh3(), INT_0));
         decisionReq.setSsOffDaily(DecimalUtils.getAbsAndScale(daily.getCsSs(), INT_0));
+
+        //2024年08月20日13:22:38 新增参数
+        //好氧硝酸盐
+        String hycxsyAll = decisionReq.getHycxsyAll();
+        if(StringUtils.isNotBlank(hycxsyAll)){//好氧
+            List<BigDecimal> hyStrings = JSON.parseArray(hycxsyAll, BigDecimal.class);
+            BigDecimal no3Hlj1Jqr = hyStrings.get(0);
+            decisionReq.setTnOffLxjc1(DecimalUtils.getAbsAndScale(no3Hlj1Jqr, INT_0));
+            BigDecimal no3Hlj2Jqr = hyStrings.get(1);
+            decisionReq.setTnOffLxjc2(DecimalUtils.getAbsAndScale(no3Hlj2Jqr, INT_0));
+            //处理氨氮 需要计算
+            //缺氧硝酸盐
+            String qyckxsyAll = decisionReq.getQyckxsyAll();
+            if(StringUtils.isNotBlank(qyckxsyAll)){
+                List<BigDecimal> qyStrings = JSON.parseArray(qyckxsyAll, BigDecimal.class);
+                BigDecimal no3Qyc1Jqr = qyStrings.get(0);
+                BigDecimal no3Qyc2Jqr = qyStrings.get(1);
+                //缺氧氨氮
+                String qyanAll = decisionReq.getQyanAll();
+                if(StringUtils.isNotBlank(qyanAll)){
+                    List<BigDecimal> qyStrings2 = JSON.parseArray(qyanAll, BigDecimal.class);
+                    BigDecimal nh31Jqr = qyStrings2.get(0);
+                    BigDecimal nh32Jqr = qyStrings2.get(1);
+                    BigDecimal anDan1 = no3Qyc1Jqr.add(nh31Jqr).subtract(no3Hlj1Jqr);
+                    BigDecimal anDan2 = no3Qyc2Jqr.add(nh32Jqr).subtract(no3Hlj2Jqr);
+                    decisionReq.setAnDanOffLxjc(DecimalUtils.getAbsAndScale(anDan1.add(anDan2).divide(DECIMAL_2, INT_2, RoundingMode.HALF_UP), INT_0));
+                }
+            }
+        }
+        String eccZl = decisionReq.getEccZl();
+        if(StringUtils.isNotBlank(eccZl)){
+            decisionReq.setTpOffLxjc(DecimalUtils.getAbsAndScale(new BigDecimal(eccZl), INT_0));
+        }
         return decisionReq;
 
     }
 
+    public static void main(String[] args) {
+        List<BigDecimal> strings = JSON.parseArray("[11.898019,12.96599]", BigDecimal.class);
+        System.out.println(strings.get(0));
+        System.out.println(strings.get(1));
+    }
+
 }

+ 3 - 3
slibra-quartz/src/main/java/com/slibra/quartz/task/AsyncTask.java

@@ -1351,7 +1351,8 @@ public class AsyncTask {
                     // decisionReq.setRR(daily.getWhlR());
                 }
                 //如果是机器人化验室的报警,需要把总磷和总氮,获取化验室对应的数据且计算
-                if(isSpecial){
+                //2024年08月20日15:16:16 化验室的报警和工业库传参一样 新增了4个参数额外标记化验室数据
+                /*if(isSpecial){
                     List<TXinyiRobot> xinyiRobots = this.xinyiRobotMapper.selectTXinyiRobotList(TXinyiRobot.builder().testHour(tXinyiIndustry.getTestHour()).build());
                     if(CollectionUtils.isEmpty(xinyiRobots)){
                         log.error("{}获取化验室数据失败", tXinyiIndustry.getTestHour());
@@ -1370,8 +1371,7 @@ public class AsyncTask {
                             decisionReq.setTpOff(tpRccJqr.divide(ROBOT_HY_DIVIDE, INT_0, RoundingMode.HALF_UP));
                         }
                     }
-                }
-                //todo 字符串的调用getAbsAndScaleStr()
+                }*/
             }
         }
 //        String rows = JSON.toJSONString(decisionReqs, JSONWriter.Feature.WriteNulls);

+ 2 - 2
slibra-quartz/src/main/java/com/slibra/quartz/task/GetRealTimeData.java

@@ -34,8 +34,8 @@ public class GetRealTimeData {
 
         // 给定时间段的起始时间和结束时间
 
-        LocalDateTime startTime = LocalDateTime.parse("2024-06-23T19:00:00");
-        LocalDateTime endTime = LocalDateTime.parse("2024-06-23T19:20:00");
+        LocalDateTime startTime = LocalDateTime.parse("2024-08-20T11:00:00");
+        LocalDateTime endTime = LocalDateTime.parse("2024-08-20T14:20:00");
 
         // 每个小时的时间格式
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");