自动化立体仓库 - WMS系统
#
LSH
2023-05-26 0d1b934681464f8e36fa4c62b27bb2d2eb62768b
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -87,10 +87,18 @@
        if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
            throw new CoolException(BaseRes.PARAM);
        }
//        if (Cools.isEmpty(param.getBarcode())){
//            throw new CoolException("请填写货主信息");
//        }
        // 判断是否有相同条码的数据
        if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
                eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
            throw new CoolException(param.getBarcode() + "数据正在进行入库");
        }
        try{
            param.setOrderNo(param.getCombMats().get(0).getOrderNo());
        }catch (Exception e){
        }
        int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
@@ -127,6 +135,7 @@
                    DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
                    assert one != null;
                    one.setAnfme(one.getAnfme() + detlDto.getAnfme());
                    one.setOwner(detlDto.getOwner());
                } else {
                    detlDtos.add(detlDto);
                }
@@ -134,6 +143,7 @@
            for (DetlDto detlDto : detlDtos) {
                String uuid = String.valueOf(System.currentTimeMillis());
                Mat mat = matService.selectByMatnr(detlDto.getMatnr());
                if (Cools.isEmpty(mat)) {
                    throw new CoolException(detlDto.getMatnr() + "商品档案不存在");
@@ -149,6 +159,8 @@
                waitPakin.setAppeTime(now);
                waitPakin.setModiUser(userId);
                waitPakin.setModiTime(now);
                waitPakin.setOwner(detlDto.getOwner());
                waitPakin.setUuid(uuid);
                if (!waitPakinService.insert(waitPakin)) {
                    throw new CoolException("保存入库通知档失败");
                }
@@ -187,7 +199,7 @@
                    throw new CoolException("修改单据作业数量失败");
                }
                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme());
                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),orderDetl.getOwner());
                if (DetlDto.has(detlDtos, detlDto)) {
                    DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
                    assert one != null;
@@ -197,6 +209,7 @@
                }
            }
            for (DetlDto detlDto : detlDtos) {
                String uuid = String.valueOf(System.currentTimeMillis());
                Mat mat = matService.selectByMatnr(detlDto.getMatnr());
                if (Cools.isEmpty(mat)) {
                    throw new CoolException(detlDto.getMatnr() + "商品档案不存在");
@@ -213,6 +226,8 @@
                waitPakin.setAppeTime(now);
                waitPakin.setModiUser(userId);
                waitPakin.setModiTime(now);
                waitPakin.setOwner(detlDto.getOwner());
                waitPakin.setUuid(uuid);
                if (!waitPakinService.insert(waitPakin)) {
                    throw new CoolException("保存入库通知档失败");
                }
@@ -235,6 +250,7 @@
        // 获取商品列表
        for(CombParam.CombMat combMat : param.getCombMats()){
            String uuid = String.valueOf(System.currentTimeMillis());
            Mat mat = matService.selectByMatnr(combMat.getMatnr());
            if (Cools.isEmpty(mat)){
                throw new CoolException(combMat.getMatnr() + ":商品档案不存在!");
@@ -253,6 +269,8 @@
            manLocDetl.setBatch(Cools.isEmpty(combMat.getBatch()) ? "" : combMat.getBatch());
            manLocDetl.setAnfme(combMat.getAnfme());
            manLocDetl.setModiTime(now);
            manLocDetl.setUuid(uuid);
            manLocDetl.setOwner(1);
            if (!manLocDetlService.insert(manLocDetl)) {
                throw new CoolException("商品上架失败!");
            }
@@ -373,7 +391,7 @@
        Date now = new Date();
        for(OrderDetl orderDetl : orderDetls){
            //查询所有库位状态为F的库位信息
            List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(),orderDetl.getBatch(),null,null);
            List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(),orderDetl.getBatch(),orderDetl.getOwner());
            if (locDetls.size() == 0) {
                throw new CoolException("库存中没有该物料");
            }
@@ -528,6 +546,7 @@
            //查询平库中是否有一样的物料号,有的话直接增加数量
            ManLocDetl checkManLocDetl = manLocDetlService.selectInventory(jsonLocNo,orderDetl.getMatnr(),jsonOrderDetl.getBatch());
            if (checkManLocDetl == null) {
                String uuid = String.valueOf(System.currentTimeMillis());
                ManLocDetl manLocDetl = new ManLocDetl();
                Synchro.Copy(orderDetl, manLocDetl);
                manLocDetl.setLocNo(node.getName());
@@ -538,6 +557,8 @@
                manLocDetl.setModiTime(date);
                manLocDetl.setCreateTime(date);
                manLocDetl.setBatch(jsonOrderDetl.getBatch());
                manLocDetl.setUuid(uuid);
                manLocDetl.setOwner(orderDetl.getOwner());
                if(!manLocDetlService.insert(manLocDetl)){
                    return R.error("修改平库物料失败!");
                }
@@ -592,7 +613,7 @@
            if (Cools.isEmpty(node, order)) {
                return R.error("参数为空");
            }
            OrderDetl orderDetl = orderDetlService.selectItem(jsonOrderDetl.getOrderNo(),jsonOrderDetl.getMatnr(),jsonOrderDetl.getMaktx());
            OrderDetl orderDetl = orderDetlService.selectItem(jsonOrderDetl.getOrderNo(),jsonOrderDetl.getMatnr(),"");
            if (Cools.isEmpty(orderDetl)) {
                return R.error("单据明细有误,请检查");
            }