| | |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.common.Cools; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.domain.enums.TaskStatusType; |
| | | import com.zy.asrs.domain.enums.WorkNoType; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.param.GenerateAgvTaskParam; |
| | | import com.zy.asrs.entity.param.TaskCreateParam; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.utils.Utils; |
| | |
| | | return map; |
| | | } |
| | | |
| | | @Override |
| | | public boolean generateAgvTask(GenerateAgvTaskParam param) { |
| | | Date now = new Date(); |
| | | String originPoint = param.getOriginPoint(); |
| | | String targetPoint = param.getTargetPoint(); |
| | | LocMast startLocMast = locMastService.selectByLocNo(originPoint); |
| | | if(startLocMast == null){ |
| | | throw new CoolException("取货点库位不存在"); |
| | | } |
| | | |
| | | if (!startLocMast.getLocSts().equals("F")) { |
| | | throw new CoolException("取货点不处于在库"); |
| | | } |
| | | |
| | | LocMast targetLocMast = locMastService.selectByLocNo(targetPoint); |
| | | if(targetLocMast == null){ |
| | | throw new CoolException("放货点库位不存在"); |
| | | } |
| | | |
| | | if (!targetLocMast.getLocSts().equals("O")) { |
| | | throw new CoolException("放货点不处于空库"); |
| | | } |
| | | |
| | | TaskWrk taskWrk = new TaskWrk(); |
| | | int workNo1 = commonService.getWorkNo(WorkNoType.AGV.type);//获取AGV工作号 |
| | | |
| | | taskWrk.setTaskNo(String.valueOf(workNo1));//任务号 |
| | | taskWrk.setWrkNo(workNo1); |
| | | taskWrk.setStatus(TaskStatusType.RECEIVE.id);//任务状态:接收 |
| | | taskWrk.setCreateTime(now); |
| | | taskWrk.setWrkSts(11); |
| | | taskWrk.setIoType(4);//AGV搬运 |
| | | taskWrk.setStartPoint(param.getOriginPoint());//取货点 |
| | | taskWrk.setTargetPoint(param.getTargetPoint());//放货点 |
| | | |
| | | boolean insert = taskWrkService.insert(taskWrk); |
| | | if (!insert) { |
| | | throw new CoolException("任务生成失败"); |
| | | } |
| | | |
| | | startLocMast.setLocSts("R"); |
| | | startLocMast.setModiTime(now); |
| | | locMastService.updateById(startLocMast); |
| | | |
| | | targetLocMast.setLocSts("S"); |
| | | targetLocMast.setModiTime(now); |
| | | locMastService.updateById(targetLocMast); |
| | | |
| | | return true; |
| | | } |
| | | } |