自动化立体仓库 - WMS系统
#
whycq
2024-05-13 24c2fd8ab62fa12ae96658664e7ffd478bef6e62
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -103,23 +103,32 @@
        for (PickParam.Pick pick : pickParams.getPicks()) {
            if (pick.getCount().equals(0D)) continue;
            AgvWrkDetl wrkDetl = new AgvWrkDetl();
            Mat mat = matService.selectByMatnr(pick.getMatnr());
            if (Cools.isEmpty(mat)) {
                throw new CoolException(pick.getMatnr() + "商品不存在");
            AgvWrkDetl agvWrkDetl = agvWrkDetlService.selectOne(new EntityWrapper<AgvWrkDetl>().eq("matnr", pick.getMatnr()).eq("three_code", pick.getThreeCode()));
            if (Cools.isEmpty(agvWrkDetl)) {
                AgvWrkDetl wrkDetl = new AgvWrkDetl();
                Mat mat = matService.selectByMatnr(pick.getMatnr());
                if (Cools.isEmpty(mat)) {
                    throw new CoolException(pick.getMatnr() + "商品不存在");
                }
                wrkDetl.sync(mat);
                wrkDetl.setWrkNo(pickParams.getWrkNo());
                wrkDetl.setOrderNo(pick.getOrderNo());
                wrkDetl.setIoTime(now);
                wrkDetl.setAnfme(pick.getCount()); // 数量
                wrkDetl.setSuppCode(pick.getSuppCode()); // 托盘条码
                wrkDetl.setAppeUser(userId);
                wrkDetl.setAppeTime(now);
                wrkDetl.setModiUser(userId);
                wrkDetl.setModiTime(now);
                wrkDetl.setThreeCode(pick.getThreeCode());
                agvWrkDetlService.insert(wrkDetl);
            } else {
                Double anfme = agvWrkDetl.getAnfme() + pick.getCount();
                agvWrkDetl.setAnfme(anfme);
                agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("matnr",agvWrkDetl.getMatnr()).eq("three_code",agvWrkDetl.getThreeCode()));
            }
            wrkDetl.sync(mat);
            wrkDetl.setWrkNo(pickParams.getWrkNo());
            wrkDetl.setOrderNo(pick.getOrderNo());
            wrkDetl.setIoTime(now);
            wrkDetl.setAnfme(pick.getCount()); // 数量
            wrkDetl.setSuppCode(pick.getSuppCode()); // 托盘条码
            wrkDetl.setAppeUser(userId);
            wrkDetl.setAppeTime(now);
            wrkDetl.setModiUser(userId);
            wrkDetl.setModiTime(now);
            wrkDetl.setThreeCode(pick.getThreeCode());
            agvWrkDetlService.insert(wrkDetl);
            // 更新订单
            OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", pick.getOrderNo()).eq("matnr", pick.getMatnr()).eq("three_code",pick.getThreeCode()));