From 0ee00b5d3cbd625fc9d0e92f88bb327aac6c86e9 Mon Sep 17 00:00:00 2001 From: 王佳豪 <g675230687@126.com> Date: 星期六, 15 五月 2021 15:27:34 +0800 Subject: [PATCH] 1.立库任务单入库支持批量组托的功能 --- src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 95 ++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 84 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java index 829b519..3b05adb 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -95,7 +95,7 @@ // 鍏宠仈閫氱煡鍗曠粍鎵� for (CombParam.CombMat combMat : param.getCombMats()) { WaitPakin one = waitPakinService.selectOne(new EntityWrapper<WaitPakin>() - .eq("supplier", param.getBillNo()) + .eq("supplier", combMat.getSupplier()) .eq("matnr", combMat.getMatNo()) .isNull("zpallet")); if (one == null) { @@ -115,34 +115,32 @@ waitPakin.setAppeTime(new Date()); waitPakin.setModiUser(userId); waitPakin.setModiTime(new Date()); + waitPakin.setSupplier(combMat.getSupplier()); if (!waitPakinService.insert(waitPakin)) { throw new CoolException("淇濆瓨鏁版嵁澶辫触"); } // 鍑忓皯閫氱煡鍗曚笂璇ョ墿鏂欑粍鎵樻暟閲� if (waitPakin.getAnfme() >= one.getAnfme()) { waitPakinService.delete(new EntityWrapper<WaitPakin>() - .eq("supplier", param.getBillNo()) + .eq("supplier", combMat.getSupplier()) .eq("matnr", combMat.getMatNo()) - .eq("warehouse", param.getWarehouse()) + .eq("mnemonic", param.getMnemonic()) .isNull("zpallet")); } else { Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>(); - if ("".equals(param.getWarehouse())) { - wrapper.eq("supplier", param.getBillNo()) + if ("".equals(param.getMnemonic())) { + wrapper.eq("supplier", combMat.getSupplier()) .eq("matnr", combMat.getMatNo()) .isNull("zpallet"); } else { - wrapper.eq("supplier", param.getBillNo()) + wrapper.eq("supplier", combMat.getSupplier()) .eq("matnr", combMat.getMatNo()) - .eq("warehouse", param.getWarehouse()) + .eq("mnemonic", param.getMnemonic()) .isNull("zpallet"); } WaitPakin pakin = new WaitPakin(); pakin.setAnfme(one.getAnfme() - waitPakin.getAnfme()); - if (!waitPakinService.update(pakin, wrapper.eq("supplier", param.getBillNo()) - .eq("matnr", combMat.getMatNo()) - .eq("warehouse", param.getWarehouse()) - .isNull("zpallet"))) { + if (!waitPakinService.update(pakin, wrapper)) { throw new CoolException("鏇存柊鏁版嵁澶辫触"); } @@ -156,4 +154,79 @@ } + @Override + @Transactional + public void combBatch(CombParam param, Long userId) { + if (Cools.isEmpty(param.getBarcode())) { + throw new CoolException(BaseRes.PARAM); + } + if (Cools.isEmpty(param.getCombMats()) && Cools.isEmpty(param.getProductCode())) { + throw new CoolException(BaseRes.PARAM); + } + int count = waitPakinService.selectCount(new EntityWrapper<WaitPakin>(). + eq("zpallet", param.getBarcode()).eq("io_status", "N")); + if (count > 0) { + throw new CoolException("鏉$爜鏁版嵁宸插瓨鍦�"); + } + // 鍏宠仈閫氱煡鍗曠粍鎵� + for (CombParam.CombMat combMat : param.getCombMats()) { + WaitPakin one = waitPakinService.selectOne(new EntityWrapper<WaitPakin>() + .eq("supplier", combMat.getSupplier()) + .eq("matnr", combMat.getMatNo()) + .isNull("zpallet")); + if (one == null) { + throw new CoolException("閫氱煡鍗曚笉瀛樺湪" + combMat.getMatNo() + "鏁版嵁锛�"); + } + if (combMat.getCount() > one.getAnfme()) { + throw new CoolException(combMat.getMatNo() + "鐗╂枡鏁伴噺涓嶈冻锛�"); + } + MatCode matCode = matCodeService.selectById(combMat.getMatNo()); + if (Cools.isEmpty(matCode)) { + throw new CoolException("鐗╂枡鏁版嵁閿欒"); + } + WaitPakin waitPakin = one.clone(); + waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮� + waitPakin.setAnfme(combMat.getCount()); // 鏁伴噺 + waitPakin.setAppeUser(userId); + waitPakin.setAppeTime(new Date()); + waitPakin.setModiUser(userId); + waitPakin.setModiTime(new Date()); + waitPakin.setSupplier(combMat.getSupplier()); + if (!waitPakinService.insert(waitPakin)) { + throw new CoolException("淇濆瓨鏁版嵁澶辫触"); + } + // 鍑忓皯閫氱煡鍗曚笂璇ョ墿鏂欑粍鎵樻暟閲� + if (waitPakin.getAnfme() >= one.getAnfme()) { + waitPakinService.delete(new EntityWrapper<WaitPakin>() + .eq("supplier", combMat.getSupplier()) + .eq("matnr", combMat.getMatNo()) + .eq("mnemonic", combMat.getMnemonic()) + .isNull("zpallet")); + } else { + Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>(); + if ("".equals(param.getMnemonic())) { + wrapper.eq("supplier", combMat.getSupplier()) + .eq("matnr", combMat.getMatNo()) + .isNull("zpallet"); + } else { + wrapper.eq("supplier", combMat.getSupplier()) + .eq("matnr", combMat.getMatNo()) + .eq("mnemonic", combMat.getMnemonic()) + .isNull("zpallet"); + } + WaitPakin pakin = new WaitPakin(); + pakin.setAnfme(one.getAnfme() - waitPakin.getAnfme()); + pakin.setSupplier(combMat.getSupplier()); + pakin.setMatnr(combMat.getMatNo()); + pakin.setMnemonic(combMat.getMnemonic()); + if (!waitPakinService.update(pakin, wrapper)) { + throw new CoolException("鏇存柊鏁版嵁澶辫触"); + } + + } + + } + + + } } -- Gitblit v1.9.1