| | |
| | | |
| | | @Override |
| | | @Transactional |
| | | public R createInTask(CreateInTaskParam param) { |
| | | public R createInTask(CreateInTaskParam param, CreateWcsTaskParam createWcsTaskParam) { |
| | | //获取入库任务类型 |
| | | TaskCtg taskCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>() |
| | | .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.IN)) |
| | |
| | | priority = param.getPriority(); |
| | | } |
| | | |
| | | 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); |
| | | task.setOriginSite(param.getOriginSite()); |
| | | task.setOriginLoc(null); |
| | | task.setDestSite(destSite); |
| | | task.setDestLoc(param.getDestLoc()); |
| | | task.setZpallet(param.getBarcode()); |
| | | task.setIoTime(new Date()); |
| | | task.setStartTime(new Date()); |
| | | task.setStatus(1); |
| | | task.setMemo(""); |
| | | task.setShuttleNo(null);//等待主线程分配小车 |
| | | task.setRecordLoc("Y");//记录库存信息 |
| | | task.setHostId(hostId);//临时控制只允许host为1 |
| | | task.setMemo(param.getEndSite()); |
| | | if (createWcsTaskParam != null) { |
| | | //转发agv |
| | | if (!createWcsTaskParam.getFrmPos().equals("06YZ0001")){ |
| | | try { |
| | | AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam(); |
| | | getInRequestParam(agvTaskCreateParam, createWcsTaskParam); |
| | | String httpRequest = doHttpRequest(agvTaskCreateParam, "172.18.16.248:443", "/rcs/rtas/api/robot/controller/task/submit"); |
| | | if (!httpRequest.equals("SUCCESS")){ |
| | | throw new CoolException("转发AGV任务失败" + httpRequest); |
| | | } |
| | | |
| | | boolean result = taskService.save(task); |
| | | if (!result) { |
| | | throw new CoolException("生成入库任务失败!"); |
| | | 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); |
| | | task.setOriginSite(param.getOriginSite()); |
| | | task.setOriginLoc(null); |
| | | task.setDestSite(destSite); |
| | | task.setDestLoc(param.getDestLoc()); |
| | | task.setZpallet(param.getBarcode()); |
| | | task.setIoTime(new Date()); |
| | | task.setStartTime(new Date()); |
| | | task.setStatus(1); |
| | | task.setMemo(""); |
| | | task.setShuttleNo(null);//等待主线程分配小车 |
| | | task.setRecordLoc("Y");//记录库存信息 |
| | | task.setHostId(hostId);//临时控制只允许host为1 |
| | | task.setMemo(param.getEndSite()); |
| | | |
| | | boolean result = taskService.save(task); |
| | | if (!result) { |
| | | throw new CoolException("生成入库任务失败!"); |
| | | } |
| | | }catch (Exception e){ |
| | | throw new CoolException("转发AGV任务出错" + e.getMessage()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public R createOutTask(CreateOutTaskParam param) { |
| | | public R createOutTask(CreateOutTaskParam param, CreateWcsTaskParam createWcsTaskParam) { |
| | | //获取出库任务类型 |
| | | TaskCtg taskCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>() |
| | | .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.OUT)) |
| | |
| | | .eq(BasConveyorPath::getTypeNo, taskCtg.getId()) |
| | | .eq(BasConveyorPath::getHostId, hostId) |
| | | .eq(BasConveyorPath::getStnNo, param.getDestSite())); |
| | | if(path == null) { |
| | | if (path == null) { |
| | | throw new CoolException("内置路径不存在"); |
| | | } |
| | | Integer deviceNo = path.getDeviceNo();//获取提升机号 |
| | | BasLift basLift = basLiftService.getOne(new LambdaQueryWrapper<BasLift>().eq(BasLift::getLiftNo, deviceNo).eq(BasLift::getHostId, hostId)); |
| | | if(basLift == null) { |
| | | if (basLift == null) { |
| | | throw new CoolException("提升机对象不存在"); |
| | | } |
| | | List<BasLiftStaDto> staList = JSON.parseArray(basLift.getSta(), BasLiftStaDto.class); |
| | |
| | | } |
| | | |
| | | BasConveyor basConveyor = basConveyorService.getOne(new LambdaQueryWrapper<BasConveyor>().eq(BasConveyor::getConveyorNo, basConveyorSta.getConveyorNo())); |
| | | if(basConveyor == null) { |
| | | if (basConveyor == null) { |
| | | throw new CoolException("输送线不存在"); |
| | | } |
| | | |
| | | DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, basConveyor.getDeviceId().intValue()); |
| | | if(devpThread == null) { |
| | | if (devpThread == null) { |
| | | throw new CoolException("输送线线程不存在"); |
| | | } |
| | | |
| | |
| | | if (!result) { |
| | | throw new CoolException("生成出库任务失败!"); |
| | | } |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | createInTaskParam.setEndSite(param.getToPos()); |
| | | R inTask = null; |
| | | try { |
| | | inTask = this.createInTask(createInTaskParam); |
| | | inTask = this.createInTask(createInTaskParam, param); |
| | | int code = (int) inTask.get("code"); |
| | | if (code == 200){ |
| | | map.put("success", "1"); |
| | | map.put("message", inTask.get("msg")); |
| | | map.put("result", ""); |
| | | map.put("requestPK", param.getRequestPK()); |
| | | |
| | | if (!param.getFrmPos().equals("06YZ0001")){ |
| | | try { |
| | | AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam(); |
| | | getInRequestParam(agvTaskCreateParam,param); |
| | | String httpRequest = doHttpRequest(agvTaskCreateParam, "172.18.16.248:443", "/rcs/rtas/api/robot/controller/task/submit"); |
| | | if (!httpRequest.equals("SUCCESS")){ |
| | | map.put("success", "0"); |
| | | map.put("message", httpRequest); |
| | | map.put("result", ""); |
| | | map.put("requestPK", param.getRequestPK()); |
| | | log.info("返回mes信息:"+ JSONObject.toJSONString(map)); |
| | | return map; |
| | | } |
| | | }catch (Exception e){ |
| | | map.put("success", "0"); |
| | | map.put("message", "转发AGV任务出错"); |
| | | map.put("result", ""); |
| | | map.put("requestPK", param.getRequestPK()); |
| | | log.info("返回mes信息:"+JSONObject.toJSONString(map)); |
| | | return map; |
| | | } |
| | | } |
| | | |
| | | }else { |
| | | map.put("success", "0"); |
| | | map.put("message", inTask.get("msg")); |
| | | map.put("result", ""); |
| | | map.put("requestPK", param.getRequestPK()); |
| | | } |
| | | |
| | | }catch (Exception e){ |
| | | map.put("success", "0"); |
| | | map.put("message", e.getMessage()); |
| | |
| | | createOutTaskParam.setZpallet(param.getContNo()); |
| | | R outTask = null; |
| | | try { |
| | | outTask = this.createOutTask(createOutTaskParam); |
| | | outTask = this.createOutTask(createOutTaskParam, param); |
| | | |
| | | int code = (int) outTask.get("code"); |
| | | if (code == 200){ |
| | |
| | | map.put("message", outTask.get("msg")); |
| | | map.put("result", ""); |
| | | map.put("requestPK", param.getRequestPK()); |
| | | |
| | | if (!param.getFrmPos().equals("06YZ0001")){ |
| | | try { |
| | | AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam(); |
| | | getInRequestParam(agvTaskCreateParam,param); |
| | | String httpRequest = doHttpRequest(agvTaskCreateParam, "172.18.16.248:443", "/rcs/rtas/api/robot/controller/task/submit"); |
| | | if (!httpRequest.equals("SUCCESS")){ |
| | | map.put("success", "0"); |
| | | map.put("message", httpRequest); |
| | | map.put("result", ""); |
| | | map.put("requestPK", param.getRequestPK()); |
| | | log.info("返回mes信息:"+ JSONObject.toJSONString(map)); |
| | | return map; |
| | | } |
| | | }catch (Exception e){ |
| | | map.put("success", "0"); |
| | | map.put("message", "转发AGV任务出错"); |
| | | map.put("result", ""); |
| | | map.put("requestPK", param.getRequestPK()); |
| | | log.info("返回mes信息:"+JSONObject.toJSONString(map)); |
| | | return map; |
| | | } |
| | | } |
| | | |
| | | }else { |
| | | map.put("success", "0"); |
| | | map.put("message", outTask.get("msg")); |
| | |
| | | |
| | | }catch (Exception e){ |
| | | map.put("success", "0"); |
| | | map.put("message", "生成任务出错"); |
| | | map.put("message", e.getMessage()); |
| | | map.put("result", ""); |
| | | map.put("requestPK", param.getRequestPK()); |
| | | log.info("返回mes信息:"+JSONObject.toJSONString(map)); |
| | |
| | | map.put("requestPK", param.getRequestPK()); |
| | | log.info("返回mes信息:"+JSONObject.toJSONString(map)); |
| | | return map; |
| | | }else { |
| | | map.put("success", "1"); |
| | | map.put("message", "success"); |
| | | map.put("result", ""); |
| | | map.put("requestPK", param.getRequestPK()); |
| | | log.info("返回mes信息:"+JSONObject.toJSONString(map)); |
| | | return map; |
| | | } |
| | | }catch (Exception e){ |
| | | map.put("success", "0"); |