自动化立体仓库 - WMS系统
#
1
1 天以前 0f64ee96e72e34135201f28e033e1b5537031712
src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
@@ -98,10 +98,12 @@
                    if (orderDetl.getQty() == 0) {
                        continue;
                    }
//                    JSONArray idArr = new JSONArray();
//                    idArr.add(0L);   // ✅ 注意必须是 Long 类型的 0L
//                    Double reportNum = orderDetl.getQty() - orderDetl.getWorkQty();//上报数量减去已上报数量
                    // 创建 billentry_lk 对象
                    JSONObject billentryLk = new JSONObject()
                            .fluentPut("id", Long.parseLong(orderDetl.getThreeCode()))
                            .fluentPut("id", 0L)
                            .fluentPut("seq", orderDetl.getLineNumber())
                            .fluentPut("billentry_lk_stableid", 677270092232273922L)
                            .fluentPut("billentry_lk_sbillid", Long.parseLong(order.getItemName()))  // 主单ID
@@ -111,7 +113,7 @@
                    billentryLkArray.add(billentryLk);
                    // 创建 billentry 对象,填充缺失的字段
                    JSONObject billentry = new JSONObject()
                            .fluentPut("id", Long.parseLong(orderDetl.getThreeCode()))
                            .fluentPut("id", 0L)
                            .fluentPut("warehouse_number", orderDetl.getManu())  // 仓库编号
                            .fluentPut("invstatus_number", "110")  // 库存状态
                            .fluentPut("invtype_number", "110")  // 库存类型
@@ -119,16 +121,16 @@
                            .fluentPut("linetype_number", "010")  // 行号类型
                            .fluentPut("qty", orderDetl.getQty())  // 数量
                            .fluentPut("material_number", orderDetl.getMatnr())  // 物料编号
                            .fluentPut("billentry_lk", billentryLkArray);  // 将 billentry_lk 添加到 billentry
                            .fluentPut("billentry_lk", billentryLkArray);
                    billentryArray.add(billentry);
//                    orderDetl.setWorkQty(orderDetl.getQty());
//                    orderDetlService.updateById(orderDetl);//将上报数覆盖到历史上
                }
                Date now = new Date();
                // 生成 INR 相关请求参数
                return new JSONObject()
                        .fluentPut("data", new JSONArray(Arrays.asList(
                                new JSONObject()
                                        .fluentPut("billno", UUID.randomUUID().toString().replace("-", ""))
                                        .fluentPut("billno", UUID.randomUUID().toString().replace("-", "").substring(0, 16))
                                        .fluentPut("trdbillno", UUID.randomUUID().toString().replace("-", ""))
                                        .fluentPut("billtype_number", "im_PurInBill_STD_BT_S")
                                        .fluentPut("biztime", sdf1.format(now))
@@ -140,7 +142,6 @@
                                        .fluentPut("invscheme_number", "110")
                                        .fluentPut("billtype_number", "im_PurInBill_STD_BT_S")
                                        .fluentPut("supplier_number", suppCode)  // 供应商编号
                                        .fluentPut("billno", order.getOrderNo())
                                        .fluentPut("billentry", billentryArray)  // 将 billentry 数组添加到请求参数
                        )));
@@ -213,6 +214,7 @@
                        if (billNo != null && billNo.equals(order.getOrderNo())) {
                            // 如果一致,设置订单的 number
                            order.setNumber(billId);
                            orderService.updateById(order);
                            log.info("订单号 {} 与返回的单据号匹配,设置订单 ID 为 {}", order.getOrderNo(), billId);
                        }
                    }