| | |
| | | |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.Random; |
| | | import java.util.concurrent.Executors; |
| | | import java.util.concurrent.ScheduledExecutorService; |
| | | import java.util.concurrent.TimeUnit; |
| | |
| | | if (dtos.isEmpty()) { |
| | | scheduled.shutdown(); |
| | | } |
| | | dtos.forEach(dto -> { |
| | | for (SyncLocsDto dto : dtos) { |
| | | Loc loc = new Loc(); |
| | | String string = new Random().nextInt(10000000) + ""; |
| | | Loc one = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, string)); |
| | | if (!Objects.isNull(one)) { |
| | | string = new Random().nextInt(10000000) + ""; |
| | | } |
| | | loc.setCode(dto.getLocNo()) |
| | | .setBarcode(dto.getBarcode()) |
| | | .setRow(dto.getRow()) |
| | |
| | | .setId(null) |
| | | .setAreaId(41L) |
| | | .setWarehouseId(27L) |
| | | .setBarcode(string) |
| | | .setCol(dto.getBay()) |
| | | .setType(dto.getLocType()) |
| | | .setStatus(dto.getStatusBool()) |
| | |
| | | scheduled.shutdown(); |
| | | throw new CoolException("WCS库位同步失败!!"); |
| | | } |
| | | }); |
| | | } |
| | | current++; |
| | | } |
| | | }, 1, 1, TimeUnit.SECONDS); |
| | |
| | | if (Objects.isNull(params)) { |
| | | return R.error("参数不能为空!!"); |
| | | } |
| | | |
| | | |
| | | Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getTaskCode, params.getSeqNum())); |
| | | if (Objects.isNull(task)) { |
| | | throw new CoolException("任务不存在!!"); |
| | | } |
| | | |
| | | if (params.getEventType().equals("END")) { |
| | | if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type) |
| | | || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type) |
| | | || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type) |
| | | || task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_IN.type) |
| | | || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_IN.type) |
| | | || task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) { |
| | | if (!taskService.update(new LambdaUpdateWrapper<Task>().eq(Task::getTaskCode, task.getTaskCode()) |
| | | .set(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id))) { |
| | | throw new CoolException("任务状态修改失败!!"); |
| | | } |
| | | } else if (task.getTaskType().equals(TaskType.TASK_TYPE_OUT.type) |
| | | || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type) |
| | | || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_OUT.type) |
| | | || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type) |
| | | || task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_OUT.type)) { |
| | | if (!taskService.update(new LambdaUpdateWrapper<Task>().eq(Task::getTaskCode, task.getTaskCode()) |
| | | .set(Task::getTaskStatus, TaskStsType.COMPLETE_OUT.id))) { |
| | | throw new CoolException("任务状态修改失败!!"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | log.info(JSONObject.toJSONString(params)); |
| | | return R.ok(JSONObject.toJSONString(params)); |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | private InTaskMsgDto getLocNoCrn(String orgLoc, DeviceBind deviceBind, Long area, Integer sourceStaNo, String matnr, String batch, LocTypeDto locTypeDto, int times, Integer ioType) { |
| | | private InTaskMsgDto getLocNoCrn(String orgLoc, DeviceBind deviceBind, Long area, String sourceStaNo, String matnr, String batch, LocTypeDto locTypeDto, int times, Integer ioType) { |
| | | if (Cools.isEmpty(matnr)) { //物料号 |
| | | matnr = ""; |
| | | } |
| | |
| | | if (Cools.isEmpty(deviceSite)) { |
| | | channel = 0; |
| | | } else { |
| | | inTaskMsgDto.setStaNo(Integer.parseInt(deviceSite.getDeviceSite())); |
| | | inTaskMsgDto.setStaNo(deviceSite.getDeviceSite()); |
| | | } |
| | | |
| | | //更新当前排 |
| | |
| | | return inTaskMsgDto; |
| | | } |
| | | |
| | | private InTaskMsgDto getLocNoCtu(DeviceBind deviceBind, Long area, Integer sourceStaNo, String matnr, String batch, LocTypeDto locTypeDto, int times, Integer ioType) { |
| | | private InTaskMsgDto getLocNoCtu(DeviceBind deviceBind, Long area, String sourceStaNo, String matnr, String batch, LocTypeDto locTypeDto, int times, Integer ioType) { |
| | | if (Cools.isEmpty(matnr)) { //物料号 |
| | | matnr = ""; |
| | | } |
| | |
| | | DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>() |
| | | .eq(DeviceSite::getType, ioType) |
| | | .eq(DeviceSite::getSite, sourceStaNo) |
| | | .eq(DeviceSite::getDeviceCode, loc.getDeviceNo()) |
| | | .eq(!Objects.isNull(loc.getDeviceNo()), DeviceSite::getDeviceCode, loc.getDeviceNo()) |
| | | ); |
| | | if (Cools.isEmpty(deviceSite)) { |
| | | deviceNo = 0; |
| | | loc = null; |
| | | } else { |
| | | inTaskMsgDto.setStaNo(Integer.parseInt(deviceSite.getDeviceSite())); |
| | | inTaskMsgDto.setStaNo(deviceSite.getDeviceSite()); |
| | | } |
| | | // 递归查询 |
| | | if (Cools.isEmpty(loc) || !loc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) { |