From 3b0c30d5918f1b50b3eb1a92b17124d5087e4a75 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期五, 10 五月 2024 16:29:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java |  143 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 136 insertions(+), 7 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 dd58aa6..c10e337 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
@@ -1,31 +1,63 @@
 package com.mes.downstorage.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.yulichang.query.MPJQueryWrapper;
-import com.github.yulichang.wrapper.MPJAbstractLambdaWrapper;
+
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.github.yulichang.query.MPJQueryWrapper;
+
+import com.github.yulichang.toolkit.JoinWrappers;
 import com.mes.downstorage.entity.DownStorageCage;
 import com.mes.downstorage.entity.DownStorageCageDetails;
 import com.mes.downstorage.mapper.DownStorageCageDetailsMapper;
+
 import com.mes.downstorage.mapper.DownStorageCageMapper;
 import com.mes.downstorage.service.DownStorageCageDetailsService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import javax.annotation.Resource;
 import java.util.List;
 import java.util.Map;
-
+@Slf4j
 @Service
 public class DownStorageCageDetailsServiceImpl extends ServiceImpl<DownStorageCageDetailsMapper, DownStorageCageDetails> implements DownStorageCageDetailsService {
 
-
+    @Autowired(required=false)
+    private DownStorageCageMapper downStorageCageMapper;
+    @Autowired
+    private DownStorageCageDetailsMapper downStorageCageDetailsMapper;
 
     @Override
     public void addDownStorageCageDetails(DownStorageCageDetails details) {
         this.save(details);
+    }
+
+
+    @Override
+    //淇敼鐞嗙墖绗煎唴淇℃伅 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆�
+    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")
+
+        );
     }
 
 
@@ -42,5 +74,102 @@
 
 
 
-    // Other business methods can be implemented here
+//    @Override
+//    public List<DownStorageCageDetails> getCacheOut(int start, int end) {
+//        log.info("鏍规嵁浼犲叆鐨勫伐浣嶆煡璇㈢鍚堟寜鐓ч『搴忓拰澶у皬鍑虹墖鐨勫皬鐗�");
+//        return  downStorageCageMapper.selectJoinList(
+//                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCage>()
+//                        .select("escd.*")
+//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+//                        .leftJoin("down_workstation dw on escd.flow_card_id = dw.flow_card_id")
+//                        .leftJoin("glass_info gi on dw.flow_card_id = gi.flowcard_id  and gi.flowcard_id=escd.flow_card_id ")
+//                        .isNotNull("escd.slot")
+//                        .between("dw.workstation_id", start, end)
+//                        .orderByDesc("escd.width")
+//                        .orderByDesc("escd.height")
+//        );
+//    }
+
+
+//    @Override
+//    public List<DownStorageCageDetails> selectCacheEmpty2(){
+//        return  downStorageCageMapper.selectJoinList(
+//                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCage>()
+//                        .select("escd.glass_id","escd.flow_card_id","escd.width","escd.height")
+//                        .leftJoin("down_storage_cage_details escd on t.device_id=escd.device_id and t.slot=escd.slot")
+//                        .isNull("escd.slot")
+//        );
+//    }
+
+
+    @Override
+    public List<Map<String, Object>> getCacheInfo() {
+        log.info("鏌ヨ绗煎瓙鍐呬俊鎭�");
+        return downStorageCageDetailsMapper.selectJoinMaps(JoinWrappers.lambda(DownStorageCageDetails.class) // 浣跨敤 JoinWrappers.lambda 鍒涘缓鑱斿悎鏌ヨ
+                .selectAll(DownStorageCageDetails.class) // 閫夋嫨鎵�鏈夊瓧娈�
+                .eq(DownStorageCage::getSlot, DownStorageCageDetails::getSlot) // 璁剧疆鍏宠仈鏉′欢
+                .orderByAsc(DownStorageCage::getSlot) // 鎸� slot 瀛楁鍗囧簭鎺掑簭
+        );
+    }
+
+//
+//    @Override
+//    public List<Map> getCacheInfo() {
+//        log.info(" 鏌ヨ绗煎瓙鍐呬俊鎭�");
+//        return downStorageCageMapper.selectJoinList(
+//                Map.class, new MPJQueryWrapper<DownStorageCage>()
+//                        .select("escd.*")
+//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+//                        .orderByAsc("t.slot")
+//        );
+//
+//    }
+
+//    @Override
+//    public List<DownStorageCageDetails> getCacheLeisure() {
+//        log.info(" 鏌ヨ绗煎瓙鍐呯┖闂�");
+//        List<DownStorageCageDetails> list = downStorageCageMapper.selectJoinList(
+//                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCage>()
+//                        .select("escd.*")
+//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+//                        .isNull("escd.slot")
+//
+//                        .orderByAsc("escd.slot")
+//        );
+//        return list;
+//    }
+
+
+//    @Override
+//    public List<DownStorageCageDetails> getIsExistIntoCacheByflowcardid(String flowcardid, double width) {
+//        log.info("  鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿  鎵惧埌绌烘牸");
+//
+//        return downStorageCageMapper.selectJoinList(
+//                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCage>()
+//                        .select("escd.*")
+//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+//                        .isNull("escd.slot")
+//                        .apply("t.remain_width - " + width + " > 0")
+//                        .orderByAsc("escd.sequence")
+//        );
+//
+//
+//
+//
+//    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 }

--
Gitblit v1.8.0