| | |
| | | import com.zy.asrs.wcs.rcs.service.DeviceService; |
| | | import com.zy.asrs.wcs.rcs.thread.ShuttleThread; |
| | | import com.zy.asrs.wcs.system.controller.BaseController; |
| | | import com.zy.asrs.wcs.system.entity.Dict; |
| | | import com.zy.asrs.wcs.system.service.DictService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | |
| | | private DeviceService deviceService; |
| | | @Autowired |
| | | private LocService locService; |
| | | @Autowired |
| | | private DictService dictService; |
| | | |
| | | //生成入库任务 |
| | | @PostMapping("/createInTask") |
| | |
| | | return R.error("库位号不存在"); |
| | | } |
| | | |
| | | if (!loc.getLocStsFlag().equals("O")) { |
| | | //获取严格模式参数 |
| | | boolean mapStrict = true;//默认严格模式 |
| | | Dict dict = dictService.getOne(new LambdaQueryWrapper<Dict>().eq(Dict::getFlag, "shuttleMapStrict")); |
| | | if (dict != null) { |
| | | mapStrict = Boolean.parseBoolean(dict.getValue()); |
| | | } |
| | | |
| | | if (mapStrict && !loc.getLocStsFlag().equals("O")) { |
| | | return R.error("库位状态不满足入库条件"); |
| | | } |
| | | |
| | | Task one = taskService.getOne(new LambdaQueryWrapper<Task>() |
| | | .eq(Task::getTaskCtg, taskCtg.getId()) |
| | | .eq(Task::getOriginSite, param.getOriginSite()) |
| | | .eq(Task::getDestSite, param.getDestSite()) |
| | | .eq(Task::getDestLoc, param.getDestLoc())); |
| | | if (one != null) { |
| | | return R.error("任务已存在"); |
| | | } |
| | | |
| | | //优先级 |
| | |
| | | Task task = new Task(); |
| | | task.setUuid(String.valueOf(snowflakeIdWorker.nextId())); |
| | | task.setTaskNo(String.valueOf(Utils.getTaskNo("IN"))); |
| | | task.setWmsTaskNo(param.getTaskNo()); |
| | | task.setTaskSts(TaskStsType.NEW_INBOUND.sts); |
| | | task.setTaskCtg(taskCtg.getId()); |
| | | task.setPriority(priority); |
| | |
| | | return R.error("库位号不存在"); |
| | | } |
| | | |
| | | if (!loc.getLocStsFlag().equals("F")) { |
| | | //获取严格模式参数 |
| | | boolean mapStrict = true;//默认严格模式 |
| | | Dict dict = dictService.getOne(new LambdaQueryWrapper<Dict>().eq(Dict::getFlag, "shuttleMapStrict")); |
| | | if (dict != null) { |
| | | mapStrict = Boolean.parseBoolean(dict.getValue()); |
| | | } |
| | | |
| | | if (mapStrict && !loc.getLocStsFlag().equals("F")) { |
| | | return R.error("库位状态不满足出库条件"); |
| | | } |
| | | |
| | | Task one = taskService.getOne(new LambdaQueryWrapper<Task>() |
| | | .eq(Task::getTaskCtg, taskCtg.getId()) |
| | | .eq(Task::getOriginSite, param.getOriginSite()) |
| | | .eq(Task::getOriginLoc, param.getOriginLoc()) |
| | | .eq(Task::getDestSite, param.getDestSite())); |
| | | if (one != null) { |
| | | return R.error("任务已存在"); |
| | | } |
| | | |
| | | //优先级 |
| | |
| | | Task task = new Task(); |
| | | task.setUuid(String.valueOf(snowflakeIdWorker.nextId())); |
| | | task.setTaskNo(String.valueOf(Utils.getTaskNo("OUT"))); |
| | | task.setWmsTaskNo(param.getTaskNo()); |
| | | task.setTaskSts(TaskStsType.NEW_OUTBOUND.sts); |
| | | task.setTaskCtg(taskCtg.getId()); |
| | | task.setPriority(priority); |
| | |
| | | return R.error("任务类型异常"); |
| | | } |
| | | |
| | | Task one = taskService.getOne(new LambdaQueryWrapper<Task>() |
| | | .eq(Task::getTaskCtg, taskCtg.getId()) |
| | | .eq(Task::getOriginLoc, param.getOriginLoc()) |
| | | .eq(Task::getDestLoc, param.getDestLoc())); |
| | | if (one != null) { |
| | | return R.error("任务已存在"); |
| | | } |
| | | |
| | | //优先级 |
| | | Integer priority = 10; |
| | | if (param.getPriority() != null) { |
| | |
| | | Task task = new Task(); |
| | | task.setUuid(String.valueOf(snowflakeIdWorker.nextId())); |
| | | task.setTaskNo(String.valueOf(Utils.getTaskNo("OUT"))); |
| | | task.setWmsTaskNo(param.getTaskNo()); |
| | | task.setTaskSts(TaskStsType.NEW_MANUAL.sts); |
| | | task.setTaskCtg(taskCtg.getId()); |
| | | task.setPriority(priority); |
| | |
| | | return R.error("穿梭车和目标位置不在同一楼层"); |
| | | } |
| | | |
| | | Task one = taskService.getOne(new LambdaQueryWrapper<Task>() |
| | | .eq(Task::getTaskCtg, taskCtg.getId()) |
| | | .eq(Task::getDestLoc, param.getDestLoc())); |
| | | if (one != null) { |
| | | return R.error("任务已存在"); |
| | | } |
| | | |
| | | //优先级 |
| | | Integer priority = 10; |
| | | if (param.getPriority() != null) { |
| | |
| | | Task task = new Task(); |
| | | task.setUuid(String.valueOf(snowflakeIdWorker.nextId())); |
| | | task.setTaskNo(String.valueOf(Utils.getTaskNo("OUT"))); |
| | | task.setWmsTaskNo(param.getTaskNo()); |
| | | task.setTaskSts(TaskStsType.NEW_MOVE.sts); |
| | | task.setTaskCtg(taskCtg.getId()); |
| | | task.setPriority(priority); |
| | | task.setOriginSite(null); |
| | | task.setOriginLoc(null); |
| | | task.setDestSite(param.getDestLoc()); |
| | | task.setDestLoc(null); |
| | | task.setDestSite(null); |
| | | task.setDestLoc(param.getDestLoc()); |
| | | task.setIoTime(new Date()); |
| | | task.setStartTime(new Date()); |
| | | task.setStatus(1); |