Skip to content

Production task ​

Production tasks assigned to workers

INFO

Har bir javob umumiy konvertda qaytadi — code, message, messages, status_code, time — foydali yuk esa data ichida. Quyidagi jadvallar faqat data ichini tavsiflaydi.

POST /production-task/create ​

Create a new production task with tech-map items and warehouse assignments. Returns the hydrated task including items, route-sheet steps, materials, and warehouse quantities.

So‘rov tanasi

MaydonTurMajburiyTavsif
responsible_idstringHaEmployee ObjectId responsible for the task (required)
currency_idstringHaCurrency ObjectId for cost tracking (required)
organization_idstringHaOrganization ObjectId the task belongs to (required)
produced_warehouse_idstringHaWarehouse ObjectId where finished goods land (required)
itemsobject[]HaTech-map line items — at least one required
items[].tech_map_idstringHaProductionTechMap ObjectId (recipe/BOM reference)
items[].amountnumberHaPlanned production quantity (positive number)
used_warehouse_itemsobject[]HaPer-step warehouse assignments — at least one required
used_warehouse_items[].used_warehouse_idstringHaWarehouse ObjectId materials are consumed from for this step
used_warehouse_items[].step_idstringHaProductionStep ObjectId this warehouse assignment applies to
codestringYo‘qOptional human-readable task code
notestringYo‘qOptional free-text note
datestring (date)Yo‘qOptional task date (ISO 8601 YYYY-MM-DD)
attachmentsobject[]Yo‘qOptional pre-uploaded attachment object refs
json
{
  "responsible_id": "string",
  "currency_id": "string",
  "organization_id": "string",
  "produced_warehouse_id": "string",
  "items": [
    {
      "tech_map_id": "string",
      "amount": 0
    }
  ],
  "used_warehouse_items": [
    {
      "used_warehouse_id": "string",
      "step_id": "string"
    }
  ],
  "code": "string",
  "note": "string",
  "date": "string",
  "attachments": [
    {}
  ]
}

Javob

MaydonTurTavsif
_idstringProduction task ObjectId
numberstringAuto-generated sequential task number
codestringHuman-readable task code
notestringFree-text note
datestring (date-time)Task date
statestringCurrent task state. Mumkin qiymatlar: new, in_progress, done, canceled
organizationobject
organization._idstring
organization.namestring
produced_warehouseobject
produced_warehouse._idstring
produced_warehouse.namestring
responsibleobject
responsible._idstring
responsible.full_namestring
responsible.numberstring
used_warehouse_itemsobject[]
used_warehouse_items[].step_idstring
used_warehouse_items[].stepobject
used_warehouse_items[].step._idstring
used_warehouse_items[].step.namestring
used_warehouse_items[].used_warehouse_idstring
used_warehouse_items[].used_warehouseobject
used_warehouse_items[].used_warehouse._idstring
used_warehouse_items[].used_warehouse.namestring
itemsobject[]Hydrated tech-map items with route-sheet steps, materials, and warehouse quantities
attachmentsobject[]
created_atstring (date-time)
updated_atstring (date-time)
json
{
  "code": 0,
  "message": "Success",
  "status_code": 200,
  "data": {
    "_id": "string",
    "number": "string",
    "code": "string",
    "note": "string",
    "date": "2025-05-01T12:00:00Z",
    "state": "new",
    "organization": {
      "_id": "string",
      "name": "string"
    },
    "produced_warehouse": {
      "_id": "string",
      "name": "string"
    },
    "responsible": {
      "_id": "string",
      "full_name": "string",
      "number": "string"
    },
    "used_warehouse_items": [
      {
        "step_id": "string",
        "step": {
          "_id": null,
          "name": null
        },
        "used_warehouse_id": "string",
        "used_warehouse": {
          "_id": null,
          "name": null
        }
      }
    ],
    "items": [
      {}
    ],
    "attachments": [
      {}
    ],
    "created_at": "2025-05-01T12:00:00Z",
    "updated_at": "2025-05-01T12:00:00Z"
  },
  "time": "2025-05-01T12:00:00Z"
}

GET /production-task/get-by-id/{id} ​

Fetch a single production task by ObjectId. Returns the same hydrated shape as create/update.

Yo‘l parametrlari

ParametrTurMajburiyTavsif
idstringHaProduction-task ObjectId

So‘rov tanasi

So‘rov tanasi talab qilinmaydi.

Javob

Javob tuzilishi quyidagi bilan bir xil: POST /production-task/create.

POST /production-task/get-paging ​

Paginated list of production tasks, filterable by organization and state.

So‘rov tanasi

MaydonTurMajburiyTavsif
pagenumberHaStandart: 1
limitnumberHaStandart: 20
organization_idstringYo‘qFilter by organization ObjectId
statestringYo‘qFilter by task state. Mumkin qiymatlar: new, in_progress, done, canceled
searchstringYo‘qFree-text search across number and code fields
sort_bystringYo‘qField to sort by (e.g. created_at)
ascnumberYo‘qSort direction: 1 ascending, -1 descending. Mumkin qiymatlar: 1, -1
json
{
  "page": 1,
  "limit": 20,
  "organization_id": "string",
  "state": "new",
  "search": "string",
  "sort_by": "string",
  "asc": 1
}

Javob

MaydonTurTavsif
totalnumber
listobject[]
list[]._idstringProduction task ObjectId
list[].numberstringAuto-generated sequential task number
list[].codestringHuman-readable task code
list[].notestringFree-text note
list[].datestring (date-time)Task date
list[].statestringCurrent task state. Mumkin qiymatlar: new, in_progress, done, canceled
list[].organizationobject
list[].organization._idstring
list[].organization.namestring
list[].produced_warehouseobject
list[].produced_warehouse._idstring
list[].produced_warehouse.namestring
list[].responsibleobject
list[].responsible._idstring
list[].responsible.full_namestring
list[].responsible.numberstring
list[].created_atstring (date-time)
list[].updated_atstring (date-time)
json
{
  "code": 0,
  "message": "Success",
  "status_code": 200,
  "data": {
    "total": 0,
    "list": [
      {
        "_id": "string",
        "number": "string",
        "code": "string",
        "note": "string",
        "date": "2025-05-01T12:00:00Z",
        "state": "new",
        "organization": {
          "_id": null,
          "name": null
        },
        "produced_warehouse": {
          "_id": null,
          "name": null
        },
        "responsible": {
          "_id": null,
          "full_name": null,
          "number": null
        },
        "created_at": "2025-05-01T12:00:00Z",
        "updated_at": "2025-05-01T12:00:00Z"
      }
    ]
  },
  "time": "2025-05-01T12:00:00Z"
}

PUT /production-task/update/{id} ​

Update an existing production task. Only allowed while the task is in state new. Replaces items and warehouse assignments; re-runs tech-map hydration. Returns the updated hydrated task.

Yo‘l parametrlari

ParametrTurMajburiyTavsif
idstringHaProduction-task ObjectId to update

So‘rov tanasi

MaydonTurMajburiyTavsif
responsible_idstringHaEmployee ObjectId responsible for the task (required)
currency_idstringHaCurrency ObjectId for cost tracking (required)
organization_idstringHaOrganization ObjectId the task belongs to (required)
produced_warehouse_idstringHaWarehouse ObjectId where finished goods land (required)
itemsobject[]HaTech-map line items — at least one required
items[].tech_map_idstringHaProductionTechMap ObjectId (recipe/BOM reference)
items[].amountnumberHaPlanned production quantity (positive number)
used_warehouse_itemsobject[]HaPer-step warehouse assignments — at least one required
used_warehouse_items[].used_warehouse_idstringHaWarehouse ObjectId materials are consumed from for this step
used_warehouse_items[].step_idstringHaProductionStep ObjectId this warehouse assignment applies to
codestringYo‘qOptional human-readable task code
notestringYo‘qOptional free-text note
datestring (date)Yo‘qOptional task date (ISO 8601 YYYY-MM-DD)
attachmentsobject[]Yo‘qOptional pre-uploaded attachment object refs
json
{
  "responsible_id": "string",
  "currency_id": "string",
  "organization_id": "string",
  "produced_warehouse_id": "string",
  "items": [
    {
      "tech_map_id": "string",
      "amount": 0
    }
  ],
  "used_warehouse_items": [
    {
      "used_warehouse_id": "string",
      "step_id": "string"
    }
  ],
  "code": "string",
  "note": "string",
  "date": "string",
  "attachments": [
    {}
  ]
}

Javob

Javob tuzilishi quyidagi bilan bir xil: POST /production-task/create.

PUT /production-task/set-status/{id} ​

Transition a production task to a new state. Valid transitions: new→[in_progress, canceled, done]; in_progress→[canceled, done]; done→[canceled]; canceled→[]. Transitioning to canceled cascades cancellation of all linked production operations. NOTE: the reason field is accepted by the contract but is NOT persisted (the model has no reason field).

Yo‘l parametrlari

ParametrTurMajburiyTavsif
idstringHaProduction-task ObjectId

So‘rov tanasi

MaydonTurMajburiyTavsif
statusstringHaTarget state for the production task (required). Valid transitions: new→[in_progress, canceled, done]; in_progress→[canceled, done]; done→[canceled]; canceled→[].. Mumkin qiymatlar: new, in_progress, done, canceled
reasonstringYo‘qOptional reason for the state transition. Accepted by the API contract but NOT persisted — the ProductionTask model has no reason field.
json
{
  "status": "new",
  "reason": "string"
}

Javob

Javob tuzilishi quyidagi bilan bir xil: POST /production-task/create.

PUT /production-task/produce/{id} ​

Record production output against one step of the task's technological map. This is the write that actually moves material: the step's inputs are consumed from the used warehouse, amount of its output is produced into the produced warehouse, and the task advances. Reverse it with cancel-produced.

Yo‘l parametrlari

ParametrTurMajburiyTavsif
idstringHaProduction-task ObjectId

So‘rov tanasi

MaydonTurMajburiyTavsif
tech_map_idstringHaTechnological-map ObjectId the step belongs to
step_idstringHaProduction-step ObjectId being produced
responsible_idstringHaEmployee ObjectId credited with the output
amountnumberHaQuantity produced in this call
used_datestring (date-time)HaWhen the inputs were consumed (ISO 8601)
produced_datestring (date-time)HaWhen the output was produced (ISO 8601)
codestringYo‘qOptional external code for the resulting operation
statestringYo‘qOptional initial state for the resulting production operation
notestringYo‘qOptional free-text note
create_reminderbooleanYo‘qCreate a follow-up reminder for the responsible employee
additional_costsobject[]Yo‘qExtra costs to fold into the produced item's cost price
additional_costs[].cost_idstringYo‘qExtra-cost ObjectId
additional_costs[].amountnumberYo‘qCost amount
json
{
  "tech_map_id": "string",
  "step_id": "string",
  "responsible_id": "string",
  "amount": 0,
  "used_date": "2025-05-01T12:00:00Z",
  "produced_date": "2025-05-01T12:00:00Z",
  "code": "string",
  "state": "string",
  "note": "string",
  "create_reminder": false,
  "additional_costs": [
    {
      "cost_id": "string",
      "amount": 0
    }
  ]
}

Javob

Javob tuzilishi quyidagi bilan bir xil: POST /production-task/create.

PUT /production-task/cancel-produced/{id} ​

Reverse a previously recorded production for one step of the task. Cancels the operation the matching produce call created and returns the consumed material to stock. tech_map_id + step_id identify which produced step to undo.

Yo‘l parametrlari

ParametrTurMajburiyTavsif
idstringHaProduction-task ObjectId

So‘rov tanasi

MaydonTurMajburiyTavsif
tech_map_idstringHaTechnological-map ObjectId the produced step belongs to
step_idstringHaProduction-step ObjectId whose production is being reversed
json
{
  "tech_map_id": "string",
  "step_id": "string"
}

Javob

Javob tuzilishi quyidagi bilan bir xil: POST /production-task/create.

POST /production-task/state-report/by-product ​

Paginated production-task state report grouped by product. Answers how much of each product is planned, in progress, done or canceled across tasks — rather than listing the tasks themselves. Accepts the same filters as get-paging.

So‘rov tanasi

MaydonTurMajburiyTavsif
pagenumberHaStandart: 1
limitnumberHaStandart: 20
organization_idstringYo‘qFilter by organization ObjectId
statestringYo‘qFilter by task state. Mumkin qiymatlar: new, in_progress, done, canceled
searchstringYo‘qFree-text search across number and code fields
sort_bystringYo‘qField to sort by (e.g. created_at)
ascnumberYo‘qSort direction: 1 ascending, -1 descending. Mumkin qiymatlar: 1, -1
json
{
  "page": 1,
  "limit": 20,
  "organization_id": "string",
  "state": "new",
  "search": "string",
  "sort_by": "string",
  "asc": 1
}

Javob

MaydonTurTavsif
totalnumber
listobject[]
list[].product_idstringProduct ObjectId
list[].productobjectHydrated product
list[].product._idstring
list[].product.namestring
list[].newnumberQuantity on tasks still in the new state
list[].in_progressnumberQuantity on tasks in progress
list[].donenumberQuantity on completed tasks
list[].cancelednumberQuantity on canceled tasks
list[].totalnumberTotal planned quantity across all states
json
{
  "code": 0,
  "message": "Success",
  "status_code": 200,
  "data": {
    "total": 0,
    "list": [
      {
        "product_id": "string",
        "product": {
          "_id": null,
          "name": null
        },
        "new": 0,
        "in_progress": 0,
        "done": 0,
        "canceled": 0,
        "total": 0
      }
    ]
  },
  "time": "2025-05-01T12:00:00Z"
}

Bu sahifa OpenAPI spetsifikatsiyasidan yaratilgan.

Bito 2.0 Integration API