|
|
@@ -93,6 +93,14 @@ public class WorkJPanelOP10 extends JPanel {
|
|
|
public CacheData cacheData = null;
|
|
|
public String cacheName = "";
|
|
|
|
|
|
+ // CZ060 产品PN号
|
|
|
+ public static final String[] PN_LIST = {"195", "196", "198"};
|
|
|
+ public JComboBox<String> pnCombo;
|
|
|
+
|
|
|
+ public String getPn(){
|
|
|
+ return pnCombo == null ? PN_LIST[0] : String.valueOf(pnCombo.getSelectedItem());
|
|
|
+ }
|
|
|
+
|
|
|
// 说明OP10A=西侧 OP10B=东侧
|
|
|
public WorkJPanelOP10(String position){
|
|
|
this.setLayout(null);
|
|
|
@@ -246,7 +254,24 @@ public class WorkJPanelOP10 extends JPanel {
|
|
|
});
|
|
|
this.add(blankingmeslabelOP10);
|
|
|
|
|
|
-
|
|
|
+ // 产品PN号选择:决定镭雕码前缀 CZ060+PN,选择结果存缓存
|
|
|
+ JLabel pnLabel = new JLabel("产品PN:");
|
|
|
+ pnLabel.setFont(new Font("微软雅黑", Font.PLAIN, 20));
|
|
|
+ pnLabel.setBounds(0, 272, 90, 36);
|
|
|
+ this.add(pnLabel);
|
|
|
+
|
|
|
+ pnCombo = new JComboBox<>(PN_LIST);
|
|
|
+ pnCombo.setFont(new Font("微软雅黑", Font.PLAIN, 20));
|
|
|
+ pnCombo.setBounds(90, 272, 120, 36);
|
|
|
+ pnCombo.getAccessibleContext().setAccessibleName("产品PN号");
|
|
|
+ String cachePn = cacheData.getPn();
|
|
|
+ pnCombo.setSelectedItem(cachePn == null || cachePn.isEmpty() ? PN_LIST[0] : cachePn);
|
|
|
+ pnCombo.addActionListener(e -> {
|
|
|
+ cacheData.setPn(getPn());
|
|
|
+ JdbcUtils.setCache(cacheName, JSON.toJSONString(cacheData));
|
|
|
+ log.info("<{}{}> 切换产品PN: {}", oprno, pos, getPn());
|
|
|
+ });
|
|
|
+ this.add(pnCombo);
|
|
|
|
|
|
startOprnoTimer();
|
|
|
heartData();
|
|
|
@@ -367,15 +392,12 @@ public class WorkJPanelOP10 extends JPanel {
|
|
|
boolean writeResult = writeAllowBlanking(true);
|
|
|
log.info("<{}{}> [tjFlag=3] 写入MES下料反馈 DB7020.0.5=true, 结果={}", oprno, pos, writeResult);
|
|
|
|
|
|
- short rnum = readMaterialRight();
|
|
|
- short mnum = readMaterialMiddle();
|
|
|
- log.info("<{}{}> [tjFlag=2] , rnum={}, mnum={}", oprno, pos, rnum, mnum);
|
|
|
- log.info("收到下料确认信号(DB7020.38.3=true), rnum={}, mnum={}, 准备写入MES下料反馈", rnum, mnum);
|
|
|
+ // 右/中物料不再读取,ps 传空
|
|
|
tjFlag = 3;
|
|
|
setMenuStatus("镭雕结束,等待下一件", 0);
|
|
|
if(tjStatus == 0){
|
|
|
tjStatus = 1;
|
|
|
- JSONObject retObj = DataUtil.sendQuality(productSn.getText(),oprno+pos,"OK",MesClient.user_menu.getText(),"y"+rnum+"|"+"y"+mnum);
|
|
|
+ JSONObject retObj = DataUtil.sendQuality(productSn.getText(),oprno+pos,"OK",MesClient.user_menu.getText(),"");
|
|
|
log.info("<{}{}> 质量数据上报返回: {}", oprno, pos, retObj);
|
|
|
if(retObj.get("result")!=null&&retObj.get("result").toString().equalsIgnoreCase("true")) {
|
|
|
resetScanA();
|
|
|
@@ -600,9 +622,8 @@ public class WorkJPanelOP10 extends JPanel {
|
|
|
public String readQrcode(){
|
|
|
String sn = "";
|
|
|
try {
|
|
|
- short wsn1 = readMaterialLeft();
|
|
|
- // 查询质量及上传结果
|
|
|
- JSONObject retObj = DataUtil.createOrder(oprno+pos,wsn1+"",MesClient.user_menu.getText());
|
|
|
+ // 左物料不再读取,wsn1 传空;pn 取界面选择的产品PN号
|
|
|
+ JSONObject retObj = DataUtil.createOrder(oprno+pos,"",getPn(),MesClient.user_menu.getText());
|
|
|
if(retObj.get("result")!=null&&retObj.get("result").toString().equalsIgnoreCase("true")) {
|
|
|
sn = retObj.getString("data");
|
|
|
this.setMenuStatus("允许镭雕机加工",0);
|