自动化立体仓库 - WMS系统
zwl
2025-10-28 d3c7820992ccfb3296ec031a7c019a4300347b83
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -81,6 +81,9 @@
    @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);
        }
@@ -89,6 +92,7 @@
                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()));
@@ -132,6 +136,14 @@
            // 生成入库通知档
            List<DetlDto> detlDtos = new ArrayList<>();
            param.getCombMats().forEach(elem -> {
                // 判断是否有相同条码的数据
                if (!Cools.isEmpty(elem.getBc())){
                    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)) {
@@ -154,7 +166,7 @@
                }
                WaitPakin waitPakin = new WaitPakin();
                waitPakin.sync(mat);
                waitPakin.setBatch(detlDto.getBatch());
                waitPakin.setBatch(detlDto.getBc());
                waitPakin.setThreeCode(detlDto.getBc());
                waitPakin.setZpallet(param.getBarcode());   // 托盘码
                waitPakin.setIoStatus("N");     // 入出状态
@@ -226,7 +238,7 @@
                WaitPakin waitPakin = new WaitPakin();
                waitPakin.sync(mat);
                waitPakin.setOrderNo(order.getOrderNo());   // 单据编号
                waitPakin.setBatch(detlDto.getBatch());     // 序列码
                waitPakin.setBatch(detlDto.getBatch());     // 批号
                waitPakin.setZpallet(param.getBarcode());   // 托盘码
                waitPakin.setIoStatus("N");     // 入出状态
                waitPakin.setAnfme(detlDto.getAnfme());  // 数量