From 9887fc7be1578f465eee608e55b65097fa417d4c Mon Sep 17 00:00:00 2001 From: wangfei <3597712270@qq.com> Date: 星期二, 06 八月 2024 14:38:10 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes --- hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java | 99 ++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 80 insertions(+), 19 deletions(-) diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java index f66cf65..06ea03a 100644 --- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java +++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java @@ -1,17 +1,22 @@ package com.mes.downglassinfo.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mes.common.config.Const; +import com.mes.common.utils.RedisUtil; import com.mes.downglassinfo.entity.DownGlassInfo; -import com.mes.downglassinfo.entity.DownGlassTask; +import com.mes.downglassinfo.entity.request.DownGlassInfoRequest; import com.mes.downglassinfo.mapper.DownGlassInfoMapper; import com.mes.downglassinfo.service.DownGlassInfoService; -import com.mes.downglassinfo.service.DownGlassTaskService; -import com.mes.downworkstation.entity.DownWorkstation; -import com.mes.downworkstation.mapper.DownWorkstationMapper; -import com.mes.downworkstation.service.DownWorkstationService; -import com.mes.downworkstation.service.DownWorkstationTaskService; -import com.mes.tools.WebSocketServer; +import com.mes.downstorage.entity.DownStorageCageDetails; +import com.mes.downstorage.service.DownStorageCageDetailsService; +import com.mes.downworkstation.entity.dto.DownGlassInfoDTO; +import com.mes.glassinfo.entity.GlassInfo; +import com.mes.job.DownLoadCacheGlassTask; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @@ -19,18 +24,29 @@ @Service public class DownGlassInfoServiceImpl extends ServiceImpl<DownGlassInfoMapper, DownGlassInfo> implements DownGlassInfoService { - // 鏍规嵁娴佺▼鍗″彿鏌ヨ鏈�澶у簭鍙� + @Autowired + DownLoadCacheGlassTask downLoadCacheGlassTask; + + @Autowired + DownStorageCageDetailsService downStorageCageDetailsService; + + @Autowired + RedisUtil redisUtil; + + /** + * 鏍规嵁娴佺▼鍗″彿鏌ヨ鏈�澶у簭鍙� + */ @Override - public Integer getMaxSequenceByFlowCardId(String flowCardId) { - QueryWrapper<DownGlassInfo> queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("flow_card_id", flowCardId); - queryWrapper.orderByDesc("sequence"); // 鎸夌収搴忓彿鍊掑簭鎺掑簭 - queryWrapper.select("sequence").last("LIMIT 1"); // 閫夋嫨鏈�澶у簭鍙峰苟闄愬埗缁撴灉涓�1鏉¤褰� - DownGlassInfo downGlassInfo = baseMapper.selectOne(queryWrapper); - if (downGlassInfo != null) { - return downGlassInfo.getSequence(); - } - return 0; + public Integer getMaxSequenceByFlowCardId(String flowCardId, int layer) { + LambdaQueryWrapper<DownGlassInfo> lambdaQueryWrapper = Wrappers.lambdaQuery(); + lambdaQueryWrapper.eq(DownGlassInfo::getFlowCardId, flowCardId) + .eq(DownGlassInfo::getLayer, layer) + .select(DownGlassInfo::getSequence) + .orderByDesc(DownGlassInfo::getSequence) + .last("LIMIT 1"); + + DownGlassInfo downGlassInfo = baseMapper.selectOne(lambdaQueryWrapper); + return downGlassInfo != null ? downGlassInfo.getSequence() : 0; } @Override @@ -38,9 +54,54 @@ baseMapper.insert(downGlassInfo); } + @Override + public DownGlassInfoDTO queryDownGlassMaxLayer(String flowCardId) { + return baseMapper.queryDownGlassMaxLayer(flowCardId); + } + @Override + public Integer queryMaxSequence(String flowCardId, int layer) { + return baseMapper.queryMaxSequence(flowCardId, layer); + } + @Override + public List<DownGlassInfoDTO> queryWorkStationIsIn(List<Integer> workList, Boolean isDownload) { + //鎸夌収瑕佹眰鑾峰彇宸茶惤鏋�/鏈惤鏋剁殑鐜荤拑淇℃伅 + return baseMapper.queryWorkStationIsIn(workList, isDownload); + } + @Override + public List<DownGlassInfoDTO> queryWorkStationFlowCard(List<Integer> workList) { + //鑾峰彇宸茬粦瀹氭祦绋嬪崱鐨勬灦瀛愭湭钀界幓鐠冪殑鏁版嵁淇℃伅 + return baseMapper.queryWorkStationFlowCard(workList); + } + @Override + public boolean generateOutGlassTask(String glassId) { + //鏇存柊鍗у紡鐞嗙墖绗煎唴鐜荤拑鐘舵�� + downStorageCageDetailsService.update(new LambdaUpdateWrapper<DownStorageCageDetails>() + .set(DownStorageCageDetails::getState, Const.GLASS_STATE_OUT).eq(DownStorageCageDetails::getGlassId, glassId)); + DownStorageCageDetails details = downStorageCageDetailsService.getOne(new LambdaQueryWrapper<DownStorageCageDetails>() + .eq(DownStorageCageDetails::getGlassId, glassId)); + //鐢熸垚涓嬬墖淇℃伅 + DownGlassInfo downGlassInfo = new DownGlassInfo(); + BeanUtils.copyProperties(details, downGlassInfo); + //鑾峰彇褰撳墠娴佺▼鍗℃渶澶х墖搴� + downGlassInfo.setSequence(this.getMaxSequenceByFlowCardId(details.getFlowCardId(), details.getLayer()) + 1); + this.save(downGlassInfo); + //鐢熸垚浠诲姟淇℃伅 骞跺悜plc鍙戦�佸嚭鐗囦换鍔� + GlassInfo glassInfo = new GlassInfo(); + BeanUtils.copyProperties(details, glassInfo); + return downLoadCacheGlassTask.initDownGlassTask(glassInfo, details.getSlot(), Const.G13_WORK_STATION, 2); + } + @Override + public String setDownGlassInfoRequest(DownGlassInfoRequest request) { + if (request == null) { + redisUtil.deleteObject("downGlassRequest"); + } else { + redisUtil.setCacheObject("downGlassRequest", request); + } + return "success"; + } } -- Gitblit v1.8.0