From 9b6553d99c71cb7f320fcfd3a73c5fa18b1052f9 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期二, 04 六月 2024 16:56:42 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java |  194 ++++++++++++++++++++++++------------------------
 1 files changed, 98 insertions(+), 96 deletions(-)

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 211dc88..0696121 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
@@ -33,7 +33,7 @@
 @Service
 public class DownStorageCageDetailsServiceImpl extends ServiceImpl<DownStorageCageDetailsMapper, DownStorageCageDetails> implements DownStorageCageDetailsService {
 
-    @Autowired(required=false)
+    @Autowired(required = false)
     private DownStorageCageMapper downStorageCageMapper;
     @Autowired
     private DownStorageCageDetailsMapper downStorageCageDetailsMapper;
@@ -41,6 +41,7 @@
     private GlassInfoMapper glassInfoMapper;
     @Autowired
     private DownWorkstationMapper downWorkstationMapper;
+
     @Override
     public void addDownStorageCageDetails(DownStorageCageDetails details) {
         this.save(details);
@@ -49,51 +50,30 @@
 
     @Override
     //淇敼鐞嗙墖绗煎唴淇℃伅 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆�
-    public boolean updatedownStorageCageDetails(DownStorageCageDetails details){
+    public boolean updatedownStorageCageDetails(DownStorageCageDetails details) {
         baseMapper.updateById(details);
         return true;
     }
 
 
-    @Override
-    public List<DownStorageCageDetails> CacheOut(int start, int end) {
-        log.info("鍗曠墖鎯呭喌鏍规嵁浼犲叆鐨勫伐浣嶆煡璇㈢鍚堟寜鐓уぇ灏忓嚭鐗�,骞朵笖浼樺厛鍑烘弧鏋剁殑灏忕墖");
-        return downStorageCageDetailsMapper.selectJoinList(
-                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
-                        .select("t.*")
-                        .leftJoin("(SELECT t1.* FROM down_storage_cage_details t1 "
-                                + "JOIN (SELECT flow_card_id, MAX(width*height) AS max_width FROM glass_info GROUP BY flow_card_id) t "
-                                + "ON t1.flow_card_id = t.flow_card_id WHERE t1.width*t1.height = t.max_width) t3"
-                                + " ON t.glass_id = t3.glass_id")
-                        .leftJoin("down_workstation t4 ON t3.flow_card_id = t4.flow_card_id")
-                        .isNull(Boolean.parseBoolean("t.glass_id"), "SELECT glass_id FROM down_glass_info")
-                        .between("t4.workstation_id", start, end)
-                        // 鏍规嵁 racks_number 鎺掑簭
-                        .orderByDesc("t4.racks_number")
-
-        );
-    }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+//    @Override
+//    public List<DownStorageCageDetails> CacheOut(int start, int end) {
+//        log.info("鍗曠墖鎯呭喌鏍规嵁浼犲叆鐨勫伐浣嶆煡璇㈢鍚堟寜鐓уぇ灏忓嚭鐗�,骞朵笖浼樺厛鍑烘弧鏋剁殑灏忕墖");
+//        return downStorageCageDetailsMapper.selectJoinList(
+//                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
+//                        .select("t.*")
+//                        .leftJoin("(SELECT t1.* FROM down_storage_cage_details t1 "
+//                                + "JOIN (SELECT flow_card_id, MAX(width*height) AS max_width FROM glass_info GROUP BY flow_card_id) t "
+//                                + "ON t1.flow_card_id = t.flow_card_id WHERE t1.width*t1.height = t.max_width) t3"
+//                                + " ON t.glass_id = t3.glass_id")
+//                        .leftJoin("down_workstation t4 ON t3.flow_card_id = t4.flow_card_id")
+//                        .isNull(Boolean.parseBoolean("t.glass_id"), "SELECT glass_id FROM down_glass_info")
+//                        .between("t4.workstation_id", start, end)
+//                        // 鏍规嵁 racks_number 鎺掑簭
+//                        .orderByDesc("t4.racks_number")
+//
+//        );
+//    }
 
 
 //    @Override
@@ -180,46 +160,10 @@
 //
 //    }
 
-
-
-
     @Override
-    public List<DownStorageCageDetails> CacheOut1(int start,int end) {
-
-
-
-        List<DownStorageCageDetails> cageDetails = downStorageCageDetailsMapper.selectList(null);
-        // Step 5: 鍒ゆ柇 down_storage_cage_details 缁撴灉鏁伴噺鏄惁涓�9锛屽鏋滄槸锛屽垯鎵ц鍙﹀涓�涓煡璇�
-        if (cageDetails.size() == 9) {
-       log.info("婊′簡鐨勬椂鍊欙紝鎸夌収绗煎唴鐗堝浘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());
-            }
-            LambdaQueryWrapper<DownStorageCageDetails> anotherQueryWrapper = Wrappers.lambdaQuery();
-
-            anotherQueryWrapper.orderByAsc(DownStorageCageDetails::getTemperingLayoutId);
-            anotherQueryWrapper.orderByDesc(DownStorageCageDetails::getTemperingFeedSequence);
-            anotherQueryWrapper.in(DownStorageCageDetails::getFlowCardId,flowCardIds);
-            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());
-        }
-
-        LambdaQueryWrapper<GlassInfo> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.select(GlassInfo::getFlowCardId,
+    public List<GlassInfo>  DirectConnection(){
+        LambdaQueryWrapper<GlassInfo> queryWrapper2 = Wrappers.lambdaQuery();
+        queryWrapper2.select(GlassInfo::getFlowCardId,
                 GlassInfo::getGlassId,
                 GlassInfo::getTemperingLayoutId,
                 GlassInfo::getTemperingFeedSequence)
@@ -229,29 +173,87 @@
                 .last("LIMIT 1");
 
         // 鏌ヨ GlassInfo 琛�
-        List<GlassInfo> glassInfos = glassInfoMapper.selectList(queryWrapper);
+        log.info("鐩撮�氭煡璇�");
+        return glassInfoMapper.selectList(queryWrapper2);
 
-        // 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);
+    };
+
+
+
+
+
+    @Override
+    public List<DownStorageCageDetails> CacheOut1(int start, int end) {
+
+
+        List<DownStorageCageDetails> cageDetails = downStorageCageDetailsMapper.selectList(null);
+        // Step 5: 鍒ゆ柇 down_storage_cage_details 缁撴灉鏁伴噺鏄惁涓�9锛屽鏋滄槸锛屽垯鎵ц鍙﹀涓�涓煡璇�
+        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) {
+                flowCardIds.add(workstation.getFlowCardId());
+            }
+
+            if (flowCardIds.isEmpty()) {
+                log.error("鏈壘鍒板搴旂殑 flow_card_id");
+                return Collections.emptyList(); // 杩斿洖绌哄垪琛ㄦ垨鑰呮姏鍑哄紓甯革紝瑙嗘儏鍐佃�屽畾
+            }
+            LambdaQueryWrapper<DownStorageCageDetails> anotherQueryWrapper = Wrappers.lambdaQuery();
+
+            anotherQueryWrapper.orderByAsc(DownStorageCageDetails::getTemperingLayoutId);
+            anotherQueryWrapper.orderByDesc(DownStorageCageDetails::getTemperingFeedSequence);
+            anotherQueryWrapper.in(DownStorageCageDetails::getFlowCardId, flowCardIds);
+            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,
+                    GlassInfo::getTemperingLayoutId,
+                    GlassInfo::getTemperingFeedSequence)
+                    .notInSql(GlassInfo::getGlassId, "SELECT glass_id FROM down_glass_info")
+                    .orderByAsc(GlassInfo::getTemperingLayoutId)
+                    .orderByDesc(GlassInfo::getTemperingFeedSequence)
+                    .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);
 
             log.info("鎸夌収娴佺▼鍗$殑鐗堝浘id 鐗堝浘鐗囧簭鍑�");
-        // Step 4: 鏌ヨ down_storage_cage_details 琛ㄥ苟杩斿洖缁撴灉
-        return downStorageCageDetailsMapper.selectList(cageDetailsQueryWrapper);
+            // Step 4: 鏌ヨ down_storage_cage_details 琛ㄥ苟杩斿洖缁撴灉
+            return downStorageCageDetailsMapper.selectList(cageDetailsQueryWrapper);
         }
 
 
     }
-
-
-
-
-
-
-
-
 
 
 }

--
Gitblit v1.8.0