From fd07515c8f4115845d7f9094602c0e100f2b7819 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 05 十二月 2024 09:19:40 +0800
Subject: [PATCH] 版本1.1.001 1、优化调度出笼次序 2、优化钢化对接

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml        |    2 +-
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/OpcNGTemperingTask.java                    |   36 +++++++++++++++++++++++++++++-------
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java          |    4 ++--
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java |   10 ++++++----
 4 files changed, 38 insertions(+), 14 deletions(-)

diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
index 3c358ef..6be3bd5 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
@@ -114,14 +114,16 @@
     {
         List<TemperingGlassInfo> result=null;
         QueryWrapper<TemperingGlassInfo> wrapper = new QueryWrapper<>();
-        wrapper.select("Top 1 *").in("state",1,0).eq("temperingLayoutId",id);
+        wrapper.select("Top 1 *").in("state",1,0).eq("tempering_layout_id",id);
         TemperingGlassInfo glass=temperingMapper.selectOne(wrapper);
         if(glass!=null) {
             QueryWrapper<TemperingGlassInfo> glassinfo = new QueryWrapper<>();
             glassinfo.eq("engineer_id", glass.getEngineerId())
-                    .eq("tempering_layout_id", id);
-            //return temperingMapper.selectList(glassinfo);
-            result= temperingMapper.selectByEngineerIdAndLayoutId(glass.getEngineerId(),glass.getTemperingLayoutId());
+                    .eq("tempering_layout_id", id)
+                    .orderByDesc("tempering_layout_id")
+            .orderByAsc("tempering_feed_sequence");
+            return temperingMapper.selectList(glassinfo);
+//            result= temperingMapper.selectByEngineerIdAndLayoutId(glass.getEngineerId(),glass.getTemperingLayoutId());
         }
         return result;
     }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
index d4cbd15..0e1440e 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
@@ -300,7 +300,7 @@
                 int sequence = -1;
                 int startSlot = -1;
                 for (BigStorageSequenceDTO item : sequenceDTOList) {
-                    if (item.getMinSequence() == sequence + 1) {
+                    if (item.getMaxSequence() == sequence - 1) {
                         //鐢熸垚璋冨害浠诲姟
                         int targetSlot = item.getSlot();
                         list = bigStorageCageDetailsService.list(new LambdaQueryWrapper<BigStorageCageDetails>()
@@ -311,7 +311,7 @@
                         updateSlotRemainBySlots(slotList);
                         break loop;
                     }
-                    sequence = item.getMaxSequence();
+                    sequence = item.getMinSequence();
                     startSlot = item.getSlot();
                 }
             }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
index 003bd62..9611a10 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -170,6 +170,6 @@
               (select engineer_id, tempering_layout_id, tempering_feed_sequence from glass_id_temp)
           and t.state = 100
         group by t.slot
-        order by max_sequence
+        order by max_sequence desc
     </select>
 </mapper>
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/OpcNGTemperingTask.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/OpcNGTemperingTask.java
index cd836a3..70bb941 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/OpcNGTemperingTask.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/OpcNGTemperingTask.java
@@ -1,16 +1,18 @@
 package com.mes.job;
 
 
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.kangaroohy.milo.model.ReadWriteEntity;
 import com.kangaroohy.milo.service.MiloService;
+import com.mes.common.config.Const;
 import com.mes.pp.entity.OptimizeHeatDetail;
 import com.mes.pp.entity.OptimizeHeatLayout;
 import com.mes.pp.service.OptimizeHeatDetailService;
 import com.mes.pp.service.OptimizeHeatLayoutService;
-import com.mes.temperingglass.entity.TemperingGlass;
 import com.mes.temperingglass.entity.TemperingGlassInfo;
 import com.mes.temperingglass.service.TemperingGlassInfoService;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
@@ -41,7 +43,7 @@
      * fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
      * fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
      */
-    //@Scheduled(fixedDelay = 1000)
+    @Scheduled(fixedDelay = 1000)
     public void requestTemperingTask() throws Exception {
         ReadWriteEntity requestInTempering = miloService.readFromOpcUa("GH1S7.GH1S7.requestInTempering");//璇锋眰杩涚墖
         ReadWriteEntity requestTemperingId = miloService.readFromOpcUa("GH1S7.GH1S7.requestTemperingId");//璇锋眰杩涚墖 鐐夊彿ID
@@ -50,9 +52,13 @@
         if (request == 0) {
             miloService.writeToOpcUa(generateReadWriteEntity("GH1S7.GH1S7.responseInTempering", 0));//鍏佽閫佺墖娓呴浂
         } else {
+            if (id == 0){
+                log.info("鐐夊彿涓嶈兘涓�0");
+                return;
+            }
             ReadWriteEntity placedNumber = miloService.readFromOpcUa("GH1S7.GH1S7.placedNumber");//宸叉憜鐗囨暟閲�
             List<TemperingGlassInfo> glassList = temperingAgoService.selectGlassInfoById(id);
-            if (glassList.size() == Integer.parseInt(placedNumber.getValue().toString())) {
+            if (Integer.parseInt(placedNumber.getValue().toString()) == glassList.size()) {
                 miloService.writeToOpcUa(generateReadWriteEntity("GH1S7.GH1S7.responseInTempering", 1));//鍐欏叆鍏佽閫佺墖
             } else {
                 miloService.writeToOpcUa(generateReadWriteEntity("GH1S7.GH1S7.responseInTempering", 2));//涓嶆弧瓒宠繘鐐夋潯浠�
@@ -65,16 +71,32 @@
      * fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
      * fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
      */
-    //@Scheduled(fixedDelay = 1000)
+    @Scheduled(fixedDelay = 1000)
     public void loadTemperingTask() throws Exception {
         ReadWriteEntity loadTemperingId = miloService.readFromOpcUa("GH1S7.GH1S7.loadTemperingId");//杩涚墖瀹屾垚 鐐夊彿ID
         getNewTemperingID(Integer.parseInt(loadTemperingId.getValue().toString()));//杩涚墖瀹屾垚 涓嬪彂鍙傛暟
     }
+    /**
+     * 鏇存柊閽㈠寲灏忕墖琛ㄥ唴鐨勭幓鐠冪姸鎬�
+     * fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
+     * fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
+     */
+    @Scheduled(fixedDelay = 5000)
+    public void updateTemperingTask() throws Exception {
+        ReadWriteEntity furanchiIdEntity = miloService.readFromOpcUa("GH1S7.GH1S7.Furanch1Id");//杩涚墖瀹屾垚 鐐夊彿ID
+        if (StringUtils.isNotBlank(furanchiIdEntity.getValue()+"")){
+            int temperingid = Integer.parseInt(furanchiIdEntity.getValue().toString());
+            temperingAgoService.update(new LambdaUpdateWrapper<TemperingGlassInfo>().set(TemperingGlassInfo::getState, Const.TEMPERING_START)
+                    .in(TemperingGlassInfo::getState, Const.TEMPERING_OUT, Const.TEMPERING_DROP).eq(TemperingGlassInfo::getTemperingLayoutId,temperingid));
+        }
+
+
+    }
 
     //鑾峰彇鍒扮倝鍙穒d鎵ц鍙傛暟涓嬪彂浠诲姟
     private void getNewTemperingID(Integer temperingid) throws Exception {
-        ReadWriteEntity AutoStatus = miloService.readFromOpcUa("GH1.GH1.AutoStatus");
-        if (1 != Integer.parseInt(AutoStatus.getValue().toString())) {
+        ReadWriteEntity autoStatus = miloService.readFromOpcUa("GH1.GH1.AutoStatus");
+        if (1 != Integer.parseInt(autoStatus.getValue().toString())) {
             log.info("褰撳墠涓洪潪鑱旀満鐘舵�侊紝缁撴潫閽㈠寲涓嬪彂鍙傛暟浠诲姟");
             return;
         }
@@ -118,7 +140,7 @@
             miloService.writeToOpcUa(generateReadWriteEntity("GH1.GH1.WorkMode", workmode));//鍐欏叆宸ヤ綅鏁�
             miloService.writeToOpcUa(generateReadWriteEntity("GH1.GH1.FurnaceMode", furmode));//鍐欏叆鐐変綋宸ヤ綔鏂瑰紡
             log.info("鐐夊彿" + temperingid + "鐗堥潰淇℃伅灏濊瘯涓嬪彂");
-        }
+       }
     }
 
 

--
Gitblit v1.8.0