| | |
| | | .eq(Segment::getSerial, serial - 1) |
| | | .eq(Segment::getState, SegmentStateType.FINISH.toString()) |
| | | .orderByDesc(Segment::getId) |
| | | .last("limit 1") |
| | | ); |
| | | } |
| | | |
| | |
| | | public Boolean cancel(Long segmentId, Long userId) { |
| | | Date now = new Date(); |
| | | Segment segment = this.getById(segmentId); |
| | | Long travelId = segment.getTravelId(); |
| | | String groupId = segment.getGroupId(); |
| | | // update segment list |
| | | List<Segment> segmentList = this.list(new LambdaQueryWrapper<Segment>().eq(Segment::getGroupId, groupId)); |
| | | List<Segment> segmentList = this.list(new LambdaQueryWrapper<Segment>().eq(Segment::getTravelId, travelId)); |
| | | for (Segment seg : segmentList) { |
| | | Task task = taskService.getById(segment.getTaskId()); |
| | | if (task != null && |
| | |
| | | } |
| | | this.processNext(segmentList); |
| | | // update action list |
| | | actionService.updateStsByGroupId(groupId, ActionStsType.EXPIRED.val()); |
| | | if (!Cools.isEmpty(groupId)) { |
| | | actionService.updateStsByGroupId(groupId, ActionStsType.EXPIRED.val()); |
| | | } |
| | | return Boolean.TRUE; |
| | | } |
| | | |
| | |
| | | return segments.get(0); |
| | | } |
| | | |
| | | @Override |
| | | public Boolean isRollerWaiting(Long agvId) { |
| | | return 0 < this.count(new LambdaQueryWrapper<Segment>() |
| | | .eq(Segment::getAgvId, agvId) |
| | | .eq(Segment::getState, SegmentStateType.WAITING.toString()) |
| | | .eq(Segment::getRollerWaiting, 1) |
| | | ); |
| | | } |
| | | |
| | | } |