From 9da185b54d73ce0d05f8c2fe4da994512df19ba5 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期五, 12 四月 2024 15:47:59 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java |   80 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 79 insertions(+), 1 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
index 4c88df2..c2b5cff 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
@@ -2,19 +2,97 @@
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.bigstorage.entity.BigStorageCage;
+import com.mes.bigstorage.entity.BigStorageCageDetails;
+import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper;
 import com.mes.bigstorage.mapper.BigStorageCageMapper;
 import com.mes.bigstorage.service.BigStorageCageService;
+import com.mes.uppattenusage.entity.GlassInfo;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
- *  鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author zhoush
  * @since 2024-03-27
  */
 @Service
+@Slf4j
 public class BigStorageCageServiceImpl extends ServiceImpl<BigStorageCageMapper, BigStorageCage> implements BigStorageCageService {
 
+    @Resource
+    private BigStorageCageMapper bigStorageCageMapper;
+
+    @Resource
+    private BigStorageCageDetailsMapper bigStorageCageDetailsMapper;
+
+    @Override
+    public BigStorageCageDetails FeedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails) {
+
+
+        //鑾峰彇鍚岄挗鍖栫増鍥緄d鍙繘鐗囩殑鏍煎瓙
+        BigStorageCageDetails layoutSlotInfo = bigStorageCageMapper.SelectTemperingFeedSlot(glassInfo);
+        //鏈夌鍚堟潯浠剁殑鏍煎瓙鏃�
+        if (layoutSlotInfo != null) {
+            //灏嗙幓鐠冧俊鎭~鍏ョ悊鐗囩璇︽儏琛�
+            bigStorageCageDetails.setSlot(layoutSlotInfo.getSlot());
+        } else {
+            //鑾峰彇涓嶅埌鏃讹細
+
+            //鑾峰彇鍙繘鐗囨牸瀛愪俊鎭�
+            BigStorageCageDetails EmptySlotInfo = bigStorageCageMapper.SelectEmptyFeedSlot();
+            if (EmptySlotInfo != null) {
+                bigStorageCageDetails.setSlot(EmptySlotInfo.getSlot());
+            } else {
+                //鑾峰彇鍏朵粬绗兼牸瀛�-
+                BigStorageCageDetails OtherSlotInfo = bigStorageCageMapper.SelectOtherFeedSlot();
+                bigStorageCageDetails.setSlot(OtherSlotInfo.getSlot());
+            }
+            //灏嗙幓鐠冧俊鎭斁鍏ヨ鏍煎瓙
+
+        }
+
+        updateRemainWidth(bigStorageCageDetails.getSlot());
+        return bigStorageCageDetails;
+    }
+
+    @Override
+    public List<BigStorageCage> querybigStorageCageDetail() {
+        //1銆佽幏鍙栧ぇ鐞嗙墖绗间俊鎭�
+//        List<BigStorageCage> bigStorageCages = bigStorageCageMapper.querybigStorageCageDetail(null);
+        List<BigStorageCage> bigStorageCages = bigStorageCageMapper.selectList(null);
+        log.info("1銆佽幏鍙栧ぇ鐞嗙墖绗间俊鎭畬鎴愶紝鑾峰彇鍒扮殑鏁版嵁{}", bigStorageCages.size());
+        //2鑾峰彇鐞嗙墖绗兼墍鏈変俊鎭�
+        List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(null);
+        Map<Integer, List<BigStorageCageDetails>> listMap = bigStorageCageDetailsList.stream().collect(Collectors.groupingBy(BigStorageCageDetails::getSlot));
+        for (BigStorageCage bigStorageCage : bigStorageCages) {
+            List<BigStorageCageDetails> bigStorageCageDetails = listMap.get(bigStorageCage.getSlot());
+            bigStorageCage.setBigStorageCageDetails(bigStorageCageDetails);
+        }
+        return bigStorageCages;
+
+    }
+
+    //淇敼鏍煎瓙鍓╀綑瀹藉害
+    @Override
+    public void updateRemainWidth(int Slot) {
+        //鑾峰彇璇ユ牸瀛愬唴鐜荤拑淇℃伅
+        int width = 5000;
+        List<BigStorageCageDetails> bigStorageCageDetailsList = Collections.singletonList(bigStorageCageDetailsMapper.selectById(Slot));
+        for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList
+        ) {
+            width -= Integer.parseInt(bigStorageCageDetails.getWidth().toString()) + bigStorageCageDetails.getGap();
+        }
+        //淇敼鏍煎瓙鍓╀綑瀹藉害
+        bigStorageCageMapper.UpdateRemainWidth(Slot, width);
+    }
+
 }

--
Gitblit v1.8.0