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 | 111 +++++++++++++++++++++++++------------------------------ 1 files changed, 50 insertions(+), 61 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 5d27ac4..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,65 +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::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") -// ); - } /** * 淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愬惎鐢�/绂佺敤銆� @@ -125,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; } /** @@ -143,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); } //娣诲姞 @@ -160,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