Bug 651757: [Repair Item] [Manufacturing] Warehouse Pick is not generated for Make-to-Order subassembly after registered put-away - #12068
Conversation
Good Sense Reviewer - Round 1Recommendation: AcceptWhat this PR doesThis change includes supplied-by production components in the production order's Completely Picked calculation. An unpicked make-to-order subassembly therefore keeps the order and its warehouse pick request incomplete, so the follow-up pick can be generated after put-away. The removed filter addresses the root cause directly. The warehouse registration path reads this aggregate before marking production pick requests complete, and the component update logic maintains the picked state used by the aggregate. The tests cover both a picked supplied component and a mixed order with an unpicked supplied component. Problem-solution fitFit: Strong The change matches the reported failure: a required supplied component can no longer be ignored when deciding that all production picking is complete. The scope is limited to the completion calculation and focused regression coverage. SuggestionsNo suggestions. Risk assessment and necessityRisk: The FlowField value changes for every caller when supplied-by components exist, including production pick creation and warehouse registration. The component-level picked state and the surrounding request logic are consistent with the new aggregate, and no public signature or schema changes are introduced. Necessity: The change is required because the previous filter could close the warehouse pick request while a required subassembly was still unpicked. Without the fix, the follow-up warehouse pick cannot be generated in the reported make-to-order flow.
|
Issue
In a make-to-order production structure, a component can be supplied by another production-order line, such as a subassembly that is produced and put away before being picked for its parent assembly.
The production order's Completely Picked FlowField excluded components with a nonzero Supplied-by Line No.. The order could therefore be considered completely picked while the supplied subassembly was still unpicked. Warehouse registration then marked the production pick request complete, preventing the required follow-up warehouse pick from being generated.
Fix rationale
Calculate Completely Picked across all production-order components, including supplied-by components. A production order should be completely picked only when every required component has been picked.
This keeps the warehouse pick request open while a supplied subassembly remains unpicked, allowing the follow-up pick to be generated. Once the supplied component is picked, the production order can correctly become completely picked.
Summary
Validation
git diff --checkpassedAB#651757