| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void comb(CombParam param, Long userId) { |
| | | if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) { |
| | | // if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) { |
| | | // throw new CoolException(BaseRes.PARAM); |
| | | // } |
| | | if (Objects.isNull(param.getBarcode())) { |
| | | throw new CoolException(BaseRes.PARAM); |
| | | } |
| | | if (param.getCombMats().size() < 1) { |
| | | throw new CoolException("请提取一个商品,或者刷新重新组托!"); |
| | | } |
| | | |
| | | // 判断是否有相同条码的数据 |
| | | if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()) |
| | | .eq("io_status", "N")) > 0) { |
| | |
| | | Date now = new Date(); |
| | | // 无单组托 |
| | | if (Cools.isEmpty(param.getOrderNo())) { |
| | | if (param.getPakinType().equals("3")) { |
| | | WaitPakin waitPakin = new WaitPakin(); |
| | | waitPakin.setZpallet(param.getBarcode()); |
| | | waitPakin.setIoStatus("N"); |
| | | waitPakin.setStatus("Y"); |
| | | waitPakin.setAppeUser(userId); |
| | | waitPakin.setAppeTime(now); |
| | | waitPakin.setModiUser(userId); |
| | | waitPakin.setModiTime(now); |
| | | if (!waitPakinService.insert(waitPakin)) { |
| | | throw new CoolException("保存入库通知档失败"); |
| | | } |
| | | } else { |
| | | if (param.getCombMats().size() < 1) { |
| | | throw new CoolException("请提取一个商品,或者刷新重新组托!"); |
| | | } |
| | | // 生成入库通知档 |
| | | List<DetlDto> detlDtos = new ArrayList<>(); |
| | | param.getCombMats().forEach(elem -> { |
| | |
| | | waitPakin.setModiTime(now); |
| | | if (!waitPakinService.insert(waitPakin)) { |
| | | throw new CoolException("保存入库通知档失败"); |
| | | } |
| | | } |
| | | } |
| | | // 关联组托 |
| | |
| | | param.setLocType1((short) 1); |
| | | } |
| | | |
| | | BasContainer container = basContainerService.selectOne(new EntityWrapper<BasContainer>().eq("barcode", param.getBarcode())); |
| | | if (Objects.isNull(container)) { |
| | | throw new CoolException("容器编码未维护,请维护后再操作!!"); |
| | | } |
| | | |
| | | log.info("WCS任务生成请求参数:", JSONObject.toJSONString(param)); |
| | | Integer whsType = 1; |
| | | //用于判断料箱托盘,料箱,笼框 |
| | | if (container.getType().equals(ContainerType.CONTAINER_TYPE_SALVER.type)) { |
| | | whsType = 3; |
| | | } else if (container.getType().equals(ContainerType.CONTAINER_TYPE_CAGE.type)) { |
| | | whsType = 2; |
| | | } |
| | | |
| | | log.info("WCS任务生成请求参数:{}", JSONObject.toJSONString(param)); |
| | | |
| | | BasDevp station = basDevpService.selectOne(new EntityWrapper<BasDevp>() |
| | | .eq("dev_no", param.getSourceStaNo())); |
| | |
| | | throw new CoolException("数据错误,组拖档已不存在!!"); |
| | | } |
| | | |
| | | WrkMast wrkMast = generateCrnInTask(waitPakins, station, param.getLocType1(), userId); |
| | | WrkMast wrkMast = generateCrnInTask(waitPakins,whsType, station, param.getLocType1(), userId); |
| | | |
| | | Map<String, Object> response = new HashMap<>(); |
| | | response.put("taskNo", wrkMast.getWrkNo()); |
| | |
| | | /** |
| | | * 生成堆垛机入库任务 |
| | | * |
| | | * @param whsType |
| | | * @param station |
| | | * @author Ryan |
| | | * @date 2025/12/9 13:54 |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public WrkMast generateCrnInTask(List<WaitPakin> waitPakins, BasDevp station, Short locType, Long userId) { |
| | | public WrkMast generateCrnInTask(List<WaitPakin> waitPakins, Integer whsType, BasDevp station, Short locType, Long userId) { |
| | | Date now = new Date(); |
| | | // StationRela rela = stationRelaService.selectOne(new EntityWrapper<StationRela>() |
| | | // .eq("agv_sta", station.getDevNo()) |
| | |
| | | } |
| | | |
| | | } else { |
| | | StartupDto dto = commonService.getLocNo(1, sourceStaNo.getDevNo(), findLocNoAttributeVo, locTypeDto); |
| | | StartupDto dto = commonService.getLocNo(1, sourceStaNo.getDevNo(), whsType, findLocNoAttributeVo, locTypeDto); |
| | | |
| | | int workNo = dto.getWorkNo(); |
| | | // 生成工作档 |
| | |
| | | |
| | | // 生成工作档明细 |
| | | waitPakins.forEach(waitPakin -> { |
| | | if (!Objects.isNull(waitPakin.getMatnr())) { |
| | | WrkDetl wrkDetl = new WrkDetl(); |
| | | wrkDetl.sync(waitPakin); |
| | | wrkDetl.setWrkNo(wrkMast.getWrkNo()); |
| | |
| | | if (!wrkDetlService.insert(wrkDetl)) { |
| | | throw new CoolException("保存工作明细失败"); |
| | | } |
| | | } else { |
| | | wrkMast.setWrkSts(1L); |
| | | wrkMast.setIoType(10); |
| | | |
| | | wrkMastService.updateById(wrkMast); |
| | | } |
| | | }); |
| | | |
| | | |