From ebd2f4397a92c6a5096de1b86d59154363344720 Mon Sep 17 00:00:00 2001 From: vincentlu <t1341870251@gmail.com> Date: 星期二, 13 五月 2025 08:48:15 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/JamServiceImpl.java | 89 +++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 87 insertions(+), 2 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/JamServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/JamServiceImpl.java index b495c0a..ecd5db2 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/JamServiceImpl.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/JamServiceImpl.java @@ -2,13 +2,17 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zy.acs.framework.common.Cools; import com.zy.acs.manager.manager.entity.Code; import com.zy.acs.manager.manager.entity.Jam; +import com.zy.acs.manager.manager.entity.Segment; import com.zy.acs.manager.manager.enums.JamStateType; +import com.zy.acs.manager.manager.enums.SegmentStateType; import com.zy.acs.manager.manager.mapper.JamMapper; +import com.zy.acs.manager.manager.service.AgvService; import com.zy.acs.manager.manager.service.CodeService; import com.zy.acs.manager.manager.service.JamService; -import com.zy.acs.framework.common.Cools; +import com.zy.acs.manager.manager.service.SegmentService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -22,6 +26,10 @@ @Autowired private CodeService codeService; + @Autowired + private AgvService agvService; + @Autowired + private SegmentService segmentService; @Override public Jam getJam(Long agvId, Long jamCode, Long jamSeg) { @@ -37,13 +45,65 @@ return null; } + /** + * 鍥犱负浣犺�岄樆濉炵殑杞�,鐜板湪浣犲凡缁忓湪閬胯鐐逛簡 + * 浣犵殑涓嬩竴涓猻egment鏄笉鏄張浼氬鑷撮樆濉� + */ + @Override + public List<Jam> getUnfinishedOriginJamByAvo(Long avoAgv, Long currCode, Long currSeg) { + return this.baseMapper.selectUnfinishedJamByAvo(avoAgv, currCode, null); + } + + @Override + public Jam getCycleJam(Long jamAgv, Long jamSeg, String avoAgvNo) { + List<Jam> jams = this.list(new LambdaQueryWrapper<Jam>() + .eq(Jam::getJamAgv, jamAgv) + .eq(Jam::getJamSeg, jamSeg) + .eq(Jam::getAvoAgv, agvService.getAgvId(avoAgvNo)) + .eq(Jam::getCycleAvo, 1) + .ne(Jam::getState, JamStateType.DEPRECATED.toString()) +// .eq(Jam::getState, JamStateType.RUNNING.toString()) + ); + if (!Cools.isEmpty(jams)) { + return jams.stream().findFirst().orElse(null); + } + return null; + } + + @Override + public List<Jam> getJamFromSegmentByAvo(Segment jamSeg, String avoAgvNo) { + Long avoAgvId = agvService.getAgvId(avoAgvNo); + return this.baseMapper.selectJamFromSegmentByAvo(jamSeg.getId(), avoAgvId); + } + + @Override + public List<Jam> getUnfinishedAvoSegByAvo(String avoAgvNo, Segment currSeg) { + Long agvId = agvService.getAgvId(avoAgvNo); + return this.baseMapper.selectUnfinishedAvoSegByAvo(agvId, null); + } + + @Override + public List<Jam> queryByAvoid(Long avoAgv, JamStateType jamState) { + if (null == avoAgv) { + return null; + } + LambdaQueryWrapper<Jam> wrapper = new LambdaQueryWrapper<Jam>().eq(Jam::getAvoAgv, avoAgv); + if (null != jamState) { + wrapper.eq(Jam::getState, jamState.toString()); + } + return this.list(wrapper); + } + @Override public Boolean checkIfFinish(Long avoAgv, String currCodeData) { if (Cools.isEmpty(avoAgv, currCodeData)) { return null; } Date now = new Date(); - Code code = codeService.selectByData(currCodeData); + Code code = codeService.getCacheByData(currCodeData); + if (null == code) { + return null; + } List<Jam> jams = this.list(new LambdaQueryWrapper<Jam>() .eq(Jam::getAvoAgv, avoAgv) .eq(Jam::getAvoCode, code.getId()) @@ -62,6 +122,31 @@ @Override public boolean deprecate(Long id, Long loginUserId) { + Jam jam = this.getById(id); + if (null == jam) { + return false; + } + Date now = new Date(); + jam.setState(JamStateType.DEPRECATED.toString()); + jam.setUpdateTime(now); + jam.setEndTime(now); + jam.setUpdateBy(loginUserId); + return this.updateById(jam); + } + + @Override + public boolean isAvoidSeg(Long currSeg) { + List<Jam> list = this.list(new LambdaQueryWrapper<Jam>() + .eq(Jam::getAvoSeg, currSeg) + .eq(Jam::getState, JamStateType.RUNNING.toString())); + if (!Cools.isEmpty(list)) { + for (Jam jam : list) { + Segment jamSeg = segmentService.getById(jam.getJamSeg()); + if (jamSeg.getState().equals(SegmentStateType.WAITING.toString()) || jamSeg.getState().equals(SegmentStateType.RUNNING.toString())) { + return true; + } + } + } return false; } -- Gitblit v1.9.1