| | |
| | | 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 |
| | |
| | | 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") // 库存类型 |
| | |
| | | .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)) |
| | |
| | | .fluentPut("invscheme_number", "110") |
| | | .fluentPut("billtype_number", "im_PurInBill_STD_BT_S") |
| | | .fluentPut("supplier_number", suppCode) // 供应商编号 |
| | | .fluentPut("billno", order.getOrderNo()) |
| | | .fluentPut("billentry", billentryArray) // 将 billentry 数组添加到请求参数 |
| | | ))); |
| | | |
| | |
| | | JSONObject resultItem = resultArray.getJSONObject(i); |
| | | String billNo = resultItem.getString("number"); // 获取返回的单据号 |
| | | String billId = resultItem.getString("id"); // 获取返回的ID |
| | | order.setNumber(billId); |
| | | orderService.updateById(order); |
| | | log.info("订单号 {} 与返回的单据号匹配,设置订单 ID 为 {}", order.getOrderNo(), billId); |
| | | |
| | | // 判断返回的单据号与订单号是否一致 |
| | | if (billNo != null && billNo.equals(order.getOrderNo())) { |
| | | // 如果一致,设置订单的 number |
| | | order.setNumber(billId); |
| | | log.info("订单号 {} 与返回的单据号匹配,设置订单 ID 为 {}", order.getOrderNo(), billId); |
| | | } |
| | | } |
| | | } else { |
| | | log.error("接口调用失败,失败的操作数量: {}", failCount); |