Просмотр исходного кода

修改 最小值 最大值 判断 条件。

tom 5 дней назад
Родитель
Сommit
a1986b048b

+ 16 - 5
ruoyi-sim/src/main/java/com/ruoyi/sim/constant/CommConst.java

@@ -7,8 +7,14 @@ package com.ruoyi.sim.constant;
  */
 public interface CommConst {
 
+    /**
+     * 报文开始标识
+     */
     String PREFIX = "AA";
 
+    /**
+     * 报文结束标识
+     */
     String SUFFIX = "55";
 
     /**
@@ -53,24 +59,29 @@ public interface CommConst {
 
     String PREFIX_ERROR_0 = "0";
 
-    String ANSWER_RIGHT = "00000000";
-    String ANSWER_WRONG = "00000001";
-
     String ANSWER_LAST_RIGHT_MSG = "00";
     String ANSWER_LAST_WRONG_MSG = "01";
 
     /**
+     * 检测干燥管 这类特殊处理的。
      * 可换件不存在
      */
-    String WHG_MSG_EXIT_NO = "00";
+    String GUAN_EXIT_NO = "00";
 
     /**
+     * 检测干燥管 这类特殊处理的。
      * 可换件存在
      */
-    String WHG_MSG_EXIST_YES = "01";
+    String GUAN_EXIST_YES = "01";
 
+    /**
+     * 可换件允许(包括)最大值。
+     */
     int ID_MAX = Integer.parseInt("2A", 16);
 
+    /**
+     * 可换件允许(包括)最小值。
+     */
     int ID_MIN = Integer.parseInt("00", 16);
 
     int LENGTH_2 = 2;

+ 32 - 29
ruoyi-sim/src/main/java/com/ruoyi/sim/constant/FaultConst.java

@@ -8,53 +8,56 @@ public class FaultConst {
     /**
      * 跳过的开始考试检查故障部位 集合。
      */
-    public static Set<String> FAULT_SET_CHECK_PASS = new HashSet<>();
+    public static Set<String> CHECK_PASS_SET = new HashSet<>();
 
     /**
      * 判分 暂时没有使用
      */
     @Deprecated
-    public static HashSet<String> FAULT_SET_JUDGE_RIGHT_FROM_WRONG_SP2 = new HashSet<>();
+    public static HashSet<String> JUDGE_SET = new HashSet<>();
 
     /**
      * 是否是 2型,3型 的 检测干燥管
      */
-    public static Set<String> FAULT_SET_GAN_ZAO_GUAN = new HashSet<>();
+    public static Set<String> GAN_ZAO_GUAN_SET = new HashSet<>();
 
     static {
         {
-            // 1型
-            // todo:不应该
-            // FAULT_SET_CHECK_PASS.add("0001GZBW0006");
+            // 1型----
             // 1型不存在
-            // 2型
-            FAULT_SET_CHECK_PASS.add(FaultIdConst.T0002.F01);
-            FAULT_SET_CHECK_PASS.add(FaultIdConst.T0002.F03);
-            FAULT_SET_CHECK_PASS.add(FaultIdConst.T0002.F05);
-            FAULT_SET_CHECK_PASS.add(FaultIdConst.T0002.F0A);
-            // 3型
-            FAULT_SET_CHECK_PASS.add(FaultIdConst.T0003.F06);
-            FAULT_SET_CHECK_PASS.add(FaultIdConst.T0003.F08);
+
+            // 2型----
+            CHECK_PASS_SET.add(FaultIdConst.T0002.F01);
+            CHECK_PASS_SET.add(FaultIdConst.T0002.F03);
+            CHECK_PASS_SET.add(FaultIdConst.T0002.F05);
+            CHECK_PASS_SET.add(FaultIdConst.T0002.F0A);
+
+            // 3型----
+            CHECK_PASS_SET.add(FaultIdConst.T0003.F06);
+            CHECK_PASS_SET.add(FaultIdConst.T0003.F08);
         }
         {
-            // 1型
+            // 1型----
             // 1型不存在
-            // 2型
-            FAULT_SET_JUDGE_RIGHT_FROM_WRONG_SP2.add(FaultIdConst.T0002.F01);
-            FAULT_SET_JUDGE_RIGHT_FROM_WRONG_SP2.add(FaultIdConst.T0002.F03);
-            FAULT_SET_JUDGE_RIGHT_FROM_WRONG_SP2.add(FaultIdConst.T0002.F05);
-            FAULT_SET_JUDGE_RIGHT_FROM_WRONG_SP2.add(FaultIdConst.T0002.F09);
-            FAULT_SET_JUDGE_RIGHT_FROM_WRONG_SP2.add(FaultIdConst.T0002.F0A);
-            // 3型
-            FAULT_SET_JUDGE_RIGHT_FROM_WRONG_SP2.add(FaultIdConst.T0003.F06);
-            FAULT_SET_JUDGE_RIGHT_FROM_WRONG_SP2.add(FaultIdConst.T0003.F07);
-            FAULT_SET_JUDGE_RIGHT_FROM_WRONG_SP2.add(FaultIdConst.T0003.F08);
+
+            // 2型----
+            JUDGE_SET.add(FaultIdConst.T0002.F01);
+            JUDGE_SET.add(FaultIdConst.T0002.F03);
+            JUDGE_SET.add(FaultIdConst.T0002.F05);
+            JUDGE_SET.add(FaultIdConst.T0002.F09);
+            JUDGE_SET.add(FaultIdConst.T0002.F0A);
+
+            // 3型----
+            JUDGE_SET.add(FaultIdConst.T0003.F06);
+            JUDGE_SET.add(FaultIdConst.T0003.F07);
+            JUDGE_SET.add(FaultIdConst.T0003.F08);
         }
         {
-            // 2型
-            FAULT_SET_GAN_ZAO_GUAN.add(FaultIdConst.T0002.F09);
-            // 3型
-            FAULT_SET_GAN_ZAO_GUAN.add(FaultIdConst.T0003.F07);
+            // 2型----
+            GAN_ZAO_GUAN_SET.add(FaultIdConst.T0002.F09);
+
+            // 3型----
+            GAN_ZAO_GUAN_SET.add(FaultIdConst.T0003.F07);
         }
     }
 }

+ 1 - 1
ruoyi-sim/src/main/java/com/ruoyi/sim/constant/FaultContentConst.java → ruoyi-sim/src/main/java/com/ruoyi/sim/constant/FaultContentAnswerConst.java

@@ -1,6 +1,6 @@
 package com.ruoyi.sim.constant;
 
-public interface FaultContentConst {
+public interface FaultContentAnswerConst {
 
     /**
      * 1型

+ 21 - 12
ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/CommReceiveService.java

@@ -163,7 +163,7 @@ public class CommReceiveService {
         if (s == null) {
             return AjaxResult.error("没有对应模拟器!");
         }
-        // 1型 外壳及零件,特殊处理
+        // 1型 特殊处理
         if (StringUtils.equals(s.getSimType(), Sim.TYPE_0001)) {
             // 1型 电池仓门检查 去掉。
 
@@ -176,14 +176,16 @@ public class CommReceiveService {
 //                return AjaxResult.success(vo);
 //            }
         }
+        // 2型 特殊处理
         if (StringUtils.equals(s.getSimType(), Sim.TYPE_0002)) {
 
         }
+        // 3型 特殊处理
         if (StringUtils.equals(s.getSimType(), Sim.TYPE_0003)) {
 
         }
         // 是否在 故障部位 跳过检查 白名单中。
-        if (FaultConst.FAULT_SET_CHECK_PASS.contains(f.getFaultId())) {
+        if (FaultConst.CHECK_PASS_SET.contains(f.getFaultId())) {
             vo.setErrorMsg("");
             vo.setCheckOk(true);
             // 跳过检查,直接返回成功。
@@ -192,10 +194,10 @@ public class CommReceiveService {
         // 是否是
         // 2型的 检测干燥管 或
         // 3型的 检测干燥管
-        if (FaultConst.FAULT_SET_GAN_ZAO_GUAN.contains(f.getFaultId())) {
+        if (FaultConst.GAN_ZAO_GUAN_SET.contains(f.getFaultId())) {
             // 判断必须存在
-            String WHG_EXIST_MSG = CommParseUtils.receiveSubContentData46(sm);
-            if (!WHG_MSG_EXIST_YES.equals(WHG_EXIST_MSG)) {
+            String existMsg = CommParseUtils.receiveSubContentData46(sm);
+            if (!GUAN_EXIST_YES.equals(existMsg)) {
                 String eMsg = "[" + f.getReplaceName() + "]可换件异常;<br>" +
                         "请正确安装[" + f.getReplaceName() + "]后再次开始考试。<br>";
                 l.info(eMsg);
@@ -226,14 +228,21 @@ public class CommReceiveService {
         }
         // 可换件id 最小值 最大值 判断
         {
-            String id = CommParseUtils.receiveSubContentData68(sm);
-            int idDec = Integer.parseInt(id, 16);
-            if (idDec < CommConst.ID_MIN) {
-                return ArBuilder.error(T20011, M20011, vo);
-            }
-            if (idDec > CommConst.ID_MAX) {
-                return ArBuilder.error(T20012, M20012, vo);
+            if (FaultConst.CHECK_PASS_SET.contains(f.getFaultId()) ||
+                    FaultConst.GAN_ZAO_GUAN_SET.contains(f.getFaultId())
+            ) {
+                l.info("Not check id f = {}", f.getFaultId());
+            } else {
+                String id = CommParseUtils.receiveSubContentData68(sm);
+                int idDec = Integer.parseInt(id, 16);
+                if (idDec < CommConst.ID_MIN) {
+                    return ArBuilder.error(T20011, M20011, vo);
+                }
+                if (idDec > CommConst.ID_MAX) {
+                    return ArBuilder.error(T20012, M20012, vo);
+                }
             }
+
         }
         // final ok.
         vo.setErrorMsg("");

+ 1 - 1
ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/RealExamFaultService.java

@@ -331,7 +331,7 @@ public class RealExamFaultService {
                 return AjaxResult.error("数据报文异常!");
             }
             // 模拟器故障 的 计算减分 + 判断对错
-            if (FaultConst.FAULT_SET_JUDGE_RIGHT_FROM_WRONG_SP2.contains(ref.getFaultId())) {
+            if (FaultConst.JUDGE_SET.contains(ref.getFaultId())) {
                 String aVLast = aV.substring(6, 8);
                 if (CommConst.ANSWER_LAST_RIGHT_MSG.equals(aVLast)) {
                     minus = 0;