From d7765b799489db445388e528044ab3b2bd2e649e Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 12 六月 2025 08:22:57 +0800
Subject: [PATCH] 钢化模块modbus和S7改造

---
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java |  108 +++++++++++++++++++++++++-----------------------------
 1 files changed, 50 insertions(+), 58 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 12a13ad..2911bc8 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
@@ -2,22 +2,23 @@
 
 import cn.hutool.core.collection.CollectionUtil;
 import com.github.yulichang.base.MPJBaseServiceImpl;
-import com.github.yulichang.toolkit.JoinWrappers;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.mes.common.config.Const;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
 import com.mes.edgstoragecage.entity.EdgStorageCage;
 import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
+import com.mes.edgstoragecage.entity.vo.EdgSlotRemainVO;
+import com.mes.edgstoragecage.entity.vo.EdgStorageCageVO;
 import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
 import com.mes.edgstoragecage.mapper.EdgStorageCageMapper;
 import com.mes.edgstoragecage.service.EdgStorageCageService;
-import com.mes.uppattenusage.entity.UpPattenUsage;
-import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
 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;
 
 /**
  * <p>
@@ -31,19 +32,21 @@
 @Service
 public class EdgStorageCageServiceImpl extends MPJBaseServiceImpl<EdgStorageCageMapper, EdgStorageCage> implements EdgStorageCageService {
 
-    @Autowired
+    @Resource
     EdgStorageCageDetailsMapper edgStorageCageDetailsMapper;
     @Autowired
-    UpPattenUsageMapper upPattenUsageMapper;
+    DamageService damageService;
 
     @Override
-    public EdgStorageCage selectNearestEmpty(int currentSlot, boolean flag) {
+    public EdgStorageCage selectNearestEmpty(Integer currentSlot, int deviceId, boolean flag) {
         List<EdgStorageCage> emptyList = this.selectJoinList(EdgStorageCage.class, new MPJLambdaWrapper<EdgStorageCage>()
                 .selectAll(EdgStorageCage.class)
                 .leftJoin(EdgStorageCageDetails.class, on -> on
                         .eq(EdgStorageCageDetails::getSlot, EdgStorageCage::getSlot)
                         .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN))
                 .isNull(EdgStorageCageDetails::getSlot)
+                .eq(EdgStorageCage::getEnableState, Const.SLOT_ON)
+                .eq(EdgStorageCage::getDeviceId, deviceId)
                 .last("order by abs(t.slot - " + currentSlot + ")  asc limit 2")
         );
         if (flag && CollectionUtil.isNotEmpty(emptyList)) {
@@ -56,62 +59,26 @@
     }
 
     /**
-     * 鏌ヨ绗煎唴绌烘牸
+     * 鎸夌収璁惧鍙疯繑鍥炲搴旂殑绗煎唴璇︽儏鏁版嵁
      *
      * @return
      */
     @Override
-    public List<EdgStorageCage> selectCacheEmpty() {
-        return baseMapper.selectJoinList(EdgStorageCage.class, new MPJLambdaWrapper<EdgStorageCage>()
+    public List<EdgStorageCageVO> selectEdgStorageCagesByDeviceId(int deviceId) {
+        List<EdgStorageCageVO> storageCageVOS = this.selectJoinList(EdgStorageCageVO.class, new MPJLambdaWrapper<EdgStorageCage>()
                 .selectAll(EdgStorageCage.class)
+                .selectCollection(EdgStorageCageDetails.class, EdgStorageCageVO::getDetails)
                 .leftJoin(EdgStorageCageDetails.class, on -> on
+                        .eq(EdgStorageCageDetails::getDeviceId, EdgStorageCage::getDeviceId)
                         .eq(EdgStorageCageDetails::getSlot, EdgStorageCage::getSlot)
-                        .eq(EdgStorageCageDetails::getState, "100"))
-                .isNull(EdgStorageCageDetails::getSlot)
-                .last("order by abs(t.slot - 4)  asc")
+                        .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN))
+                .eq(EdgStorageCage::getDeviceId, deviceId)
+                .orderByAsc(EdgStorageCage::getSlot)
+                .orderByAsc(EdgStorageCageDetails::getId)
         );
+        return storageCageVOS;
     }
 
-    /**
-     * 鏌ヨ绗煎唴鍑虹墖浠诲姟   鎸夐挗鍖栫増鍥惧彿+鐗堝浘鍐呭簭鍙�
-     *
-     * @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::getState, Const.GLASS_STATE_IN)
-                        .eq(EdgStorageCageDetails::getSlot, EdgStorageCage::getSlot))
-        );
-    }
 
     /**
      * 淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愬惎鐢�/绂佺敤銆�
@@ -122,9 +89,14 @@
     @Override
     public boolean updateEdgStorageCage(EdgStorageCage edgStorageCage) {
         EdgStorageCage edgItem = baseMapper.selectById(edgStorageCage.getId());
-        edgItem.setEnableState(edgStorageCage.getEnableState());
-        baseMapper.updateById(edgItem);
-        return true;
+        if (edgItem != null) {
+            edgItem.setEnableState(edgStorageCage.getEnableState());
+            baseMapper.updateById(edgItem);
+            log.info("鍗у缂撳瓨锛氥�愬惎鐢�/绂佺敤銆� 鍙傛暟:{} 缁撴灉:鎴愬姛", edgStorageCage);
+            return true;
+        }
+        log.info("鍗у缂撳瓨锛氥�愬惎鐢�/绂佺敤銆� 鍙傛暟:{} 缁撴灉:澶辫触", edgStorageCage);
+        return false;
     }
 
     /**
@@ -140,10 +112,22 @@
         log.info("姝e父" + edgItem);
         EdgStorageCageDetails edgDItem = edgStorageCageDetailsMapper.selectById(edgStorageCageDetails.getId());
         if (edgItem != null) {
-            //绉婚櫎
-            EdgStorageCageDetails result = edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getSlot, edgStorageCageId));
+            //绉婚櫎  锛堢牬鎹�,鐩墠涓や釜姒傚康娣峰悎鍦ㄤ竴璧�,寤鸿鎷嗗紑锛�
+            EdgStorageCageDetails result = edgStorageCageDetailsMapper.selectOne(
+                    new MPJLambdaWrapper<EdgStorageCageDetails>()
+                            .eq(EdgStorageCageDetails::getSlot, edgStorageCageId)
+                            .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)
+            );
             if (result != null) {
                 result.setSlot(0);
+                result.setState(201);
+                Damage damage = new Damage();
+                damage.setGlassId(edgStorageCageDetails.getGlassId());
+                damage.setLine(2001);
+                damage.setWorkingProcedure("纾ㄨ竟");
+                damage.setStatus(1);
+                damage.setType(8);
+                damageService.insertDamage(damage);
                 edgStorageCageDetailsMapper.updateById(result);
             }
             //娣诲姞
@@ -157,5 +141,13 @@
         return true;
     }
 
+    @Override
+    public EdgStorageCage getEdgStorageCageBySize(int deviceId, double width, double height, int slot) {
+        return baseMapper.getEdgStorageCageBySize(deviceId, width, height, slot);
+    }
 
+    @Override
+    public void resetSlotRemainWidth(List<EdgSlotRemainVO> edgSlotRemainVOS) {
+        baseMapper.resetSlotRemainWidth(edgSlotRemainVOS);
+    }
 }

--
Gitblit v1.8.0