Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFC][WMS] Split warehouse operations in relevant picking type #640

Closed
jgrandguillaume opened this issue Jul 5, 2019 · 3 comments
Closed
Assignees

Comments

@jgrandguillaume
Copy link
Member

jgrandguillaume commented Jul 5, 2019

Source : https://docs.google.com/document/d/1mct6bFFWJqW01wGFcjc-uQNEjyCxvh6Y9TuFdRhe-b0/edit#
Part of: OCA/wms#1

This RCF to propose a POC implementation for the following

  • A "picking zone" represents a zone where pickers will work on their related operations. They will be linked to a picking type (therefor hold a default source and destination location)
  • In important warehouses, operations are split according to several criteria. The goals here are:
    • to define/split operations in different picking and picking type according to the picking zone settings
    • sometimes change the destination of a move according to the zone default destination location (when a zone have a handover point for example). In such a case, an additional move will be created automatically to reach the original destination of the move (from handover point to pack zone for example).
  • Route explain the steps you want to produce whereas the “picking zone” define how operations are grouped according to their final source and destination location.
    • This allows for example:
      • To parallelize picking operations in two main zone of a warehouse, splitting them in two different picking type
      • To define pre-picking (wave) in some sub-zones, then roundtrip picking of the sub-zone waves
      • Additional note: If your product are stored in one zone only, you can already achieve this in Odoo using properly configured route (and related picking type) on products (and categories)
  • The logistic operations will be split among zones at "removal strategy" computation time (reservation time). This means route are followed up to create the different steps using the pull rules in place (e.g. pick + ship). At reservation time, operations are split in separate pickings among “picking zones” according to source and destination of the moves
    • -> Having this occurring after the application of the removal strategy make sense, because it is only when we know exactly which product/lot we will take that will want to classify the proper operation in the proper picking and picking type (opposite to the route that compute this all in advance before knowing that)
  • This behavior must allow pre-picking (wave) operations and round trip picking using the proper configuration of location and picking type. Pre-picking will bring goods to handover points, round trip picking will gather them all up to the next operation (e.g. pack)

Example: Split operation by zones

  • Setup WH pick + ship
  • Desired operations:
    • Fridge and Normal stock is processed as pre-picking (waves)
    • Long goods and small goods as well as handover of the fridge and normal stock handover points are all gathered in a roundtrip picking
  • Order goods stored in Long goods, small goods, fridge and normal stock
  • Location
    • Output
    • Stock
      • Long goods
      • Small goods
      • Fridge
      • Normal stock
      • Output Fridge
      • Output Normal stock
  • Order confirmation will produce:
    • Pick Zone Fridge
    • Move from fridge -> Output fridge (original move from route, destination changed according to picking type zone)
    • Pick Zone Normal stock
    • Move from Normal stock -> Output Normal stock (original move from route, destination changed according to picking type zone)
    • Pick Zone general round picking
    • Move from long good -> Output
    • Move from small goods -> Output
    • Move from Output fridge -> Output (new moves created after removal strategy applied, re-chain with origin move above and destination move below)
    • Move from Output normal stock -> Output (new moves created after removal strategy applied, re-chain with origin move above and destination move below)
    • Ship All

→ basically, after the action_assign, if you're sourcing from a zone location, you call again _assign_picking to redistribute moves among the proper picking type picking (according to default src location of the picking type)
→if one move is classified in another picking_type picking after action_assign AND the default dest location of the new picking.type picking is different from the move:
→ you create a new move (src = default dest of the picking.type of the picking; dest = original dest of the move)
→ The new move origin and destination moves link are updated, and action_assign is recall on it in order to classify it in the proper picking.type picking

@jgrandguillaume jgrandguillaume changed the title [RFC] Warehouse operations by zones [RFC] Split warehouse operations in relevant picking type Jul 9, 2019
@jgrandguillaume jgrandguillaume changed the title [RFC] Split warehouse operations in relevant picking type [RFC][WMS] Split warehouse operations in relevant picking type Jul 12, 2019
@jgrandguillaume
Copy link
Member Author

A second round to implement a new module "stock_full_operations_info".

Context

As we split operations in picking type per zones, the operator loose the sight of whether is doing a full order or only a portion of it.

For this reason we need to give him back this information. This will allow him to take decisions on how to proceed the best according to the situation (e.g. if he is the only picker of an order, he might follow a shortened process).

Two infos are required:

  • If he work on a full order
  • If the operation he has just processed was the last of the current chain of operation

Use caes

You have 3 orders:

  • SO01 contain goods from only one zone that can be picked at once (e.g. one full pallet)
  • SO02 contain goods from 2 different zones
  • SO03 contain goods from one zone that cannot be picked at once (e.g. 4 pallets)

The operator processing the picking by zone will have to know :

  • whether the current operation is working on constitute the entire order
  • when marking as done the operation, we'll need to know it was the last operations that released the next one

@angelmoya
Copy link
Member

Hi @jgrandguillaume I will work on this requirement for version 12.0

On our project we have several zones on warehouse, mainly we have Stock Zone and Picking Zone.

We create as two warehouses, and Stock Warehouse will supply Picking Wharehouse.

We create reordering rules to:

  • Buy for stock warehouse.
  • Move from stock warehouse to picking warehouse.

The problem is that the route that create a picking from stock zone to picking zone will create a big picking with all products. We need to generate several pickings, split by hall or area in stock or picking zone.

On other process we need to do pickings product by product... but it's other requiremente...

I will start to play with rules and routes.

@jgrandguillaume
Copy link
Member Author

Close as final version is there: #788

manuelcalerosolis pushed a commit to xtendoo-corporation/stock-logistics-warehouse that referenced this issue Oct 31, 2020
Signed-off-by simahawk
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants