From e9de57df1ef825a3f17b792e9110f24c407c03fb Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期一, 14 十月 2024 08:31:48 +0800
Subject: [PATCH] Merge branch 'hangzhou_master' of http://bore.pub:10439/r/HangZhouMes into hangzhou_master

---
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java |   75 +++++++++++++++++++++++++++----------
 1 files changed, 55 insertions(+), 20 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
index 9d0c330..869d27c 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
@@ -80,6 +80,12 @@
     @Value("${mes.max.secondLength}")
     private String secondLength;
 
+    @Value("${mes.cache.cacheWidth}")
+    private double cacheWidth;
+
+    @Value("${mes.cache.cacheHeight}")
+    private double cacheHeight;
+
     @Value("${mes.min.one.firstLength}")
     private String minOneFirstLength;
 
@@ -94,7 +100,7 @@
 
     public static String engineerId = "";
 
-    @Scheduled(fixedDelay = 1000)
+    //@Scheduled(fixedDelay = 1000)
     public void plcHomeEdgTask() {
         Date startDate = new Date();
         log.info("鏈浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
@@ -124,8 +130,9 @@
             log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓嶄负0锛屽皢纭瀛椾笉涓�0锛岀洿鎺ョ粨鏉�");
             return;
         }
-        if ("1".equals(taskRequestTypeValue)) {
-            log.info("2銆佽繘鐗囪姹傦紝涓旂‘璁ゅ瓧涓�0锛屾墽琛岃繘鐗囦换鍔�");
+        boolean result = edgStorageCageDetailsService.inToVerify(glassIdeValue);
+        if ("1".equals(taskRequestTypeValue)&&result) {
+            log.info("2銆佽繘鐗囪姹傦紝涓旂‘璁ゅ瓧涓�0锛屾墽琛岃繘鐗囦换鍔�,鎵爜閲嶅ID楠岃瘉銆愭湁閲嶅=false,鏃犻噸澶�=true銆戯細{}",result);
             inTo(glassIdeValue, confirmationWrodAddress, currentSlot);
         } else if ("2".equals(taskRequestTypeValue)) {
             //09绌洪棽 锛�1      10绌洪棽 锛�2        閮界┖闂诧細3    鍏朵粬0
@@ -137,8 +144,8 @@
             //鍔犵瀛愰噷闈㈡槸鍚︽湁鐜荤拑锛屾湁鍏堝嚭锛屾棤鐜荤拑鍏堣繘
             boolean outFlase = outTo(Integer.parseInt(out08Glassstate),
                     Integer.parseInt(out10Glassstate), confirmationWrodAddress, glassIdeValue, Integer.parseInt(currentSlot));
-            log.info("鍑虹墖浠诲姟鏄惁瀹屾垚锛歿},涓旂幓鐠僫d:{}涓嶄负绌哄垯鎵ц杩涚墖浠诲姟", outFlase, glassIdeValue);
-            if (!outFlase && StringUtils.isNotBlank(glassIdeValue)) {
+            log.info("鍑虹墖浠诲姟鏄惁瀹屾垚锛歿},涓旂幓鐠僫d:{}涓嶄负绌哄垯鎵ц杩涚墖浠诲姟,鎵爜閲嶅ID楠岃瘉銆愭湁閲嶅=false,鏃犻噸澶�=true銆戯細{}", outFlase, glassIdeValue,result);
+            if (!outFlase && StringUtils.isNotBlank(glassIdeValue)&&result) {
                 inTo(glassIdeValue, confirmationWrodAddress, currentSlot);
             }
         }
@@ -164,9 +171,9 @@
                 Damage damage = new Damage();
                 damage.setGlassId(e.getGlassId());
                 damage.setLine(e.getEndCell());
-                damage.setWorkingProcedure("鍐峰姞宸�");
+                damage.setWorkingProcedure("纾ㄨ竟");
                 damage.setRemark("纾ㄨ竟鍓嶅崸寮忕悊鐗�");
-                damage.setStatus(0);
+                damage.setStatus(1);
                 damage.setType(e.getTaskStatus());
                 return damage;
             }).collect(Collectors.toList());
@@ -186,6 +193,16 @@
      */
     public void inTo(String glassId, String confirmationWrodAddress, String currentSlot) {
         log.info("1銆佹寜鐓х幓鐠僫d:{}鑾峰彇鐜荤拑灏忕墖淇℃伅,褰撳墠鏍煎瓙涓�:{}", glassId, currentSlot);
+
+        GlassInfo feedGlassInfo = glassInfoService.getOne(
+                new LambdaQueryWrapper<GlassInfo>()
+                .eq(GlassInfo::getGlassId,glassId)
+        );
+        if(Math.max(feedGlassInfo.getWidth(),feedGlassInfo.getHeight())>cacheWidth||Math.min(feedGlassInfo.getWidth(),feedGlassInfo.getHeight())>cacheHeight){
+            log.info("1.1銆佺幓鐠冭秴杩囧崸寮忕悊鐗囨渶澶у昂瀵�:{}", feedGlassInfo);
+            return;
+        }
+
         //娣诲姞杩涚墖浠诲姟  鏌ユ壘绌烘牸
         EdgStorageCage nearestEmpty = edgStorageCageService.selectNearestEmpty(Integer.parseInt(currentSlot), Boolean.FALSE);
         Assert.isTrue(null != nearestEmpty, "鏍煎瓙宸叉弧");
@@ -210,7 +227,6 @@
 
         S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 1);
         log.info("7銆佸彂閫佺‘璁ゅ瓧瀹屾垚");
-
 
     }
 
@@ -654,6 +670,13 @@
             log.info("7銆佹坊鍔犲嚭鐗囩幓鐠冨昂瀵镐俊鎭埌纾ㄨ竟鍓嶇幓鐠冭〃鏄惁瀹屾垚锛歿}", glassSizeStatus);
             S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 1);
             log.info("8銆佸彂閫佺‘璁ゅ瓧宸插畬鎴�");
+            Damage damage=new Damage();
+            damage.setGlassId(glassInfo.getGlassId());
+            damage.setWorkingProcedure("鍒囧壊");
+            damage.setLine(1001);
+            damage.setType(1);
+            damage.setRemark("杩囧崸寮忕悊鐗�");
+            damageService.insertDamage(damage);
             return Boolean.TRUE;
         }
         return Boolean.FALSE;
@@ -726,20 +749,8 @@
     public void CacheGlassTasks() {
         JSONObject jsonObject = new JSONObject();
         List<Map<String, Object>> currentCutTerritorys = edgStorageCageDetailsService.selectCutTerritory();
-//        List<Map<String, Object>> currentCutTerritorys=new ArrayList<>();
-//        if(engineerId==null||engineerId.isEmpty()){
-//            //璇嗗埆鎽嗙墖 褰撳墠鐗堝浘鏁版嵁
-//            currentCutTerritorys = edgStorageCageDetailsService.selectCutTerritory();
-//        }else{
-//            //璇嗗埆鎽嗙墖 姝ngineerId 宸ョ▼鐗堝浘鏁版嵁
-//            currentCutTerritorys = edgStorageCageDetailsService.selectCurrentCutTerritory(engineerId);
-//        }
         jsonObject.append("currentCutTerritory", currentCutTerritorys);
         //log.info("鏈璇嗗埆鐗堝浘{},++++{}",engineerId,currentCutTerritorys);
-        //纾ㄨ竟淇℃伅
-        List<EdgGlassTaskInfo> edgTasks = edgGlassTaskInfoService.selectEdgInfo();
-        jsonObject.append("edgTasks", edgTasks);
-
         //鍗у缂撳瓨绗煎唴淇℃伅
         List<Map<String, Object>> EdgStorageCageinfos = edgStorageCageService.selectEdgStorageCages();
         jsonObject.append("EdgStorageCageinfos", EdgStorageCageinfos);
@@ -779,4 +790,28 @@
         }
     }
 
+    @Scheduled(fixedDelay = 1000)
+    public void CacheGlassTaskss() {
+        JSONObject jsonObject = new JSONObject();
+        //log.info("鏈璇嗗埆鐗堝浘{},++++{}",engineerId,currentCutTerritorys);
+        //纾ㄨ竟淇℃伅
+        List<EdgGlassTaskInfo> edgTasks = edgGlassTaskInfoService.selectEdgInfo();
+        jsonObject.append("edgTasks", edgTasks);
+
+        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("edgTasks");
+        if (sendwServer != null) {
+            for (WebSocketServer webserver : sendwServer) {
+                if (webserver != null) {
+                    webserver.sendMessage(jsonObject.toString());
+                    List<String> messages = webserver.getMessages();
+                    if (!messages.isEmpty()) {
+                        // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+                        webserver.clearMessages();
+                    }
+                } else {
+                    log.info("edgTasks is closed");
+                }
+            }
+        }
+    }
 }

--
Gitblit v1.8.0