| | |
| | | import com.zy.acs.manager.core.domain.TaskPosDto; |
| | | import com.zy.acs.manager.core.integrate.conveyor.ConveyorStationService; |
| | | import com.zy.acs.manager.core.service.astart.MapDataDispatcher; |
| | | import com.zy.acs.manager.manager.controller.param.OpenBusSubmitParam; |
| | | import com.zy.acs.manager.core.integrate.dto.OpenBusSubmitParam; |
| | | import com.zy.acs.manager.manager.entity.*; |
| | | import com.zy.acs.manager.manager.enums.*; |
| | | import com.zy.acs.manager.manager.service.*; |
| | |
| | | if (!Cools.isEmpty(errorMsg)) { |
| | | throw new BusinessException(errorMsg); |
| | | } |
| | | String batch = busSubmitParam.getBatch(); |
| | | List<TaskDto> taskDtoList = busSubmitParam.getTaskList(); |
| | | String batch = busSubmitParam.getBatchNo(); |
| | | List<TaskDto> taskDtoList = busSubmitParam.getTasks(); |
| | | if (Cools.isEmpty(taskDtoList)) { |
| | | throw new BusinessException("taskList can't be empty!"); |
| | | } |
| | |
| | | task.setPriority(taskType.equals(TaskTypeType.TO_CHARGE)?2:1); |
| | | task.setTaskSts(TaskStsType.ASSIGN.val()); |
| | | task.setTaskType(taskType.val()); |
| | | task.setUplinkSts(TaskUplinkStateType.SKIPPED.toString()); |
| | | task.setIoTime(now); |
| | | task.setStartTime(now); |
| | | if (!taskService.save(task)) { |
| | |
| | | long actionPrepareSts = ActionStsType.PREPARE.val(); |
| | | // JSONObject storeDirection = configService.getVal("storeDirection", JSONObject.class); |
| | | int angleOffsetVal = configService.getVal("mapAngleOffsetVal", Integer.class); |
| | | Double defaultShelfDepth = configService.getVal("defaultShelfDepth", Double.class); |
| | | defaultShelfDepth = Optional.ofNullable(defaultShelfDepth).orElse((double) 0); |
| | | // Double defaultShelfDepth = configService.getVal("defaultShelfDepth", Double.class); |
| | | // defaultShelfDepth = Optional.ofNullable(defaultShelfDepth).orElse((double) 0); |
| | | String agvNo = agvService.getAgvNo(agvId); |
| | | // if (!agvService.judgeEnable(agvId)) { |
| | | // throw new CoolException("AGV[" + agvNo + "]当前不可用..."); |
| | |
| | | ActionTypeType.ReadyTakeFromShelvesLoc.desc, // 名称 |
| | | (double) agvDirectionType.val, // 属性值 |
| | | lastCode.getData(), // 地面码 |
| | | JSON.toJSONString(new HeightDepthDto(oriLoc.getOffset(), defaultShelfDepth)), // 动作参数 |
| | | JSON.toJSONString(new HeightDepthDto(oriLoc.getOffset())), // 动作参数 |
| | | ActionTypeType.ReadyTakeFromShelvesLoc.val(), // 动作类型 |
| | | actionPrepareSts, // 动作进度 |
| | | agvId, // AGV |
| | |
| | | ActionTypeType.ReadyReleaseToShelvesLoc.desc, // 名称 |
| | | (double) agvDirectionType.val, // 属性值 |
| | | lastCode.getData(), // 地面码 |
| | | JSON.toJSONString(new HeightDepthDto(destLoc.getOffset(), defaultShelfDepth)), // 动作参数 |
| | | JSON.toJSONString(new HeightDepthDto(destLoc.getOffset())), // 动作参数 |
| | | ActionTypeType.ReadyReleaseToShelvesLoc.val(), // 动作类型 |
| | | actionPrepareSts, // 动作进度 |
| | | agvId, // AGV |
| | |
| | | // load from sta |
| | | sta = staService.getById(currTask.getOriSta()); |
| | | // reserve to be waiting |
| | | if (!staReserveService.waitingStaReserve(sta, currTask, 1, StaReserveType.OUT)) { |
| | | if (!staReserveService.waitingStaReserve(sta, currTask, currSeg, 1, StaReserveType.OUT)) { |
| | | break; |
| | | } |
| | | // convey plc valid |
| | |
| | | // place to sta |
| | | sta = staService.getById(currTask.getDestSta()); |
| | | // reserve to be waiting |
| | | if (!staReserveService.waitingStaReserve(sta, currTask, 1, StaReserveType.IN)) { |
| | | if (!staReserveService.waitingStaReserve(sta, currTask, currSeg, 1, StaReserveType.IN)) { |
| | | break; |
| | | } |
| | | // convey plc valid |