From 18cb51817380016c4024f9f462ea91b57bfa40f9 Mon Sep 17 00:00:00 2001
From: admin <15939171744@163.com>
Date: 星期五, 07 三月 2025 18:39:37 +0800
Subject: [PATCH] -工单物料配置表

---
 jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java |   77 +++++++++++++++++++++++++++-----------
 1 files changed, 54 insertions(+), 23 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java b/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java
index 7e08480..1de8f5d 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java
@@ -121,16 +121,22 @@
                     Integer scanResult = 11;
                     if (Constants.OP010.equals(device)){
                         //OP010宸ヤ綅鐢佃姱鏉$爜鏍¢獙||OP030宸ヤ綅鐢佃姱鏉$爜鏍¢獙
-                        Object value1 = miloService.readFromOpcUa(thoroughfare + "." + device + ".Scaner").getValue();
-                        if (ObjectUtil.isNotNull(value1)){
-                            String keyCode = value1.toString();
-                            log.info("璇诲彇鍒板伐浣峽}鐨凷caner鏁版嵁锛歿}",device,keyCode);
-                            //浠呮牎楠岄暱搴︽槸鍚﹀悎鏍�
-//                                List<KeyCodeCheck> collect = keyCodeCheckService.list().stream().filter(x -> x.getKeyCode().contains(keyCode)).collect(Collectors.toList());
-//                                if (CollUtil.isNotEmpty(collect)){
-//                                    scanResult = 11;
-//                                }
-                        }
+                        //鐢佃姱鎵规鏍¢獙
+//                        Object value1 = miloService.readFromOpcUa(thoroughfare + "." + device + ".Scaner").getValue();
+//                        Object value2 = miloService.readFromOpcUa(thoroughfare + "." + device + ".Batch").getValue();
+//                        if (ObjectUtil.isNotNull(value1)&&ObjectUtil.isNotNull(value2)){
+//                            String keyCode = value1.toString();
+//                            String batch = value2.toString();
+//                            log.info("璇诲彇鍒板伐浣峽}鐨凷caner鏁版嵁锛歿} 鏍¢獙鎵规涓猴細{}",device,keyCode,batch);
+//                            //浠呮牎楠岄暱搴︽槸鍚﹀悎鏍�
+////                                List<KeyCodeCheck> collect = keyCodeCheckService.list().stream().filter(x -> x.getKeyCode().contains(keyCode)).collect(Collectors.toList());
+////                                if (CollUtil.isNotEmpty(collect)){
+////                                    scanResult = 11;
+////                                }
+//                            scanResult = batchVerification(keyCode,batch);
+//                        }else {
+//                            scanResult = 12;
+//                        }
                     }else if(Constants.OP030.equals(device)){
                         Object value1 = miloService.readFromOpcUa(thoroughfare + "." + device + ".Scaner").getValue();//鐢佃姱鐮�
                         if (ObjectUtil.isNotNull(value1)){
@@ -161,15 +167,15 @@
                     //OP020 鐢佃姱鎸′綅鏍¢獙
                     if (Constants.OP020.equals(device)){
                         Integer result = 11;
-                        Object cellGearObjcet = miloService.readFromOpcUa(thoroughfare + "." + device + ".CellGear").getValue();
-                        if (ObjectUtil.isNull(cellGearObjcet)){
-                            result = 16;//鐢佃姱鎸′綅涓虹┖
-                        }else{
-                            String cellGear = cellGearObjcet.toString();
-                            List<String> cellCodeList = readCellCodeList(thoroughfare, device);
-                            result = checkCellGear(thoroughfare, device,cellCodeList,cellGear);//鏍¢獙鐢佃姱鎸′綅鍜岀粍鍒�
-                            Constants.OLD_CELL_GEAR = cellGear;//鎸′綅璧嬪��
-                        }
+//                        Object cellGearObjcet = miloService.readFromOpcUa(thoroughfare + "." + device + ".CellGear").getValue();
+//                        if (ObjectUtil.isNull(cellGearObjcet)){
+//                            result = 11;//濡傛灉鐢佃姱鎸′綅涓虹┖锛屼笉杩涜鎸′綅鏍¢獙
+//                        }else{
+//                            String cellGear = cellGearObjcet.toString();
+//                            List<String> cellCodeList = readCellCodeList(thoroughfare, device);
+//                            result = checkCellGear(thoroughfare, device,cellCodeList,cellGear);//鏍¢獙鐢佃姱鎸′綅鍜岀粍鍒�
+//                            Constants.OLD_CELL_GEAR = cellGear;//鎸′綅璧嬪��
+//                        }
                         miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(result).build());
 
                     }else if (Constants.OP030.equals(device)){
@@ -246,7 +252,7 @@
                                 return;
                             }
 
-                            result = savePassingStation(thoroughfare, device,cellCodeList);//淇濆瓨杩囩珯
+                            //result = savePassingStation(thoroughfare, device,cellCodeList);//淇濆瓨杩囩珯
                             if(result == 21) {
                                 if(Constants.OP020.contains(device)){
                                     if(!cellCode1.isEmpty()){
@@ -295,7 +301,7 @@
                             Object stationStatusObjcet = miloService.readFromOpcUa(thoroughfare + "." + device + ".StationStatus").getValue();//绔欑姸鎬佸湴鍧�
                             if (ObjectUtil.isNotNull(stationStatusObjcet)){
                                 String stationStatus = stationStatusObjcet.toString();
-                                result = savePassingStation(thoroughfare, device,moduleCode,stationStatus);//淇濆瓨杩囩珯
+                                //result = savePassingStation(thoroughfare, device,moduleCode,stationStatus);//淇濆瓨杩囩珯
                                 if(result == 21) {
                                     result = saveParamCollection(device,moduleCode,stationStatus);//淇濆瓨鍙傛暟锛屽彂閫佸伐鍘侻ES
                                 }
@@ -1059,14 +1065,21 @@
     public static String getWorkReportResultFeedback(String productNum,String stationCode,String confirmTime)
     {
         String result = "";
+        String url = Constants.FACTORY_EMS_UAT_GET_RUL + "workReportResultFeedback?siteCode="+Constants.FACTORY_EMS_SITE_CODE+"&stationCode="+stationCode+"&productNum="+productNum+"&confirmTime="+confirmTime;
         try {
-            String url = Constants.FACTORY_EMS_UAT_GET_RUL + "workReportResultFeedback?siteCode="+Constants.FACTORY_EMS_SITE_CODE+"&stationCode="+stationCode+"&productNum="+productNum+"&confirmTime="+confirmTime;
+            log.info("鎵ц宸ュ巶MES鎶ュ伐鏂规硶start锛屽簭鍒楀彿{}宸ヤ綅鍙穥}url{}",productNum,stationCode ,url);
             HttpResponse response = HttpRequest.get(url).execute();
-           /* HttpRequest httpRequest = HttpRequest.get(url);*/
+            //HttpRequest httpRequest = HttpRequest.get(url);
             result =  response.body();
+            log.info("鎵ц宸ュ巶MES鎶ュ伐鏂规硶绗竴娆nd锛屽簭鍒楀彿{}宸ヤ綅鍙穥}杩斿洖鏁版嵁{}",productNum,stationCode ,result);
         }catch (Exception e){
             throw new RuntimeException(e);
         }finally {
+            if(result.isEmpty()){
+                HttpResponse response = HttpRequest.get(url).execute();
+                result =  response.body();
+                log.info("鎵ц宸ュ巶MES鎶ュ伐鏂规硶绗簩娆nd锛屽簭鍒楀彿{}宸ヤ綅鍙穥}杩斿洖鏁版嵁{}",productNum,stationCode ,result);
+            }
             return result;
         }
     }
@@ -1172,5 +1185,23 @@
         }
     }
 
+    /**
+     * 鎵规鏍¢獙
+     * @param keyCode,batch
+     * @return list
+     */
+    public Integer batchVerification(String keyCode,String batch){
+        Integer result = 11;
+        List<DaCellData> cellDataList = daCellDataService.list(new LambdaQueryWrapper<DaCellData>()
+                .eq(DaCellData::getGbCellCode, keyCode)
+                .eq(DaCellData::getCellSerial, batch)
+        );
+        if(cellDataList.isEmpty()){
+            result = 13;
+            log.info("鐢佃姱鐮亄} 宸ヤ綅010鏍¢獙鎵规澶辫触锛氭壒娆′负{}",keyCode,batch);
+        }
+        return result;
+    }
+
 
 }

--
Gitblit v1.9.3