liuwei 2 месяцев назад
Родитель
Сommit
15cc0b5ba5

+ 23 - 0
src/main/java/com/jeesite/modules/mes/util/CommonUitl.java

@@ -82,6 +82,29 @@ public class CommonUitl {
     }
 
     /**
+     * 同一父工位:OP250 / OP250A / OP250B 视为相同
+     */
+    public static boolean sameStation(String a, String b) {
+        if (StringUtils.isEmpty(a) || StringUtils.isEmpty(b)) {
+            return false;
+        }
+        return formatOprno(a).equals(formatOprno(b));
+    }
+
+    /**
+     * 跳过工位配置串是否包含该工位(兼容父工位与子工位写法)
+     */
+    public static boolean inPassOprnos(String passoprnos, String recordOprno) {
+        if (StringUtils.isEmpty(passoprnos) || StringUtils.isEmpty(recordOprno)) {
+            return false;
+        }
+        if (passoprnos.contains(recordOprno)) {
+            return true;
+        }
+        return passoprnos.contains(formatOprno(recordOprno));
+    }
+
+    /**
      * 获取几天前的时间
      * @param days
      * @return

+ 3 - 3
src/main/java/com/jeesite/modules/mes/web/MesProductRecordController.java

@@ -1792,9 +1792,9 @@ public class MesProductRecordController extends BaseController {
 			}
 		}
 
-		// 6.检查本工位情况
+		// 6.检查本工位情况(兼容 OP250 / OP250A 等父、子工位写法)
 		for(MesProductRecord mpr : lists){
-			if(mpr.getOprno().contains(oprno)){
+			if(CommonUitl.sameStation(mpr.getOprno(), oprno)){
 				if(mpr.getContent().equals("NG")){
 					lxres = "NG";
 				}else if(mpr.getContent().equals("OK")){
@@ -1819,7 +1819,7 @@ public class MesProductRecordController extends BaseController {
 					break;
 				}
 
-				if(!StringUtils.isEmpty(passoprnos) && passoprnos.contains(mpr.getOprno())){
+				if(CommonUitl.inPassOprnos(passoprnos, mpr.getOprno())){
 					// 跳过的工位
 				}else{
 					if(mpr.getContent().equals("NG")){