|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.mapper.EntityWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.service.impl.ServiceImpl; | 
|---|
|  |  |  | import com.zy.asrs.entity.LocMast; | 
|---|
|  |  |  | import com.core.common.Cools; | 
|---|
|  |  |  | import com.core.exception.CoolException; | 
|---|
|  |  |  | import com.zy.asrs.entity.WrkMast; | 
|---|
|  |  |  | import com.zy.asrs.mapper.WrkMastMapper; | 
|---|
|  |  |  | import com.zy.asrs.service.WrkMastService; | 
|---|
|  |  |  | import com.zy.asrs.utils.Utils; | 
|---|
|  |  |  | import com.zy.core.enums.WrkIoType; | 
|---|
|  |  |  | import com.zy.core.enums.WrkStsType; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Service("wrkMastService") | 
|---|
|  |  |  | public class WrkMastServiceImpl extends ServiceImpl<WrkMastMapper, WrkMast> implements WrkMastService { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public int getWorkingMast(Integer devpNo) { | 
|---|
|  |  |  | return selectCount(new EntityWrapper<WrkMast>().eq("source_sta_no", devpNo).in("wrk_sts", 1, 6)); | 
|---|
|  |  |  | public WrkMast selectByWorkNo(Integer workNo) { | 
|---|
|  |  |  | return this.baseMapper.selectByWorkNo(workNo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<WrkMast> selectToBeCompleteData() { | 
|---|
|  |  |  | return this.baseMapper.selectToBeCompleteData(); | 
|---|
|  |  |  | public Boolean judgeInbound(WrkMast wrkMast) { | 
|---|
|  |  |  | switch (WrkStsType.query(wrkMast.getWrkSts())) { | 
|---|
|  |  |  | case NEW_INBOUND: | 
|---|
|  |  |  | case INBOUND_DEVICE_RUN: | 
|---|
|  |  |  | case INBOUND_LIFT_RUN: | 
|---|
|  |  |  | case INBOUND_LIFT_RUN_COMPLETE: | 
|---|
|  |  |  | case INBOUND_SHUTTLE_RUN: | 
|---|
|  |  |  | case INBOUND_SHUTTLE_RUN_COMPLETE: | 
|---|
|  |  |  | case COMPLETE_INBOUND: | 
|---|
|  |  |  | case SETTLE_INBOUND: | 
|---|
|  |  |  | return Boolean.TRUE; | 
|---|
|  |  |  | case NEW_OUTBOUND: | 
|---|
|  |  |  | case OUTBOUND_SHUTTLE_RUN: | 
|---|
|  |  |  | case OUTBOUND_SHUTTLE_RUN_COMPLETE: | 
|---|
|  |  |  | case OUTBOUND_LIFT_RUN: | 
|---|
|  |  |  | case OUTBOUND_LIFT_RUN_COMPLETE: | 
|---|
|  |  |  | case COMPLETE_OUTBOUND: | 
|---|
|  |  |  | case SETTLE_OUTBOUND: | 
|---|
|  |  |  | return Boolean.FALSE; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return Boolean.TRUE; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<WrkMast> selectToBeHistoryData() { | 
|---|
|  |  |  | return this.baseMapper.selectToBeHistoryData(); | 
|---|
|  |  |  | public List<WrkMast> selectWrkByLev(Integer lev) { | 
|---|
|  |  |  | ArrayList<WrkMast> currentLevList = new ArrayList<>(); | 
|---|
|  |  |  | List<WrkMast> wrkMasts = this.baseMapper.selectList(new EntityWrapper<WrkMast>()); | 
|---|
|  |  |  | for (WrkMast wrkMast : wrkMasts) { | 
|---|
|  |  |  | int wrkLev; | 
|---|
|  |  |  | if (wrkMast.getIoType() == WrkIoType.IN.id) { | 
|---|
|  |  |  | wrkLev = Utils.getLev(wrkMast.getLocNo()); | 
|---|
|  |  |  | } else if (wrkMast.getIoType() == WrkIoType.OUT.id) { | 
|---|
|  |  |  | wrkLev = Utils.getLev(wrkMast.getSourceLocNo()); | 
|---|
|  |  |  | } else if (wrkMast.getIoType() == WrkIoType.SHUTTLE_MOVE.id) { | 
|---|
|  |  |  | wrkLev = Utils.getLev(wrkMast.getLocNo()); | 
|---|
|  |  |  | } else if (wrkMast.getIoType() == WrkIoType.LOC_MOVE.id) { | 
|---|
|  |  |  | wrkLev = Utils.getLev(wrkMast.getLocNo()); | 
|---|
|  |  |  | } else if (wrkMast.getIoType() == WrkIoType.SHUTTLE_CHARGE.id) { | 
|---|
|  |  |  | wrkLev = Utils.getLev(wrkMast.getLocNo()); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | throw new CoolException("未知任务类型"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (wrkLev == lev) { | 
|---|
|  |  |  | currentLevList.add(wrkMast); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return currentLevList; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<LocMast> selectNoShuttleWrkByLev(Integer lev) { | 
|---|
|  |  |  | return this.baseMapper.selectNoShuttleWrkByLev("%" + lev); | 
|---|
|  |  |  | public List<WrkMast> selectShuttleWrkByLev(Integer lev) { | 
|---|
|  |  |  | return this.baseMapper.selectShuttleWrkByLev("%" + lev); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<WrkMast> selectShuttleOutWrkByLev(Integer lev) { | 
|---|
|  |  |  | return this.baseMapper.selectShuttleOutWrkByLev("%" + lev); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public WrkMast selectChargeWorking(Integer shuttleNo) { | 
|---|
|  |  |  | return this.baseMapper.selectChargeWorking(shuttleNo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public WrkMast selectChargeWorkingByChargeSta(Integer chargeSta) { | 
|---|
|  |  |  | return this.baseMapper.selectChargeWorkingByChargeSta(chargeSta); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Boolean hasBusyByShuttle(Integer shuttleNo) { | 
|---|
|  |  |  | List<WrkMast> wrkMasts = this.selectList(new EntityWrapper<WrkMast>().in("wrk_sts" | 
|---|
|  |  |  | , WrkStsType.NEW_INBOUND.sts | 
|---|
|  |  |  | , WrkStsType.INBOUND_DEVICE_RUN.sts | 
|---|
|  |  |  | , WrkStsType.INBOUND_LIFT_RUN.sts | 
|---|
|  |  |  | , WrkStsType.INBOUND_LIFT_RUN_COMPLETE.sts | 
|---|
|  |  |  | , WrkStsType.INBOUND_SHUTTLE_RUN.sts | 
|---|
|  |  |  | , WrkStsType.INBOUND_SHUTTLE_RUN_COMPLETE.sts | 
|---|
|  |  |  |  | 
|---|
|  |  |  | , WrkStsType.NEW_OUTBOUND.sts | 
|---|
|  |  |  | , WrkStsType.OUTBOUND_SHUTTLE_RUN.sts | 
|---|
|  |  |  | , WrkStsType.OUTBOUND_SHUTTLE_RUN_COMPLETE.sts | 
|---|
|  |  |  | , WrkStsType.OUTBOUND_LIFT_RUN.sts | 
|---|
|  |  |  | , WrkStsType.OUTBOUND_LIFT_RUN_COMPLETE.sts | 
|---|
|  |  |  |  | 
|---|
|  |  |  | , WrkStsType.NEW_MOVE.sts | 
|---|
|  |  |  | , WrkStsType.MOVE_NEARBY.sts | 
|---|
|  |  |  | , WrkStsType.MOVE_NEARBY_COMPLETE.sts | 
|---|
|  |  |  | , WrkStsType.MOVE_IN_LIFT.sts | 
|---|
|  |  |  | , WrkStsType.MOVE_IN_LIFT_COMPLETE.sts | 
|---|
|  |  |  | , WrkStsType.MOVE_LIFT_RUN.sts | 
|---|
|  |  |  | , WrkStsType.MOVE_LIFT_RUN_COMPLETE.sts | 
|---|
|  |  |  | , WrkStsType.MOVE_OUT_LIFT.sts | 
|---|
|  |  |  | , WrkStsType.MOVE_OUT_LIFT_COMPLETE.sts | 
|---|
|  |  |  | , WrkStsType.MOVE_SHUTTLE.sts | 
|---|
|  |  |  |  | 
|---|
|  |  |  | , WrkStsType.NEW_CHARGE.sts | 
|---|
|  |  |  | , WrkStsType.CHARGE_SHUTTLE_RUN.sts | 
|---|
|  |  |  | , WrkStsType.CHARGE_SHUTTLE_WORKING.sts | 
|---|
|  |  |  | , WrkStsType.CHARGE_SHUTTLE_COMPLETE.sts | 
|---|
|  |  |  | ).eq("shuttle_no", shuttleNo)); | 
|---|
|  |  |  | if (Cools.isEmpty(wrkMasts)) { | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public WrkMast selectShuttleHasMoveWorking(Integer shuttleNo) { | 
|---|
|  |  |  | return this.baseMapper.selectShuttleHasMoveWorking(shuttleNo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public WrkMast selectShuttleWorking(Integer shuttleNo) { | 
|---|
|  |  |  | return this.baseMapper.selectShuttleWorking(shuttleNo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<WrkMast> selectShuttleMoveWrk() { | 
|---|
|  |  |  | return this.baseMapper.selectShuttleMoveWrk(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<WrkMast> selectLiftWrkMast(Integer liftNo) { | 
|---|
|  |  |  | return this.baseMapper.selectLiftWrkMast(liftNo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|