|
@@ -118,6 +118,7 @@ public class MesClient extends JFrame {
|
|
|
startHeartBeatTimer();
|
|
startHeartBeatTimer();
|
|
|
|
|
|
|
|
upParams();
|
|
upParams();
|
|
|
|
|
+ startSubmitRetryTimer();
|
|
|
|
|
|
|
|
|
|
|
|
|
}catch (Exception e){
|
|
}catch (Exception e){
|
|
@@ -128,6 +129,26 @@ public class MesClient extends JFrame {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public static Timer cjTimer3;
|
|
public static Timer cjTimer3;
|
|
|
|
|
+ public static Timer submitRetryTimer;
|
|
|
|
|
+
|
|
|
|
|
+ /** 定时重试本地未提交的质量结果 */
|
|
|
|
|
+ public static void startSubmitRetryTimer() {
|
|
|
|
|
+ if (submitRetryTimer != null) {
|
|
|
|
|
+ submitRetryTimer.cancel();
|
|
|
|
|
+ }
|
|
|
|
|
+ submitRetryTimer = new Timer();
|
|
|
|
|
+ submitRetryTimer.schedule(new TimerTask() {
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void run() {
|
|
|
|
|
+ try {
|
|
|
|
|
+ DataUtil.retryPendingSubmitRecords();
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("submit retry timer error: " + e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }, 5000, 5000);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
public static void upParams() {
|
|
public static void upParams() {
|
|
|
if(cjTimer3!=null) {
|
|
if(cjTimer3!=null) {
|
|
|
cjTimer3.cancel();
|
|
cjTimer3.cancel();
|
|
@@ -337,10 +358,13 @@ public class MesClient extends JFrame {
|
|
|
//首页
|
|
//首页
|
|
|
JPanel indexPanelA = new JPanel();
|
|
JPanel indexPanelA = new JPanel();
|
|
|
indexScrollPaneA = new JScrollPane(indexPanelA);
|
|
indexScrollPaneA = new JScrollPane(indexPanelA);
|
|
|
- if(mes_gw.equals("OP220")){
|
|
|
|
|
- indexPanelA.setLayout(new GridLayout(1,1, 5, 5));
|
|
|
|
|
- }else{
|
|
|
|
|
- indexPanelA.setLayout(new GridLayout(2,2, 5, 5));
|
|
|
|
|
|
|
+ // 根据工位动态设置布局,OP140 每行 3 个,其他默认每行 2 个
|
|
|
|
|
+ if (mes_gw.equals("OP220") || mes_gw.equals("OP190")) {
|
|
|
|
|
+ indexPanelA.setLayout(new GridLayout(1, 1, 10, 10));
|
|
|
|
|
+ } else if (mes_gw.equals("OP140")) {
|
|
|
|
|
+ indexPanelA.setLayout(new GridLayout(0, 3, 10, 10));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ indexPanelA.setLayout(new GridLayout(0, 2, 10, 10));
|
|
|
}
|
|
}
|
|
|
indexPanelA.setBackground(Color.LIGHT_GRAY);
|
|
indexPanelA.setBackground(Color.LIGHT_GRAY);
|
|
|
|
|
|
|
@@ -351,6 +375,7 @@ public class MesClient extends JFrame {
|
|
|
indexPanel20A.setBackground(Color.WHITE);
|
|
indexPanel20A.setBackground(Color.WHITE);
|
|
|
workJPanelDeviceA = new WorkJPanelDevice("A");
|
|
workJPanelDeviceA = new WorkJPanelDevice("A");
|
|
|
workJPanelDeviceA.setBounds(10, 10, workJPanelDeviceA.workWidth, workJPanelDeviceA.workHeight);
|
|
workJPanelDeviceA.setBounds(10, 10, workJPanelDeviceA.workWidth, workJPanelDeviceA.workHeight);
|
|
|
|
|
+ indexPanel20A.setPreferredSize(new Dimension(workJPanelDeviceA.workWidth + 20, workJPanelDeviceA.workHeight + 20));
|
|
|
indexPanel20A.add(workJPanelDeviceA);
|
|
indexPanel20A.add(workJPanelDeviceA);
|
|
|
indexPanelA.add(indexPanel20A);
|
|
indexPanelA.add(indexPanel20A);
|
|
|
|
|
|
|
@@ -359,6 +384,7 @@ public class MesClient extends JFrame {
|
|
|
indexPanel20B.setBackground(Color.WHITE);
|
|
indexPanel20B.setBackground(Color.WHITE);
|
|
|
workJPanelDeviceB = new WorkJPanelDevice("B");
|
|
workJPanelDeviceB = new WorkJPanelDevice("B");
|
|
|
workJPanelDeviceB.setBounds(10, 10, workJPanelDeviceB.workWidth, workJPanelDeviceB.workHeight);
|
|
workJPanelDeviceB.setBounds(10, 10, workJPanelDeviceB.workWidth, workJPanelDeviceB.workHeight);
|
|
|
|
|
+ indexPanel20B.setPreferredSize(new Dimension(workJPanelDeviceB.workWidth + 20, workJPanelDeviceB.workHeight + 20));
|
|
|
indexPanel20B.add(workJPanelDeviceB);
|
|
indexPanel20B.add(workJPanelDeviceB);
|
|
|
indexPanelA.add(indexPanel20B);
|
|
indexPanelA.add(indexPanel20B);
|
|
|
|
|
|
|
@@ -367,6 +393,7 @@ public class MesClient extends JFrame {
|
|
|
indexPanel20C.setBackground(Color.WHITE);
|
|
indexPanel20C.setBackground(Color.WHITE);
|
|
|
workJPanelDeviceC = new WorkJPanelDevice("C");
|
|
workJPanelDeviceC = new WorkJPanelDevice("C");
|
|
|
workJPanelDeviceC.setBounds(10, 10, workJPanelDeviceC.workWidth, workJPanelDeviceC.workHeight);
|
|
workJPanelDeviceC.setBounds(10, 10, workJPanelDeviceC.workWidth, workJPanelDeviceC.workHeight);
|
|
|
|
|
+ indexPanel20C.setPreferredSize(new Dimension(workJPanelDeviceC.workWidth + 20, workJPanelDeviceC.workHeight + 20));
|
|
|
indexPanel20C.add(workJPanelDeviceC);
|
|
indexPanel20C.add(workJPanelDeviceC);
|
|
|
indexPanelA.add(indexPanel20C);
|
|
indexPanelA.add(indexPanel20C);
|
|
|
|
|
|
|
@@ -375,6 +402,7 @@ public class MesClient extends JFrame {
|
|
|
indexPanel20D.setBackground(Color.WHITE);
|
|
indexPanel20D.setBackground(Color.WHITE);
|
|
|
workJPanelDeviceD = new WorkJPanelDevice("D");
|
|
workJPanelDeviceD = new WorkJPanelDevice("D");
|
|
|
workJPanelDeviceD.setBounds(10, 10, workJPanelDeviceD.workWidth, workJPanelDeviceD.workHeight);
|
|
workJPanelDeviceD.setBounds(10, 10, workJPanelDeviceD.workWidth, workJPanelDeviceD.workHeight);
|
|
|
|
|
+ indexPanel20D.setPreferredSize(new Dimension(workJPanelDeviceD.workWidth + 20, workJPanelDeviceD.workHeight + 20));
|
|
|
indexPanel20D.add(workJPanelDeviceD);
|
|
indexPanel20D.add(workJPanelDeviceD);
|
|
|
indexPanelA.add(indexPanel20D);
|
|
indexPanelA.add(indexPanel20D);
|
|
|
|
|
|
|
@@ -383,6 +411,7 @@ public class MesClient extends JFrame {
|
|
|
indexPanel20E.setBackground(Color.WHITE);
|
|
indexPanel20E.setBackground(Color.WHITE);
|
|
|
workJPanelDeviceE = new WorkJPanelDevice("E");
|
|
workJPanelDeviceE = new WorkJPanelDevice("E");
|
|
|
workJPanelDeviceE.setBounds(10, 10, workJPanelDeviceE.workWidth, workJPanelDeviceE.workHeight);
|
|
workJPanelDeviceE.setBounds(10, 10, workJPanelDeviceE.workWidth, workJPanelDeviceE.workHeight);
|
|
|
|
|
+ indexPanel20E.setPreferredSize(new Dimension(workJPanelDeviceE.workWidth + 20, workJPanelDeviceE.workHeight + 20));
|
|
|
indexPanel20E.add(workJPanelDeviceE);
|
|
indexPanel20E.add(workJPanelDeviceE);
|
|
|
indexPanelA.add(indexPanel20E);
|
|
indexPanelA.add(indexPanel20E);
|
|
|
|
|
|
|
@@ -391,6 +420,7 @@ public class MesClient extends JFrame {
|
|
|
indexPanel20F.setBackground(Color.WHITE);
|
|
indexPanel20F.setBackground(Color.WHITE);
|
|
|
workJPanelDeviceF = new WorkJPanelDevice("F");
|
|
workJPanelDeviceF = new WorkJPanelDevice("F");
|
|
|
workJPanelDeviceF.setBounds(10, 10, workJPanelDeviceF.workWidth, workJPanelDeviceF.workHeight);
|
|
workJPanelDeviceF.setBounds(10, 10, workJPanelDeviceF.workWidth, workJPanelDeviceF.workHeight);
|
|
|
|
|
+ indexPanel20F.setPreferredSize(new Dimension(workJPanelDeviceF.workWidth + 20, workJPanelDeviceF.workHeight + 20));
|
|
|
indexPanel20F.add(workJPanelDeviceF);
|
|
indexPanel20F.add(workJPanelDeviceF);
|
|
|
indexPanelA.add(indexPanel20F);
|
|
indexPanelA.add(indexPanel20F);
|
|
|
|
|
|
|
@@ -399,6 +429,7 @@ public class MesClient extends JFrame {
|
|
|
indexPanel20G.setBackground(Color.WHITE);
|
|
indexPanel20G.setBackground(Color.WHITE);
|
|
|
workJPanelDeviceG = new WorkJPanelDevice("G");
|
|
workJPanelDeviceG = new WorkJPanelDevice("G");
|
|
|
workJPanelDeviceG.setBounds(10, 10, workJPanelDeviceG.workWidth, workJPanelDeviceG.workHeight);
|
|
workJPanelDeviceG.setBounds(10, 10, workJPanelDeviceG.workWidth, workJPanelDeviceG.workHeight);
|
|
|
|
|
+ indexPanel20G.setPreferredSize(new Dimension(workJPanelDeviceG.workWidth + 20, workJPanelDeviceG.workHeight + 20));
|
|
|
indexPanel20G.add(workJPanelDeviceG);
|
|
indexPanel20G.add(workJPanelDeviceG);
|
|
|
indexPanelA.add(indexPanel20G);
|
|
indexPanelA.add(indexPanel20G);
|
|
|
}else if(mes_gw.equals("OP230")){
|
|
}else if(mes_gw.equals("OP230")){
|
|
@@ -407,6 +438,7 @@ public class MesClient extends JFrame {
|
|
|
indexPanel20A.setBackground(Color.WHITE);
|
|
indexPanel20A.setBackground(Color.WHITE);
|
|
|
workJPanelDeviceA = new WorkJPanelDevice("A");
|
|
workJPanelDeviceA = new WorkJPanelDevice("A");
|
|
|
workJPanelDeviceA.setBounds(10, 10, workJPanelDeviceA.workWidth, workJPanelDeviceA.workHeight);
|
|
workJPanelDeviceA.setBounds(10, 10, workJPanelDeviceA.workWidth, workJPanelDeviceA.workHeight);
|
|
|
|
|
+ indexPanel20A.setPreferredSize(new Dimension(workJPanelDeviceA.workWidth + 20, workJPanelDeviceA.workHeight + 20));
|
|
|
indexPanel20A.add(workJPanelDeviceA);
|
|
indexPanel20A.add(workJPanelDeviceA);
|
|
|
indexPanelA.add(indexPanel20A);
|
|
indexPanelA.add(indexPanel20A);
|
|
|
|
|
|
|
@@ -415,6 +447,7 @@ public class MesClient extends JFrame {
|
|
|
indexPanel20B.setBackground(Color.WHITE);
|
|
indexPanel20B.setBackground(Color.WHITE);
|
|
|
workJPanelDeviceB = new WorkJPanelDevice("B");
|
|
workJPanelDeviceB = new WorkJPanelDevice("B");
|
|
|
workJPanelDeviceB.setBounds(10, 10, workJPanelDeviceB.workWidth, workJPanelDeviceB.workHeight);
|
|
workJPanelDeviceB.setBounds(10, 10, workJPanelDeviceB.workWidth, workJPanelDeviceB.workHeight);
|
|
|
|
|
+ indexPanel20B.setPreferredSize(new Dimension(workJPanelDeviceB.workWidth + 20, workJPanelDeviceB.workHeight + 20));
|
|
|
indexPanel20B.add(workJPanelDeviceB);
|
|
indexPanel20B.add(workJPanelDeviceB);
|
|
|
indexPanelA.add(indexPanel20B);
|
|
indexPanelA.add(indexPanel20B);
|
|
|
|
|
|
|
@@ -423,6 +456,7 @@ public class MesClient extends JFrame {
|
|
|
indexPanel20C.setBackground(Color.WHITE);
|
|
indexPanel20C.setBackground(Color.WHITE);
|
|
|
workJPanelDeviceC = new WorkJPanelDevice("C");
|
|
workJPanelDeviceC = new WorkJPanelDevice("C");
|
|
|
workJPanelDeviceC.setBounds(10, 10, workJPanelDeviceC.workWidth, workJPanelDeviceC.workHeight);
|
|
workJPanelDeviceC.setBounds(10, 10, workJPanelDeviceC.workWidth, workJPanelDeviceC.workHeight);
|
|
|
|
|
+ indexPanel20C.setPreferredSize(new Dimension(workJPanelDeviceC.workWidth + 20, workJPanelDeviceC.workHeight + 20));
|
|
|
indexPanel20C.add(workJPanelDeviceC);
|
|
indexPanel20C.add(workJPanelDeviceC);
|
|
|
indexPanelA.add(indexPanel20C);
|
|
indexPanelA.add(indexPanel20C);
|
|
|
|
|
|
|
@@ -431,16 +465,25 @@ public class MesClient extends JFrame {
|
|
|
indexPanel20D.setBackground(Color.WHITE);
|
|
indexPanel20D.setBackground(Color.WHITE);
|
|
|
workJPanelDeviceD = new WorkJPanelDevice("D");
|
|
workJPanelDeviceD = new WorkJPanelDevice("D");
|
|
|
workJPanelDeviceD.setBounds(10, 10, workJPanelDeviceD.workWidth, workJPanelDeviceD.workHeight);
|
|
workJPanelDeviceD.setBounds(10, 10, workJPanelDeviceD.workWidth, workJPanelDeviceD.workHeight);
|
|
|
|
|
+ indexPanel20D.setPreferredSize(new Dimension(workJPanelDeviceD.workWidth + 20, workJPanelDeviceD.workHeight + 20));
|
|
|
indexPanel20D.add(workJPanelDeviceD);
|
|
indexPanel20D.add(workJPanelDeviceD);
|
|
|
indexPanelA.add(indexPanel20D);
|
|
indexPanelA.add(indexPanel20D);
|
|
|
}else if(mes_gw.equals("OP190")){
|
|
}else if(mes_gw.equals("OP190")){
|
|
|
- JPanel indexPanel20A = new JPanel();
|
|
|
|
|
- indexPanel20A.setLayout(null);
|
|
|
|
|
|
|
+ JPanel indexPanel20A = new JPanel(new GridBagLayout());
|
|
|
indexPanel20A.setBackground(Color.WHITE);
|
|
indexPanel20A.setBackground(Color.WHITE);
|
|
|
workJPanelDeviceA = new WorkJPanelDevice("A");
|
|
workJPanelDeviceA = new WorkJPanelDevice("A");
|
|
|
- workJPanelDeviceA.setBounds(10, 10, workJPanelDeviceA.workWidth, workJPanelDeviceA.workHeight);
|
|
|
|
|
- indexPanel20A.add(workJPanelDeviceA);
|
|
|
|
|
- indexPanelA.add(indexPanel20A);
|
|
|
|
|
|
|
+ GridBagConstraints gbc = new GridBagConstraints();
|
|
|
|
|
+ gbc.gridx = 0;
|
|
|
|
|
+ gbc.gridy = 0;
|
|
|
|
|
+ gbc.anchor = GridBagConstraints.CENTER;
|
|
|
|
|
+ gbc.insets = new Insets(16, 16, 16, 16);
|
|
|
|
|
+ indexPanel20A.add(workJPanelDeviceA, gbc);
|
|
|
|
|
+ indexPanel20A.setPreferredSize(new Dimension(
|
|
|
|
|
+ workJPanelDeviceA.workWidth + 32,
|
|
|
|
|
+ workJPanelDeviceA.workHeight + 32));
|
|
|
|
|
+ indexScrollPaneA = new JScrollPane(indexPanel20A);
|
|
|
|
|
+ indexScrollPaneA.setBorder(BorderFactory.createEmptyBorder());
|
|
|
|
|
+ indexPanelA = indexPanel20A;
|
|
|
}else if(mes_gw.equals("OP210")){
|
|
}else if(mes_gw.equals("OP210")){
|
|
|
// 新增:OP200A 工位面板
|
|
// 新增:OP200A 工位面板
|
|
|
JPanel indexPanel200A = new JPanel();
|
|
JPanel indexPanel200A = new JPanel();
|
|
@@ -448,6 +491,7 @@ public class MesClient extends JFrame {
|
|
|
indexPanel200A.setBackground(Color.WHITE);
|
|
indexPanel200A.setBackground(Color.WHITE);
|
|
|
workJPanelDeviceG = new WorkJPanelDevice("200A"); // 用特殊标识区分
|
|
workJPanelDeviceG = new WorkJPanelDevice("200A"); // 用特殊标识区分
|
|
|
workJPanelDeviceG.setBounds(10, 10, workJPanelDeviceG.workWidth, workJPanelDeviceG.workHeight);
|
|
workJPanelDeviceG.setBounds(10, 10, workJPanelDeviceG.workWidth, workJPanelDeviceG.workHeight);
|
|
|
|
|
+ indexPanel200A.setPreferredSize(new Dimension(workJPanelDeviceG.workWidth + 20, workJPanelDeviceG.workHeight + 20));
|
|
|
indexPanel200A.add(workJPanelDeviceG);
|
|
indexPanel200A.add(workJPanelDeviceG);
|
|
|
indexPanelA.add(indexPanel200A);
|
|
indexPanelA.add(indexPanel200A);
|
|
|
|
|
|
|
@@ -456,6 +500,7 @@ public class MesClient extends JFrame {
|
|
|
indexPanel20A.setBackground(Color.WHITE);
|
|
indexPanel20A.setBackground(Color.WHITE);
|
|
|
workJPanelDeviceA = new WorkJPanelDevice("A");
|
|
workJPanelDeviceA = new WorkJPanelDevice("A");
|
|
|
workJPanelDeviceA.setBounds(10, 10, workJPanelDeviceA.workWidth, workJPanelDeviceA.workHeight);
|
|
workJPanelDeviceA.setBounds(10, 10, workJPanelDeviceA.workWidth, workJPanelDeviceA.workHeight);
|
|
|
|
|
+ indexPanel20A.setPreferredSize(new Dimension(workJPanelDeviceA.workWidth + 20, workJPanelDeviceA.workHeight + 20));
|
|
|
indexPanel20A.add(workJPanelDeviceA);
|
|
indexPanel20A.add(workJPanelDeviceA);
|
|
|
indexPanelA.add(indexPanel20A);
|
|
indexPanelA.add(indexPanel20A);
|
|
|
|
|
|
|
@@ -464,6 +509,7 @@ public class MesClient extends JFrame {
|
|
|
indexPanel20B.setBackground(Color.WHITE);
|
|
indexPanel20B.setBackground(Color.WHITE);
|
|
|
workJPanelDeviceB = new WorkJPanelDevice("B");
|
|
workJPanelDeviceB = new WorkJPanelDevice("B");
|
|
|
workJPanelDeviceB.setBounds(10, 10, workJPanelDeviceB.workWidth, workJPanelDeviceB.workHeight);
|
|
workJPanelDeviceB.setBounds(10, 10, workJPanelDeviceB.workWidth, workJPanelDeviceB.workHeight);
|
|
|
|
|
+ indexPanel20B.setPreferredSize(new Dimension(workJPanelDeviceB.workWidth + 20, workJPanelDeviceB.workHeight + 20));
|
|
|
indexPanel20B.add(workJPanelDeviceB);
|
|
indexPanel20B.add(workJPanelDeviceB);
|
|
|
indexPanelA.add(indexPanel20B);
|
|
indexPanelA.add(indexPanel20B);
|
|
|
|
|
|
|
@@ -472,6 +518,7 @@ public class MesClient extends JFrame {
|
|
|
indexPanel20C.setBackground(Color.WHITE);
|
|
indexPanel20C.setBackground(Color.WHITE);
|
|
|
workJPanelDeviceC = new WorkJPanelDevice("C");
|
|
workJPanelDeviceC = new WorkJPanelDevice("C");
|
|
|
workJPanelDeviceC.setBounds(10, 10, workJPanelDeviceC.workWidth, workJPanelDeviceC.workHeight);
|
|
workJPanelDeviceC.setBounds(10, 10, workJPanelDeviceC.workWidth, workJPanelDeviceC.workHeight);
|
|
|
|
|
+ indexPanel20C.setPreferredSize(new Dimension(workJPanelDeviceC.workWidth + 20, workJPanelDeviceC.workHeight + 20));
|
|
|
indexPanel20C.add(workJPanelDeviceC);
|
|
indexPanel20C.add(workJPanelDeviceC);
|
|
|
indexPanelA.add(indexPanel20C);
|
|
indexPanelA.add(indexPanel20C);
|
|
|
|
|
|
|
@@ -480,6 +527,19 @@ public class MesClient extends JFrame {
|
|
|
tabbedPane.addTab("工作面板", null, indexScrollPaneA, null);
|
|
tabbedPane.addTab("工作面板", null, indexScrollPaneA, null);
|
|
|
tabbedPane.setEnabledAt(0, true);
|
|
tabbedPane.setEnabledAt(0, true);
|
|
|
|
|
|
|
|
|
|
+ // 如果是 OP190,添加独立的点检和记录面板,与工作面板同级
|
|
|
|
|
+ if (mes_gw.equals("OP190")) {
|
|
|
|
|
+ JPanel checkPanel = new JPanel();
|
|
|
|
|
+ checkPanel.setLayout(new BorderLayout());
|
|
|
|
|
+ String checkUrl = "http://" + mes_server_ip + ":8980/js/a/mes/mesProcessCheckRecord/ulist?ucode=1&oprno=OP190A&lineSn=" + mes_line_sn;
|
|
|
|
|
+ MesWebView checkWebView = new MesWebView(checkUrl);
|
|
|
|
|
+ checkPanel.add(checkWebView, BorderLayout.CENTER);
|
|
|
|
|
+ tabbedPane.addTab("开班点检", null, checkPanel, null);
|
|
|
|
|
+
|
|
|
|
|
+ WorkRecordPanel recordPanel = new WorkRecordPanel("OP190A", mes_line_sn);
|
|
|
|
|
+ tabbedPane.addTab("工作记录", null, recordPanel, null);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
tabbedPane.addChangeListener(new ChangeListener() {
|
|
tabbedPane.addChangeListener(new ChangeListener() {
|
|
|
@Override
|
|
@Override
|
|
|
public void stateChanged(ChangeEvent e) {
|
|
public void stateChanged(ChangeEvent e) {
|