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 | 66 ++++++++++++++++++++++++++++++++ 1 files changed, 65 insertions(+), 1 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 9e3899c..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 @@ -5,10 +5,14 @@ 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.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) { @@ -35,6 +43,43 @@ return jams.stream().findFirst().orElse(null); } 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 @@ -55,7 +100,10 @@ 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()) @@ -86,4 +134,20 @@ 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