| | |
| | | } |
| | | log.info(recordRecordLog); |
| | | } |
| | | |
| | | @Override |
| | | public void combToWms(WaitPakin waitPakin) { |
| | | // 判断是否有相同条码的数据 |
| | | // if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>(). |
| | | // eq("zpallet", waitPakin.getBarcode()).eq("io_status", "N")) > 0) { |
| | | // throw new CoolException(waitPakin.getBarcode() + "数据正在进行入库"); |
| | | // } |
| | | |
| | | if (waitPakin.getBarcode().length() != 8) { |
| | | throw new CoolException("条码长度不是8位===>>" + waitPakin.getBarcode()); |
| | | } |
| | | int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", waitPakin.getBarcode())); |
| | | int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", waitPakin.getBarcode())); |
| | | int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", waitPakin.getBarcode())); |
| | | if (countLoc > 0 || countWrk > 0) { |
| | | throw new CoolException("组托档/工作档/库存条码数据已存在===>>" + waitPakin.getBarcode()); |
| | | } |
| | | |
| | | Date now = new Date(); |
| | | // 生成入库通知档 |
| | | List<DetlDto> detlDtos = new ArrayList<>(); |
| | | Mat byId = matService.selectById(waitPakin.getModiUser()); |
| | | DetlDto detlDto = new DetlDto(byId.getMatnr(), waitPakin.getBatch(), waitPakin.getAnfme(), waitPakin.getProType(), waitPakin.getTemp2(), waitPakin.getOutOrderNo()); |
| | | detlDto.setMemo(detlDto.getMemo()); |
| | | if (DetlDto.has(detlDtos, detlDto)) { |
| | | DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); |
| | | assert one != null; |
| | | one.setAnfme(one.getAnfme() + detlDto.getAnfme()); |
| | | } else { |
| | | detlDtos.add(detlDto); |
| | | } |
| | | |
| | | |
| | | for (DetlDto dto : detlDtos) { |
| | | Mat mat = matService.selectByMatnr(dto.getMatnr()); |
| | | if (Cools.isEmpty(mat)) { |
| | | throw new CoolException(dto.getMatnr() + "商品档案不存在"); |
| | | } |
| | | //校验当前物料与托盘绑定信息是否正确 |
| | | MatBarcode mb = matBarcodeService.selectbyMatnr(dto.getMatnr()); |
| | | if (mb != null){ |
| | | if (!mb.getZpallet().equals(waitPakin.getBarcode())){ |
| | | throw new CoolException(detlDto.getMatnr() + "该物料与其他托盘绑定,请先解绑"); |
| | | } |
| | | } |
| | | WaitPakin waitPakin1 = new WaitPakin(); |
| | | waitPakin1.sync(mat); |
| | | waitPakin1.setProType(dto.getProType()); |
| | | waitPakin1.setTemp2(dto.getTemp2()); |
| | | waitPakin1.setOutOrderNo(dto.getOutOrderNo()); |
| | | waitPakin1.setBatch(dto.getBatch()); |
| | | waitPakin1.setZpallet(waitPakin.getBarcode()); // 托盘码 |
| | | waitPakin1.setIoStatus("N"); // 入出状态 |
| | | waitPakin1.setAnfme(dto.getAnfme()); // 数量 |
| | | waitPakin1.setStatus("Y"); // 状态 |
| | | waitPakin1.setAppeUser(waitPakin.getAppeUser()); |
| | | waitPakin1.setAppeTime(now); |
| | | waitPakin1.setModiUser(waitPakin.getAppeUser()); |
| | | waitPakin1.setModiTime(now); |
| | | waitPakin1.setMemo(detlDto.getMemo()); |
| | | if (!waitPakinService.insert(waitPakin1)) { |
| | | throw new CoolException("保存入库通知档失败"); |
| | | } |
| | | } |
| | | } |
| | | } |