@tailor-platform/erp-kit 0.5.1 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/cli.mjs +103 -23
- package/package.json +1 -1
- package/skills/erp-kit-app-5-impl-backend/SKILL.md +7 -4
- package/skills/erp-kit-app-7-impl-review/SKILL.md +1 -1
- package/skills/erp-kit-module-6-impl-review/SKILL.md +39 -17
- package/src/commands/generate-doc.ts +1 -1
- package/src/commands/lib/discovery.test.ts +13 -3
- package/src/commands/lib/discovery.ts +10 -2
- package/src/commands/lib/paths.ts +4 -2
- package/src/commands/lib/sync-check-tests.test.ts +84 -6
- package/src/commands/lib/sync-check-tests.ts +63 -3
- package/src/commands/sync-check.ts +7 -3
- package/src/generator/generate-app-code.ts +51 -16
- package/src/generator/generate-stubs.ts +4 -0
- package/src/generator/stub-templates.test.ts +11 -0
- package/src/generator/stub-templates.ts +22 -1
- package/src/modules/inventory/docs/features/inventory-adjustment.md +2 -1
- package/src/modules/inventory/docs/features/scrap-management.md +39 -1
- package/src/modules/manufacturing/README.md +63 -0
- package/src/modules/manufacturing/command/.gitkeep +0 -0
- package/src/modules/manufacturing/command/activateBillOfMaterial.generated.ts +6 -0
- package/src/modules/manufacturing/command/activateBillOfMaterial.test.ts +166 -0
- package/src/modules/manufacturing/command/activateBillOfMaterial.ts +173 -0
- package/src/modules/manufacturing/command/activateRouting.generated.ts +6 -0
- package/src/modules/manufacturing/command/activateRouting.test.ts +152 -0
- package/src/modules/manufacturing/command/activateRouting.ts +92 -0
- package/src/modules/manufacturing/command/activateWorkCenter.generated.ts +6 -0
- package/src/modules/manufacturing/command/activateWorkCenter.test.ts +135 -0
- package/src/modules/manufacturing/command/activateWorkCenter.ts +91 -0
- package/src/modules/manufacturing/command/cancelProductionOrder.generated.ts +6 -0
- package/src/modules/manufacturing/command/cancelProductionOrder.test.ts +151 -0
- package/src/modules/manufacturing/command/cancelProductionOrder.ts +114 -0
- package/src/modules/manufacturing/command/closeProductionOrder.generated.ts +6 -0
- package/src/modules/manufacturing/command/closeProductionOrder.test.ts +126 -0
- package/src/modules/manufacturing/command/closeProductionOrder.ts +87 -0
- package/src/modules/manufacturing/command/completeProductionOrder.generated.ts +6 -0
- package/src/modules/manufacturing/command/completeProductionOrder.test.ts +132 -0
- package/src/modules/manufacturing/command/completeProductionOrder.ts +97 -0
- package/src/modules/manufacturing/command/completeWorkOrder.generated.ts +6 -0
- package/src/modules/manufacturing/command/completeWorkOrder.test.ts +369 -0
- package/src/modules/manufacturing/command/completeWorkOrder.ts +212 -0
- package/src/modules/manufacturing/command/createBillOfMaterial.generated.ts +6 -0
- package/src/modules/manufacturing/command/createBillOfMaterial.test.ts +210 -0
- package/src/modules/manufacturing/command/createBillOfMaterial.ts +176 -0
- package/src/modules/manufacturing/command/createProductionOrder.generated.ts +6 -0
- package/src/modules/manufacturing/command/createProductionOrder.test.ts +160 -0
- package/src/modules/manufacturing/command/createProductionOrder.ts +129 -0
- package/src/modules/manufacturing/command/createRouting.generated.ts +6 -0
- package/src/modules/manufacturing/command/createRouting.test.ts +168 -0
- package/src/modules/manufacturing/command/createRouting.ts +128 -0
- package/src/modules/manufacturing/command/createWorkCenter.generated.ts +6 -0
- package/src/modules/manufacturing/command/createWorkCenter.test.ts +148 -0
- package/src/modules/manufacturing/command/createWorkCenter.ts +131 -0
- package/src/modules/manufacturing/command/deactivateBillOfMaterial.generated.ts +6 -0
- package/src/modules/manufacturing/command/deactivateBillOfMaterial.test.ts +103 -0
- package/src/modules/manufacturing/command/deactivateBillOfMaterial.ts +78 -0
- package/src/modules/manufacturing/command/deactivateRouting.generated.ts +6 -0
- package/src/modules/manufacturing/command/deactivateRouting.test.ts +112 -0
- package/src/modules/manufacturing/command/deactivateRouting.ts +76 -0
- package/src/modules/manufacturing/command/deactivateWorkCenter.generated.ts +6 -0
- package/src/modules/manufacturing/command/deactivateWorkCenter.test.ts +113 -0
- package/src/modules/manufacturing/command/deactivateWorkCenter.ts +85 -0
- package/src/modules/manufacturing/command/pauseWorkOrder.generated.ts +6 -0
- package/src/modules/manufacturing/command/pauseWorkOrder.test.ts +118 -0
- package/src/modules/manufacturing/command/pauseWorkOrder.ts +82 -0
- package/src/modules/manufacturing/command/recordInventoryIssueOutcome.generated.ts +6 -0
- package/src/modules/manufacturing/command/recordInventoryIssueOutcome.test.ts +183 -0
- package/src/modules/manufacturing/command/recordInventoryIssueOutcome.ts +139 -0
- package/src/modules/manufacturing/command/recordManufacturingCostSettlementAcknowledgment.generated.ts +6 -0
- package/src/modules/manufacturing/command/recordManufacturingCostSettlementAcknowledgment.test.ts +120 -0
- package/src/modules/manufacturing/command/recordManufacturingCostSettlementAcknowledgment.ts +110 -0
- package/src/modules/manufacturing/command/releaseProductionOrder.generated.ts +6 -0
- package/src/modules/manufacturing/command/releaseProductionOrder.test.ts +220 -0
- package/src/modules/manufacturing/command/releaseProductionOrder.ts +450 -0
- package/src/modules/manufacturing/command/reopenProductionOrder.generated.ts +6 -0
- package/src/modules/manufacturing/command/reopenProductionOrder.test.ts +196 -0
- package/src/modules/manufacturing/command/reopenProductionOrder.ts +98 -0
- package/src/modules/manufacturing/command/reportWorkOrderProgress.generated.ts +6 -0
- package/src/modules/manufacturing/command/reportWorkOrderProgress.test.ts +204 -0
- package/src/modules/manufacturing/command/reportWorkOrderProgress.ts +129 -0
- package/src/modules/manufacturing/command/rescheduleProductionOrder.generated.ts +6 -0
- package/src/modules/manufacturing/command/rescheduleProductionOrder.test.ts +185 -0
- package/src/modules/manufacturing/command/rescheduleProductionOrder.ts +95 -0
- package/src/modules/manufacturing/command/resumeWorkOrder.generated.ts +6 -0
- package/src/modules/manufacturing/command/resumeWorkOrder.test.ts +122 -0
- package/src/modules/manufacturing/command/resumeWorkOrder.ts +94 -0
- package/src/modules/manufacturing/command/reviewManufacturingCostSummary.generated.ts +6 -0
- package/src/modules/manufacturing/command/reviewManufacturingCostSummary.test.ts +231 -0
- package/src/modules/manufacturing/command/reviewManufacturingCostSummary.ts +137 -0
- package/src/modules/manufacturing/command/startWorkOrder.generated.ts +6 -0
- package/src/modules/manufacturing/command/startWorkOrder.test.ts +118 -0
- package/src/modules/manufacturing/command/startWorkOrder.ts +126 -0
- package/src/modules/manufacturing/command/technicallyCompleteProductionOrder.generated.ts +6 -0
- package/src/modules/manufacturing/command/technicallyCompleteProductionOrder.test.ts +153 -0
- package/src/modules/manufacturing/command/technicallyCompleteProductionOrder.ts +106 -0
- package/src/modules/manufacturing/command/unreleaseProductionOrder.generated.ts +6 -0
- package/src/modules/manufacturing/command/unreleaseProductionOrder.test.ts +140 -0
- package/src/modules/manufacturing/command/unreleaseProductionOrder.ts +131 -0
- package/src/modules/manufacturing/command/updateBillOfMaterial.generated.ts +6 -0
- package/src/modules/manufacturing/command/updateBillOfMaterial.test.ts +149 -0
- package/src/modules/manufacturing/command/updateBillOfMaterial.ts +174 -0
- package/src/modules/manufacturing/command/updateProductionOrder.generated.ts +6 -0
- package/src/modules/manufacturing/command/updateProductionOrder.test.ts +112 -0
- package/src/modules/manufacturing/command/updateProductionOrder.ts +145 -0
- package/src/modules/manufacturing/command/updateRouting.generated.ts +6 -0
- package/src/modules/manufacturing/command/updateRouting.test.ts +211 -0
- package/src/modules/manufacturing/command/updateRouting.ts +124 -0
- package/src/modules/manufacturing/command/updateWorkCenter.generated.ts +6 -0
- package/src/modules/manufacturing/command/updateWorkCenter.test.ts +152 -0
- package/src/modules/manufacturing/command/updateWorkCenter.ts +137 -0
- package/src/modules/manufacturing/db/.gitkeep +0 -0
- package/src/modules/manufacturing/db/billOfMaterial.ts +70 -0
- package/src/modules/manufacturing/db/billOfMaterialLine.ts +49 -0
- package/src/modules/manufacturing/db/costVarianceLine.ts +53 -0
- package/src/modules/manufacturing/db/manufacturingCostLine.ts +35 -0
- package/src/modules/manufacturing/db/manufacturingCostSettlementRecord.ts +39 -0
- package/src/modules/manufacturing/db/manufacturingCostSummary.ts +59 -0
- package/src/modules/manufacturing/db/productionOrder.ts +83 -0
- package/src/modules/manufacturing/db/productionOrderBomSnapshot.ts +44 -0
- package/src/modules/manufacturing/db/productionOrderCostBaseline.ts +44 -0
- package/src/modules/manufacturing/db/productionOrderMaterialRequirement.ts +57 -0
- package/src/modules/manufacturing/db/productionOrderRoutingSnapshot.ts +43 -0
- package/src/modules/manufacturing/db/routing.ts +63 -0
- package/src/modules/manufacturing/db/routingOperation.ts +57 -0
- package/src/modules/manufacturing/db/workCenter.ts +87 -0
- package/src/modules/manufacturing/db/workOrder.ts +65 -0
- package/src/modules/manufacturing/db/workOrderExecutionEvent.ts +54 -0
- package/src/modules/manufacturing/docs/commands/ActivateBillOfMaterial.md +50 -0
- package/src/modules/manufacturing/docs/commands/ActivateRouting.md +48 -0
- package/src/modules/manufacturing/docs/commands/ActivateWorkCenter.md +49 -0
- package/src/modules/manufacturing/docs/commands/CancelProductionOrder.md +48 -0
- package/src/modules/manufacturing/docs/commands/CloseProductionOrder.md +46 -0
- package/src/modules/manufacturing/docs/commands/CompleteProductionOrder.md +48 -0
- package/src/modules/manufacturing/docs/commands/CompleteWorkOrder.md +66 -0
- package/src/modules/manufacturing/docs/commands/CreateBillOfMaterial.md +54 -0
- package/src/modules/manufacturing/docs/commands/CreateProductionOrder.md +49 -0
- package/src/modules/manufacturing/docs/commands/CreateRouting.md +50 -0
- package/src/modules/manufacturing/docs/commands/CreateWorkCenter.md +51 -0
- package/src/modules/manufacturing/docs/commands/DeactivateBillOfMaterial.md +45 -0
- package/src/modules/manufacturing/docs/commands/DeactivateRouting.md +45 -0
- package/src/modules/manufacturing/docs/commands/DeactivateWorkCenter.md +45 -0
- package/src/modules/manufacturing/docs/commands/PauseWorkOrder.md +44 -0
- package/src/modules/manufacturing/docs/commands/RecordInventoryIssueOutcome.md +59 -0
- package/src/modules/manufacturing/docs/commands/RecordManufacturingCostSettlementAcknowledgment.md +49 -0
- package/src/modules/manufacturing/docs/commands/ReleaseProductionOrder.md +57 -0
- package/src/modules/manufacturing/docs/commands/ReopenProductionOrder.md +54 -0
- package/src/modules/manufacturing/docs/commands/ReportWorkOrderProgress.md +53 -0
- package/src/modules/manufacturing/docs/commands/RescheduleProductionOrder.md +45 -0
- package/src/modules/manufacturing/docs/commands/ResumeWorkOrder.md +44 -0
- package/src/modules/manufacturing/docs/commands/ReviewManufacturingCostSummary.md +52 -0
- package/src/modules/manufacturing/docs/commands/StartWorkOrder.md +46 -0
- package/src/modules/manufacturing/docs/commands/TechnicallyCompleteProductionOrder.md +51 -0
- package/src/modules/manufacturing/docs/commands/UnreleaseProductionOrder.md +46 -0
- package/src/modules/manufacturing/docs/commands/UpdateBillOfMaterial.md +48 -0
- package/src/modules/manufacturing/docs/commands/UpdateProductionOrder.md +48 -0
- package/src/modules/manufacturing/docs/commands/UpdateRouting.md +52 -0
- package/src/modules/manufacturing/docs/commands/UpdateWorkCenter.md +48 -0
- package/src/modules/manufacturing/docs/features/bill-of-material-management.md +83 -0
- package/src/modules/manufacturing/docs/features/manufacturing-cost-and-variance.md +191 -0
- package/src/modules/manufacturing/docs/features/production-order-lifecycle.md +103 -0
- package/src/modules/manufacturing/docs/features/routing-and-work-center-definition.md +63 -0
- package/src/modules/manufacturing/docs/features/work-order-execution.md +115 -0
- package/src/modules/manufacturing/docs/models/BillOfMaterial.md +60 -0
- package/src/modules/manufacturing/docs/models/ManufacturingCostSummary.md +66 -0
- package/src/modules/manufacturing/docs/models/ProductionOrder.md +76 -0
- package/src/modules/manufacturing/docs/models/Routing.md +58 -0
- package/src/modules/manufacturing/docs/models/WorkCenter.md +56 -0
- package/src/modules/manufacturing/docs/models/WorkOrder.md +63 -0
- package/src/modules/manufacturing/docs/queries/DetectBillOfMaterialCircularReference.md +39 -0
- package/src/modules/manufacturing/docs/queries/ExplodeBillOfMaterial.md +56 -0
- package/src/modules/manufacturing/docs/queries/GetBillOfMaterial.md +37 -0
- package/src/modules/manufacturing/docs/queries/GetManufacturingCostSummary.md +39 -0
- package/src/modules/manufacturing/docs/queries/GetProductionOrder.md +37 -0
- package/src/modules/manufacturing/docs/queries/GetRouting.md +39 -0
- package/src/modules/manufacturing/docs/queries/GetWorkCenter.md +35 -0
- package/src/modules/manufacturing/docs/queries/GetWorkOrder.md +38 -0
- package/src/modules/manufacturing/docs/queries/ListBillOfMaterialsByItem.md +42 -0
- package/src/modules/manufacturing/docs/queries/ListManufacturingCostSummariesByStatus.md +41 -0
- package/src/modules/manufacturing/docs/queries/ListProductionOrdersByStatus.md +41 -0
- package/src/modules/manufacturing/docs/queries/ListRoutingsByItem.md +42 -0
- package/src/modules/manufacturing/docs/queries/ListWorkCentersBySite.md +38 -0
- package/src/modules/manufacturing/docs/queries/ListWorkOrdersByProductionOrder.md +39 -0
- package/src/modules/manufacturing/docs/queries/ListWorkOrdersByWorkCenter.md +43 -0
- package/src/modules/manufacturing/executor/.gitkeep +0 -0
- package/src/modules/manufacturing/generated/enums.ts +113 -0
- package/src/modules/manufacturing/generated/kysely-tailordb.ts +247 -0
- package/src/modules/manufacturing/index.ts +2 -0
- package/src/modules/manufacturing/lib/_db_deps.ts +22 -0
- package/src/modules/manufacturing/lib/errors.generated.ts +592 -0
- package/src/modules/manufacturing/lib/permissions.generated.ts +35 -0
- package/src/modules/manufacturing/lib/types.ts +111 -0
- package/src/modules/manufacturing/module.ts +226 -0
- package/src/modules/manufacturing/permissions.ts +3 -0
- package/src/modules/manufacturing/query/.gitkeep +0 -0
- package/src/modules/manufacturing/query/detectBillOfMaterialCircularReference.generated.ts +5 -0
- package/src/modules/manufacturing/query/detectBillOfMaterialCircularReference.test.ts +115 -0
- package/src/modules/manufacturing/query/detectBillOfMaterialCircularReference.ts +79 -0
- package/src/modules/manufacturing/query/explodeBillOfMaterial.generated.ts +5 -0
- package/src/modules/manufacturing/query/explodeBillOfMaterial.test.ts +445 -0
- package/src/modules/manufacturing/query/explodeBillOfMaterial.ts +306 -0
- package/src/modules/manufacturing/query/getBillOfMaterial.generated.ts +5 -0
- package/src/modules/manufacturing/query/getBillOfMaterial.test.ts +64 -0
- package/src/modules/manufacturing/query/getBillOfMaterial.ts +27 -0
- package/src/modules/manufacturing/query/getManufacturingCostSummary.generated.ts +5 -0
- package/src/modules/manufacturing/query/getManufacturingCostSummary.test.ts +147 -0
- package/src/modules/manufacturing/query/getManufacturingCostSummary.ts +46 -0
- package/src/modules/manufacturing/query/getProductionOrder.generated.ts +5 -0
- package/src/modules/manufacturing/query/getProductionOrder.test.ts +139 -0
- package/src/modules/manufacturing/query/getProductionOrder.ts +84 -0
- package/src/modules/manufacturing/query/getRouting.generated.ts +5 -0
- package/src/modules/manufacturing/query/getRouting.test.ts +71 -0
- package/src/modules/manufacturing/query/getRouting.ts +34 -0
- package/src/modules/manufacturing/query/getWorkCenter.generated.ts +5 -0
- package/src/modules/manufacturing/query/getWorkCenter.test.ts +37 -0
- package/src/modules/manufacturing/query/getWorkCenter.ts +21 -0
- package/src/modules/manufacturing/query/getWorkOrder.generated.ts +5 -0
- package/src/modules/manufacturing/query/getWorkOrder.test.ts +73 -0
- package/src/modules/manufacturing/query/getWorkOrder.ts +28 -0
- package/src/modules/manufacturing/query/listBillOfMaterialsByItem.generated.ts +5 -0
- package/src/modules/manufacturing/query/listBillOfMaterialsByItem.test.ts +107 -0
- package/src/modules/manufacturing/query/listBillOfMaterialsByItem.ts +58 -0
- package/src/modules/manufacturing/query/listManufacturingCostSummariesByStatus.generated.ts +5 -0
- package/src/modules/manufacturing/query/listManufacturingCostSummariesByStatus.test.ts +96 -0
- package/src/modules/manufacturing/query/listManufacturingCostSummariesByStatus.ts +77 -0
- package/src/modules/manufacturing/query/listProductionOrdersByStatus.generated.ts +5 -0
- package/src/modules/manufacturing/query/listProductionOrdersByStatus.test.ts +121 -0
- package/src/modules/manufacturing/query/listProductionOrdersByStatus.ts +83 -0
- package/src/modules/manufacturing/query/listRoutingsByItem.generated.ts +5 -0
- package/src/modules/manufacturing/query/listRoutingsByItem.test.ts +110 -0
- package/src/modules/manufacturing/query/listRoutingsByItem.ts +54 -0
- package/src/modules/manufacturing/query/listWorkCentersBySite.generated.ts +5 -0
- package/src/modules/manufacturing/query/listWorkCentersBySite.test.ts +81 -0
- package/src/modules/manufacturing/query/listWorkCentersBySite.ts +70 -0
- package/src/modules/manufacturing/query/listWorkOrdersByProductionOrder.generated.ts +5 -0
- package/src/modules/manufacturing/query/listWorkOrdersByProductionOrder.test.ts +102 -0
- package/src/modules/manufacturing/query/listWorkOrdersByProductionOrder.ts +53 -0
- package/src/modules/manufacturing/query/listWorkOrdersByWorkCenter.generated.ts +5 -0
- package/src/modules/manufacturing/query/listWorkOrdersByWorkCenter.test.ts +143 -0
- package/src/modules/manufacturing/query/listWorkOrdersByWorkCenter.ts +56 -0
- package/src/modules/manufacturing/seed/index.ts +19 -0
- package/src/modules/manufacturing/tailor.config.ts +13 -0
- package/src/modules/manufacturing/tailor.d.ts +13 -0
- package/src/modules/manufacturing/testing/commandTestUtils.ts +29 -0
- package/src/modules/manufacturing/testing/fixtures.ts +402 -0
- package/templates/scaffold/app/backend/package.json +9 -2
- package/templates/scaffold/app/backend/src/tests/utils/graphql-client.ts +66 -0
- package/templates/scaffold/app/backend/src/tests/utils/setup.ts +21 -0
- package/templates/scaffold/app/backend/tsconfig.json +9 -2
- package/templates/scaffold/app/backend/vitest.config.ts +35 -0
- package/templates/scaffold/app/frontend/package.json +2 -2
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# ExplodeBillOfMaterial
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
ExplodeBillOfMaterial expands one BOM version into recursive component requirements for planners and engineers who need to inspect multi-level demand on a specific effectivity date.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- BOM reference is required.
|
|
10
|
+
- Effectivity date is required so the query can resolve the root BOM semantics and any lower-level active child BOM versions consistently.
|
|
11
|
+
- The explosion must apply the released BOM `bomType` semantics: `MANUFACTURE` preserves make-item boundaries while still showing lower-level demand, `PHANTOM` flattens child lines into the nearest non-phantom parent path, and `KIT` expands to issue-only component demand without routing or work-order context for the kit parent.
|
|
12
|
+
- Recursive expansion may only use child BOM versions that are active and effective on the requested date within the same company and applicable site scope.
|
|
13
|
+
- The response returns an exploded tree or list with component item references, cumulative required quantities, unit-of-measure context, explosion depth, and the source BOM path used to derive each requirement.
|
|
14
|
+
|
|
15
|
+
## Process Flow
|
|
16
|
+
|
|
17
|
+
```mermaid
|
|
18
|
+
flowchart TD
|
|
19
|
+
A[Receive BOM reference and effectivity date] --> B[Load root BOM version]
|
|
20
|
+
B --> C{BOM found and effective on date?}
|
|
21
|
+
C -->|No| D[Return BOM_NOT_FOUND or BOM_NOT_EFFECTIVE_ON_DATE]
|
|
22
|
+
C -->|Yes| E[Walk component lines recursively]
|
|
23
|
+
E --> F{Manufactured child requires lower-level BOM?}
|
|
24
|
+
F -->|Yes| G[Resolve active child BOM for date and scope]
|
|
25
|
+
G --> H[Apply MANUFACTURE PHANTOM or KIT explosion semantics]
|
|
26
|
+
F -->|No| H
|
|
27
|
+
H --> I[Accumulate exploded component requirements]
|
|
28
|
+
I --> J[Return exploded structure]
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## External Dependencies
|
|
32
|
+
|
|
33
|
+
- None
|
|
34
|
+
|
|
35
|
+
## Error Scenarios
|
|
36
|
+
|
|
37
|
+
- **BOM_REFERENCE_REQUIRED**: BOM reference was not provided.
|
|
38
|
+
- **EFFECTIVITY_DATE_REQUIRED**: Effectivity date was not provided.
|
|
39
|
+
- **BOM_NOT_FOUND**: Requested BOM version does not exist.
|
|
40
|
+
- **BOM_NOT_EFFECTIVE_ON_DATE**: The requested BOM version is not valid on the specified effectivity date.
|
|
41
|
+
- **CHILD_BOM_NOT_RESOLVED**: A manufactured child item required recursive expansion but no active effective child BOM could be resolved.
|
|
42
|
+
- **BOM_CIRCULAR_REFERENCE_DETECTED**: The explosion encountered a direct or indirect circular BOM reference.
|
|
43
|
+
|
|
44
|
+
## Test Cases
|
|
45
|
+
|
|
46
|
+
- explodes a multi-level manufacture BOM into recursive component requirements
|
|
47
|
+
- flattens phantom subassemblies into the nearest non-phantom parent path
|
|
48
|
+
- expands a kit BOM into component issue requirements without work-order context for the kit parent
|
|
49
|
+
- resolves lower-level child BOM versions using the requested effectivity date
|
|
50
|
+
- returns cumulative quantities and source BOM path metadata for exploded components
|
|
51
|
+
- returns error when the BOM reference is missing
|
|
52
|
+
- returns error when the effectivity date is missing
|
|
53
|
+
- returns error when the root BOM is not found
|
|
54
|
+
- returns error when the root BOM is not effective on the requested date
|
|
55
|
+
- returns error when a required lower-level child BOM cannot be resolved
|
|
56
|
+
- returns error when the explosion detects a circular BOM reference
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# GetBillOfMaterial
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
GetBillOfMaterial returns one BOM version with its component lines, effectivity window, scope, and status so planners and engineers can inspect the exact production recipe.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- BOM reference is required.
|
|
10
|
+
- The query returns draft, active, or inactive versions.
|
|
11
|
+
- Component lines are returned in their maintained sequence order.
|
|
12
|
+
- The response includes `bomType`, scope, effectivity, and default-selection flags.
|
|
13
|
+
|
|
14
|
+
## Process Flow
|
|
15
|
+
|
|
16
|
+
```mermaid
|
|
17
|
+
flowchart TD
|
|
18
|
+
A[Receive BOM reference] --> B[Load BOM and component lines]
|
|
19
|
+
B --> C{BOM found?}
|
|
20
|
+
C -->|No| D[Return BOM_NOT_FOUND]
|
|
21
|
+
C -->|Yes| E[Return BOM detail]
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## External Dependencies
|
|
25
|
+
|
|
26
|
+
- None
|
|
27
|
+
|
|
28
|
+
## Error Scenarios
|
|
29
|
+
|
|
30
|
+
- **BOM_NOT_FOUND**: Requested BOM version does not exist.
|
|
31
|
+
|
|
32
|
+
## Test Cases
|
|
33
|
+
|
|
34
|
+
- returns a BOM with component lines when found
|
|
35
|
+
- returns draft BOM versions when requested
|
|
36
|
+
- returns inactive BOM versions when requested
|
|
37
|
+
- returns error when the BOM does not exist
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# GetManufacturingCostSummary
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
GetManufacturingCostSummary returns one production order's cost baseline, actual accumulation, variance breakdown, and settlement-review status for supervisors or finance reviewers.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- Cost-summary or production-order reference is required.
|
|
10
|
+
- The query returns collecting, pending-review, reviewed, or settled summaries.
|
|
11
|
+
- The response includes planned versus actual totals and variance lines by category.
|
|
12
|
+
- Reviewed and settled summaries include reviewer or acknowledgment traceability.
|
|
13
|
+
- Each variance line retains its mapped downstream variance-account reference.
|
|
14
|
+
|
|
15
|
+
## Process Flow
|
|
16
|
+
|
|
17
|
+
```mermaid
|
|
18
|
+
flowchart TD
|
|
19
|
+
A[Receive summary or production-order reference] --> B[Load cost summary and variance lines]
|
|
20
|
+
B --> C{Summary found?}
|
|
21
|
+
C -->|No| D[Return COST_SUMMARY_NOT_FOUND]
|
|
22
|
+
C -->|Yes| E[Return cost summary detail]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## External Dependencies
|
|
26
|
+
|
|
27
|
+
- None
|
|
28
|
+
|
|
29
|
+
## Error Scenarios
|
|
30
|
+
|
|
31
|
+
- **COST_SUMMARY_NOT_FOUND**: Requested cost summary does not exist.
|
|
32
|
+
|
|
33
|
+
## Test Cases
|
|
34
|
+
|
|
35
|
+
- returns a collecting cost summary with planned and actual totals
|
|
36
|
+
- returns a reviewed cost summary with variance lines
|
|
37
|
+
- returns a settled cost summary with acknowledgment traceability
|
|
38
|
+
- returns variance lines with downstream account references
|
|
39
|
+
- returns error when the cost summary does not exist
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# GetProductionOrder
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
GetProductionOrder returns one production order with planning fields, release snapshots, work-progress rollup, and closeout status so planners and supervisors can inspect a single order end to end.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- Production-order reference is required.
|
|
10
|
+
- The query returns any lifecycle status.
|
|
11
|
+
- The response includes selected or snapshotted BOM and routing context, quantity rollups, and linked cost-summary status.
|
|
12
|
+
- Child work-order summary data may be embedded for execution visibility.
|
|
13
|
+
- The returned snapshot should preserve the exact BOM type, routing revision, and production-state context that were in force for the order.
|
|
14
|
+
|
|
15
|
+
## Process Flow
|
|
16
|
+
|
|
17
|
+
```mermaid
|
|
18
|
+
flowchart TD
|
|
19
|
+
A[Receive production-order reference] --> B[Load order, snapshots, and rollups]
|
|
20
|
+
B --> C{Order found?}
|
|
21
|
+
C -->|No| D[Return PRODUCTION_ORDER_NOT_FOUND]
|
|
22
|
+
C -->|Yes| E[Return production-order detail]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## External Dependencies
|
|
26
|
+
|
|
27
|
+
- [GetManufacturingCostSummary](./GetManufacturingCostSummary.md) - Cost status may be embedded in the response.
|
|
28
|
+
|
|
29
|
+
## Error Scenarios
|
|
30
|
+
|
|
31
|
+
- **PRODUCTION_ORDER_NOT_FOUND**: Requested production order does not exist.
|
|
32
|
+
|
|
33
|
+
## Test Cases
|
|
34
|
+
|
|
35
|
+
- returns a production order with material requirements, work orders, and cost summary when found
|
|
36
|
+
- returns a production order with no cost summary when none exists
|
|
37
|
+
- returns error when the production order does not exist
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# GetRouting
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
GetRouting returns one routing revision with ordered operations, standard times, work-center assignments, and lifecycle status.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- Routing reference is required.
|
|
10
|
+
- Company scope is required when routing codes are only unique within a company.
|
|
11
|
+
- The query returns draft, active, or inactive routings.
|
|
12
|
+
- Operations are returned in sequence order with instruction and work-center context.
|
|
13
|
+
|
|
14
|
+
## Process Flow
|
|
15
|
+
|
|
16
|
+
```mermaid
|
|
17
|
+
flowchart TD
|
|
18
|
+
A[Receive routing reference and scope] --> B[Load routing and operations]
|
|
19
|
+
B --> C{Routing found?}
|
|
20
|
+
C -->|No| D[Return ROUTING_NOT_FOUND]
|
|
21
|
+
C -->|Yes| E[Return routing detail]
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## External Dependencies
|
|
25
|
+
|
|
26
|
+
- None
|
|
27
|
+
|
|
28
|
+
## Error Scenarios
|
|
29
|
+
|
|
30
|
+
- **ROUTING_NOT_FOUND**: Requested routing does not exist.
|
|
31
|
+
- **COMPANY_SCOPE_REQUIRED**: Company scope was not provided when needed to resolve the routing.
|
|
32
|
+
|
|
33
|
+
## Test Cases
|
|
34
|
+
|
|
35
|
+
- returns a routing with ordered operations when found
|
|
36
|
+
- returns inactive routing revisions when requested
|
|
37
|
+
- returns routing data for the requested company scope
|
|
38
|
+
- returns error when the routing does not exist
|
|
39
|
+
- returns error when company scope is not provided
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# GetWorkCenter
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
GetWorkCenter returns one work center with scope, capacity, calendar context, rate assumptions, overhead policy, and lifecycle status.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- Work-center reference is required.
|
|
10
|
+
- The query returns draft, active, or inactive work centers.
|
|
11
|
+
- Capacity, rate, and overhead fields are returned exactly as currently configured.
|
|
12
|
+
|
|
13
|
+
## Process Flow
|
|
14
|
+
|
|
15
|
+
```mermaid
|
|
16
|
+
flowchart TD
|
|
17
|
+
A[Receive work-center reference] --> B[Load work-center detail]
|
|
18
|
+
B --> C{Work center found?}
|
|
19
|
+
C -->|No| D[Return WORK_CENTER_NOT_FOUND]
|
|
20
|
+
C -->|Yes| E[Return work-center detail]
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## External Dependencies
|
|
24
|
+
|
|
25
|
+
- None
|
|
26
|
+
|
|
27
|
+
## Error Scenarios
|
|
28
|
+
|
|
29
|
+
- **WORK_CENTER_NOT_FOUND**: Requested work center does not exist.
|
|
30
|
+
|
|
31
|
+
## Test Cases
|
|
32
|
+
|
|
33
|
+
- returns a work center when found
|
|
34
|
+
- returns inactive work centers when requested
|
|
35
|
+
- returns error when the work center does not exist
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# GetWorkOrder
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
GetWorkOrder returns one work order with operation context, status, quantity rollups, actual time, pause history, and handoff evidence.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- Work-order reference is required.
|
|
10
|
+
- The query returns any lifecycle status.
|
|
11
|
+
- Execution-event history may be returned in chronological order.
|
|
12
|
+
- The response includes parent production-order reference and work-center context.
|
|
13
|
+
- The response should preserve the routed operation sequence, current status, and recorded handoff evidence for the work order.
|
|
14
|
+
|
|
15
|
+
## Process Flow
|
|
16
|
+
|
|
17
|
+
```mermaid
|
|
18
|
+
flowchart TD
|
|
19
|
+
A[Receive work-order reference] --> B[Load work order and execution events]
|
|
20
|
+
B --> C{Work order found?}
|
|
21
|
+
C -->|No| D[Return WORK_ORDER_NOT_FOUND]
|
|
22
|
+
C -->|Yes| E[Return work-order detail]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## External Dependencies
|
|
26
|
+
|
|
27
|
+
- None
|
|
28
|
+
|
|
29
|
+
## Error Scenarios
|
|
30
|
+
|
|
31
|
+
- **WORK_ORDER_NOT_FOUND**: Requested work order does not exist.
|
|
32
|
+
|
|
33
|
+
## Test Cases
|
|
34
|
+
|
|
35
|
+
- returns a work order with execution history when found
|
|
36
|
+
- returns paused work orders with prior pause data
|
|
37
|
+
- returns a work order with handoff evidence and parent order context
|
|
38
|
+
- returns error when the work order does not exist
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# ListBillOfMaterialsByItem
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
ListBillOfMaterialsByItem lists BOM versions for one manufactured parent item and scope so planners can compare draft, active, and inactive recipe revisions.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- Company scope and parent item reference are required.
|
|
10
|
+
- Optional filters may restrict by site, status, effectivity date, or `bomType`.
|
|
11
|
+
- Results include all statuses by default.
|
|
12
|
+
- Results are ordered by effectivity start date and version identifier.
|
|
13
|
+
|
|
14
|
+
## Process Flow
|
|
15
|
+
|
|
16
|
+
```mermaid
|
|
17
|
+
flowchart TD
|
|
18
|
+
A[Receive company, item, and filters] --> B[Query BOM versions for item and scope]
|
|
19
|
+
B --> C[Apply optional status or date filters]
|
|
20
|
+
C --> D[Order versions]
|
|
21
|
+
D --> E[Return BOM list]
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## External Dependencies
|
|
25
|
+
|
|
26
|
+
- None
|
|
27
|
+
|
|
28
|
+
## Error Scenarios
|
|
29
|
+
|
|
30
|
+
- **COMPANY_SCOPE_REQUIRED**: Company scope was not provided.
|
|
31
|
+
- **PARENT_ITEM_REQUIRED**: Parent item reference was not provided.
|
|
32
|
+
|
|
33
|
+
## Test Cases
|
|
34
|
+
|
|
35
|
+
- lists BOM versions for a manufactured item
|
|
36
|
+
- filters BOM versions by site when provided
|
|
37
|
+
- filters BOM versions by status when provided
|
|
38
|
+
- filters BOM versions by bomType when provided
|
|
39
|
+
- returns all statuses by default
|
|
40
|
+
- returns an empty list when no BOM versions exist
|
|
41
|
+
- returns error when the parent item reference is missing
|
|
42
|
+
- returns error when company scope is missing
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# ListManufacturingCostSummariesByStatus
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
ListManufacturingCostSummariesByStatus lists manufacturing cost summaries by review or settlement lifecycle so supervisors and finance reviewers can work review queues.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- Company scope and at least one summary status are required.
|
|
10
|
+
- Optional filters may restrict by site, produced item, or production-order reference.
|
|
11
|
+
- Results are ordered by production-order completion or review date.
|
|
12
|
+
- The query returns summary-level cost and variance totals suitable for queue views, including production-order reference, site, item, and current cost-summary status.
|
|
13
|
+
|
|
14
|
+
## Process Flow
|
|
15
|
+
|
|
16
|
+
```mermaid
|
|
17
|
+
flowchart TD
|
|
18
|
+
A[Receive scope and status filters] --> B[Validate company and status filters]
|
|
19
|
+
B --> C[Query matching cost summaries]
|
|
20
|
+
C --> D[Apply optional site or order filters]
|
|
21
|
+
D --> E[Return summary list]
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## External Dependencies
|
|
25
|
+
|
|
26
|
+
- None
|
|
27
|
+
|
|
28
|
+
## Error Scenarios
|
|
29
|
+
|
|
30
|
+
- **STATUS_FILTER_REQUIRED**: At least one summary status was not provided.
|
|
31
|
+
- **COMPANY_SCOPE_REQUIRED**: Company scope was not provided.
|
|
32
|
+
|
|
33
|
+
## Test Cases
|
|
34
|
+
|
|
35
|
+
- lists pending-review cost summaries for a company
|
|
36
|
+
- lists reviewed cost summaries awaiting settlement
|
|
37
|
+
- filters summaries by site when provided
|
|
38
|
+
- filters summaries by production order when provided
|
|
39
|
+
- returns summary rows with production-order and status context
|
|
40
|
+
- returns error when no status filter is provided
|
|
41
|
+
- returns error when company scope is missing
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# ListProductionOrdersByStatus
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
ListProductionOrdersByStatus lists production orders for planning, execution, or closeout queues by lifecycle state.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- Company scope and at least one status value are required.
|
|
10
|
+
- Optional filters may restrict by site, produced item, or planned date range.
|
|
11
|
+
- Results are ordered by planned start date and priority.
|
|
12
|
+
- The query returns summary-level fields suitable for operational worklists, including item, quantity, site, lifecycle state, and linked cost-summary state.
|
|
13
|
+
|
|
14
|
+
## Process Flow
|
|
15
|
+
|
|
16
|
+
```mermaid
|
|
17
|
+
flowchart TD
|
|
18
|
+
A[Receive status and scope filters] --> B[Validate company and status filters]
|
|
19
|
+
B --> C[Query matching production orders]
|
|
20
|
+
C --> D[Apply optional item or date filters]
|
|
21
|
+
D --> E[Return production-order summaries]
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## External Dependencies
|
|
25
|
+
|
|
26
|
+
- None
|
|
27
|
+
|
|
28
|
+
## Error Scenarios
|
|
29
|
+
|
|
30
|
+
- **STATUS_FILTER_REQUIRED**: At least one production-order status was not provided.
|
|
31
|
+
- **COMPANY_SCOPE_REQUIRED**: Company scope was not provided.
|
|
32
|
+
|
|
33
|
+
## Test Cases
|
|
34
|
+
|
|
35
|
+
- lists released production orders for a company
|
|
36
|
+
- lists in-progress production orders for a site
|
|
37
|
+
- filters production orders by produced item when provided
|
|
38
|
+
- filters production orders by planned date range when provided
|
|
39
|
+
- returns summary fields with site and cost-summary status
|
|
40
|
+
- returns error when no status filter is provided
|
|
41
|
+
- returns error when company scope is missing
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# ListRoutingsByItem
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
ListRoutingsByItem lists routing revisions available for one produced item and scope so planners can choose or compare executable process definitions.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- Company scope and parent item reference are required.
|
|
10
|
+
- Optional filters may restrict by site or status.
|
|
11
|
+
- Results include all statuses by default.
|
|
12
|
+
- Results are ordered by revision or effectivity precedence.
|
|
13
|
+
|
|
14
|
+
## Process Flow
|
|
15
|
+
|
|
16
|
+
```mermaid
|
|
17
|
+
flowchart TD
|
|
18
|
+
A[Receive company, item, and filters] --> B[Query routings for item and scope]
|
|
19
|
+
B --> C[Apply optional site and status filters]
|
|
20
|
+
C --> D[Order routing revisions]
|
|
21
|
+
D --> E[Return routing list]
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## External Dependencies
|
|
25
|
+
|
|
26
|
+
- None
|
|
27
|
+
|
|
28
|
+
## Error Scenarios
|
|
29
|
+
|
|
30
|
+
- **COMPANY_SCOPE_REQUIRED**: Company scope was not provided.
|
|
31
|
+
- **PARENT_ITEM_REQUIRED**: Parent item reference was not provided.
|
|
32
|
+
|
|
33
|
+
## Test Cases
|
|
34
|
+
|
|
35
|
+
- lists routing revisions for a produced item
|
|
36
|
+
- filters routing revisions by site when provided
|
|
37
|
+
- filters routing revisions by status when provided
|
|
38
|
+
- returns all statuses by default
|
|
39
|
+
- returns an empty list when no routings exist
|
|
40
|
+
- returns routing revisions for the requested company scope
|
|
41
|
+
- returns error when the parent item reference is missing
|
|
42
|
+
- returns error when company scope is missing
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# ListWorkCentersBySite
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
ListWorkCentersBySite lists work centers available at one site or facility context for capacity review, routing maintenance, or scheduling decisions.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- Company and site references are required.
|
|
10
|
+
- Optional filters may restrict by status or work-center type.
|
|
11
|
+
- Results include all statuses by default.
|
|
12
|
+
- Results are ordered by work-center code or name.
|
|
13
|
+
|
|
14
|
+
## Process Flow
|
|
15
|
+
|
|
16
|
+
```mermaid
|
|
17
|
+
flowchart TD
|
|
18
|
+
A[Receive site and filters] --> B[Query work centers for site]
|
|
19
|
+
B --> C[Apply optional filters]
|
|
20
|
+
C --> D[Order results]
|
|
21
|
+
D --> E[Return work-center list]
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## External Dependencies
|
|
25
|
+
|
|
26
|
+
- None
|
|
27
|
+
|
|
28
|
+
## Error Scenarios
|
|
29
|
+
|
|
30
|
+
- **SITE_SCOPE_REQUIRED**: Company or site reference was not provided.
|
|
31
|
+
|
|
32
|
+
## Test Cases
|
|
33
|
+
|
|
34
|
+
- lists work centers for a site
|
|
35
|
+
- filters work centers by status when provided
|
|
36
|
+
- returns an empty list when the site has no work centers
|
|
37
|
+
- returns error when company scope is missing
|
|
38
|
+
- returns error when site scope is missing
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# ListWorkOrdersByProductionOrder
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
ListWorkOrdersByProductionOrder lists the operation-level execution plan under one production order in sequence order for supervisors and execution UIs.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- Production-order reference is required.
|
|
10
|
+
- Results are ordered by routing sequence.
|
|
11
|
+
- Optional filters may restrict by work-order status or assigned work center.
|
|
12
|
+
- The query returns summary fields suitable for execution boards, including sequence, status, work-center context, and progress totals.
|
|
13
|
+
|
|
14
|
+
## Process Flow
|
|
15
|
+
|
|
16
|
+
```mermaid
|
|
17
|
+
flowchart TD
|
|
18
|
+
A[Receive production-order reference and filters] --> B[Query child work orders]
|
|
19
|
+
B --> C[Apply optional status or work-center filters]
|
|
20
|
+
C --> D[Order by sequence]
|
|
21
|
+
D --> E[Return work-order list]
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## External Dependencies
|
|
25
|
+
|
|
26
|
+
- None
|
|
27
|
+
|
|
28
|
+
## Error Scenarios
|
|
29
|
+
|
|
30
|
+
- **PRODUCTION_ORDER_REFERENCE_REQUIRED**: Production-order reference was not provided.
|
|
31
|
+
|
|
32
|
+
## Test Cases
|
|
33
|
+
|
|
34
|
+
- lists work orders for a production order in sequence order
|
|
35
|
+
- filters work orders by status when provided
|
|
36
|
+
- filters work orders by work center when provided
|
|
37
|
+
- returns summary fields with sequence and progress data
|
|
38
|
+
- returns an empty list when no work orders exist
|
|
39
|
+
- returns error when the production-order reference is missing
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# ListWorkOrdersByWorkCenter
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
ListWorkOrdersByWorkCenter lists work orders queued or executing at one work center across multiple production orders so supervisors can review shared bottlenecks and dispatch work.
|
|
6
|
+
|
|
7
|
+
## Business Rules
|
|
8
|
+
|
|
9
|
+
- Work-center reference is required.
|
|
10
|
+
- Optional filters may restrict by work-order status or planned execution date range.
|
|
11
|
+
- Results may span multiple production orders, but every returned work order must belong to the requested work center only.
|
|
12
|
+
- Results are ordered for execution review, prioritizing active bottleneck work by status and planned execution timing.
|
|
13
|
+
- The query returns summary fields suitable for a dispatch or bottleneck board, including production-order reference, operation sequence, status, planned and completed quantities, and current execution timestamps.
|
|
14
|
+
|
|
15
|
+
## Process Flow
|
|
16
|
+
|
|
17
|
+
```mermaid
|
|
18
|
+
flowchart TD
|
|
19
|
+
A[Receive work-center reference and filters] --> B[Validate work-center input]
|
|
20
|
+
B --> C[Query work orders assigned to the work center]
|
|
21
|
+
C --> D[Apply optional status and date-range filters]
|
|
22
|
+
D --> E[Order for execution review]
|
|
23
|
+
E --> F[Return cross-order work-order list]
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## External Dependencies
|
|
27
|
+
|
|
28
|
+
- None
|
|
29
|
+
|
|
30
|
+
## Error Scenarios
|
|
31
|
+
|
|
32
|
+
- **WORK_CENTER_REFERENCE_REQUIRED**: Work-center reference was not provided.
|
|
33
|
+
- **WORK_CENTER_NOT_FOUND**: Requested work center does not exist.
|
|
34
|
+
|
|
35
|
+
## Test Cases
|
|
36
|
+
|
|
37
|
+
- lists pending and in-progress work orders for one work center across multiple production orders
|
|
38
|
+
- filters work orders by status when provided
|
|
39
|
+
- orders the result for bottleneck review by execution priority and planned timing
|
|
40
|
+
- returns summary fields with production-order reference operation sequence and progress totals
|
|
41
|
+
- returns an empty list when the work center has no assigned work orders
|
|
42
|
+
- returns error when the work-center reference is missing
|
|
43
|
+
- returns error when the work center does not exist
|
|
File without changes
|