From 7f820614051cca264b7918dd288995ad4056df33 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期五, 19 七月 2024 10:02:43 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java |   50 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 45 insertions(+), 5 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
index 12ebb88..df7df49 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -85,7 +85,7 @@
     @Value("${mes.glassGap}")
     private Integer glassGap;
 
-    @Scheduled(fixedDelay = 300)
+    @Scheduled(fixedDelay = 500)
     public void plcToHomeEdgScan() {
         Date startDate = new Date();
         log.info("澶х悊鐗囩鎵爜浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
@@ -124,7 +124,7 @@
         log.info("澶х悊鐗囩鎵爜浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
     }
 
-    @Scheduled(fixedDelay = 300)
+    @Scheduled(fixedDelay = 500)
     public void plcToHomeEdgFreeCarTask() {
         Date startDate = new Date();
         log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
@@ -231,7 +231,7 @@
         log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
     }
 
-    @Scheduled(fixedDelay = 300)
+    @Scheduled(fixedDelay = 500)
     public void plcToHomeEdgOutTask() {
         Date startDate = new Date();
         log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
@@ -311,10 +311,36 @@
         }
     }
 
+    @Scheduled(fixedDelay = 500)
+    public void updateOutGlassStateTask() {
+        Date startDate = new Date();
+        log.info("1銆佸ぇ鐞嗙墖绗煎嚭鐗囧畬鎴愬悗鏇存柊澶х悊鐗囩鏁版嵁浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
+        //鍥犱负澶х悊鐗囩鍜屽嚭鐗囦换鍔℃槸涓や釜搴撶殑鏁版嵁锛屾墍浠ヨ鍒嗗紑鏌ユ壘
+        List<Object> list = bigStorageCageDetailsService.listObjs(new LambdaQueryWrapper<BigStorageCageDetails>()
+                .select(BigStorageCageDetails::getGlassId).eq(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT_ING));
+        if (CollectionUtils.isNotEmpty(list)) {
+            log.info("2銆佽幏鍙栨墍鏈夋鍦ㄥ嚭鐗囩殑鐜荤拑淇℃伅id:{}", list);
+            List<String> glassIds = list.stream().map(String::valueOf).collect(Collectors.toList());
+            List<Object> outSuccessGlassIdsObj = bigStorageCageOutTaskService.listObjs(new LambdaQueryWrapper<BigStorageCageOutTask>()
+                    .select(BigStorageCageOutTask::getGlassId).in(BigStorageCageOutTask::getGlassId, glassIds).in(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_ALL));
+            List<String> outSuccessGlassIds = outSuccessGlassIdsObj.stream().map(String::valueOf).collect(Collectors.toList());
+            if (CollectionUtils.isNotEmpty(outSuccessGlassIds)) {
+                log.info("3銆佽幏鍙栧嚭鐗囧凡瀹屾垚鐨勭幓鐠冧俊鎭痠d:{}", outSuccessGlassIdsObj);
+                bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>()
+                        .set(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT).in(BigStorageCageDetails::getGlassId, outSuccessGlassIds));
+                log.info("4銆佸ぇ鐞嗙墖绗煎嚭鐗囩姸鎬佸凡瀹屾垚宸插畬鎴愮殑鐜荤拑淇℃伅id:{}", outSuccessGlassIdsObj);
+            }
+        }
+        Date endDate = new Date();
+        log.info("end:澶х悊鐗囩鍑虹墖瀹屾垚鍚庢洿鏂板ぇ鐞嗙墖绗兼暟鎹换鍔$粨鏉熸椂闂达細{}锛屽叡鑰楁椂锛歿}ms,缁撴潫浠诲姟", endDate, endDate.getTime() - startDate.getTime());
+        return;
+
+    }
+
     /**
      * 澶勭悊鐮存崯琛ㄤ换鍔�
      */
-    @Scheduled(fixedDelay = 300)
+    @Scheduled(fixedDelay = 500)
     public void dealDamageTask() {
         Date startDate = new Date();
         log.info("澶х悊鐗囩鐮存崯鐜荤拑娓呴櫎浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
@@ -322,7 +348,11 @@
         List<BigStorageCageFeedTask> inDamageTaskInfoList = bigStorageCageFeedTaskService.list(new LambdaQueryWrapper<BigStorageCageFeedTask>()
                 .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
         if (CollectionUtils.isNotEmpty(inDamageTaskInfoList)) {
+            log.info("鑾峰彇杩涚墖浠诲姟琛ㄤ腑鐮存崯鐨勭幓鐠冧俊鎭瘂}", inDamageTaskInfoList);
             bigStorageCageFeedTaskService.remove(new LambdaQueryWrapper<BigStorageCageFeedTask>().eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
+            //鐞嗙墖绗艰鎯呰〃鏁版嵁鐘舵�佹洿鏂�
+            bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>()
+                    .set(BigStorageCageDetails::getState, Const.GLASS_STATE_DAMAGE).in(BigStorageCageDetails::getGlassId, inDamageTaskInfoList.stream().map(BigStorageCageFeedTask::getGlassId).collect(Collectors.toList())));
             //灏嗙牬鎹熶俊鎭柊澧炲叆鐮存崯琛�
             for (BigStorageCageFeedTask bigStorageCageFeedTask : inDamageTaskInfoList) {
                 Damage damage = new Damage();
@@ -333,14 +363,21 @@
                 damage.setStatus(2);
                 damageService.insertDamage(damage);
             }
+            log.info("杩涚墖浠诲姟鎵ц瀹屾垚");
         }
         //鑾峰彇鍑虹墖浠诲姟琛ㄤ腑鐘舵�佷负鐮存崯鐨勬暟鎹�
         List<BigStorageCageOutTask> outDamageTaskInfoList = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>()
                 .eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_DAMAGE));
         if (CollectionUtils.isNotEmpty(outDamageTaskInfoList)) {
+            log.info("鑾峰彇鍑虹墖浠诲姟琛ㄤ腑鐮存崯鐨勭幓鐠冧俊鎭瘂}", outDamageTaskInfoList);
             bigStorageCageOutTaskService.remove(new LambdaQueryWrapper<BigStorageCageOutTask>().eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
             List<String> glassIdList = outDamageTaskInfoList.stream().map(BigStorageCageOutTask::getGlassId).collect(Collectors.toList());
+            //绉婚櫎閽㈠寲涓嬬墖琛ㄦ暟鎹�
             temperingGlassInfoService.remove(new LambdaQueryWrapper<TemperingGlassInfo>().in(TemperingGlassInfo::getGlassId, glassIdList));
+            //鐞嗙墖绗艰鎯呰〃鏁版嵁鐘舵�佹洿鏂�
+            bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>()
+                    .set(BigStorageCageDetails::getState, Const.GLASS_STATE_DAMAGE).in(BigStorageCageDetails::getGlassId, glassIdList));
+
             //灏嗙牬鎹熶俊鎭柊澧炲叆鐮存崯琛�
             for (BigStorageCageOutTask bigStorageCageOutTask : outDamageTaskInfoList) {
                 Damage damage = new Damage();
@@ -351,6 +388,7 @@
                 damage.setStatus(2);
                 damageService.insertDamage(damage);
             }
+            log.info("鍑虹墖浠诲姟鎵ц瀹屾垚");
         }
         Date endDate = new Date();
         log.info("澶х悊鐗囩鐮存崯鐜荤拑娓呴櫎浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
@@ -500,6 +538,8 @@
             //5銆佸皢杩涚墖淇℃伅瀛樺叆澶х悊鐗囩璇︽儏琛�
             cageDetails.setSlot(bigStorageDTO.getSlot());
             cageDetails.setState(Const.GLASS_STATE_IN);
+            cageDetails.setDeviceId(bigStorageDTO.getDeviceId());
+            cageDetails.setGap(glassGap);
             bigStorageCageDetailsService.save(cageDetails);
         }
         sendTaskListToPLC(taskList, line);
@@ -546,7 +586,7 @@
         List<String> glassIds = bigStorageCageOutTaskList.stream().map(BigStorageCageOutTask::getGlassId).collect(Collectors.toList());
         log.info("灏嗗嚭鐗囩幓鐠儃}鐜荤拑鐘舵�佹敼涓哄凡鍑虹墖", glassIds);
         bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>()
-                .set(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT)
+                .set(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT_ING)
                 .in(BigStorageCageDetails::getGlassId, glassIds));
         //鏇存柊绗煎瓙鍐呮牸瀛愮殑鍓╀綑灏哄
         updateSlotRemain(list, glassIds);

--
Gitblit v1.8.0