| | |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void combInPub(CompleteParam param, Long userId) { |
| | | public R combInPub(CompleteParam param, Long userId) { |
| | | if (Objects.isNull(param.getBarcode())) { |
| | | throw new CoolException("托盘码不能为空!!"); |
| | | } |
| | | if (Objects.isNull(param.getStation())) { |
| | | if (Objects.isNull(param.getSourceStaNo())) { |
| | | throw new CoolException("站点不能为空!!"); |
| | | } |
| | | // // TODO 修改缓存站点状态及数据 |
| | | // Task task = taskService.selectOne(new EntityWrapper<Task>() |
| | | // .eq("wrk_sts", 14L) |
| | | // .eq("barcode", param.getCarBarcode())); |
| | | // if (Objects.isNull(task)) { |
| | | // throw new CoolException("数据错误,任务不存在!!"); |
| | | // } |
| | | // List<TaskDetl> taskDetls = taskDetlService |
| | | // .selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", task.getWrkNo())); |
| | | // if (Objects.isNull(taskDetls) || taskDetls.isEmpty()) { |
| | | // throw new CoolException("数据错误,任务明细不存在!!"); |
| | | // } |
| | | if (Objects.isNull(param.getLocType1())) { |
| | | param.setLocType1((short)1); |
| | | } |
| | | |
| | | BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>() |
| | | .eq("dev_no", param.getStation())); |
| | | |
| | | log.info("WCS任务生成请求参数:", JSONObject.toJSONString(param)); |
| | | |
| | | |
| | | BasDevp station = basDevpService.selectOne(new EntityWrapper<BasDevp>() |
| | | .eq("dev_no", param.getSourceStaNo())); |
| | | if (Objects.isNull(station)) { |
| | | throw new CoolException("站点不存在!!"); |
| | | } |
| | | |
| | | station.setLocSts(LocStsType.LOC_STS_TYPE_O.type); |
| | | station.setBarcode(""); |
| | | if (!basStationService.updateById(station)) { |
| | | throw new CoolException("站点状态修改失败!"); |
| | | } |
| | | basStationDetlService.delete(new EntityWrapper<BasStationDetl>().eq("dev_no", station.getDevNo())); |
| | | |
| | | // // 任务完成 |
| | | // task.setWrkSts(15L); |
| | | // |
| | | // if (!taskService.updateById(task)) { |
| | | // throw new CoolException("AGV任务完成失败!!"); |
| | | // } |
| | | |
| | | List<WaitPakin> waitPakins = waitPakinService |
| | | .selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode())); |
| | | .selectList(new EntityWrapper<WaitPakin>() |
| | | .eq("io_status" , "N") |
| | | .eq("zpallet", param.getBarcode())); |
| | | if (Objects.isNull(waitPakins) || waitPakins.isEmpty()) { |
| | | throw new CoolException("数据错误,组拖档已不存在!!"); |
| | | } |
| | | |
| | | generateCrnInTask(waitPakins, station, param.getLocType1(), userId); |
| | | WrkMast wrkMast = generateCrnInTask(waitPakins, station, param.getLocType1(), userId); |
| | | |
| | | Map<String, Object> response = new HashMap<>(); |
| | | response.put("taskNo", wrkMast.getWrkNo()); |
| | | response.put("locNo", wrkMast.getLocNo()); |
| | | response.put("taskPri", wrkMast.getIoPri()); |
| | | |
| | | return R.ok("任务生成成功").add(response); |
| | | |
| | | } |
| | | |
| | | /** |
| | |
| | | * @date 2025/12/9 13:54 |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void generateCrnInTask(List<WaitPakin> waitPakins, BasStation station, Short locType, Long userId) { |
| | | public WrkMast generateCrnInTask(List<WaitPakin> waitPakins, BasDevp station, Short locType, Long userId) { |
| | | Date now = new Date(); |
| | | StationRela rela = stationRelaService.selectOne(new EntityWrapper<StationRela>() |
| | | .eq("agv_sta", station.getDevNo()) |
| | | .orderAsc(Arrays.asList("crn_sta")) |
| | | .last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY")); |
| | | // StationRela rela = stationRelaService.selectOne(new EntityWrapper<StationRela>() |
| | | // .eq("agv_sta", station.getDevNo()) |
| | | // .orderAsc(Arrays.asList("crn_sta")) |
| | | // .last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY")); |
| | | // |
| | | // if (Objects.isNull(rela)) { |
| | | // throw new CoolException("未绑定作业站点!!"); |
| | | // } |
| | | |
| | | if (Objects.isNull(rela)) { |
| | | throw new CoolException("未绑定作业站点!!"); |
| | | } |
| | | |
| | | BasDevp sourceStaNo = basDevpService.checkSiteStatus(Integer.parseInt(rela.getCrnSta()), true); |
| | | BasDevp sourceStaNo = basDevpService.checkSiteStatus(station.getDevNo(), true); |
| | | sourceStaNo.setLocType1(locType); |
| | | LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); |
| | | WaitPakin pakin = waitPakins.stream().findFirst().get(); |
| | |
| | | |
| | | WrkMast mast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", pakin.getZpallet())); |
| | | WrkMast wrkMast = new WrkMast(); |
| | | String locNo; |
| | | if (!Objects.isNull(mast)) { |
| | | if (mast.getIoType().equals(TaskIOType.MERGE_OUT.type) || mast.getIoType().equals(TaskIOType.PICK_OUT.type) || mast.getIoType().equals(TaskIOType.CHECK_OUT.type)) { |
| | | int ioType = mast.getIoType() - 50; |
| | |
| | | if (!res) { |
| | | throw new CoolException("保存工作档失败"); |
| | | } |
| | | locNo = mast.getLocNo(); |
| | | // 更新源站点信息 |
| | | sourceStaNo.setWrkNo(mast.getWrkNo()); |
| | | sourceStaNo.setModiTime(now); |
| | |
| | | } else { |
| | | throw new CoolException("托盘已存在任务档!!"); |
| | | } |
| | | |
| | | } else { |
| | | StartupDto dto = commonService.getLocNo(1, sourceStaNo.getDevNo(), findLocNoAttributeVo, locTypeDto); |
| | | |
| | | int workNo = dto.getWorkNo(); |
| | | // 生成工作档 |
| | | wrkMast.setWrkNo(workNo); |
| | |
| | | if (!res) { |
| | | throw new CoolException("保存工作档失败"); |
| | | } |
| | | locNo = dto.getLocNo(); |
| | | // 更新源站点信息 |
| | | sourceStaNo.setWrkNo(workNo); |
| | | sourceStaNo.setModiTime(now); |
| | |
| | | }); |
| | | |
| | | |
| | | // // 更新入库通知档 ioStatus ===>> Y |
| | | // Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>() |
| | | // .eq("zpallet", pakin.getZpallet()); |
| | | // WaitPakin setParam = new WaitPakin(); |
| | | // setParam.setLocNo(dto.getLocNo()); |
| | | // setParam.setIoStatus("Y"); |
| | | // setParam.setModiTime(now); |
| | | // if (!waitPakinService.update(setParam, wrapper)) { |
| | | // throw new CoolException("更新通知档失败"); |
| | | // } |
| | | // 更新入库通知档 ioStatus ===>> Y |
| | | Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>() |
| | | .eq("zpallet", pakin.getZpallet()); |
| | | WaitPakin setParam = new WaitPakin(); |
| | | setParam.setLocNo(locNo); |
| | | setParam.setIoStatus("Y"); |
| | | setParam.setModiTime(now); |
| | | if (!waitPakinService.update(setParam, wrapper)) { |
| | | throw new CoolException("更新通知档失败"); |
| | | } |
| | | |
| | | return wrkMast; |
| | | } |
| | | |
| | | /** |