自动化立体仓库 - WMS系统
#
1
1 天以前 8b75fe61a3eefe36761aa0f82a79b59342aa6709
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -69,8 +69,9 @@
            if (orderDetl.getQty().equals(0D)){
                continue;
            }
            orderDetl.setWorkQty(orderDetl.getQty());
            orderDetl.setAnfme(orderDetl.getAnfme()-orderDetl.getQty());
            orderDetl.setWorkQty(orderDetl.getWorkQty()+orderDetl.getQty());
//            orderDetl.setAnfme(orderDetl.getAnfme()-orderDetl.getQty());
            orderDetl.setAnfme(orderDetl.getAnfme());
            orderDetl.setQty(0D);
            orderDetlService.updateById(orderDetl);
        }
@@ -96,6 +97,10 @@
        List<OrderDetl> orderDetlList = new ArrayList<>();
        for (OrderDetl detail : orderDetls) {
            detail.setAnfme(detail.getAnfme() - detail.getWorkQty());
            if (detail.getAnfme().equals(0D)){
                continue;
            }
            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(),detail.getBrand(),detail.getStandby1(),detail.getStandby2(),detail.getStandby3(),
                    detail.getBoxType1(),detail.getBoxType2(),detail.getBoxType3(), detail.getAnfme());
            if (DetlDto.has(list, dto)) {
@@ -109,6 +114,12 @@
            } else {
                list.add(dto);
                orderDetlList.add(detail);
            }
        }
        if (orderDetlList.size()==0){
            // 修改订单状态 1.未作业 ===>> 2.作业中
            if (!orderService.updateSettle(order.getId(), 4L, null)) {
                throw new CoolException("服务器内部错误,请联系管理员");
            }
        }
        for (OrderDetl orderDetl : orderDetlList){
@@ -142,9 +153,13 @@
                    continue;
                }
                if (orderDetlSou.beSimilar(orderDetl)){
                    double v = orderDetlSou.getAnfme() - orderDetlSou.getQty();
                    double anfme = orderDetlSou.getAnfme() - orderDetlSou.getWorkQty();
                    double v = anfme - orderDetlSou.getQty();
                    if (v<0D){
                        v = 0D;
                    }
                    if (v<orderDetl.getQty() || orderDetl.getQty().equals(v)){
                        orderDetlSou.setQty(orderDetlSou.getAnfme());
                        orderDetlSou.setQty(anfme);
                        orderDetl.setQty(orderDetl.getQty() - v);
                        break;
                    } else {
@@ -180,16 +195,27 @@
            pakinParam.setLgortFrom("5008");
            pakinParam.setLgortTo("5006");
            for (OrderDetl orderDetl : orderDetls) {
                double anfme = orderDetl.getAnfme() - orderDetl.getWorkQty();
                if (anfme<=0D){
                    continue;
                }
                if (!orderDetl.getQty().equals(orderDetl.getAnfme())){
                    settle = 99L;//二次生成单据
                }
                String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch();
                pakinParam.getList().add(new MesPakinParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme()));
                pakinParam.getList().add(new MesPakinParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getQty()));
            }
            String response = "";
            boolean success = false;
            try {
                if (pakinParam.getList().size()==0){
                    success = true;
                    // 修改订单状态 4.完成 ===>> 6.已上报
                    if (!orderService.updateSettle(order.getId(), settle, null)) {
                        throw new CoolException("服务器内部错误,请联系管理员");
                    }
                } else {
//                response = new HttpHandler.Builder()
//                        .setUri(MesConstant.URL)
//                        .setPath(MesConstant.PAKIN_URL)
@@ -198,15 +224,16 @@
//                        .doPost();
//                JSONObject jsonObject = JSON.parseObject(response);
//                if (jsonObject.getInteger("code").equals(200)) {
                if (true) {
                    success = true;
                    // 修改订单状态 4.完成 ===>> 6.已上报
                    if (!orderService.updateSettle(order.getId(), settle, null)) {
                        throw new CoolException("服务器内部错误,请联系管理员");
                    if (true) {
                        success = true;
                        // 修改订单状态 4.完成 ===>> 6.已上报
                        if (!orderService.updateSettle(order.getId(), settle, null)) {
                            throw new CoolException("服务器内部错误,请联系管理员");
                        }
                    } else {
                        log.error("请求接口失败!!!url:{};request:{};response:{}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), response);
                        throw new CoolException("上报mes系统失败");
                    }
                } else {
                    log.error("请求接口失败!!!url:{};request:{};response:{}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), response);
                    throw new CoolException("上报mes系统失败");
                }
            } catch (Exception e) {
                log.error("fail", e);