| | |
| | | import com.vincent.rsf.server.api.controller.erp.params.TaskInParam; |
| | | import com.vincent.rsf.server.api.entity.dto.SyncLocsDto; |
| | | import com.vincent.rsf.server.api.entity.enums.CallBackEvent; |
| | | import com.vincent.rsf.server.api.entity.params.CommonRequest; |
| | | import com.vincent.rsf.server.api.entity.params.ExMsgParams; |
| | | import com.vincent.rsf.server.api.entity.params.WcsTaskParams; |
| | | import com.vincent.rsf.server.api.entity.params.*; |
| | | import com.vincent.rsf.server.manager.controller.params.GenerateTaskParams; |
| | | import com.vincent.rsf.server.manager.enums.*; |
| | | import com.vincent.rsf.server.api.service.WcsService; |
| | | import com.vincent.rsf.server.api.utils.LocUtils; |
| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.client.RestTemplate; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.Random; |
| | |
| | | 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)); |
| | | Loc one = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, dto.getLocNo())); |
| | | if (!Objects.isNull(one)) { |
| | | string = new Random().nextInt(10000000) + ""; |
| | | } |
| | |
| | | .setRow(dto.getRow()) |
| | | .setLev(dto.getLev()) |
| | | .setId(null) |
| | | .setAreaId(41L) |
| | | .setWarehouseId(27L) |
| | | .setAreaId(42L) |
| | | .setWarehouseId(29L) |
| | | .setBarcode(string) |
| | | .setCol(dto.getBay()) |
| | | .setType(dto.getLocType()) |
| | | .setType(dto.getLocType().equals("16") ? "17" : "15") |
| | | .setStatus(dto.getStatusBool()) |
| | | .setUseStatus(LocStsType.getLocSts(dto.getLocSts())); |
| | | if (!locService.save(loc)) { |
| | |
| | | } |
| | | |
| | | /**料箱搬运中, 修改站点状态*/ |
| | | if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_OBIT.event)) { |
| | | // if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_OBIT.event)) { |
| | | // 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)) { |
| | | // |
| | | // } |
| | | // /**取箱完成, 修改任务状态*/ |
| | | // } else |
| | | if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_END.event)) { |
| | | 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 (!task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) { |
| | | BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, task.getOrgSite())); |
| | | if (Objects.isNull(station)) { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (!taskService.update(new LambdaUpdateWrapper<Task>() |
| | | .lt(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id) |
| | | .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)) { |
| | | |
| | | |
| | | /**修改出库站点状态*/ |
| | | BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>() |
| | | .eq(BasStation::getStationName, task.getTargSite())); |
| | |
| | | throw new CoolException("站点状态修改失败!!"); |
| | | } |
| | | } |
| | | } |
| | | /**取箱完成, 修改任务状态*/ |
| | | } else if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_END.event)) { |
| | | 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))) { |
| | | .lt(Task::getTaskStatus, TaskStsType.COMPLETE_OUT.id) |
| | | .set(Task::getTaskStatus, TaskStsType.AWAIT.id))) { |
| | | throw new CoolException("任务状态修改失败!!"); |
| | | } |
| | | } |
| | |
| | | inTaskMsgDto.setLocNo(locNo); |
| | | return inTaskMsgDto; |
| | | } |
| | | |
| | | /** |
| | | * WCS入库任务申请 |
| | | * |
| | | * @return |
| | | */ |
| | | @Override |
| | | public R wcsCreateInTask(CreateInTaskParam params) { |
| | | if (Objects.isNull(params)) { |
| | | return R.error("参数不能为空!!"); |
| | | } |
| | | List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, params.getBarcode())); |
| | | if (waitPakins.isEmpty()) { |
| | | throw new CoolException("单据不存在 !!"); |
| | | } |
| | | |
| | | DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>().eq(DeviceSite::getSite,params.getSourceStaNo()).orderByDesc(DeviceSite::getId),false); |
| | | if (Objects.isNull(deviceSite)) { |
| | | throw new CoolException(params.getSourceStaNo()+"站点不存在!!"); |
| | | } |
| | | if (deviceSite.getType().equals(StationTypeEnum.STATION_TYPE_NORMAL.type.toString())) { |
| | | throw new CoolException(params.getSourceStaNo()+"站点非光电站点!!请使用PDA绑定入库"); |
| | | } |
| | | Task one = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, params.getBarcode())); |
| | | if (!Cools.isEmpty(one)) { |
| | | InTaskWcsReportParam inTaskWcsReportParam = new InTaskWcsReportParam(); |
| | | inTaskWcsReportParam.setTaskNo(one.getTaskCode()); |
| | | inTaskWcsReportParam.setLocNo(one.getTargLoc()); |
| | | inTaskWcsReportParam.setTaskPri(one.getSort()); |
| | | return R.ok("任务已存在直接下发!").add(inTaskWcsReportParam); |
| | | } |
| | | GenerateTaskParams taskParams = new GenerateTaskParams(); |
| | | taskParams.setWaitPakins(waitPakins) |
| | | .setSiteId(deviceSite.getId()); |
| | | R r = taskService.generateTasksWcs(taskParams, 111L);//lsh待修改 WCS用户信息 |
| | | if (r.get("msg").equals("任务生成完毕!")) { |
| | | one = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, params.getBarcode())); |
| | | InTaskWcsReportParam inTaskWcsReportParam = new InTaskWcsReportParam(); |
| | | inTaskWcsReportParam.setTaskNo(one.getTaskCode()); |
| | | inTaskWcsReportParam.setLocNo(one.getTargLoc()); |
| | | inTaskWcsReportParam.setTaskPri(one.getSort()); |
| | | return R.ok("任务生成完毕!").add(inTaskWcsReportParam); |
| | | } |
| | | return R.error(); |
| | | // return R.ok("任务生成完毕!"); |
| | | // log.info(JSONObject.toJSONString(params)); |
| | | // return R.ok(JSONObject.toJSONString(params)); |
| | | } |
| | | |
| | | /** |
| | | * WCS入库任务申请 |
| | | * |
| | | * @return |
| | | */ |
| | | @Override |
| | | public R wcsTaskReport(TaskReportParam params) { |
| | | if (Objects.isNull(params)) { |
| | | return R.error("参数不能为空!!"); |
| | | } |
| | | List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, params.getBarcode())); |
| | | if (waitPakins.isEmpty()) { |
| | | throw new CoolException("单据不存在 !!"); |
| | | } |
| | | GenerateTaskParams taskParams = new GenerateTaskParams(); |
| | | taskParams.setWaitPakins(waitPakins) |
| | | .setSiteId(params.getSourceStaNo().longValue()); |
| | | return R.ok(taskService.generateTasks(taskParams, 111L)); |
| | | // return R.ok("任务生成完毕!"); |
| | | // log.info(JSONObject.toJSONString(params)); |
| | | // return R.ok(JSONObject.toJSONString(params)); |
| | | } |
| | | |
| | | /** |
| | | * WCS入库任务申请 |
| | | * |
| | | * @return |
| | | */ |
| | | @Override |
| | | public R wcsReassignLoc(ReassignLocParam params) { |
| | | if (Objects.isNull(params)) { |
| | | return R.error("参数不能为空!!"); |
| | | } |
| | | List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, params.getBarcode())); |
| | | if (waitPakins.isEmpty()) { |
| | | throw new CoolException("单据不存在 !!"); |
| | | } |
| | | GenerateTaskParams taskParams = new GenerateTaskParams(); |
| | | taskParams.setWaitPakins(waitPakins) |
| | | .setSiteId(params.getSourceStaNo().longValue()); |
| | | return R.ok(taskService.generateTasks(taskParams, 111L)); |
| | | // return R.ok("任务生成完毕!"); |
| | | // log.info(JSONObject.toJSONString(params)); |
| | | // return R.ok(JSONObject.toJSONString(params)); |
| | | } |
| | | |
| | | /** |
| | | * WCS入库任务申请 |
| | | * |
| | | * @return |
| | | */ |
| | | @Override |
| | | public R wcsChangeLoc(ChangeLocParam params) { |
| | | if (Objects.isNull(params)) { |
| | | return R.error("参数不能为空!!"); |
| | | } |
| | | List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, params.getBarcode())); |
| | | if (waitPakins.isEmpty()) { |
| | | throw new CoolException("单据不存在 !!"); |
| | | } |
| | | GenerateTaskParams taskParams = new GenerateTaskParams(); |
| | | taskParams.setWaitPakins(waitPakins) |
| | | .setSiteId(params.getSourceStaNo().longValue()); |
| | | return R.ok(taskService.generateTasks(taskParams, 111L)); |
| | | // return R.ok("任务生成完毕!"); |
| | | // log.info(JSONObject.toJSONString(params)); |
| | | // return R.ok(JSONObject.toJSONString(params)); |
| | | } |
| | | } |