瀏覽代碼

添加脚本;增加数据裁剪时间;

Gaokun Wang 4 天之前
父節點
當前提交
62fb8fb8cd

+ 2 - 2
als-modules/agile-assurance/src/main/java/org/eco/als/domain/JudgeFaultLogic.java

@@ -61,12 +61,12 @@ private static final long serialVersionUID = 1L;
     private String nameId;
 
     /**
-     * 属性1
+     * HMC码参数
      */
     private String attribute1;
 
     /**
-     * 属性2
+     * 数据裁剪时间
      */
     private String attribute2;
 

+ 4 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/domain/bo/ExpressBo.java

@@ -17,6 +17,10 @@ public class ExpressBo {
      * 数据Id
      */
     private Long ossId;
+    /**
+     * 裁切时间
+     */
+    private int cutTime;
 
     /**
      * 数据列

+ 2 - 2
als-modules/agile-assurance/src/main/java/org/eco/als/domain/vo/JudgeFaultLogicVo.java

@@ -68,14 +68,14 @@ private static final long serialVersionUID = 1L;
     private String name;
 
     /**
-     * 属性1
+     * HMC码参数
      */
     private String attribute1;
 
     /**
      * 属性2
      */
-    private String attribute2;
+    private String attribute2 = "0";
 
     /**
      * 属性3

+ 1 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/service/impl/AlgorithmService.java

@@ -177,6 +177,7 @@ public class AlgorithmService implements IAlgorithmService {
                 ExpressBo expressBo = new ExpressBo();
                 expressBo.setExpression(logicVo.getRemarks());
                 expressBo.setOssId(algorithmBo.getOssId());
+                expressBo.setCutTime(Integer.parseInt(logicVo.getAttribute2()));
                 JSONObject object = formulaService.evaluateExpression(expressBo);
                 result = object.getInt("result");
                 warningResultBo.setAttribute1(logicVo.getName());

+ 16 - 1
als-modules/agile-assurance/src/main/java/org/eco/als/service/impl/FormulaService.java

@@ -1,6 +1,8 @@
 package org.eco.als.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.date.format.FastDateFormat;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
@@ -15,11 +17,14 @@ import org.eco.als.utils.CheckVibrationDuration;
 import org.eco.als.utils.CsvUtils;
 import org.eco.common.core.constant.Constants;
 import org.eco.common.core.exception.BusinessException;
+import org.eco.common.core.utils.DateUtils;
 import org.eco.common.core.utils.StringUtils;
 import org.eco.system.domain.vo.SysOssVo;
 import org.eco.system.service.ISysOssService;
 import org.springframework.stereotype.Service;
 
+import java.time.Duration;
+import java.time.LocalTime;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
@@ -65,13 +70,16 @@ public class FormulaService implements IFormulaService {
 
             JSONArray arr = CsvUtils.fileCsvToJsonRegex(path);
             for (Object object : arr) {
+                timeFlag = ((JSONObject) object).getStr("时间");
+                if (durationTime(expressBo.getCutTime(),timeFlag)< 1) {
+                    continue;
+                }
                 DefaultContext<String, Object> context = new DefaultContext<>();
                 Map<String, Object> variables = CollUtil.isEmpty(expressBo.getVariables()) ? buildVariableContext(expressBo, (JSONObject) object) : expressBo.getVariables();
                 context.putAll(variables);
                 Boolean isMatch = (Boolean) runner.execute(expressBo.getExpression(), context, null, true, false);
                 log.info("isMatch==========================:{}", isMatch);
                 if (isMatch) {
-                    timeFlag = ((JSONObject) object).getStr("时间");
                     // 实警
                     result = 0;
                     break;
@@ -99,6 +107,13 @@ public class FormulaService implements IFormulaService {
         return variables;
     }
 
+    private int durationTime(int cutTime, String timeStr) {
+        LocalTime time = LocalTime.parse(timeStr);
+        Duration duration = Duration.between(LocalTime.MIN, time);
+        Duration minutesDuration = Duration.ofMinutes(cutTime);
+        return duration.compareTo(minutesDuration);
+    }
+
     /**
      * 解析表达式中的变量名。
      */

+ 8 - 0
als-start/src/main/resources/db/dm/V1_0_0_16__als-202506030-ddl.sql

@@ -0,0 +1,8 @@
+alter table "lqbz"."T_CALCULATION_MODEL" add column("REMARK" VARCHAR(2000));
+
+comment on column "lqbz"."T_CALCULATION_MODEL"."REMARK" is '说明';
+
+
+alter table "lqbz"."als_judge_fault_logic_t" add column("cut_time" INT);
+
+comment on column "lqbz"."als_judge_fault_logic_t"."cut_time" is '数据裁剪时间';