自动化立体仓库 - WMS系统
skyouc
4 天以前 bd9b339b8507bebd3fbbb4ed6c84faeb8637e748
src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -82,12 +82,12 @@
     * @date 2025/11/24 14:49
     */
    @Override
    public XSR receiveOrders(List<PubOrderParams> orderParams) {
    public XSR receiveOrders(List<PubOrderParams> orderParams, String type) {
        orderParams.forEach(params -> {
            if (params.getType().equals(OrderWkType.getTypeVal(params.getType()))) {
                throw new CoolException("当前类型不是上架派工单!!");
            }
            addOrUpdateOrders(params, "add");
            addOrUpdateOrders(params, type);
        });
        return XSR.ok("单据下发成功!!");
@@ -179,7 +179,7 @@
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public XSR sendOutDispatch(List<PubOrderParams> pubOrderParams) {
    public XSR sendOutDispatch(List<PubOrderParams> pubOrderParams, String type) {
        if (Objects.isNull(pubOrderParams) || pubOrderParams.isEmpty()) {
            return XSR.error("参数不能为空!!");
        }
@@ -195,7 +195,7 @@
                throw new CoolException("公司ID不能为空!!");
            }
            addOrUpdateOrders(params, "add");
            addOrUpdateOrders(params, type);
        });
        return XSR.ok("备货指示派工单下发成功!!");
@@ -356,6 +356,9 @@
            /** 不存在,新增订单 */
            generateOrders(params);
        } else {
            if (order.getSettle() == 2) {
                throw new CoolException("订单已处理,不可再变更!!");
            }
            /** 存在,删除老订单,更新插入新订单 */
            // 删除旧订单明细
            if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) {
@@ -589,22 +592,22 @@
            if (Objects.isNull(response) || response.trim().isEmpty()) {
                return XSR.error("外网接口无响应!!");
            }
            JSONObject jsonObject = JSONObject.parseObject(response);
            Integer code = jsonObject.getInteger("code");
            if (!Objects.isNull(code) && code.equals(200)) {
//                if (!Objects.isNull(order)) {
//                    order.setReportOnce(5);
//                    orderService.updateById(order);
//                }
            XSR jsonObject = JSONObject.parseObject(response, XSR.class);
            if (jsonObject.getSuccess()) {
                if (!Objects.isNull(order)) {
                    order.setReportOnce(5);
                    order.setSettle(5L);
                    checkOrderService.updateById(order);
                }
                return XSR.ok("入库单上报完成!!");
            } else {
//                if (!Objects.isNull(order)) {
//                    int reportOnce = order.getReportOnce();
//                    reportOnce ++;
//                    order.setReportOnce(reportOnce);
//                    orderService.updateById(order);
//                }
                String msg = jsonObject.getString("message");
                if (!Objects.isNull(order)) {
                    int reportOnce = order.getReportOnce();
                    reportOnce ++;
                    order.setReportOnce(reportOnce);
                    checkOrderService.updateById(order);
                }
                String msg = jsonObject.getMessage();
                return XSR.error(Objects.isNull(msg) ? "上报失败!!" : msg);
            }
        } catch (Exception e) {
@@ -618,6 +621,59 @@
            return XSR.error(e.getMessage());
        }
//        return null;
    }
    /**
     * 备货单反馈
     * @param params
     * @param order
     * @return
     */
    @Override
    public XSR getOutDetailsResult(List<StockUpOrderParams> params, Order order) {
        if (Objects.isNull(params)) {
            return XSR.error("参数不能为空!!");
        }
        String response = null;
        try {
            response = new HttpHandler.Builder()
                    .setUri(url + ":" + port)
                    .setPath(prefix + "/getOutDetailsResult")
                    .setJson(JSONObject.toJSONString(params))
                    .build()
                    .doPost();
            if (Objects.isNull(response) || response.trim().isEmpty()) {
                return XSR.error("外网接口无响应!!");
            }
            JSONObject jsonObject = JSONObject.parseObject(response);
            Integer code = jsonObject.getInteger("code");
            if (!Objects.isNull(code) && code.equals(200)) {
                if (!Objects.isNull(order)) {
                    order.setReportOnce(5);
                    orderService.updateById(order);
                }
                return XSR.ok("入库单上报完成!!");
            } else {
                if (!Objects.isNull(order)) {
                    int reportOnce = order.getReportOnce();
                    reportOnce ++;
                    order.setReportOnce(reportOnce);
                    orderService.updateById(order);
                }
                String msg = jsonObject.getString("message");
                return XSR.error(Objects.isNull(msg) ? "上报失败!!" : msg);
            }
        } catch (Exception e) {
            if (!Objects.isNull(order)) {
                int reportOnce = order.getReportOnce();
                reportOnce ++;
                order.setReportOnce(reportOnce);
                orderService.updateById(order);
            }
            log.error(e.getMessage(), e);
            return XSR.error(e.getMessage());
        }
    }
    /** 生成新的零件损溢单 
@@ -647,7 +703,7 @@
        order.setSettle(Long.valueOf(CommonEnum.COMMON_ENUM_Y.type + ""));
        order.setStatus(CommonEnum.COMMON_ENUM_Y.type);
        order.setOrderTime(params.getUpdate_time());
        order.setMemo(params.getResason());
        order.setMemo(params.getReason());
        order.setShipName(params.getReason_name());
        order.setCreateTime(new Date());
        order.setUpdateTime(new Date());