自动化立体仓库 - WMS系统
#
1
2 天以前 85f8eed3fa9f52a68dff30ea8bdee00fbc1d5938
#
3个文件已修改
55 ■■■■ 已修改文件
src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
@@ -35,7 +35,7 @@
    @Value("${erp.switch.ReviewOrderSwitch}")
    private boolean ReviewOrderSwitch;
    @Scheduled(cron = "0/20 * * * * ? ")
//    @Scheduled(cron = "0/20 * * * * ? ")
    @Async("orderThreadPool")
    public void completeAndReport(){
        if(!ReviewOrderSwitch){
@@ -47,7 +47,7 @@
            List<Order> orders = orderService.selectComplete();
            if(orders.size() > 0){
                for (Order order : orders) {
                    if(order.getDocType() == 3 || order.getDocType() == 16 || order.getPayType()!=1){ //走新增提交审核流程
                    if((order.getDocType() == 3 || order.getDocType() == 16) && order.getPayType() == null){ //走新增提交审核流程
                        ReturnT<String> result = saveOrderSyncHandler.start(order);//4已完成
                        if (!result.isSuccess()) {
                            log.error("单据[orderNo={}]新增保存至erp失败", order.getOrderNo());
@@ -62,10 +62,6 @@
                        if(orderDetlPakinService.morpt(order.getSalesman())){
                            order.setSettle(11L); //yu/cheng/dan/deng/dai/chu/ku/dan
                            orderService.updateById(order);
//                            ReturnT<String> result = saveOrderSyncHandler.start(order1);//4已完成hui/bao/dan
//                            if (!result.isSuccess()) {
//                                log.error("单据[orderNo={}]新增保存至erp失败", order.getOrderNo());
//                            }
                        }
                    }
                    else{
src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
@@ -558,6 +558,7 @@
                                            callApiLogSaveOrder(order,kingDeeUtilType, "编号商品检索失败,请先添加商品"+matnr, false);
                                            continue;
                                        }
                                        Double erpAnfme = anfme*mat.getSafeQty();
                                        Order order1 = orderService.selectByNo( billNo);
                                        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order1.getId());
                                        boolean sign = false;
@@ -579,7 +580,7 @@
                                        orderDetl.setThreeCode(detlId);//ERP明细id
                                        orderDetl.setLineNumber(seq);//分录行号
                                        orderDetl.setAnfme(anfme);//总箱数
                                        orderDetl.setErpAnfme(anfme);//erp数据
                                        orderDetl.setErpAnfme(erpAnfme);//erp数据
                                        orderDetl.setOrderId(order.getId());
                                        orderDetl.setOrderNo(order.getOrderNo());//表头单据
                                        orderDetl.setSupp(supp);//供应商名称(货源)
@@ -735,6 +736,7 @@
                                            "商品不存在:" + matnr, false);
                                    continue;
                                }
                                Double erpAnfme = anfme*mat.getSafeQty();
                                // ========= 明细去重 =========
                                List<OrderDetl> orderDetls =
                                        orderDetlService.selectByOrderId(order.getId());
@@ -754,7 +756,7 @@
                                orderDetl.setThreeCode(detlId);
                                orderDetl.setLineNumber(seq);
                                orderDetl.setAnfme(anfme);
                                orderDetl.setErpAnfme(anfme);
                                orderDetl.setErpAnfme(erpAnfme);
                                orderDetl.setOrderId(order.getId());
                                orderDetl.setOrderNo(order.getOrderNo());
                                orderDetl.setSupp(supp);
@@ -901,6 +903,7 @@
                                            "商品不存在:" + matnr, false);
                                    continue;
                                }
                                Double erpAnfme = anfme*mat.getSafeQty();
                                // ========= 明细去重 =========
                                List<OrderDetl> orderDetls =
                                        orderDetlService.selectByOrderId(order.getId());
@@ -920,7 +923,7 @@
                                orderDetl.setThreeCode(detlId);
                                orderDetl.setLineNumber(seq);
                                orderDetl.setAnfme(anfme);
                                orderDetl.setErpAnfme(anfme);
                                orderDetl.setErpAnfme(erpAnfme);
                                orderDetl.setOrderId(order.getId());
                                orderDetl.setOrderNo(order.getOrderNo());
                                orderDetl.setSupp(supp);
@@ -1209,6 +1212,10 @@
                                String detlId = entry.getString("id"); //明细id
                                Long seq = entry.getLong("seq"); //分录行号
//                                String suppCode = entry.getString("supplier_number");
                                if(anfme == 0){
                                    callApiLogSaveOrder(order,kingDeeUtilType, "单据数量异常"+matnr, false);
                                    continue;
                                }
                                String suppCode = null;
                                if (anfme == null || anfme == 0) {
                                    callApiLogSaveOrder(order, kingDeeUtilType,
@@ -1222,7 +1229,7 @@
                                            "物料档案不存在:" + matnr, false);
                                    continue;
                                }
                                anfmeBox = anfme/mat.getSafeQty();
                                anfmeBox = Math.floor(anfme / mat.getSafeQty());
                                // ========= 明细去重 =========
                                List<OrderDetl> orderDetls =
                                        orderDetlService.selectByOrderId(order.getId());
@@ -1238,7 +1245,6 @@
//                                    supp = locSupp.getOwner();
//                                }
                                // ========= 保存明细 =========
                                try{
                                    OrderDetl orderDetl = new OrderDetl();
                                    orderDetl.sync(mat);
                                    orderDetl.setThreeCode(detlId);
@@ -1268,10 +1274,7 @@
                                    orderDetl.setQty(0.0D);
                                    orderDetlService.insert(orderDetl);
                                } catch (Exception e) {
                                    // 如果发生异常,记录详细的错误信息
                                    callApiLogSaveOrder(order, kingDeeUtilType, "保存明细失败,物料:" + matnr + " 错误信息:" + e.getMessage(), false);
                                }
                            }
                        }
@@ -1395,7 +1398,7 @@
                                            "商品不存在:" + matnr, false);
                                    continue;
                                }
                                anfmeBox = anfme/mat.getSafeQty();
                                anfmeBox = Math.floor(anfme / mat.getSafeQty());
                                // ========= 明细去重 =========
                                List<OrderDetl> orderDetls =
                                        orderDetlService.selectByOrderId(order.getId());
@@ -1410,7 +1413,7 @@
                                    supp = locSupp.getOwner();
                                }
                                // ========= 保存明细 =========
                                try{
                                    OrderDetl orderDetl = new OrderDetl();
                                    orderDetl.sync(mat);
                                    orderDetl.setThreeCode(detlId);
@@ -1440,10 +1443,6 @@
                                    orderDetl.setQty(0.0D);
                                    orderDetlService.insert(orderDetl);
                                } catch (Exception e) {
                                    // 如果发生异常,记录详细的错误信息
                                    callApiLogSaveOrder(order, kingDeeUtilType, "保存明细失败,物料:" + matnr + " 错误信息:" + e.getMessage(), false);
                                }
                            }
                        }
                    }
@@ -1567,7 +1566,7 @@
                                            "商品不存在:" + matnr, false);
                                    continue;
                                }
                                anfmeBox = anfme/mat.getSafeQty();
                                anfmeBox = Math.floor(anfme / mat.getSafeQty());
                                // ========= 明细去重 =========
                                List<OrderDetl> orderDetls =
                                        orderDetlService.selectByOrderId(order.getId());
src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
@@ -112,7 +112,7 @@
                    }
                    Mat mat = matService.selectByMatnr(orderDetl.getMatnr());
                    Double qty = orderDetl.getQty()*mat.getSafeQty();
                    Double qtytotal = orderDetl.getAnfme()*mat.getSafeQty();
//                    Double qtytotal = orderDetl.getAnfme()*mat.getSafeQty();
//                    JSONArray idArr = new JSONArray();
//                    idArr.add(0L);
                    // 创建 billentry_lk 对象
@@ -122,7 +122,7 @@
                            .fluentPut("billentry_lk_stableid", 677270092232273922L)
                            .fluentPut("billentry_lk_sbillid", Long.parseLong(order.getItemName()))  // 主单ID
                            .fluentPut("billentry_lk_sid", Long.parseLong(orderDetl.getThreeCode()))  // 明细ID
                            .fluentPut("billentry_lk_baseqty_old", qtytotal)  // ERP数量
                            .fluentPut("billentry_lk_baseqty_old", orderDetl.getAnfme())  // ERP数量
                            .fluentPut("billentry_lk_baseqty", qty);  // 作业数量
                    billentryLkArray.add(billentryLk);
                    // 创建 billentry 对象,填充缺失的字段
@@ -171,7 +171,7 @@
                    }
                    Mat mat = matService.selectByMatnr(orderDetl.getMatnr());
                    Double qty = orderDetl.getQty()*mat.getSafeQty();
                    Double qtytotal = orderDetl.getAnfme()*mat.getSafeQty();
//                    Double qtytotal = orderDetl.getAnfme()*mat.getSafeQty();
//                    JSONArray idArr = new JSONArray();
//                    idArr.add(0L);
                    // 创建 billentry_lk 对象
@@ -181,7 +181,7 @@
                            .fluentPut("billentry_lk_stableid", 677270092232273922L)
                            .fluentPut("billentry_lk_sbillid", Long.parseLong(order.getItemName()))  // 主单ID
                            .fluentPut("billentry_lk_sid", Long.parseLong(orderDetl.getThreeCode()))  // 明细ID
                            .fluentPut("billentry_lk_baseqty_old", qtytotal)  // ERP数量
                            .fluentPut("billentry_lk_baseqty_old", orderDetl.getAnfme())  // ERP数量
                            .fluentPut("billentry_lk_baseqty", qty);  // 作业数量
                    billentryLkArray1.add(billentryLk);
                    // 创建 billentry 对象,填充缺失的字段
@@ -244,10 +244,10 @@
                                        .fluentPut("billno", order.getOrderNo())
//                                        .fluentPut("bookdate", sdf1.format(nowMis))
                                        .fluentPut("biztime", sdf1.format(nowMis))
                                        .fluentPut("biztype_number", "354")
                                        .fluentPut("billtype_number", "im_OtherInBill_STD_BT_S")
                                        .fluentPut("org_number", "BU-00001")
                                        .fluentPut("invscheme_number", "354")
//                                        .fluentPut("biztype_number", "354")
//                                        .fluentPut("billtype_number", "im_OtherInBill_STD_BT_S")
//                                        .fluentPut("org_number", "BU-00001")
//                                        .fluentPut("invscheme_number", "354")
                                        .fluentPut("billentry", billentryArray)
                        )));
            case "STK_MisDelivery": // 其他出库单