From 47c19d0819ed29c9e87f914ce8109128a15a70e8 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 09 一月 2025 16:13:08 +0800
Subject: [PATCH] 1、大理片笼详情表新增旋转角度字段 2、原片仓储+上片联调,解决调试过程中的异常情况 3、上片新增定时任务用于扫描正在执行中的工程是否全部上片完成,及完成后的处理

---
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java |   26 ++++++++++++++++++++++++--
 1 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java
index 6782761..80ea1bf 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java
@@ -10,6 +10,8 @@
 import com.mes.opctask.entity.LoadGlassDeviceTaskHistory;
 import com.mes.opctask.service.LoadGlassDeviceTaskHistoryService;
 import com.mes.opctask.service.LoadGlassDeviceTaskService;
+import com.mes.pp.entity.OptimizeProject;
+import com.mes.pp.service.OptimizeProjectService;
 import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
 import com.mes.rawglassdetails.service.RawGlassStorageDetailsService;
 import com.mes.uppattenusage.entity.UpPattenUsage;
@@ -48,6 +50,8 @@
     private LoadGlassDeviceTaskHistoryService loadGlassDeviceTaskHistoryService;
     @Resource
     private UpPattenUsageMapper upPattenUsageMapper;
+    @Resource
+    private OptimizeProjectService optimizeProjectService;
 
     private static final List<Integer> LOAD_STATION_01 = Arrays.asList(101, 102);
     private static final List<Integer> LOAD_STATION_02 = Arrays.asList(103, 104);
@@ -58,7 +62,6 @@
     private static final String LOAD_GLASS_DEVICE_ONE_TASK = "load_glass_device_one_task";
 
     private static final String LOAD_GLASS_DEVICE_TWO_TASK = "load_glass_device_two_task";
-
 
     //璁惧id   涓婄墖浣嶄俊鎭�   浠诲姟琛ㄤ笉涓�鑷�   鍘嗗彶浠诲姟琛ㄥ叕鐢ㄤ竴寮� 鏂板浠诲姟/浠诲姟缁撴潫锛屽悗浼氬湪鍘嗗彶琛ㄤ腑鏂板涓�鏉¤褰曞苟鍦ㄧ粨鏉熷悗鏇存柊浠诲姟  涓�涓换鍔″嵆鍙�
     //瀹氭椂浠诲姟鎵弿涓婄墖浣嶆湁娌℃湁鍘熺墖
@@ -84,6 +87,25 @@
     @Scheduled(fixedDelay = 300)
     public void opcLoadGlassTwoFinish() {
         opcLoadGlassFinishChid(LOAD_GLASS_DEVICE_TWO_TASK, LOAD_GLASS_TWO_DEVICE);
+    }
+
+    /**
+     * 瀹氭椂浠诲姟鎵爜宸插畬鎴愪笂鐗囩殑宸ョ▼锛屽皢宸ョ▼鐘舵�佹敼涓哄凡瀹屾垚锛屽悓姝p琛ㄧ殑宸ョ▼琛紝鐘舵�佹敼涓�300
+     */
+    @Scheduled(fixedDelay = 3000)
+    public void updateEngineerState() {
+        log.info("淇敼宸插畬鎴愬伐绋嬬姸鎬佷换鍔″紑濮嬫墽琛�");
+        List<Engineering> engineerings = engineeringMapper.selectList(new LambdaQueryWrapper<Engineering>().eq(Engineering::getState, Const.ENGINEERING_RUNNING));
+        for (Engineering engineering : engineerings) {
+            Integer count = upPattenUsageMapper.selectCount(new LambdaQueryWrapper<UpPattenUsage>()
+                    .eq(UpPattenUsage::getEngineeringId, engineering.getEngineerId()).ne(UpPattenUsage::getState, Const.LOAD_RAW_GLASS_SUCCESS));
+            if (count == 0) {
+                engineeringMapper.update(null, new LambdaUpdateWrapper<Engineering>().set(Engineering::getState, Const.ENGINEERING_SUCCESS)
+                        .eq(Engineering::getEngineerId, engineering.getEngineerId()));
+                optimizeProjectService.update(null, new LambdaUpdateWrapper<OptimizeProject>().set(OptimizeProject::getState, 300)
+                        .eq(OptimizeProject::getProjectNo, engineering.getEngineerId()));
+            }
+        }
     }
 
     private void opcLoadGlassChild(String tableName, Integer deviceId) {
@@ -118,7 +140,7 @@
         List<Integer> loadStation = LOAD_GLASS_DEVICE_ONE_TASK.equals(tableName) ? LOAD_STATION_01 : LOAD_STATION_02;
         List<RawGlassStorageDetails> loadStationList = rawGlassStorageDetailsService.list(new LambdaQueryWrapper<RawGlassStorageDetails>()
                 .inSql(RawGlassStorageDetails::getSlot, "select slot from raw_glass_storage_station where enable_state = 1")
-                .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)
+                .in(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN_ALL)
                 .eq(RawGlassStorageDetails::getDeviceId, deviceId));
         if (CollectionUtils.isEmpty(loadStationList)) {
             log.info("褰撳墠涓婄墖绾胯矾涓や釜涓婄墖浣嶉兘娌℃湁鍘熺墖淇℃伅锛岀粨鏉熸湰娆′笂鐗囦换鍔★紝绛夊緟浠撳偍璋冨害浠诲姟");

--
Gitblit v1.8.0