自动化立体仓库 - WMS系统
IZCD4L12RTSW0VZ\Administrator
4 天以前 24f4438faf3a689d2ec67d56457c0ff5a3d1fb46
src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -354,7 +354,7 @@
        // 判断订单是否存在
        if (Objects.isNull(order)) {
            /** 不存在,新增订单 */
            generateOrders(params);
            generateOrders(params, type);
        } else {
            if (order.getSettle() == 2) {
                throw new CoolException("订单已处理,不可再变更!!");
@@ -368,7 +368,7 @@
            if (!orderService.deleteById(order.getId())) {
                throw new CoolException("原单据删除失败!!");
            }
            generateOrders(params);
            generateOrders(params, type);
        }
    }
@@ -380,9 +380,10 @@
     * 生成订单信息
     *
     * @param params
     * @param type
     */
    @Transactional(rollbackFor = Exception.class)
    public void generateOrders(PubOrderParams params) {
    public void generateOrders(PubOrderParams params, String type) {
        // 将数据当新订单插入
        Order newOrder = new Order();
        // 派工单号
@@ -443,7 +444,11 @@
                if (OrderType.ORDER_IN.type.equals(OrderWkType.getTypeVal(params.getType()))) {
                    // 入库
                    orderItem.setAnfme(Math.round(item.getInv_qty() * 10000) / 10000.0);
                    if (type.equals("add")) {
                        orderItem.setAnfme(Math.round(item.getInv_qty() * 10000) / 10000.0);
                    } else {
                        orderItem.setAnfme(Math.round(item.getNew_qty() * 10000) / 10000.0);
                    }
                } else if (OrderType.ORDER_OUT.type.equals(OrderWkType.getTypeVal(params.getType()))) {
                    // 出库
                    if (OrderWkType.ORDER_WK_ORDER_OUT.val.equals(params.getType())) {
@@ -452,7 +457,11 @@
                    } else if (OrderWkType.ORDER_WK_ORDER_OUT_EO.val.equals(params.getType())
                            || OrderWkType.ORDER_WK_ORDER_OUT_SO.val.equals(params.getType())) {
                        // 备货指示派工单(EO/SO)出库
                        orderItem.setAnfme(Math.round(item.getOrder_qty() * 10000) / 10000.0);
                        if (type.equals("add")) {
                            orderItem.setAnfme(Math.round(item.getOrder_qty() * 10000) / 10000.0);
                        } else {
                            orderItem.setAnfme(Math.round(item.getNew_qty() * 10000) / 10000.0);
                        }
                    }
                }
                orderItem.setMatnr(matnr.getMatnr());