From 57b8bd13007ef363e7fa2e50c284d3ddbeee2961 Mon Sep 17 00:00:00 2001
From: wang <3597712270@qq.com>
Date: 星期二, 21 五月 2024 14:25:09 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
---
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java | 159 +++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 119 insertions(+), 40 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 2d5282b..f94d854 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,82 +1,161 @@
package com.mes.edgstoragecage.service.impl;
-import com.github.yulichang.query.MPJQueryWrapper;
+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.edgstoragecage.entity.EdgStorageCage;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mes.edgstoragecage.mapper.EdgStorageCageMapper;
+import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
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 java.util.List;
import java.util.Map;
-import java.util.*;
/**
* <p>
- * 鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
* </p>
*
* @author zhoush
* @since 2024-04-07
*/
+@Slf4j
@Service
-public class EdgStorageCageServiceImpl extends ServiceImpl<EdgStorageCageMapper, EdgStorageCage> implements EdgStorageCageService {
+public class EdgStorageCageServiceImpl extends MPJBaseServiceImpl<EdgStorageCageMapper, EdgStorageCage> implements EdgStorageCageService {
- @Autowired
- EdgStorageCageMapper edgStorageCageMapper;
@Autowired
EdgStorageCageDetailsMapper edgStorageCageDetailsMapper;
@Autowired
UpPattenUsageMapper upPattenUsageMapper;
@Override
- //鏌ヨ绗煎唴绌烘牸
- public List<Map> selectCacheEmpty(){
- List<Map> map=edgStorageCageMapper.selectJoinList(
- Map.class,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")
+ public EdgStorageCage selectNearestEmpty(int currentSlot) {
+ 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)
+ .last("order by abs(t.slot - " + currentSlot + ") asc limit 2")
);
-// List<Map> map=baseMapper.selectJoinList(Map.class,JoinWrappers.lambda(EdgStorageCage.class)
-// .selectAll(EdgStorageCage.class)
-// .select(EdgStorageCageDetails::getGlassId,EdgStorageCageDetails::getFlowCardId,EdgStorageCageDetails::getWidth,EdgStorageCageDetails::getHeight)//鏌ヨuser_address tel 瀛楁
-// .leftJoin(EdgStorageCageDetails.class,EdgStorageCageDetails::getSlot,EdgStorageCage::getSlot)
-// .isNull(EdgStorageCageDetails::getSlot));
- return map;
+ if (CollectionUtil.isEmpty(emptyList) || emptyList.size() < 2) {
+ return null;
+ }
+ return emptyList.get(0);
}
+ /**
+ * 鏌ヨ绗煎唴绌烘牸
+ *
+ * @return
+ */
@Override
- //鏌ヨ绗煎唴鍑虹墖浠诲姟 鎸夐挗鍖栫増鍥惧彿+鐗堝浘鍐呭簭鍙�
- public List<Map> selectCacheOut(){
- List<Map> list= upPattenUsageMapper.selectJoinList(
- Map.class,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")
+ public List<EdgStorageCage> selectCacheEmpty() {
+ return baseMapper.selectJoinList(EdgStorageCage.class, new MPJLambdaWrapper<EdgStorageCage>()
+ .selectAll(EdgStorageCage.class)
+ .leftJoin(EdgStorageCageDetails.class, on -> on
+ .eq(EdgStorageCageDetails::getSlot, EdgStorageCage::getSlot)
+ .eq(EdgStorageCageDetails::getState, "100"))
+ .isNull(EdgStorageCageDetails::getSlot)
+ .last("order by abs(t.slot - 4) asc")
);
- return list;
}
+ /**
+ * 鏌ヨ绗煎唴鍑虹墖浠诲姟 鎸夐挗鍖栫増鍥惧彿+鐗堝浘鍐呭簭鍙�
+ *
+ * @return
+ */
@Override
- //鐞嗙墖缂撳瓨璇︽儏
- public List<Map> selectEdgStorageCages(){
- List<Map> map=edgStorageCageMapper.selectJoinList(
- Map.class,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")
+ 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 map;
+// 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 boolean updateEdgStorageCage(EdgStorageCage edgStorageCage){
- edgStorageCageMapper.updateById(edgStorageCage);
+ 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 edgStorageCageId
+ * @param edgStorageCageDetails
+ * @return
+ */
+ @Override
+ public boolean updateEdgStorageCageDetails(int edgStorageCageId, EdgStorageCageDetails edgStorageCageDetails) {
+ EdgStorageCage edgItem = baseMapper.selectById(edgStorageCageId);
+ log.info("姝e父" + edgItem);
+ EdgStorageCageDetails edgDItem = edgStorageCageDetailsMapper.selectById(edgStorageCageDetails.getId());
+ if (edgItem != null) {
+ //绉婚櫎
+ EdgStorageCageDetails result = edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getSlot, edgStorageCageId));
+ if (result != null) {
+ result.setSlot(0);
+ edgStorageCageDetailsMapper.updateById(result);
+ }
+ //娣诲姞
+ if (edgDItem != null) {
+ //鍙紶鏍煎瓙 锛氱Щ闄ょ幓鐠�
+ EdgStorageCageDetails newresult = edgStorageCageDetailsMapper.selectById(edgStorageCageDetails.getId());
+ newresult.setSlot(edgItem.getSlot());
+ edgStorageCageDetailsMapper.updateById(newresult);
+ }
+ }
+ return true;
+ }
+
+
}
--
Gitblit v1.8.0