From b3f8181bc3af454a08cac6e3ccf3e19db2d5352d Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期二, 16 七月 2024 10:34:32 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java |   51 +++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 39 insertions(+), 12 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 abd6d98..1ac00f6 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,8 @@
 
     @Scheduled(fixedDelay = 1000)
     public void plcHomeEdgTask() {
+        Date startDate = new Date();
+        log.info("鏈浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
         PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
         String taskRequestTypeValue = plcParameterObject.getPlcParameter("A06_request_word").getValue();
         String glassIdeValue = plcParameterObject.getPlcParameter("A05_scanning_ID").getValue();
@@ -124,6 +126,8 @@
                 inTo(glassIdeValue, confirmationWrodAddress, currentSlot);
             }
         }
+        Date endDate = new Date();
+        log.info("鏈浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms", endDate, endDate.getTime() - startDate.getTime());
     }
 
     public void plcToHomeEdgTask() {
@@ -263,8 +267,8 @@
             EdgStorageCageDetails a10EdgGlass = queryGlassByTaskCache(Const.A10_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT_ALL);
             endcell = queryLineByGlassInfo(a09EdgGlass, a10EdgGlass, glassInfo, out08Glassstate, out10Glassstate);
         } else {
-            //鍒ゆ柇涓ゆ潯绾挎槸鍚﹂兘绌洪棽
-            endcell = out08Glassstate == 2 ? Const.A10_OUT_TARGET_POSITION : Const.A09_OUT_TARGET_POSITION;
+            //鎸夌収鐘舵�佸垽鏂袱鏉$嚎璧伴偅鏉$嚎
+            endcell = computerLineByState(out08Glassstate, out10Glassstate);
 
             if (out08Glassstate == 1 && out10Glassstate == 1) {
                 EdgStorageCageDetails a09EdgGlass = queryGlassByTaskCache(Const.A09_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT_ALL);
@@ -481,18 +485,20 @@
      */
     private Integer queryLineByGlassInfo(EdgStorageCageDetails a08EdgStorageCageDetails, EdgStorageCageDetails a10EdgStorageCageDetails,
                                          EdgStorageCageDetails glassInfo, int out08Glassstate, int out10Glassstate) {
-        boolean b08 = a08EdgStorageCageDetails != null && a08EdgStorageCageDetails.getHeight() == glassInfo.getHeight()
-                && a08EdgStorageCageDetails.getWidth() == glassInfo.getWidth();
-        boolean b10 = a10EdgStorageCageDetails != null && a10EdgStorageCageDetails.getHeight() == glassInfo.getHeight()
-                && a10EdgStorageCageDetails.getWidth() == glassInfo.getWidth();
         //瀛樺湪鍑虹墖浠诲姟 07涓虹┖
-        if (b08) {
-            return out08Glassstate == 2 ? Const.A10_OUT_TARGET_POSITION : Const.A09_OUT_TARGET_POSITION;
+        if (out08Glassstate == 1 && out10Glassstate == 1) {
+            boolean b08 = a08EdgStorageCageDetails != null && a08EdgStorageCageDetails.getHeight() == glassInfo.getHeight()
+                    && a08EdgStorageCageDetails.getWidth() == glassInfo.getWidth();
+            boolean b10 = a10EdgStorageCageDetails != null && a10EdgStorageCageDetails.getHeight() == glassInfo.getHeight()
+                    && a10EdgStorageCageDetails.getWidth() == glassInfo.getWidth();
+            if (b08) {
+                return Const.A09_OUT_TARGET_POSITION;
+            }
+            if (b10) {
+                return Const.A10_OUT_TARGET_POSITION;
+            }
         }
-        if (b10) {
-            return out10Glassstate == 2 ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
-        }
-        return out08Glassstate == 2 ? Const.A10_OUT_TARGET_POSITION : Const.A09_OUT_TARGET_POSITION;
+        return computerLineByState(out08Glassstate, out10Glassstate);
     }
 
     /**
@@ -653,6 +659,27 @@
         return edgGlassTaskInfoService.save(edgGlassTaskInfo);
     }
 
+    /**
+     * 璁$畻鍑虹墖绾胯矾
+     * 宸叉帓闄ら兘涓�2  閮戒负0 鐨勬儏鍐�
+     *
+     * @param out08Glassstate
+     * @param out10Glassstate
+     * @return
+     */
+    private int computerLineByState(int out08Glassstate, int out10Glassstate) {
+        if (out08Glassstate == 0) {
+            if (out10Glassstate == 2) {
+                return Const.A09_OUT_TARGET_POSITION;
+            } else {
+                return Const.A10_OUT_TARGET_POSITION;
+            }
+        } else if (out08Glassstate == 1) {
+            return Const.A09_OUT_TARGET_POSITION;
+        } else {
+            return Const.A10_OUT_TARGET_POSITION;
+        }
+    }
 
     @Scheduled(fixedDelay = 1000)
     public void CacheGlassTasks() {

--
Gitblit v1.8.0