From 4063326d3002b13df49e0b36cd1c52b0763d0dd3 Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期五, 21 六月 2024 16:12:00 +0800
Subject: [PATCH] 增加按照流程卡顺序下片逻辑

---
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java                             |   26 +----
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java                   |    4 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java        |   28 ++++++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java |  118 +++++++++++++++++++++++++----
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java                                     |   20 +++--
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java                               |   12 ++
 UI-Project/src/views/GlassStorage/MaterialRackManagement.vue                                                                            |    9 ++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java          |   12 ++
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/WebSocketConfig.java                                           |    8 +-
 9 files changed, 184 insertions(+), 53 deletions(-)

diff --git a/UI-Project/src/views/GlassStorage/MaterialRackManagement.vue b/UI-Project/src/views/GlassStorage/MaterialRackManagement.vue
index 2b7b9cc..23b2204 100644
--- a/UI-Project/src/views/GlassStorage/MaterialRackManagement.vue
+++ b/UI-Project/src/views/GlassStorage/MaterialRackManagement.vue
@@ -73,9 +73,16 @@
     ref="table"
     empty-text="No Data"
   >
+
+
+  <template #header>
+        <div style="display: flex; align-items: center;">
+          <span style="font-size: 16px; font-weight: bold; margin-right: 20px;">浠诲姟鍒楄〃</span>
+        
+        </div>
+      </template>
     <el-table-column prop="Glassid" label="Glassid"></el-table-column>
     <el-table-column prop="taskDescription" label="浠诲姟鎻忚堪" width="250"></el-table-column>
-    <el-table-column prop="taskStatus" label="浠诲姟鐘舵��"></el-table-column>
     <el-table-column prop="glassThickness" label="鐜荤拑鍘氬害"></el-table-column>
     <el-table-column prop="glassFilm" label="鐜荤拑鑶滅郴"></el-table-column>
     <el-table-column prop="creationTime" label="鍒涘缓鏃堕棿"></el-table-column>
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/WebSocketConfig.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/WebSocketConfig.java
index b200c7b..f5d16bf 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/WebSocketConfig.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/WebSocketConfig.java
@@ -13,9 +13,9 @@
      * bean娉ㄥ唽锛氫細鑷姩鎵弿甯︽湁@ServerEndpoint娉ㄨВ澹版槑鐨刉ebsocket Endpoint(绔偣)锛屾敞鍐屾垚涓篧ebsocket bean銆�
      * 瑕佹敞鎰忥紝濡傛灉椤圭洰浣跨敤澶栫疆鐨剆ervlet瀹瑰櫒锛岃�屼笉鏄洿鎺ヤ娇鐢╯pringboot鍐呯疆瀹瑰櫒鐨勮瘽锛屽氨涓嶈娉ㄥ叆ServerEndpointExporter锛屽洜涓哄畠灏嗙敱瀹瑰櫒鑷繁鎻愪緵鍜岀鐞嗐��
      */
-//    @Bean
-//    public ServerEndpointExporter serverEndpointExporter() {
-//        return new ServerEndpointExporter();
-//    }
+    @Bean
+    public ServerEndpointExporter serverEndpointExporter() {
+        return new ServerEndpointExporter();
+    }
 
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
index 3b8e098..25fd269 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
@@ -4,14 +4,12 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.query.MPJQueryWrapper;
-import com.github.yulichang.toolkit.JoinWrappers;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.entity.OptimizeGlassinfo;
 import com.mes.glassinfo.mapper.GlassInfoMapper;
 import com.mes.glassinfo.service.GlassInfoService;
 import com.mes.pp.entity.OptimizeProject;
 import com.mes.pp.mapper.OptimizeProjectMapper;
-import com.mes.uppattenusage.entity.UpPattenUsage;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -24,7 +22,7 @@
 
 /**
  * <p>
- *  鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author wu
@@ -35,10 +33,11 @@
 public class GlassInfoServiceImpl extends MPJBaseServiceImpl<GlassInfoMapper, GlassInfo> implements GlassInfoService {
     @Autowired
     OptimizeProjectMapper optimizeProjectMapper;
+
     @Override
     @DS("pp")
     public List<GlassInfo> selectGlassInfo(String engineeringId) {
-        List<OptimizeGlassinfo> optimizeGlassinfos=null;
+        List<OptimizeGlassinfo> optimizeGlassinfos = null;
         if (engineeringId != null) {
             optimizeGlassinfos = optimizeProjectMapper.selectJoinList(OptimizeGlassinfo.class, new MPJQueryWrapper<OptimizeProject>()
                     .select("b.process_id,t.type,b.width,b.height,t.glass_thickness,t.glass_type,b.p_width,b.p_height,b.layer, b.total_layer, b.stock_id,b.heat_layout_id,b.heat_layout_sort,b.x_axis,b.y_axis,b.project_no,b.glass_id")
@@ -50,7 +49,7 @@
         // 鍒涘缓涓�涓� List 鐢ㄤ簬淇濆瓨鏄犲皠鍚庣殑瀹炰綋瀵硅薄
         List<GlassInfo> resultList = new ArrayList<>();
 
-        if(optimizeGlassinfos!=null){
+        if (optimizeGlassinfos != null) {
             for (OptimizeGlassinfo map : optimizeGlassinfos) {
                 // 鍒涘缓涓�涓柊鐨� OptimizeGlassinfo 瀵硅薄
                 GlassInfo glassInfo = new GlassInfo();
@@ -77,8 +76,8 @@
                 resultList.add(glassInfo);
             }
         }
-        log.info("鏌ヨ鍑篻lassinfo鐨勬暟鎹畕}:",resultList);
-        log.info("鏌ヨ鍑篻lassinfopro鐨勬暟鎹畕}:",optimizeGlassinfos);
+        log.info("鏌ヨ鍑篻lassinfo鐨勬暟鎹畕}:", resultList);
+        log.info("鏌ヨ鍑篻lassinfopro鐨勬暟鎹畕}:", optimizeGlassinfos);
         return resultList;
     }
 
@@ -88,16 +87,11 @@
     }
 
 
-
-
-
-
     @Override
     public int getGlassInfoCountByFlowCardId(String flowCardId) {
         return baseMapper.selectCount(new QueryWrapper<GlassInfo>().lambda()
                 .eq(GlassInfo::getFlowCardId, flowCardId));
     }
-
 
 
     @Override
@@ -128,15 +122,9 @@
                     return map;
                 })
                 .collect(Collectors.toList());
-log.info("result: {}", result);
+        log.info("result: {}", result);
         return result;
     }
-
-
-
-
-
-
 
 
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
index d10f370..8ba6c01 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
@@ -1,11 +1,13 @@
 package com.mes.downglassinfo.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
 import com.mes.downglassinfo.entity.DownGlassInfo;
+import com.mes.glassinfo.entity.GlassInfo;
 import org.springframework.stereotype.Repository;
 
 @Repository
-public interface DownGlassInfoMapper extends BaseMapper<DownGlassInfo> {
+public interface DownGlassInfoMapper extends BaseMapper<DownGlassInfo>, MPJBaseMapper<DownGlassInfo> {
 
 
 
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
index 611a9cb..c66855e 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
@@ -5,15 +5,21 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downglassinfo.entity.DownGlassInfo;
 import com.mes.downglassinfo.entity.DownGlassTask;
+import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
 import com.mes.downglassinfo.mapper.DownGlassTaskMapper;
+import com.mes.downglassinfo.service.DownGlassInfoService;
 import com.mes.downglassinfo.service.DownGlassTaskService;
+import com.mes.downworkstation.entity.DownWorkstation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -27,15 +33,33 @@
 @Service
 public class DownGlassTaskServiceImpl extends ServiceImpl<DownGlassTaskMapper, DownGlassTask> implements DownGlassTaskService {
 
+    @Autowired
+    private DownGlassInfoService downGlassInfoService; // MySQL Mapper
+
+    @Autowired
+    private DownGlassTaskMapper downGlassTaskMapper; // SQL Server Mapper
 
     @Override
     public List<DownGlassTask> getUnloadingTaskState() {
-        log.info("鍑虹墖鎴栫洿閫氫换鍔$姸鎬佷负1 鐨勪换鍔�");
+        log.info("鎺掗櫎宸茬粡涓嬬墖鐨勫嚭鐗囨垨鐩撮�氫换鍔$姸鎬佷负1鐨勪换鍔�");
+
+        // Step 1: 浠� MySQL 涓幏鍙栫幓鐠� ID 鍒楄〃
+
+        // Step 2: 浠� SQL Server 涓繃婊ゆ帀杩欎簺鐜荤拑 ID 骞舵煡璇换鍔�
         QueryWrapper<DownGlassTask> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("task_stauts", 1).eq("task_type", 2).or().eq("task_type", 3);
+        queryWrapper.eq("task_stauts", 1)
+                .and(qw -> qw.eq("task_type", 2).or().eq("task_type", 3));
+
+        List<DownGlassInfo> excludedGlassIds = downGlassInfoService.list();
+        if (!excludedGlassIds.isEmpty()) {
+            queryWrapper.notIn("glass_id", excludedGlassIds.stream().map(DownGlassInfo::getGlassId).collect(Collectors.toList()));
+        }
+        log.info(String.valueOf(excludedGlassIds));
+
         return baseMapper.selectList(queryWrapper);
     }
 
+
     @Override
     public void updateTaskState(String id) {
         UpdateWrapper<DownGlassTask> updateWrapper = new UpdateWrapper<>();
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
index 38e5f48..fa22c2d 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
@@ -56,7 +56,17 @@
 
 
     /**
+     * @param start
+     * @param end
+     * @return   鏍规嵁浼犲叆鐨勬枡鏋跺彿 鏌ヨ绗﹀悎鎸夌収娴佺▼鍗′腑椤哄簭鍑虹墖鐨勫皬鐗�
+     */
+    List<DownStorageCageDetails> CacheOut2(int start, int end);
+//    /**
+//     * @return 鐩撮�氭煡璇�
+//     */
+//    List<GlassInfo>  DirectConnection();
+    /**
      * @return 鐩撮�氭煡璇�
      */
-    List<GlassInfo>  DirectConnection();
+    boolean DirectConnection(GlassInfo glassInfo);
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
index 5501c02..42c4c7a 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
@@ -162,23 +162,39 @@
 //
 //    }
 
+  //  @Override
+//    public List<GlassInfo>  DirectConnection(){
+//        LambdaQueryWrapper<GlassInfo> queryWrapper2 = Wrappers.lambdaQuery();
+//        queryWrapper2.select(GlassInfo::getFlowCardId,
+//                GlassInfo::getGlassId,
+//                GlassInfo::getTemperingLayoutId,
+//                GlassInfo::getTemperingFeedSequence)
+//                .notInSql(GlassInfo::getGlassId, "SELECT glass_id FROM down_glass_info")
+//                .orderByAsc(GlassInfo::getTemperingLayoutId)
+//                .orderByDesc(GlassInfo::getTemperingFeedSequence)
+//                .last("LIMIT 1");
+//
+//        // 鏌ヨ GlassInfo 琛�
+//        log.info("鐩撮�氭煡璇�");
+//        return glassInfoMapper.selectList(queryWrapper2);
+//
+//    };
+
     @Override
-    public List<GlassInfo>  DirectConnection(){
-        LambdaQueryWrapper<GlassInfo> queryWrapper2 = Wrappers.lambdaQuery();
-        queryWrapper2.select(GlassInfo::getFlowCardId,
-                GlassInfo::getGlassId,
-                GlassInfo::getTemperingLayoutId,
-                GlassInfo::getTemperingFeedSequence)
+    public boolean DirectConnection(GlassInfo glassInfo) {
+        LambdaQueryWrapper<GlassInfo> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(GlassInfo::getGlassId, glassInfo.getGlassId())
                 .notInSql(GlassInfo::getGlassId, "SELECT glass_id FROM down_glass_info")
-                .orderByAsc(GlassInfo::getTemperingLayoutId)
-                .orderByDesc(GlassInfo::getTemperingFeedSequence)
+                .orderByDesc(GlassInfo::getGlassType)
+                .groupBy(GlassInfo::getFlowCardId)
                 .last("LIMIT 1");
 
-        // 鏌ヨ GlassInfo 琛�
-        log.info("鐩撮�氭煡璇�");
-        return glassInfoMapper.selectList(queryWrapper2);
+        // 鏌ヨ绗﹀悎鏉′欢鐨� GlassInfo 璁板綍鏁伴噺
+        int count = glassInfoMapper.selectCount(queryWrapper);
 
-    };
+        return count > 0;
+    }
+
 
 
 
@@ -197,7 +213,6 @@
         if (cageDetails.size() == 9) {
             log.info("1銆佺瀛愭弧浜嗙殑鏃跺�欙紝鎸夌収绗煎唴鐗堝浘id 鐗堝浘鐗囧簭鍑�");
             List<DownWorkstation> workstationList = downWorkstationMapper.selectList(new QueryWrapper<DownWorkstation>().between("workstation_id", start, end));
-
 
             List<String> flowCardIds = new ArrayList<>();
             for (DownWorkstation workstation : workstationList) {
@@ -221,12 +236,10 @@
             // Step 1: 鏌ヨ DownWorkstation 琛ㄨ幏鍙栧搴� workstation_id 鐨� flow_card_id
             List<DownWorkstation> workstationList = downWorkstationMapper.selectList(new QueryWrapper<DownWorkstation>().between("workstation_id", start, end));
 
-
             List<String> flowCardIds = new ArrayList<>();
             for (DownWorkstation workstation : workstationList) {
                 flowCardIds.add(workstation.getFlowCardId());
             }
-
             if (flowCardIds.isEmpty()) {
                 log.error("2銆佹湭鎵惧埌瀵瑰簲鐨� flow_card_id");
                 return Collections.emptyList(); // 杩斿洖绌哄垪琛ㄦ垨鑰呮姏鍑哄紓甯革紝瑙嗘儏鍐佃�屽畾
@@ -254,7 +267,6 @@
             cageDetailsQueryWrapper.in(DownStorageCageDetails::getGlassId, glassIds);
             cageDetailsQueryWrapper.in(DownStorageCageDetails::getFlowCardId, flowCardIds);
             cageDetailsQueryWrapper.eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN);
-
             log.info("鎸夌収娴佺▼鍗$殑鐗堝浘id 鐗堝浘鐗囧簭鍑�");
             // Step 4: 鏌ヨ down_storage_cage_details 琛ㄥ苟杩斿洖缁撴灉
             return downStorageCageDetailsMapper.selectList(cageDetailsQueryWrapper);
@@ -264,4 +276,78 @@
     }
 
 
+
+
+        @Override
+        public List<DownStorageCageDetails> CacheOut2(int start, int end) {
+
+
+            // 鍒涘缓涓�涓� LambdaQueryWrapper 瀹炰緥
+            LambdaQueryWrapper<DownStorageCageDetails> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+// 鏉′欢 state=100
+            lambdaQueryWrapper.eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN);
+            List<DownStorageCageDetails> cageDetails = downStorageCageDetailsMapper.selectList(lambdaQueryWrapper);
+            // Step 5: 鍒ゆ柇 down_storage_cage_details 缁撴灉鏁伴噺鏄惁涓�9锛屽鏋滄槸锛屽垯鎵ц鍙﹀涓�涓煡璇�
+            if (cageDetails.size() == 9) {
+                log.info("1銆佺瀛愭弧浜嗙殑鏃跺�欙紝鎸夌収绗煎唴娴佺▼鍗¢『搴忓嚭 GlassType鐩墠鏄祦绋嬪崱涓殑椤哄簭");
+                List<DownWorkstation> workstationList = downWorkstationMapper.selectList(new QueryWrapper<DownWorkstation>().between("workstation_id", start, end));
+
+                List<String> flowCardIds = new ArrayList<>();
+                for (DownWorkstation workstation : workstationList) {
+                    flowCardIds.add(workstation.getFlowCardId());
+                }
+
+                if (flowCardIds.isEmpty()) {
+                    log.error("鏈壘鍒板搴旂殑 flow_card_id");
+                    return Collections.emptyList(); // 杩斿洖绌哄垪琛ㄦ垨鑰呮姏鍑哄紓甯革紝瑙嗘儏鍐佃�屽畾
+                }
+                LambdaQueryWrapper<DownStorageCageDetails> anotherQueryWrapper = Wrappers.lambdaQuery();
+
+                anotherQueryWrapper.orderByAsc(DownStorageCageDetails::getGlassType);
+                anotherQueryWrapper.in(DownStorageCageDetails::getFlowCardId, flowCardIds);
+                anotherQueryWrapper.eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN);
+                anotherQueryWrapper.last("LIMIT 1");
+                return downStorageCageDetailsMapper.selectList(anotherQueryWrapper);
+            } else {
+
+                // Step 1: 鏌ヨ DownWorkstation 琛ㄨ幏鍙栧搴� workstation_id 鐨� flow_card_id
+                List<DownWorkstation> workstationList = downWorkstationMapper.selectList(new QueryWrapper<DownWorkstation>().between("workstation_id", start, end));
+
+                List<String> flowCardIds = new ArrayList<>();
+                for (DownWorkstation workstation : workstationList) {
+                    flowCardIds.add(workstation.getFlowCardId());
+                }
+                if (flowCardIds.isEmpty()) {
+                    log.error("2銆佹湭鎵惧埌瀵瑰簲鐨� flow_card_id");
+                    return Collections.emptyList(); // 杩斿洖绌哄垪琛ㄦ垨鑰呮姏鍑哄紓甯革紝瑙嗘儏鍐佃�屽畾
+                }
+                log.info("娴佺▼鍗�:{}", flowCardIds);
+                LambdaQueryWrapper<GlassInfo> queryWrapper2 = Wrappers.lambdaQuery();
+                queryWrapper2.select(GlassInfo::getFlowCardId,
+                        GlassInfo::getGlassId)
+                        .notInSql(GlassInfo::getGlassId, "SELECT glass_id FROM down_glass_info")
+                        .orderByAsc(GlassInfo::getGlassType)
+                        .last("LIMIT 1");
+
+                // 鏌ヨ GlassInfo 琛�
+                List<GlassInfo> glassInfos = glassInfoMapper.selectList(queryWrapper2);
+                if (glassInfos.isEmpty()) {
+                    log.error("鏈壘鍒板搴旂殑鐜荤拑淇℃伅");
+                    return Collections.emptyList(); // 杩斿洖绌哄垪琛ㄦ垨鑰呮姏鍑哄紓甯革紝瑙嗘儏鍐佃�屽畾
+                }
+                // Step 3: 鏋勯�犳煡璇� down_storage_cage_details 琛ㄧ殑鏉′欢
+                List<String> glassIds = glassInfos.stream().map(GlassInfo::getGlassId).collect(Collectors.toList());
+                LambdaQueryWrapper<DownStorageCageDetails> cageDetailsQueryWrapper = Wrappers.lambdaQuery();
+                cageDetailsQueryWrapper.in(DownStorageCageDetails::getGlassId, glassIds);
+                cageDetailsQueryWrapper.in(DownStorageCageDetails::getFlowCardId, flowCardIds);
+                cageDetailsQueryWrapper.eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN);
+                log.info("鎸夌収娴佺▼鍗$殑椤哄簭鍑�");
+                // Step 4: 鏌ヨ down_storage_cage_details 琛ㄥ苟杩斿洖缁撴灉
+                return downStorageCageDetailsMapper.selectList(cageDetailsQueryWrapper);
+            }
+
+
+    }
+
+
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java
index 0fd3b0c..d6db167 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java
@@ -129,12 +129,12 @@
             }
         }
 
-        if (("1".equals(G11RobotTaskRequestWord) || "1".equals(G06RobotTaskRequestWord)) || "1".equals(G13RobotTaskRequestWord)) {
-            log.info("4銆佹湁鏈哄櫒浜轰笅鐗囪姹傦紝鎵ц涓嬬墖浠诲姟");
+        if (("0".equals(G11RobotTaskRequestWord) || "0".equals(G06RobotTaskRequestWord)) || "0".equals(G13RobotTaskRequestWord)) {
+            log.info("4銆佹湁涓嬬墖瀹屾垚淇″彿鏇存柊钀芥灦鏁伴噺");
             insertdownglassinfo();
         }
 
-        //鑷姩缁戝畾鏋跺瓙锛屽鏋滃伐浣嶈〃娌℃湁缁戝畾鏋跺瓙锛岄粯璁ゅ皢绗煎瓙涓暟閲忔渶澶氱殑娴佺▼鍗″彿缁戝畾鏈哄櫒鎵�2鐨勭┖鏋跺瓙
+
 
 
     }
@@ -155,9 +155,10 @@
         }
         log.info("2銆佽幏鍙栧埌鐨勭幓鐠冧俊鎭负{}", glassInfo);
 
-        if (glassInfo.getGlassId().equals(downStorageCageDetailsService.DirectConnection())) {
+        if (downStorageCageDetailsService.DirectConnection(glassInfo)) {
             //鐩撮��
-            log.info("3銆佸鏋滃綋鍓嶇幓鐠冨睘浜庣増鍥緄d鍜岀墖搴忕殑椤哄簭鍒欑洿閫氾紝鎵ц涓嬬墖浠诲姟");
+            //log.info("3銆佸鏋滃綋鍓嶇幓鐠冨睘浜庣増鍥緄d鍜岀墖搴忕殑椤哄簭鍒欑洿閫氾紝鎵ц涓嬬墖浠诲姟");
+          log.info("3銆佸鏋滃綋鍓嶇幓鐠冨睘浜庢祦绋嬪崱涓殑鐗囧簭鐨勯『搴忓垯鐩撮�氾紝鎵ц涓嬬墖浠诲姟");
             DownWorkstation downWorkstation = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getFlowCardId, glassInfo.getFlowCardId()));
             int WorkstationId = downWorkstation.getWorkstationId();
             DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(glassInfo, "0", String.valueOf(WorkstationId), "3");
@@ -165,7 +166,9 @@
 
         } else {
 
-            log.info("4銆佸鏋滀笉灞炰簬鐗堝浘id鍜岀墖搴忕殑椤哄簭鎵ц杩涚墖浠诲姟");
+           // log.info("4銆佸鏋滀笉灞炰簬鐗堝浘id鍜岀墖搴忕殑椤哄簭鎵ц杩涚墖浠诲姟");
+            log.info("4銆佸鏋滀笉灞炰簬娴佺▼鍗′腑鐨勭墖搴忕殑椤哄簭鎵ц杩涚墖浠诲姟");
+
             //娣诲姞杩涚墖浠诲姟  鏌ユ壘绌烘牸
             List<DownStorageCageDetails> list = downStorageCageService.selectCacheEmpty();
             if (list.size() > 0) {
@@ -201,11 +204,12 @@
      * @param MESSendingWord
      */
     private Boolean outTo(String MESSendingWord) {
-        log.info("鍗曠墖鎯呭喌鏍规嵁浼犲叆鐨勬枡鏋跺彿 鏌ヨ绗﹀悎鎸夌収鐗堝浘id鍜岀墖搴忓嚭鐗�,骞朵笖浼樺厛鍑烘弧鏋剁殑灏忕墖");
+       // log.info("鍗曠墖鎯呭喌鏍规嵁浼犲叆鐨勬枡鏋跺彿 鏌ヨ绗﹀悎鎸夌収鐗堝浘id鍜岀墖搴忓嚭鐗�,骞朵笖浼樺厛鍑烘弧鏋剁殑灏忕墖");
+        log.info("鍗曠墖鎯呭喌鏍规嵁浼犲叆鐨勬枡鏋跺彿 鏌ヨ绗﹀悎鎸夌収娴佺▼鍗′腑椤哄簭鍑虹墖,骞朵笖浼樺厛鍑烘弧鏋剁殑灏忕墖");
 
 //        List<DownStorageCageDetails> list1to3 = downStorageCageDetailsService.CacheOut1(1, 3);
 //        List<DownStorageCageDetails> list4to6 = downStorageCageDetailsService.CacheOut1(4, 6);
-        List<DownStorageCageDetails> list1to6 = downStorageCageDetailsService.CacheOut1(1, 6);
+        List<DownStorageCageDetails> list1to6 = downStorageCageDetailsService.CacheOut2(1, 6);
 
         DownStorageCageDetails selectedItem = null;
 
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
index e363838..13828db 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
@@ -1,6 +1,7 @@
 package mes;
 
 import com.mes.UnLoadGlassApplication;
+import com.mes.downglassinfo.service.DownGlassTaskService;
 import com.mes.downglassinfo.service.impl.DownGlassInfoServiceImpl;
 import com.mes.downglassinfo.service.impl.DownGlassTaskServiceImpl;
 import com.mes.downstorage.entity.DownStorageCage;
@@ -58,6 +59,8 @@
     DownWorkstationService downWorkstationService;
     @Autowired
     DownStorageCageService downStorageCageService;
+    @Autowired
+    DownGlassTaskService downGlassTaskService;
 
 
 
@@ -171,8 +174,15 @@
     @Test
     public void getFlowCardId() {
 
-
         glassInfoServiceImpl.getFlowCardId();
+
+    }
+
+    @Test
+    public void getUnloadingTaskState() {
+
+
+        downGlassTaskService.getUnloadingTaskState();
     }
 
     @Test

--
Gitblit v1.8.0