Sfoglia il codice sorgente

优化上传逻辑

hou 2 settimane fa
parent
commit
eb1d679e9c

+ 1 - 0
src/com/mes/ui/LoginFarme.java

@@ -197,6 +197,7 @@ public class LoginFarme extends JFrame {
                         MesClient.indexPanelC.add(MesClient.jfxPanel2);
                     }
 
+                    MesClient.getMaterailData();
                     MesClient.initWarehouseData();
                 }
 

+ 168 - 3
src/com/mes/ui/MesClient.java

@@ -1,5 +1,6 @@
 package com.mes.ui;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.github.xingshuangs.iot.protocol.modbus.service.ModbusTcp;
 import com.mes.component.MesRadio;
 import com.mes.component.MesWebView;
@@ -23,6 +24,7 @@ import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.time.LocalDateTime;
 import java.util.LinkedHashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import java.util.Timer;
@@ -82,7 +84,11 @@ public class MesClient extends JFrame {
     public static MesWebView jfxPanel2 = null;
     public static MesRadio mesRadioHj;
 
-    public static ModbusTcp modbusTcp = new ModbusTcp(1, "192.168.88.99");
+    public static JTable table;
+    public static Object[] columnNames = { "物料名称", "绑定批次", "剩余次数", "操作" };
+    public static Object[][] rowData = null;
+
+    public static ModbusTcp modbusTcp = new ModbusTcp(1, "192.168.6.6");
 
     public static Integer tjFlag = 0;  //0=未扫码 1=已扫码,设备未运行 2=设备运行中 3=设备运行结束,结果未提交到MES
 
@@ -172,7 +178,7 @@ public class MesClient extends JFrame {
                     }
                 }*/
             }
-        }, 1000,2000);
+        }, 200, ModbusUitl.getPlcPollIntervalMs());
     }
 
 
@@ -305,10 +311,13 @@ public class MesClient extends JFrame {
         MesClient.tjStatus = 0;
         MesClient.yxtime = 0;
         MesClient.tjResult = "OK";
+        ModbusUitl.resetPlcEdgeStatus();
+        ModbusUitl.changeEnable(modbusTcp, 0);
 
         for(int i=0; i<MesClient.pressParamValue.length; i++){
             MesClient.pressParamValue[i] = "";
         }
+        refreshPressParamFields();
         clearPressRivetData();
 
 //        updateMaterailData();
@@ -333,8 +342,58 @@ public class MesClient extends JFrame {
         pressRivetIndex = 0;
     }
 
+    public static void refreshPressParamFields() {
+        if (pressParamValueFields == null) {
+            return;
+        }
+        Runnable refreshTask = new Runnable() {
+            @Override
+            public void run() {
+                for (int i = 0; i < pressParamValueFields.length; i++) {
+                    if (pressParamValueFields[i] != null) {
+                        String value = pressParamValue[i] == null ? "" : pressParamValue[i];
+                        pressParamValueFields[i].setText(value);
+                    }
+                }
+            }
+        };
+        if (SwingUtilities.isEventDispatchThread()) {
+            refreshTask.run();
+        } else {
+            SwingUtilities.invokeLater(refreshTask);
+        }
+    }
+
     public static boolean manualUploadPressRivetData() {
-        return uploadPressRivetData("压铆参数手动提交成功", "压铆参数手动提交失败,请重试");
+        String sn = getBarcode(product_sn.getText());
+        if (sn.isEmpty()) {
+            setMenuStatus("工件码为空,请先扫码", -1);
+            return false;
+        }
+        getUser();
+        ModbusUitl.readPressParam(modbusTcp);
+
+        String[] options = {"OK", "NG", "取消"};
+        int choice = JOptionPane.showOptionDialog(
+                mesClientFrame,
+                "请选择要提交的总结果",
+                "手动提交",
+                JOptionPane.DEFAULT_OPTION,
+                JOptionPane.QUESTION_MESSAGE,
+                null,
+                options,
+                options[0]);
+        if (choice != 0 && choice != 1) {
+            return false;
+        }
+        String qret = choice == 0 ? "OK" : "NG";
+        Boolean sendret = DataUtil.sendQuality(nettyClient, sn, qret, user20);
+        if (!sendret) {
+            setMenuStatus("手动提交失败,消息发送失败请重试", -1);
+            return false;
+        }
+        setMenuStatus("手动提交已发送,等待MES确认", 0);
+        return true;
     }
 
     public static boolean uploadPressRivetData(String successMsg, String errorMsg) {
@@ -833,4 +892,110 @@ public class MesClient extends JFrame {
         MesClient.status_menu.setText(msg);
     }
 
+    public static void getMaterailData(){
+        try{
+            JSONObject retObj = DataUtil.getBindMaterail();
+            if(retObj == null){
+                return;
+            }
+            if(retObj.get("result")!=null&&retObj.get("result").toString().equalsIgnoreCase("true")) {
+                List<BindMaterialResp> arrs = retObj.getList("data",BindMaterialResp.class);
+                int i = 0;
+                rowData = new Object[arrs.size()][7];
+                for (BindMaterialResp bindMaterialResp:arrs){
+                    rowData[i][0] = bindMaterialResp.getMaterialTitle();
+                    rowData[i][1] = bindMaterialResp.getBatchSn();
+                    rowData[i][2] = bindMaterialResp.getLastTimes();
+                    rowData[i][3] = "";
+                    rowData[i][4] = bindMaterialResp.getCraft();
+                    rowData[i][5] = bindMaterialResp.getMaterialId();
+                    rowData[i][6] = bindMaterialResp.getType();
+                    i++;
+                }
+                bindBatchPanel();
+            }
+        }catch (Exception e){
+            log.info(e.getMessage());
+        }
+    }
+
+    public static void updateMaterailData(){
+        try{
+            JSONObject retObj = DataUtil.getBindMaterail();
+            if(retObj == null){
+                return;
+            }
+            if(retObj.get("result")!=null&&retObj.get("result").toString().equalsIgnoreCase("true")) {
+                List<BindMaterialResp> arrs = retObj.getList("data",BindMaterialResp.class);
+
+                int i = 0;
+                for (BindMaterialResp bindMaterialResp:arrs){
+                    rowData[i][0] = bindMaterialResp.getMaterialTitle();
+                    rowData[i][1] = bindMaterialResp.getBatchSn();
+                    rowData[i][2] = bindMaterialResp.getLastTimes();
+                    rowData[i][3] = "";
+                    rowData[i][4] = bindMaterialResp.getCraft();
+                    rowData[i][5] = bindMaterialResp.getMaterialId();
+                    rowData[i][6] = bindMaterialResp.getType();
+                    i++;
+                }
+
+                MesClient.table.repaint();
+            }
+        }catch (Exception e){
+            log.info(e.getMessage());
+        }
+    }
+
+    public static void scanBatchSn(BindMaterialResp bindMaterialResp) {
+        String scanBarcodeTitle = "请扫物料:"+bindMaterialResp.getMaterialTitle();
+        String scanBarcode = JOptionPane.showInputDialog(null, scanBarcodeTitle);
+        if(scanBarcode!=null&&!scanBarcode.equalsIgnoreCase("")) {
+
+            JSONObject retObj = DataUtil.saveBindMaterail(scanBarcode,bindMaterialResp.getCraft(),bindMaterialResp.getMaterialId(),bindMaterialResp.getType());
+            if(retObj.get("result")!=null&&retObj.get("result").toString().equalsIgnoreCase("true")) {
+                MesClient.setMenuStatus("扫物料:"+bindMaterialResp.getMaterialTitle()+"成功",0);
+                updateMaterailData();
+            }else{
+                if(retObj.get("result")==null){
+                    MesClient.setMenuStatus("请求失败,请重试",-1);
+                }else{
+                    if(retObj.get("result").toString().equalsIgnoreCase("false")){
+                        MesClient.setMenuStatus(retObj.getString("message"),-1);
+                    }
+                }
+            }
+        }
+    }
+
+    public static void bindBatchPanel(){
+        JPanel indexPanelBB = new JPanel();
+        JPanel panel = new JPanel();
+        panel.setBounds(0, 0, 990, 550);
+        indexPanelBB.add(panel);
+
+        panel.setLayout(new GridLayout(0, 1, 0, 0));
+        table = new JTable(rowData, columnNames){
+            public boolean isCellEditable(int row, int column) {
+                if(column == 3){
+                    return true;
+                }
+                return false;
+            }
+        };
+        table.setRowHeight(40);
+        table.setEnabled(true);
+        table.setFont(new Font("微软雅黑", Font.PLAIN, 14));
+
+        table.getColumnModel().getColumn(3).setCellRenderer(new TableCellRendererButton());
+        table.getColumnModel().getColumn(3).setCellEditor(new TableCellEditorButton());
+
+        JScrollPane scrollPane = new JScrollPane(table);
+        panel.add(scrollPane);
+
+        JScrollPane indexScrollPaneB = new JScrollPane(indexPanelBB);
+        indexPanelBB.setLayout(null);
+        tabbedPane.addTab("绑定物料", new ImageIcon(MesClient.class.getResource("/bg/menu_data_preprocess.png")), indexScrollPaneB, null);
+    }
+
 }

+ 4 - 2
src/com/mes/ui/MesRevice.java

@@ -19,9 +19,11 @@ public class MesRevice {
                 MesClient.status_menu.setText("该工件可以加工");
                 MesClient.work_status = 1;
                 MesClient.f_scan_data_bt_1.setEnabled(false);
-//                MesClient.finish_ok_bt.setEnabled(true);
-//                MesClient.finish_ng_bt.setEnabled(true);
+                MesClient.clearPressRivetData();
                 MesClient.tjFlag = 1;
+                ModbusUitl.resetPlcEdgeStatus();
+                ModbusUitl.syncPlcEdgeStatus(MesClient.modbusTcp);
+                ModbusUitl.changeEnable(MesClient.modbusTcp, 1);
 
                 //ModbusUitl.readPressParam(MesClient.modbusTcp);
                  

+ 162 - 33
src/com/mes/ui/ModbusUitl.java

@@ -2,11 +2,15 @@ package com.mes.ui;
 
 import com.github.xingshuangs.iot.protocol.common.buff.EByteBuffFormat;
 import com.github.xingshuangs.iot.protocol.modbus.service.ModbusTcp;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.nio.charset.StandardCharsets;
 
 public class ModbusUitl {
 
+    private static final Logger log = LoggerFactory.getLogger(ModbusUitl.class);
+
     private static final int REG_PRESS_FORCE = 110;
     private static final int REG_PRESS_DISPLACEMENT = 112;
     private static final int REG_PRESS_RESULT = 114;
@@ -16,54 +20,94 @@ public class ModbusUitl {
     private static final int REG_ENABLE_START = 119;
 
     private static final EByteBuffFormat DINT_FORMAT = EByteBuffFormat.DC_BA;
+    private static final int PLC_POLL_INTERVAL_MS = 300;
     private static int lastFinishStatus = 0;
-    public static void getParamData(ModbusTcp modbusTcp){
-        try{//扫完二维码后,启动设备
-            if(MesClient.tjFlag == 1){
-                int qdstatus = getEnable(modbusTcp);
-                if(qdstatus != 1){
-                    changeEnable(MesClient.modbusTcp,1);
-                    //(设备接受到允许启动信号,运行状态变为1)允许启动信号设置为0
+    private static int lastRunStatus = 0;
+    private static boolean finishPulseRecorded = false;
 
-                }
+    public static int getPlcPollIntervalMs(){
+        return PLC_POLL_INTERVAL_MS;
+    }
+
+    public static void resetPlcEdgeStatus(){
+        lastRunStatus = 0;
+        lastFinishStatus = 0;
+        finishPulseRecorded = false;
+    }
+
+    public static void syncPlcEdgeStatus(ModbusTcp modbusTcp){
+        Integer runStatus = getRunStatus(modbusTcp);
+        Integer finishStatus = getFinishStatus(modbusTcp);
+        if(runStatus >= 0){
+            lastRunStatus = runStatus;
+        }
+        if(finishStatus >= 0){
+            lastFinishStatus = finishStatus;
+        }
+    }
+
+    public static void getParamData(ModbusTcp modbusTcp){
+        try{
+            if(MesClient.tjFlag != 1 && MesClient.tjFlag != 2){
+                return;
             }
 
-            //运行状态等于1,运行中
+            keepEnableOn(modbusTcp);
+
             Integer runStatus = getRunStatus(modbusTcp);
             Integer finishStatus = getFinishStatus(modbusTcp);
+            if(finishStatus < 0){
+                return;
+            }
 
-            if(runStatus == 1){
-                if(MesClient.tjFlag == 1){
-                    changeEnable(MesClient.modbusTcp,0);
-                    MesClient.tjFlag = 2;
-                    readPressParam(modbusTcp);
-                    MesClient.setMenuStatus(MesClient.tjFlagText2,0);
-                }
+            if(runStatus >= 0 && runStatus == 1 && lastRunStatus != 1 && MesClient.tjFlag == 1){
+                MesClient.tjFlag = 2;
+                readPressParam(modbusTcp);
+                MesClient.setMenuStatus(MesClient.tjFlagText2, 0);
+                logPlcSnapshot("运行开始", modbusTcp);
             }
-            //运行结束
+
             if(MesClient.tjFlag == 2){
                 readPressParam(modbusTcp);
-                if(finishStatus == 1 && lastFinishStatus != 1){
-                    //存Map
-                    savePressRivetData();
-                    if(MesClient.pressRivetMap.size() == MesClient.PRESS_RIVET_UPLOAD_SIZE){
-                        if(!MesClient.uploadPressRivetData("压铆参数上传成功,请扫下一件", "压铆参数上传失败,请重试")){
-                            MesClient.tjStatus = 1;
-                            return;
-                        }
-                    }else{
-                        MesClient.tjFlag = 1;
-                        MesClient.setMenuStatus("已采集第" + MesClient.pressRivetMap.size() + "颗拉铆,等待下一颗",0);
+            }
+
+            if(finishStatus == 0){
+                finishPulseRecorded = false;
+            }else if(!finishPulseRecorded){
+                finishPulseRecorded = true;
+                logPlcSnapshot("压铆完成", modbusTcp);
+                savePressRivetData();
+                log.info("[PLC] 采集第{}颗,当前共{}颗", MesClient.pressRivetIndex, MesClient.pressRivetMap.size());
+                if(MesClient.pressRivetMap.size() == MesClient.PRESS_RIVET_UPLOAD_SIZE){
+                    changeEnable(modbusTcp, 0);
+                    logPlcSnapshot("九颗完成撤信号", modbusTcp);
+                    if(!MesClient.uploadPressRivetData("压铆参数上传成功,请扫下一件", "压铆参数上传失败,请重试")){
+                        MesClient.tjStatus = 1;
                     }
-                    changeEnable(modbusTcp,0);
+                }else{
+                    MesClient.tjFlag = 1;
+                    MesClient.setMenuStatus("已采集第" + MesClient.pressRivetMap.size() + "颗拉铆,等待下一颗", 0);
+                    keepEnableOn(modbusTcp);
+                    logPlcSnapshot("完成采集继续放行", modbusTcp);
                 }
             }
+
+            if(runStatus >= 0){
+                lastRunStatus = runStatus;
+            }
             lastFinishStatus = finishStatus;
         }catch (Exception e){
             e.printStackTrace();
         }
     }
 
+    private static void keepEnableOn(ModbusTcp modbusTcp){
+        if(getEnable(modbusTcp) != 1){
+            changeEnable(modbusTcp, 1);
+            logPlcSnapshot("保持允许启动", modbusTcp);
+        }
+    }
+
     public static void readPressParam(ModbusTcp modbusTcp){
         try{
             String force = getPressForce(modbusTcp);
@@ -74,7 +118,8 @@ public class ModbusUitl {
             MesClient.pressParamValue[1] = force;
             MesClient.pressParamValue[2] = displacement;
             MesClient.pressParamValue[3] = result;
-            MesClient.tjResult = "NG".equalsIgnoreCase(result) ? "NG" : "OK";
+            MesClient.tjResult = isNgResult(result) ? "NG" : "OK";
+            MesClient.refreshPressParamFields();
 
         }catch (Exception e){
             e.printStackTrace();
@@ -127,15 +172,99 @@ public class ModbusUitl {
 
     public static String getPressResult(ModbusTcp modbusTcp){
         try{
-            byte[] data = modbusTcp.readHoldRegister(REG_PRESS_RESULT, 1);//本次结果
-            String ret = new String(data, StandardCharsets.US_ASCII);
-            return ret == null ? "" : ret.trim().replace("\u0000", "");
+            byte[] data = modbusTcp.readHoldRegister(REG_PRESS_RESULT, 1);
+            return parsePressResult(data);
         }catch (Exception e){
             e.printStackTrace();
             return "";
         }
     }
 
+    private static void logPlcSnapshot(String event, ModbusTcp modbusTcp){
+        try{
+            short forceRaw = modbusTcp.readInt16(REG_PRESS_FORCE);
+            Integer dispRaw = modbusTcp.readInt32(REG_PRESS_DISPLACEMENT, DINT_FORMAT);
+            byte[] resultBytes = modbusTcp.readHoldRegister(REG_PRESS_RESULT, 1);
+            String normalResult = resultBytes == null || resultBytes.length < 2
+                    ? "" : toAsciiResult(resultBytes[0], resultBytes[1]);
+            String swappedResult = resultBytes == null || resultBytes.length < 2
+                    ? "" : toAsciiResult(resultBytes[1], resultBytes[0]);
+            String parsedResult = parsePressResult(resultBytes);
+            int runStatus = getRunStatus(modbusTcp);
+            int finishStatus = getFinishStatus(modbusTcp);
+            int enableStatus = getEnable(modbusTcp);
+            String message = String.format(
+                    "[PLC] %s | tjFlag=%d mapSize=%d | run=%d finish=%d enable=%d | forceRaw=%d force=%s | dispRaw=%d disp=%s | resultBytes=%s normal=%s swapped=%s parsed=%s",
+                    event,
+                    MesClient.tjFlag,
+                    MesClient.pressRivetMap.size(),
+                    runStatus,
+                    finishStatus,
+                    enableStatus,
+                    forceRaw,
+                    getPressForce(modbusTcp),
+                    dispRaw,
+                    getPressDisplacement(modbusTcp),
+                    bytesToHex(resultBytes),
+                    normalResult,
+                    swappedResult,
+                    parsedResult
+            );
+            System.out.println(message);
+            log.info(message);
+        }catch (Exception e){
+            System.out.println("[PLC] 日志打印失败: " + e.getMessage());
+            log.warn("PLC snapshot log failed", e);
+        }
+    }
+
+    private static String bytesToHex(byte[] data){
+        if(data == null || data.length == 0){
+            return "";
+        }
+        StringBuilder sb = new StringBuilder();
+        for(byte b : data){
+            sb.append(String.format("%02X ", b));
+        }
+        return sb.toString().trim();
+    }
+
+    private static String parsePressResult(byte[] data){
+        if(data == null || data.length < 2){
+            return "";
+        }
+        String normal = toAsciiResult(data[0], data[1]);
+        String swapped = toAsciiResult(data[1], data[0]);
+        if("KO".equalsIgnoreCase(normal) && "OK".equalsIgnoreCase(swapped)){
+            return "OK";
+        }
+        if("GN".equalsIgnoreCase(normal) && "NG".equalsIgnoreCase(swapped)){
+            return "NG";
+        }
+        if(isKnownResult(normal)){
+            return normal;
+        }
+        if(isKnownResult(swapped)){
+            return swapped;
+        }
+        return normal;
+    }
+
+    private static String toAsciiResult(byte high, byte low){
+        String ret = new String(new byte[]{high, low}, StandardCharsets.US_ASCII);
+        return ret == null ? "" : ret.trim().replace("\u0000", "");
+    }
+
+    private static boolean isKnownResult(String result){
+        return "OK".equalsIgnoreCase(result)
+                || "NG".equalsIgnoreCase(result)
+                || "KO".equalsIgnoreCase(result);
+    }
+
+    private static boolean isNgResult(String result){
+        return "NG".equalsIgnoreCase(result) || "KO".equalsIgnoreCase(result);
+    }
+
     public static Integer getLocalRemoteStatus(ModbusTcp modbusTcp){
         try{
             return (int) modbusTcp.readInt16(REG_LOCAL_REMOTE_STATUS);//MES屏蔽

+ 2 - 2
src/com/mes/ui/OprnoUtil.java

@@ -6,7 +6,7 @@ import java.util.Map;
 
 public class OprnoUtil {
     public static String[] xtoprnos = new String[]{
-            "OP070","OP080", "OP100",
+            "OP021","OP070","OP080", "OP100",
             "OP110", "OP120", "OP130", "OP140", "OP150",
             "OP160", "OP170", "OP180", "OP190", "OP200",
             "OP210", "OP220", "OP230", "OP240", "OP250",
@@ -18,7 +18,7 @@ public class OprnoUtil {
             "OP520", "OP510", "OP550"
     };
     public static String[] xtoprnodes = new String[]{
-            "右边梁镭雕二维码","左边梁防爆阀拉铆","CMT框架一序焊接",
+            "后边框分总成-压铆","左边梁防爆阀拉铆","CMT框架一序焊接",
             "人工补焊", "框架CMT二序焊接", "焊道铣削", "焊道检查", "总成正面加工",
             "总成反面加工", "框架去毛刺+清洁", "封堵片焊接+打磨", "边框气密", "焊道补焊",
             "框架反面涂胶", "液冷板安装", "正面溢胶清理,补胶", "液冷板激光点固", "液冷板水嘴处焊接",

+ 2 - 8
src/com/mes/ui/TableCellEditorButton.java

@@ -9,19 +9,13 @@ public class TableCellEditorButton extends DefaultCellEditor {
     private JButton btn;
     public TableCellEditorButton() {
         super(new JTextField());
-        //设置点击一次就激活,否则默认好像是点击2次激活。
         this.setClickCountToStart(1);
         btn = new JButton("扫码");
         btn.addActionListener(new ActionListener() {
 
             @Override
             public void actionPerformed(ActionEvent e) {
-                System.out.println("按钮事件触发----");
-                int selectedRow = MesClient.table.getSelectedRow();//获得选中行的索引
-//                MesClient.rowData[selectedRow][1] = (new Date()).getTime();
-//                MesClient.table.repaint(); //重绘
-
-//                MesClient.scan_type = selectedRow + 4;
+                int selectedRow = MesClient.table.getSelectedRow();
                 BindMaterialResp bindMaterialResp = new BindMaterialResp();
                 bindMaterialResp.setMaterialTitle(MesClient.rowData[selectedRow][0] + "");
                 bindMaterialResp.setBatchSn(MesClient.rowData[selectedRow][1] + "");
@@ -30,7 +24,7 @@ public class TableCellEditorButton extends DefaultCellEditor {
                 bindMaterialResp.setMaterialId(MesClient.rowData[selectedRow][5] + "");
                 bindMaterialResp.setType(MesClient.rowData[selectedRow][6] + "");
 
-//                MesClient.scanBatchSn(bindMaterialResp);
+                MesClient.scanBatchSn(bindMaterialResp);
             }
         });
 

+ 0 - 112
src/com/mes/ui/ToolConfig.java

@@ -1,112 +0,0 @@
-package com.mes.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ToolConfig {
-    public static List<ToolParam> toolParams = new ArrayList<ToolParam>();
-    private ToolConfig() {
-    }
-
-    public static void setToolParamsVal() {
-        for (int i = 1; i < 21; i++) {
-            int j = 0;
-            for(Integer toolNum : MesClient.toolNums){
-                if(toolNum == i){
-                    ToolParam toolParam = new ToolParam();
-                    toolParam.setNums(toolNum);
-                    toolParam.setTitle(MesClient.toolTitle[j]);
-                    toolParam.setLife(MesClient.toolLife[j]);
-                    toolParams.add(toolParam);
-                    break;
-                }
-                j++;
-            }
-        }
-
-        for (ToolParam toolParam : toolParams) {
-            switch (toolParam.getNums()) {
-                case 1:
-                    MesClient.toolTitle1.setText(toolParam.getTitle());
-                    MesClient.toolLife1.setText(toolParam.getLife());
-                    break;
-                case 2:
-                    MesClient.toolTitle2.setText(toolParam.getTitle());
-                    MesClient.toolLife2.setText(toolParam.getLife());
-                    break;
-                case 3:
-                    MesClient.toolTitle3.setText(toolParam.getTitle());
-                    MesClient.toolLife3.setText(toolParam.getLife());
-                    break;
-                case 4:
-                    MesClient.toolTitle4.setText(toolParam.getTitle());
-                    MesClient.toolLife4.setText(toolParam.getLife());
-                    break;
-                case 5:
-                    MesClient.toolTitle5.setText(toolParam.getTitle());
-                    MesClient.toolLife5.setText(toolParam.getLife());
-                    break;
-                case 6:
-                    MesClient.toolTitle6.setText(toolParam.getTitle());
-                    MesClient.toolLife6.setText(toolParam.getLife());
-                    break;
-                case 7:
-                    MesClient.toolTitle7.setText(toolParam.getTitle());
-                    MesClient.toolLife7.setText(toolParam.getLife());
-                    break;
-                case 8:
-                    MesClient.toolTitle8.setText(toolParam.getTitle());
-                    MesClient.toolLife8.setText(toolParam.getLife());
-                    break;
-                case 9:
-                    MesClient.toolTitle9.setText(toolParam.getTitle());
-                    MesClient.toolLife9.setText(toolParam.getLife());
-                    break;
-                case 10:
-                    MesClient.toolTitle10.setText(toolParam.getTitle());
-                    MesClient.toolLife10.setText(toolParam.getLife());
-                    break;
-                case 11:
-                    MesClient.toolTitle11.setText(toolParam.getTitle());
-                    MesClient.toolLife11.setText(toolParam.getLife());
-                    break;
-                case 12:
-                    MesClient.toolTitle12.setText(toolParam.getTitle());
-                    MesClient.toolLife12.setText(toolParam.getLife());
-                    break;
-                case 13:
-                    MesClient.toolTitle13.setText(toolParam.getTitle());
-                    MesClient.toolLife13.setText(toolParam.getLife());
-                    break;
-                case 14:
-                    MesClient.toolTitle14.setText(toolParam.getTitle());
-                    MesClient.toolLife14.setText(toolParam.getLife());
-                    break;
-                case 15:
-                    MesClient.toolTitle15.setText(toolParam.getTitle());
-                    MesClient.toolLife15.setText(toolParam.getLife());
-                    break;
-                case 16:
-                    MesClient.toolTitle16.setText(toolParam.getTitle());
-                    MesClient.toolLife16.setText(toolParam.getLife());
-                    break;
-                case 17:
-                    MesClient.toolTitle17.setText(toolParam.getTitle());
-                    MesClient.toolLife17.setText(toolParam.getLife());
-                    break;
-                case 18:
-                    MesClient.toolTitle18.setText(toolParam.getTitle());
-                    MesClient.toolLife18.setText(toolParam.getLife());
-                    break;
-                case 19:
-                    MesClient.toolTitle19.setText(toolParam.getTitle());
-                    MesClient.toolLife19.setText(toolParam.getLife());
-                    break;
-                case 20:
-                    MesClient.toolTitle20.setText(toolParam.getTitle());
-                    MesClient.toolLife20.setText(toolParam.getLife());
-                    break;
-            }
-        }
-    }
-}

+ 3 - 0
src/resources/META-INF/MANIFEST.MF

@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Main-Class: com.mes.ui.MesClient
+

+ 1 - 1
src/resources/config/config.properties

@@ -1,4 +1,4 @@
-mes.gw=OP130A
+mes.gw=OP021A
 #mes.server_ip=127.0.0.1
 mes.server_ip=192.168.16.99
 mes.tcp_port=3000