From 78e5175a05eeb3776d3f21f603fb6fb7a18b3d54 Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期四, 08 八月 2024 10:14:59 +0800 Subject: [PATCH] 1、任务表中新增是否删除字段 0:未删除 1:已删除 2、磨边队列方法改造:增加设置参数接口,websocket推送数据时可按照设置的参数推送对应的数据 3、任务新增破损、拿走状态处理 4、破损数据新增批量新增 5、工位流程卡玻璃是否到齐方法完善 --- hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java | 62 +++++++++++++++++++++++++++++- 1 files changed, 59 insertions(+), 3 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 df92487..df42fe4 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,23 +1,30 @@ package com.mes.downglassinfo.service.impl; +import cn.smallbun.screw.core.util.CollectionUtils; 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.request.DownGlassInfoRequest; import com.mes.downglassinfo.mapper.DownGlassInfoMapper; import com.mes.downglassinfo.service.DownGlassInfoService; import com.mes.downstorage.entity.DownStorageCageDetails; import com.mes.downstorage.service.DownStorageCageDetailsService; +import com.mes.downworkstation.entity.DownWorkstation; import com.mes.downworkstation.entity.dto.DownGlassInfoDTO; +import com.mes.downworkstation.service.DownWorkstationService; 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.ArrayList; import java.util.List; +import java.util.stream.Collectors; @Service public class DownGlassInfoServiceImpl extends ServiceImpl<DownGlassInfoMapper, DownGlassInfo> implements DownGlassInfoService { @@ -27,6 +34,13 @@ @Autowired DownStorageCageDetailsService downStorageCageDetailsService; + + + @Autowired + DownWorkstationService downWorkstationService; + + @Autowired + RedisUtil redisUtil; /** * 鏍规嵁娴佺▼鍗″彿鏌ヨ鏈�澶у簭鍙� @@ -60,8 +74,15 @@ } @Override - public List<DownGlassInfoDTO> queryWorkStationIsIn(Boolean isDownload) { - return baseMapper.queryWorkStationIsIn(isDownload); + 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 @@ -80,6 +101,41 @@ //鐢熸垚浠诲姟淇℃伅 骞跺悜plc鍙戦�佸嚭鐗囦换鍔� GlassInfo glassInfo = new GlassInfo(); BeanUtils.copyProperties(details, glassInfo); - return downLoadCacheGlassTask.initDownGlassTask(glassInfo, details.getSlot(), 3001, 2); + 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"; + } + + @Override + public List<DownWorkstation> queryWorkStationIsFull() { + //鏌ヨ鍙互钀芥灦鐨勭幓鐠冧俊鎭笖宸茬粦瀹氭祦绋嬪崱鐨勫伐浣嶄俊鎭� + List<DownWorkstation> list = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getEnableState, Const.SLOT_ON) + .isNotNull(DownWorkstation::getFlowCardId).ne(DownWorkstation::getFlowCardId, "")); + List<DownWorkstation> workstationFull = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(list)) { + //閮芥湁鐜荤拑鐨勫伐浣嶄俊鎭紙鍖呮嫭缁戝畾娴佺▼鍗★級 + List<Integer> workstationList = list.stream().map(DownWorkstation::getWorkstationId).collect(Collectors.toList()); + //鎸夌収绗﹀悎鏉′欢鐨勫伐浣嶈幏鍙栨湭钀芥灦鐨勬祦绋嬪崱鐜荤拑锛屽鏋滆繑鍥炰负绌猴紝鍒欒〃鏄庢墍鏈夐兘宸茶惤鏋跺畬鎴� + List<DownGlassInfoDTO> downGlassInfoDTOList = queryWorkStationIsIn(workstationList, Boolean.FALSE); + //鑾峰彇宸ヤ綅涓婄殑鏈弧鐨勬祦绋嬪崱鍙婂眰鏁� + List<String> flowCardIdList = downGlassInfoDTOList.stream().map(item -> item.getFlowCardId() + ":" + item.getLayer()).collect(Collectors.toList()); + //鍙互钀芥灦鐨勭幓鐠冧俊鎭笖宸茬粦瀹氭祦绋嬪崱鐨勬墍鏈夌殑宸ヤ綅 - 鐜荤拑鏈弧娴佺▼鍗″強灞傛暟鐨勫伐浣� = 宸叉弧宸ヤ綅 + workstationFull = list.stream().filter(item -> !flowCardIdList.contains(item.getFlowCardId() + ":" + item.getLayer())).collect(Collectors.toList()); + //鏄惁闇�瑕佸皢宸叉弧鐨勫伐浣嶇疆涓轰笉鍙惤鏋� + if (CollectionUtils.isNotEmpty(workstationFull)) { + List<Integer> workstationIds = workstationFull.stream().map(DownWorkstation::getWorkstationId).collect(Collectors.toList()); + downWorkstationService.update(new LambdaUpdateWrapper<DownWorkstation>().set(DownWorkstation::getEnableState, Const.SLOT_OFF) + .in(DownWorkstation::getWorkstationId, workstationIds)); + } + } + return workstationFull; } } -- Gitblit v1.8.0