自动化立体仓库 - WMS系统
1
zhang
9 天以前 b51eadaa66a5c0ee6da0e418a3ba193dfc878fca
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -290,7 +290,7 @@
        if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
            throw new CoolException(BaseRes.PARAM);
        }
        HashMap<String, Object> comData = new HashMap<>();
        param.getCombMats().forEach(elem -> {
            // 判断是否有相同条码的数据
            if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
@@ -299,7 +299,13 @@
                    .eq("matnr", elem.getMatnr()).eq("batch", elem.getBatch())) > 0) {
                throw new CoolException(param.getBarcode() + "已有相同数据");
            }
            if (comData.get(elem.getThreeCode()) == null) {
                comData.put(elem.getThreeCode(), elem);
            } else {
                throw new CoolException(elem.getThreeCode() + "该条码扫码了多次");
            }
        });
        if (param.getBarcode().length() != 8) {
            throw new CoolException("条码长度不是8位===>>" + param.getBarcode());
@@ -325,7 +331,7 @@
                if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
                        eq("zpallet", param.getBarcode())
                        .eq("io_status", "N")
                        .eq("matnr", elem.getMatnr()).eq("batch", elem.getBatch())) > 0) {
                        .eq("matnr", elem.getMatnr()).eq("three_code",elem.getThreeCode()).eq("batch", elem.getBatch())) > 0) {
                    throw new CoolException(param.getBarcode() + "已有相同数据");
                }
@@ -369,7 +375,7 @@
            // 生成入库通知档
            List<DetlDto> detlDtos = new ArrayList<>();
            List<String> codes=new ArrayList<>();
            List<String> codes = new ArrayList<>();
            for (CombParam.CombMat elem : param.getCombMats()) {
                codes.add(elem.getThreeCode());
            }
@@ -381,9 +387,7 @@
                //for (CombParam.CombMat elem : param.getCombMats()) {
                CombParam.CombMat elem = combMats.get(i);
                CodeDataParam codeDataParam = data.get(i);
                if (!codeDataParam.getQuality().equals(order.getShipCode())) {
                    throw new CoolException("单据质量状态和组托物料不匹配");
                }
                elem.setTemp1(codeDataParam.getQuality());
                elem.setAnfme(codeDataParam.getQty());
                //elem.setBatch(codeDataParam.getBatchNum());
@@ -397,6 +401,9 @@
                if (Cools.isEmpty(orderDetl)) {
                    throw new CoolException("该单据中未找到对应物料明细");
                }
                if (!codeDataParam.getQuality().equals(orderDetl.getInspect())) {
                    throw new CoolException("单据质量状态和组托物料不匹配");
                }
                if (elem.getAnfme() > orderDetl.getEnableQty()) {
                    throw new CoolException(orderDetl.getMatnr() + "入库数量不合法");
                }
@@ -407,11 +414,11 @@
//                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),orderDetl.getManu());
                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getThreeCode()
                        , orderDetl.getManu(), orderDetl.getSku(), orderDetl.getSupp(), orderDetl.getTemp1(), orderDetl.getTemp2(), orderDetl.getTemp3(), orderDetl.getTemp4());
                        , orderDetl.getManu(), codeDataParam.getBatchNum(), orderDetl.getSupp(), orderDetl.getTemp1(), orderDetl.getTemp2(), orderDetl.getTemp3(), orderDetl.getTemp4());
                detlDto.setTemp1(codeDataParam.getQuality());
                detlDto.setFromOrderNo(codeDataParam.getBarcode());
                if (DetlDto.has(detlDtos, detlDto)) {
                    DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
                    DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(),detlDto.getFromOrderNo());
                    assert one != null;
                    one.setAnfme(one.getAnfme() + detlDto.getAnfme());
                } else {
@@ -473,11 +480,11 @@
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        log.info("getData:{}",response);
        log.info("getData:{}", response);
        MesResponse jsonObject = JSON.parseObject(response, MesResponse.class);
        if (jsonObject.getCode().equals(200)) {
            JSONObject jsonObject1 = JSON.parseObject(jsonObject.getData());
            if (jsonObject1.getString("barcodeList")!=null){
            if (jsonObject1.getString("barcodeList") != null) {
                return JSON.parseArray(jsonObject1.getString("barcodeList"), CodeDataParam.class);
            }
        }