|
|
@@ -1,67 +1,54 @@
|
|
|
package com.mes.ui;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-
|
|
|
+/**
|
|
|
+ * 工位描述工具:硬编码工位列表,避免每台客户端都依赖服务端接口
|
|
|
+ * 数据来源 2026-06-24:T09 产线 mesLineProcess(lineSn=T9)
|
|
|
+ */
|
|
|
public class OprnoUtil {
|
|
|
- public static String[] xtoprnos = new String[]{
|
|
|
- "OP040","OP050","OP060","OP070","OP080","OP090","OP100",
|
|
|
- "OP110","OP120","OP130","OP140","OP150","OP170","OP190",
|
|
|
- "OP200","OP210","OP220","OP230","OP240","OP250","OP260",
|
|
|
- "OP270","OP280","OP290","OP300","OP310","OP320","OP340",
|
|
|
- "OP350","OP360","OP370","OP370","OP380","OP390","OP400","OP410","OP420"
|
|
|
- };
|
|
|
- public static String[] xtoprnodes = new String[]{
|
|
|
- "镭雕二维码","前边梁压铆,单部件拉铆","框架CMT焊接","人工补焊",
|
|
|
- "焊道检查","焊道打磨","","框架气密","框架反面CNC加工+去毛刺","框架反面,吹铝屑+清洁",
|
|
|
- "框架涂胶","液冷板安装+水冷板点焊","液冷板FSW","匙孔补焊+匙孔补焊打磨",
|
|
|
- "总成正面CNC+去毛刺","总成正面,吹铝屑+清洁","总成正面装配","套筒涂胶","封堵片焊接",
|
|
|
- "左右边梁封堵","半成品气密","VHB胶带粘贴+冷板泡棉粘贴","冷板背面涂胶",
|
|
|
- "底护板清洗","安装底护板","成品气密","液冷板气密","总成检具检验","箱体封堵",
|
|
|
- "总成清洁","粘贴云母片","CCD","终检","GP12正面","后梁底涂镭雕","GP12反面","包装"
|
|
|
- };
|
|
|
- public static String[] lboprnos = new String[]{
|
|
|
|
|
|
+ /** T9 产线工位号(按 sorts 排序) */
|
|
|
+ public static String[] t9oprnos = new String[]{
|
|
|
+ "OP040", "OP050", "OP060", "OP070", "INSP030",
|
|
|
+ "OP090", "OP100", "OP120", "OP130", "INSP050",
|
|
|
+ "INSP060", "OP170", "OP190", "OP200", "INSP080",
|
|
|
+ "OP230", "INSP090", "INSP100", "INSP130", "INSP110"
|
|
|
};
|
|
|
- public static String[] lboprnodes = new String[]{
|
|
|
|
|
|
+ /** T9 产线工位名(与 t9oprnos 一一对应) */
|
|
|
+ public static String[] t9oprnodes = new String[]{
|
|
|
+ "激光打码", "框架总成焊接1", "框架总成焊接2", "人工补焊1", "框架气密",
|
|
|
+ "框架激光切割正面", "框架激光切割反面", "套筒焊接", "人工补焊2", "总成检具检验",
|
|
|
+ "黑件入库", "紧固件装配正面/反面", "框架涂胶", "冷板装配", "半成品气密",
|
|
|
+ "安装密封垫底护板", "整包气密", "液冷板气密", "等电位电阻测试", "CCD检测"
|
|
|
};
|
|
|
- public static String getGwDes(String lineSn,String oprno){
|
|
|
- String des = "";
|
|
|
- oprno = formatOprno(oprno);
|
|
|
- if(lineSn.equals("XT")){
|
|
|
- int i = 0;
|
|
|
- for (String gw:xtoprnos){
|
|
|
- if(gw.equals(oprno)){
|
|
|
- des = xtoprnodes[i];
|
|
|
- break;
|
|
|
- }
|
|
|
- i++;
|
|
|
- }
|
|
|
- }else if(lineSn.equals("LB")){
|
|
|
- int i = 0;
|
|
|
- for (String gw:lboprnos){
|
|
|
- if(gw.equals(oprno)){
|
|
|
- des = lboprnodes[i];
|
|
|
- break;
|
|
|
- }
|
|
|
- i++;
|
|
|
- }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据工位号查工位描述
|
|
|
+ * 子工位号自动转父工位(OP040A → OP040、INSP030A → INSP030)
|
|
|
+ * 注:lineSn 已不再区分,此客户端固定为 T09 产线
|
|
|
+ */
|
|
|
+ public static String getGwDes(String lineSn, String oprno) {
|
|
|
+ if (oprno == null) return "";
|
|
|
+ String code = formatOprno(oprno);
|
|
|
+ for (int i = 0; i < t9oprnos.length; i++) {
|
|
|
+ if (t9oprnos[i].equals(code)) return t9oprnodes[i];
|
|
|
}
|
|
|
- return des;
|
|
|
+ return "";
|
|
|
}
|
|
|
|
|
|
- public static String formatOprno(String oprno){
|
|
|
- List<String> lists = new ArrayList<>();
|
|
|
-
|
|
|
- if(oprno.length() == 6){
|
|
|
- String ysoprno = oprno.substring(0,5).trim();
|
|
|
- if(!lists.contains(ysoprno)){
|
|
|
- oprno = ysoprno;
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * 子工位号 → 父工位号
|
|
|
+ * 规则:去除末尾连续字母(前提是字母前是数字),如 OP040A → OP040、INSP030B → INSP030
|
|
|
+ * 不动 OP/INSP 这种前缀字母
|
|
|
+ */
|
|
|
+ public static String formatOprno(String oprno) {
|
|
|
+ if (oprno == null) return "";
|
|
|
+ int len = oprno.length();
|
|
|
+ while (len > 1
|
|
|
+ && Character.isLetter(oprno.charAt(len - 1))
|
|
|
+ && Character.isDigit(oprno.charAt(len - 2))) {
|
|
|
+ len--;
|
|
|
}
|
|
|
-
|
|
|
- return oprno;
|
|
|
+ return oprno.substring(0, len);
|
|
|
}
|
|
|
}
|