| | |
| | | @Override |
| | | @Transactional |
| | | public void comb(CombParam param, Long userId, String fxId) { |
| | | if (Cools.isEmpty(fxId)){ |
| | | throw new CoolException("请用自己的账号组托"); |
| | | } |
| | | if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) { |
| | | throw new CoolException(BaseRes.PARAM); |
| | | } |
| | |
| | | eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) { |
| | | throw new CoolException(param.getBarcode() + "数据组托档中已存在"); |
| | | } |
| | | |
| | | |
| | | int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode())); |
| | | int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode())); |
| | |
| | | Date now = new Date(); |
| | | |
| | | //进行批号筛选,批号只能唯一 |
| | | Set<String> batchs = new HashSet<>(); |
| | | List<String> strings = new ArrayList<>(); |
| | | // Set<String> batchs = new HashSet<>(); |
| | | // List<String> strings = new ArrayList<>(); |
| | | |
| | | |
| | | for (CombParam.CombMat mat : param.getCombMats()) { |
| | | if (Cools.isEmpty(mat.getBatch())) { |
| | | continue; |
| | | } |
| | | batchs.add(mat.getBatch()); |
| | | strings.add(mat.getBatch()); |
| | | WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("batch", mat.getBatch())); |
| | | WrkDetl batch = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("batch", mat.getBatch())); |
| | | LocDetl batch1 = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("batch", mat.getBatch())); |
| | | if (!Cools.isEmpty(batch) || !Cools.isEmpty(batch1) || !Cools.isEmpty(waitPakin)) { |
| | | throw new CoolException("该物料批号" + mat.getBatch() + "已在入库通知档、任务明细和库存中存在"); |
| | | } |
| | | } |
| | | if (batchs.size() < strings.size()) { |
| | | throw new CoolException("有重复的物料批号"); |
| | | } |
| | | // for (CombParam.CombMat mat : param.getCombMats()) { |
| | | // if (Cools.isEmpty(mat.getBatch())) { |
| | | // continue; |
| | | // } |
| | | // batchs.add(mat.getBatch()); |
| | | // strings.add(mat.getBatch()); |
| | | // WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("batch", mat.getBatch())); |
| | | // WrkDetl batch = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("batch", mat.getBatch())); |
| | | // LocDetl batch1 = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("batch", mat.getBatch())); |
| | | // if (!Cools.isEmpty(batch) || !Cools.isEmpty(batch1) || !Cools.isEmpty(waitPakin)) { |
| | | // throw new CoolException("该物料批号" + mat.getBatch() + "已在入库通知档、任务明细和库存中存在"); |
| | | // } |
| | | // } |
| | | // if (batchs.size() < strings.size()) { |
| | | // throw new CoolException("有重复的物料批号"); |
| | | // } |
| | | int i = 1; |
| | | // 无单组托 |
| | | if (Cools.isEmpty(param.getOrderNo())) { |
| | |
| | | // 生成入库通知档 |
| | | List<DetlDto> detlDtos = new ArrayList<>(); |
| | | param.getCombMats().forEach(elem -> { |
| | | // 判断是否有相同条码的数据 |
| | | if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>(). |
| | | eq("three_code", elem.getBc())) > 0) { |
| | | throw new CoolException( elem.getBc() + "数据组托档中已存在"); |
| | | } |
| | | |
| | | DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme()); |
| | | detlDto.setBc(elem.getBc()); |
| | | if (DetlDto.has(detlDtos, detlDto)) { |