GuardMarket

inventory.reorder_point

计算补货点

Use demand×lead time+safety stock, rounded up; compare with on-hand+on-order-reserved inventory position.

Version 1.0.0确定性数据处理Backend required

使用场景 / Purpose

Inventory: reorder point. 本技能对提供的参数执行计算,输入输出契约如下。文档例子来自已实现函数的固定验收样例;网页本身不执行代码。

输入字段 / Parameters

字段类型要求约束与说明
on_hand"integer"必填 Required{"minimum": 0, "maximum": 1000000}
on_order"integer"必填 Required{"minimum": 0, "maximum": 1000000}
reserved"integer"必填 Required{"minimum": 0, "maximum": 1000000}
daily_demand"number"必填 Required{"minimum": 0, "maximum": 100000}
lead_days"number"必填 Required{"minimum": 0, "maximum": 3650}
safety_stock"integer"必填 Required{"minimum": 0, "maximum": 1000000}

输入例子 / Example input

{
  "on_hand": 20,
  "on_order": 0,
  "reserved": 5,
  "daily_demand": 4,
  "lead_days": 5,
  "safety_stock": 10
}

预期输出 / Expected output

{
  "reorder_point": 30,
  "inventory_position": 15,
  "reorder_needed": true,
  "suggested_quantity": 15
}
完整输入 JSON Schema
{
  "type": "object",
  "properties": {
    "on_hand": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    },
    "on_order": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    },
    "reserved": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    },
    "daily_demand": {
      "type": "number",
      "minimum": 0,
      "maximum": 100000
    },
    "lead_days": {
      "type": "number",
      "minimum": 0,
      "maximum": 3650
    },
    "safety_stock": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    }
  },
  "required": [
    "on_hand",
    "on_order",
    "reserved",
    "daily_demand",
    "lead_days",
    "safety_stock"
  ],
  "additionalProperties": false,
  "maxProperties": 1000
}
完整输出 JSON Schema
{
  "type": "object",
  "properties": {
    "reorder_point": {
      "type": "number",
      "minimum": -1e+100,
      "maximum": 1e+100
    },
    "inventory_position": {
      "type": "number",
      "minimum": -1e+100,
      "maximum": 1e+100
    },
    "reorder_needed": {
      "type": "boolean"
    },
    "suggested_quantity": {
      "type": "number",
      "minimum": -1e+100,
      "maximum": 1e+100
    }
  },
  "required": [
    "reorder_point",
    "inventory_position",
    "reorder_needed",
    "suggested_quantity"
  ],
  "additionalProperties": false,
  "maxProperties": 1000
}