From e5e576ab6840b8030a60a1e67fb94728f7ec2ae2 Mon Sep 17 00:00:00 2001
From: 严智鑫 <test>
Date: 星期三, 24 四月 2024 16:27:03 +0800
Subject: [PATCH] Changes

---
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java |  129 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 128 insertions(+), 1 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
index 245e2be..4709fcf 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
@@ -1,10 +1,26 @@
 package com.mes.edgstoragecage.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.github.yulichang.query.MPJLambdaQueryWrapper;
+import com.github.yulichang.query.MPJQueryWrapper;
+import com.github.yulichang.toolkit.JoinWrappers;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.mes.edgstoragecage.entity.EdgStorageCage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
 import com.mes.edgstoragecage.mapper.EdgStorageCageMapper;
+import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
 import com.mes.edgstoragecage.service.EdgStorageCageService;
+import com.mes.uppattenusage.entity.UpPattenUsage;
+import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -15,6 +31,117 @@
  * @since 2024-04-07
  */
 @Service
-public class EdgStorageCageServiceImpl extends ServiceImpl<EdgStorageCageMapper, EdgStorageCage> implements EdgStorageCageService {
+public class EdgStorageCageServiceImpl extends MPJBaseServiceImpl<EdgStorageCageMapper, EdgStorageCage> implements EdgStorageCageService {
+
+    @Autowired
+    EdgStorageCageDetailsMapper edgStorageCageDetailsMapper;
+    @Autowired
+    UpPattenUsageMapper upPattenUsageMapper;
+
+    /**
+     * 鏌ヨ绗煎唴绌烘牸
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> selectCacheEmpty(){
+        return baseMapper.selectJoinMaps(JoinWrappers.lambda(EdgStorageCage.class).selectAll(EdgStorageCage.class)
+                .select(EdgStorageCageDetails::getWidth, EdgStorageCageDetails::getHeight,EdgStorageCageDetails::getGlassId)
+                .leftJoin(EdgStorageCageDetails.class,on->on
+                        .eq(EdgStorageCageDetails::getDeviceId,EdgStorageCage::getDeviceId)
+                        .eq(EdgStorageCageDetails::getSlot,EdgStorageCage::getSlot))
+                .isNull(EdgStorageCageDetails::getSlot)
+        );
+
+//        return baseMapper.selectJoinMaps(new MPJQueryWrapper<EdgStorageCage>().selectAll(EdgStorageCage.class)
+//                        .select("escd.glass_id","escd.flow_card_id","escd.width","escd.height")
+//                        .leftJoin("edg_storage_cage_details escd on t.device_id=escd.device_id and t.slot=escd.slot")
+//                        .isNull("escd.slot")
+//        );
+    }
+
+    /**
+     * 鏌ヨ绗煎唴鍑虹墖浠诲姟   鎸夐挗鍖栫増鍥惧彿+鐗堝浘鍐呭簭鍙�
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> selectCacheOut(){
+
+        return upPattenUsageMapper.selectJoinMaps(JoinWrappers.lambda(UpPattenUsage.class).selectAll(UpPattenUsage.class)
+                .select(EdgStorageCageDetails::getWidth, EdgStorageCageDetails::getHeight,EdgStorageCageDetails::getGlassId)
+                .leftJoin(EdgStorageCageDetails.class,on->on
+                        .eq(EdgStorageCageDetails::getDeviceId,EdgStorageCage::getDeviceId)
+                        .eq(EdgStorageCageDetails::getSlot,EdgStorageCage::getSlot))
+                .isNull(EdgStorageCageDetails::getSlot)
+        );
+//        return upPattenUsageMapper.selectJoinMaps(new MPJQueryWrapper<UpPattenUsage>().selectAll(UpPattenUsage.class)
+//                        .select("escd.glass_id","escd.flow_card_id","escd.width","escd.height")
+//                        .leftJoin("edg_storage_cage_details escd on t.device_id=escd.device_id and t.slot=escd.slot")
+//                        .isNotNull("escd.slot")
+//                        .orderByAsc("escd.tempering_layout_id","escd.tempering_feed_sequence")
+//        );
+    }
+
+    /**
+     * 鐞嗙墖缂撳瓨璇︽儏
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> selectEdgStorageCages(){
+        return baseMapper.selectJoinMaps(JoinWrappers.lambda(EdgStorageCage.class)
+                .selectAll(EdgStorageCage.class)
+                .selectAs(EdgStorageCageDetails::getId,"esdId")
+                .select(EdgStorageCageDetails::getGlassId,EdgStorageCageDetails::getWidth,EdgStorageCageDetails::getHeight,EdgStorageCageDetails::getId)
+                .leftJoin(EdgStorageCageDetails.class,on->on
+                        .eq(EdgStorageCageDetails::getDeviceId,EdgStorageCage::getDeviceId)
+                        .eq(EdgStorageCageDetails::getSlot,EdgStorageCage::getSlot))
+        );
+//        return baseMapper.selectJoinMaps(new MPJQueryWrapper<EdgStorageCage>().selectAll(EdgStorageCage.class)
+//                        .select("escd.glass_id","escd.flow_card_id","escd.width","escd.height")
+//                        .leftJoin("edg_storage_cage_details escd on t.device_id=escd.device_id and t.slot=escd.slot")
+//        );
+    }
+
+    /**
+     * 淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愬惎鐢�/绂佺敤銆�
+     * @param edgStorageCage
+     * @return
+     */
+    @Override
+    public boolean updateEdgStorageCage(EdgStorageCage edgStorageCage){
+        EdgStorageCage edgItem=baseMapper.selectById(edgStorageCage.getId());
+        edgItem.setEnableState(edgStorageCage.getEnableState());
+        baseMapper.updateById(edgItem);
+        return true;
+    }
+
+    /**
+     *淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆�
+     * @param edgStorageCage
+     * @param edgStorageCageDetails
+     * @return
+     */
+    @Override
+    public boolean updateEdgStorageCageDetails(EdgStorageCage edgStorageCage,EdgStorageCageDetails edgStorageCageDetails){
+        EdgStorageCage edgItem=baseMapper.selectById(edgStorageCage.getId());
+        EdgStorageCageDetails edgDItem=edgStorageCageDetailsMapper.selectById(edgStorageCageDetails.getId());
+        if (edgItem!=null){
+            if(edgDItem==null){
+                //绉婚櫎鐜荤拑
+                EdgStorageCageDetails result=edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getId,edgStorageCageDetails.getId()));
+                result.setSlot(0);
+                edgStorageCageDetailsMapper.updateById(result);
+            }else{
+                //1.缁戝畾鏂扮殑鐜荤拑    2.鏇存崲鐜荤拑  涓婁竴鐗囨竻闄�   閲嶆柊缁戝畾
+                EdgStorageCageDetails lastResult=edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getSlot,edgStorageCage.getSlot()));
+                lastResult.setSlot(0);
+                edgStorageCageDetailsMapper.updateById(lastResult);
+                EdgStorageCageDetails result=edgStorageCageDetailsMapper.selectById(edgStorageCageDetails.getId());
+                result.setSlot(edgStorageCageDetails.getSlot());
+                edgStorageCageDetailsMapper.updateById(result);
+            }
+        }
+        return true;
+    }
+
 
 }

--
Gitblit v1.8.0