odoo-addon-shopfloor 16.0.1.0.0.24__py3-none-any.whl
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.
- odoo/addons/shopfloor/README.rst +160 -0
- odoo/addons/shopfloor/__init__.py +4 -0
- odoo/addons/shopfloor/__manifest__.py +65 -0
- odoo/addons/shopfloor/actions/__init__.py +15 -0
- odoo/addons/shopfloor/actions/change_package_lot.py +164 -0
- odoo/addons/shopfloor/actions/completion_info.py +42 -0
- odoo/addons/shopfloor/actions/data.py +329 -0
- odoo/addons/shopfloor/actions/data_detail.py +154 -0
- odoo/addons/shopfloor/actions/inventory.py +150 -0
- odoo/addons/shopfloor/actions/location_content_transfer_sorter.py +89 -0
- odoo/addons/shopfloor/actions/message.py +846 -0
- odoo/addons/shopfloor/actions/move_line_search.py +119 -0
- odoo/addons/shopfloor/actions/packaging.py +59 -0
- odoo/addons/shopfloor/actions/savepoint.py +44 -0
- odoo/addons/shopfloor/actions/schema.py +182 -0
- odoo/addons/shopfloor/actions/schema_detail.py +98 -0
- odoo/addons/shopfloor/actions/search.py +187 -0
- odoo/addons/shopfloor/actions/stock.py +239 -0
- odoo/addons/shopfloor/actions/stock_unreserve.py +66 -0
- odoo/addons/shopfloor/components/__init__.py +5 -0
- odoo/addons/shopfloor/components/scan_handler_location.py +26 -0
- odoo/addons/shopfloor/components/scan_handler_lot.py +26 -0
- odoo/addons/shopfloor/components/scan_handler_package.py +26 -0
- odoo/addons/shopfloor/components/scan_handler_product.py +26 -0
- odoo/addons/shopfloor/components/scan_handler_transfer.py +26 -0
- odoo/addons/shopfloor/data/shopfloor_scenario_data.xml +73 -0
- odoo/addons/shopfloor/demo/shopfloor_app_demo.xml +12 -0
- odoo/addons/shopfloor/demo/shopfloor_menu_demo.xml +64 -0
- odoo/addons/shopfloor/demo/shopfloor_profile_demo.xml +8 -0
- odoo/addons/shopfloor/demo/stock_picking_type_demo.xml +93 -0
- odoo/addons/shopfloor/docs/checkout_diag_seq.plantuml +61 -0
- odoo/addons/shopfloor/docs/checkout_diag_seq.png +0 -0
- odoo/addons/shopfloor/docs/cluster_picking_diag_seq.plantuml +112 -0
- odoo/addons/shopfloor/docs/cluster_picking_diag_seq.png +0 -0
- odoo/addons/shopfloor/docs/delivery_diag_seq.plantuml +56 -0
- odoo/addons/shopfloor/docs/delivery_diag_seq.png +0 -0
- odoo/addons/shopfloor/docs/location_content_transfer_diag_seq.plantuml +66 -0
- odoo/addons/shopfloor/docs/location_content_transfer_diag_seq.png +0 -0
- odoo/addons/shopfloor/docs/oca_logo.png +0 -0
- odoo/addons/shopfloor/docs/single_pack_transfer_diag_seq.plantuml +36 -0
- odoo/addons/shopfloor/docs/single_pack_transfer_diag_seq.png +0 -0
- odoo/addons/shopfloor/docs/zone_picking_diag_seq.plantuml +85 -0
- odoo/addons/shopfloor/docs/zone_picking_diag_seq.png +0 -0
- odoo/addons/shopfloor/exceptions.py +6 -0
- odoo/addons/shopfloor/i18n/ca.po +1802 -0
- odoo/addons/shopfloor/i18n/de.po +1791 -0
- odoo/addons/shopfloor/i18n/es_AR.po +2147 -0
- odoo/addons/shopfloor/i18n/pt_BR.po +1791 -0
- odoo/addons/shopfloor/i18n/shopfloor.pot +1877 -0
- odoo/addons/shopfloor/models/__init__.py +12 -0
- odoo/addons/shopfloor/models/priority_postpone_mixin.py +41 -0
- odoo/addons/shopfloor/models/shopfloor_app.py +9 -0
- odoo/addons/shopfloor/models/shopfloor_menu.py +436 -0
- odoo/addons/shopfloor/models/stock_location.py +76 -0
- odoo/addons/shopfloor/models/stock_move.py +119 -0
- odoo/addons/shopfloor/models/stock_move_line.py +307 -0
- odoo/addons/shopfloor/models/stock_package_level.py +50 -0
- odoo/addons/shopfloor/models/stock_picking.py +118 -0
- odoo/addons/shopfloor/models/stock_picking_batch.py +41 -0
- odoo/addons/shopfloor/models/stock_picking_type.py +26 -0
- odoo/addons/shopfloor/models/stock_quant.py +31 -0
- odoo/addons/shopfloor/models/stock_quant_package.py +101 -0
- odoo/addons/shopfloor/readme/CONTRIBUTORS.rst +18 -0
- odoo/addons/shopfloor/readme/CREDITS.rst +5 -0
- odoo/addons/shopfloor/readme/DESCRIPTION.rst +17 -0
- odoo/addons/shopfloor/readme/HISTORY.rst +4 -0
- odoo/addons/shopfloor/readme/ROADMAP.rst +4 -0
- odoo/addons/shopfloor/readme/USAGE.rst +6 -0
- odoo/addons/shopfloor/security/groups.xml +17 -0
- odoo/addons/shopfloor/services/__init__.py +16 -0
- odoo/addons/shopfloor/services/checkout.py +1763 -0
- odoo/addons/shopfloor/services/cluster_picking.py +1628 -0
- odoo/addons/shopfloor/services/delivery.py +828 -0
- odoo/addons/shopfloor/services/forms/__init__.py +1 -0
- odoo/addons/shopfloor/services/forms/picking_form.py +78 -0
- odoo/addons/shopfloor/services/location_content_transfer.py +1194 -0
- odoo/addons/shopfloor/services/menu.py +60 -0
- odoo/addons/shopfloor/services/picking_batch.py +126 -0
- odoo/addons/shopfloor/services/service.py +101 -0
- odoo/addons/shopfloor/services/single_pack_transfer.py +366 -0
- odoo/addons/shopfloor/services/zone_picking.py +1938 -0
- odoo/addons/shopfloor/static/description/icon.png +0 -0
- odoo/addons/shopfloor/static/description/index.html +500 -0
- odoo/addons/shopfloor/tests/__init__.py +83 -0
- odoo/addons/shopfloor/tests/common.py +324 -0
- odoo/addons/shopfloor/tests/models.py +29 -0
- odoo/addons/shopfloor/tests/test_actions_change_package_lot.py +1175 -0
- odoo/addons/shopfloor/tests/test_actions_data.py +376 -0
- odoo/addons/shopfloor/tests/test_actions_data_base.py +244 -0
- odoo/addons/shopfloor/tests/test_actions_data_detail.py +322 -0
- odoo/addons/shopfloor/tests/test_actions_search.py +248 -0
- odoo/addons/shopfloor/tests/test_actions_stock.py +48 -0
- odoo/addons/shopfloor/tests/test_checkout_auto_post.py +67 -0
- odoo/addons/shopfloor/tests/test_checkout_base.py +81 -0
- odoo/addons/shopfloor/tests/test_checkout_cancel_line.py +154 -0
- odoo/addons/shopfloor/tests/test_checkout_change_packaging.py +184 -0
- odoo/addons/shopfloor/tests/test_checkout_done.py +133 -0
- odoo/addons/shopfloor/tests/test_checkout_list_delivery_packaging.py +131 -0
- odoo/addons/shopfloor/tests/test_checkout_list_package.py +327 -0
- odoo/addons/shopfloor/tests/test_checkout_new_package.py +88 -0
- odoo/addons/shopfloor/tests/test_checkout_no_package.py +95 -0
- odoo/addons/shopfloor/tests/test_checkout_scan.py +174 -0
- odoo/addons/shopfloor/tests/test_checkout_scan_line.py +377 -0
- odoo/addons/shopfloor/tests/test_checkout_scan_line_base.py +25 -0
- odoo/addons/shopfloor/tests/test_checkout_scan_line_no_prefill_qty.py +91 -0
- odoo/addons/shopfloor/tests/test_checkout_scan_package_action.py +451 -0
- odoo/addons/shopfloor/tests/test_checkout_scan_package_action_no_prefill_qty.py +107 -0
- odoo/addons/shopfloor/tests/test_checkout_select.py +74 -0
- odoo/addons/shopfloor/tests/test_checkout_select_line.py +130 -0
- odoo/addons/shopfloor/tests/test_checkout_select_package_base.py +64 -0
- odoo/addons/shopfloor/tests/test_checkout_set_qty.py +257 -0
- odoo/addons/shopfloor/tests/test_checkout_summary.py +69 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_base.py +83 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_batch.py +109 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_change_pack_lot.py +111 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_is_zero.py +98 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_scan_destination.py +376 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_scan_destination_no_prefill_qty.py +115 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_scan_line.py +402 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_scan_line_location_or_pack_first.py +114 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_scan_line_no_prefill_qty.py +70 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_select.py +387 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_skip.py +90 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_stock_issue.py +364 -0
- odoo/addons/shopfloor/tests/test_cluster_picking_unload.py +911 -0
- odoo/addons/shopfloor/tests/test_delivery_base.py +155 -0
- odoo/addons/shopfloor/tests/test_delivery_done.py +108 -0
- odoo/addons/shopfloor/tests/test_delivery_list_stock_picking.py +49 -0
- odoo/addons/shopfloor/tests/test_delivery_reset_qty_done_line.py +119 -0
- odoo/addons/shopfloor/tests/test_delivery_reset_qty_done_pack.py +107 -0
- odoo/addons/shopfloor/tests/test_delivery_scan_deliver.py +557 -0
- odoo/addons/shopfloor/tests/test_delivery_select.py +38 -0
- odoo/addons/shopfloor/tests/test_delivery_set_qty_done_line.py +91 -0
- odoo/addons/shopfloor/tests/test_delivery_set_qty_done_pack.py +135 -0
- odoo/addons/shopfloor/tests/test_delivery_sublocation.py +180 -0
- odoo/addons/shopfloor/tests/test_location_content_transfer_base.py +136 -0
- odoo/addons/shopfloor/tests/test_location_content_transfer_get_work.py +125 -0
- odoo/addons/shopfloor/tests/test_location_content_transfer_mix.py +509 -0
- odoo/addons/shopfloor/tests/test_location_content_transfer_putaway.py +143 -0
- odoo/addons/shopfloor/tests/test_location_content_transfer_scan_location.py +34 -0
- odoo/addons/shopfloor/tests/test_location_content_transfer_set_destination_all.py +343 -0
- odoo/addons/shopfloor/tests/test_location_content_transfer_set_destination_package_or_line.py +1074 -0
- odoo/addons/shopfloor/tests/test_location_content_transfer_single.py +748 -0
- odoo/addons/shopfloor/tests/test_location_content_transfer_start.py +359 -0
- odoo/addons/shopfloor/tests/test_menu_base.py +261 -0
- odoo/addons/shopfloor/tests/test_menu_counters.py +61 -0
- odoo/addons/shopfloor/tests/test_misc.py +25 -0
- odoo/addons/shopfloor/tests/test_move_action_assign.py +87 -0
- odoo/addons/shopfloor/tests/test_openapi.py +21 -0
- odoo/addons/shopfloor/tests/test_picking_form.py +62 -0
- odoo/addons/shopfloor/tests/test_scan_anything.py +49 -0
- odoo/addons/shopfloor/tests/test_single_pack_transfer.py +1121 -0
- odoo/addons/shopfloor/tests/test_single_pack_transfer_base.py +32 -0
- odoo/addons/shopfloor/tests/test_single_pack_transfer_putaway.py +104 -0
- odoo/addons/shopfloor/tests/test_stock_split.py +204 -0
- odoo/addons/shopfloor/tests/test_user.py +42 -0
- odoo/addons/shopfloor/tests/test_zone_picking_base.py +608 -0
- odoo/addons/shopfloor/tests/test_zone_picking_change_pack_lot.py +140 -0
- odoo/addons/shopfloor/tests/test_zone_picking_select_line.py +723 -0
- odoo/addons/shopfloor/tests/test_zone_picking_select_line_first_scan_location.py +207 -0
- odoo/addons/shopfloor/tests/test_zone_picking_select_line_first_scan_location.py.bak +202 -0
- odoo/addons/shopfloor/tests/test_zone_picking_select_line_no_prefill_qty.py +107 -0
- odoo/addons/shopfloor/tests/test_zone_picking_select_picking_type.py +26 -0
- odoo/addons/shopfloor/tests/test_zone_picking_set_line_destination.py +643 -0
- odoo/addons/shopfloor/tests/test_zone_picking_set_line_destination_no_prefill_qty.py +146 -0
- odoo/addons/shopfloor/tests/test_zone_picking_set_line_destination_pick_pack.py +241 -0
- odoo/addons/shopfloor/tests/test_zone_picking_start.py +206 -0
- odoo/addons/shopfloor/tests/test_zone_picking_stock_issue.py +121 -0
- odoo/addons/shopfloor/tests/test_zone_picking_unload_all.py +353 -0
- odoo/addons/shopfloor/tests/test_zone_picking_unload_buffer_lines.py +113 -0
- odoo/addons/shopfloor/tests/test_zone_picking_unload_set_destination.py +374 -0
- odoo/addons/shopfloor/tests/test_zone_picking_unload_single.py +123 -0
- odoo/addons/shopfloor/tests/test_zone_picking_zero_check.py +43 -0
- odoo/addons/shopfloor/utils.py +13 -0
- odoo/addons/shopfloor/views/shopfloor_menu.xml +167 -0
- odoo/addons/shopfloor/views/stock_location.xml +20 -0
- odoo/addons/shopfloor/views/stock_move_line.xml +52 -0
- odoo/addons/shopfloor/views/stock_picking_type.xml +19 -0
- odoo_addon_shopfloor-16.0.1.0.0.24.dist-info/METADATA +192 -0
- odoo_addon_shopfloor-16.0.1.0.0.24.dist-info/RECORD +182 -0
- odoo_addon_shopfloor-16.0.1.0.0.24.dist-info/WHEEL +5 -0
- odoo_addon_shopfloor-16.0.1.0.0.24.dist-info/top_level.txt +1 -0
@@ -0,0 +1,73 @@
|
|
1
|
+
<odoo noupdate="1">
|
2
|
+
<record id="scenario_single_pack_transfer" model="shopfloor.scenario">
|
3
|
+
<field name="name">Single Pack Transfer</field>
|
4
|
+
<field name="key">single_pack_transfer</field>
|
5
|
+
<field name="options_edit">
|
6
|
+
{
|
7
|
+
"allow_create_moves": true,
|
8
|
+
"allow_unreserve_other_moves": true,
|
9
|
+
"allow_ignore_no_putaway_available": true,
|
10
|
+
"must_move_entire_pack": true
|
11
|
+
}
|
12
|
+
</field>
|
13
|
+
</record>
|
14
|
+
<record id="scenario_zone_picking" model="shopfloor.scenario">
|
15
|
+
<field name="name">Zone Picking</field>
|
16
|
+
<field name="key">zone_picking</field>
|
17
|
+
<field name="options_edit">
|
18
|
+
{
|
19
|
+
"pick_pack_same_time": true,
|
20
|
+
"unload_package_at_destination": true,
|
21
|
+
"multiple_move_single_pack": true,
|
22
|
+
"no_prefill_qty": true,
|
23
|
+
"scan_location_or_pack_first": true
|
24
|
+
}
|
25
|
+
</field>
|
26
|
+
</record>
|
27
|
+
<record id="scenario_cluster_picking" model="shopfloor.scenario">
|
28
|
+
<field name="name">Cluster Picking</field>
|
29
|
+
<field name="key">cluster_picking</field>
|
30
|
+
<field name="options_edit">
|
31
|
+
{
|
32
|
+
"unload_package_at_destination": true,
|
33
|
+
"multiple_move_single_pack": true,
|
34
|
+
"no_prefill_qty": true,
|
35
|
+
"scan_location_or_pack_first": true
|
36
|
+
}
|
37
|
+
</field>
|
38
|
+
</record>
|
39
|
+
<record id="scenario_checkout" model="shopfloor.scenario">
|
40
|
+
<field name="name">Checkout</field>
|
41
|
+
<field name="key">checkout</field>
|
42
|
+
<field name="options_edit">
|
43
|
+
{
|
44
|
+
"no_prefill_qty": true,
|
45
|
+
"show_oneline_package_content": true,
|
46
|
+
"auto_post_line": true
|
47
|
+
}
|
48
|
+
</field>
|
49
|
+
</record>
|
50
|
+
<record id="scenario_delivery" model="shopfloor.scenario">
|
51
|
+
<field name="name">Delivery</field>
|
52
|
+
<field name="key">delivery</field>
|
53
|
+
<field name="options_edit">
|
54
|
+
{
|
55
|
+
"must_move_entire_pack": true,
|
56
|
+
"allow_prepackaged_product": true
|
57
|
+
}
|
58
|
+
</field>
|
59
|
+
</record>
|
60
|
+
<record id="scenario_location_content_transfer" model="shopfloor.scenario">
|
61
|
+
<field name="name">Location content transfer</field>
|
62
|
+
<field name="key">location_content_transfer</field>
|
63
|
+
<field name="options_edit">
|
64
|
+
{
|
65
|
+
"allow_create_moves": true,
|
66
|
+
"allow_unreserve_other_moves": true,
|
67
|
+
"allow_ignore_no_putaway_available": true,
|
68
|
+
"allow_get_work": true,
|
69
|
+
"no_prefill_qty": true
|
70
|
+
}
|
71
|
+
</field>
|
72
|
+
</record>
|
73
|
+
</odoo>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<odoo noupdate="1">
|
2
|
+
<record id="app_demo" model="shopfloor.app">
|
3
|
+
<field name="name">Shopfloor WMS (demo)</field>
|
4
|
+
<field name="short_name">WMS (demo)</field>
|
5
|
+
<field name="tech_name">wms_demo</field>
|
6
|
+
<field name="category">wms</field>
|
7
|
+
<field
|
8
|
+
name="profile_ids"
|
9
|
+
eval="[(4, ref('shopfloor.profile_demo_1')), (4, ref('shopfloor.profile_demo_2'))]"
|
10
|
+
/>
|
11
|
+
</record>
|
12
|
+
</odoo>
|
@@ -0,0 +1,64 @@
|
|
1
|
+
<odoo noupdate="1">
|
2
|
+
<record id="shopfloor_menu_demo_single_pallet_transfer" model="shopfloor.menu">
|
3
|
+
<field name="name">Single Pallet Transfer</field>
|
4
|
+
<field name="sequence">20</field>
|
5
|
+
<field name="profile_id" ref="shopfloor.profile_demo_1" />
|
6
|
+
<field name="allow_move_create" eval="1" />
|
7
|
+
<field name="scenario_id" ref="shopfloor.scenario_single_pack_transfer" />
|
8
|
+
<field
|
9
|
+
name="picking_type_ids"
|
10
|
+
eval="[(4, ref('shopfloor.picking_type_single_pallet_transfer_demo'))]"
|
11
|
+
/>
|
12
|
+
</record>
|
13
|
+
<record id="shopfloor_menu_demo_zone_picking" model="shopfloor.menu">
|
14
|
+
<field name="name">Zone Picking</field>
|
15
|
+
<field name="sequence">35</field>
|
16
|
+
<field name="profile_id" ref="shopfloor.profile_demo_1" />
|
17
|
+
<field name="scenario_id" ref="shopfloor.scenario_zone_picking" />
|
18
|
+
<field
|
19
|
+
name="picking_type_ids"
|
20
|
+
eval="[(4, ref('shopfloor.picking_type_zone_picking_demo'))]"
|
21
|
+
/>
|
22
|
+
</record>
|
23
|
+
<record id="shopfloor_menu_demo_cluster_picking" model="shopfloor.menu">
|
24
|
+
<field name="name">Cluster Picking</field>
|
25
|
+
<field name="sequence">30</field>
|
26
|
+
<field name="profile_id" ref="shopfloor.profile_demo_1" />
|
27
|
+
<field name="scenario_id" ref="shopfloor.scenario_cluster_picking" />
|
28
|
+
<field
|
29
|
+
name="picking_type_ids"
|
30
|
+
eval="[(4, ref('shopfloor.picking_type_cluster_picking_demo'))]"
|
31
|
+
/>
|
32
|
+
</record>
|
33
|
+
<record id="shopfloor_menu_demo_checkout" model="shopfloor.menu">
|
34
|
+
<field name="name">Checkout</field>
|
35
|
+
<field name="sequence">40</field>
|
36
|
+
<field name="profile_id" ref="shopfloor.profile_demo_1" />
|
37
|
+
<field name="scenario_id" ref="shopfloor.scenario_checkout" />
|
38
|
+
<field
|
39
|
+
name="picking_type_ids"
|
40
|
+
eval="[(4, ref('shopfloor.picking_type_checkout_demo'))]"
|
41
|
+
/>
|
42
|
+
</record>
|
43
|
+
<record id="shopfloor_menu_demo_delivery" model="shopfloor.menu">
|
44
|
+
<field name="name">Delivery</field>
|
45
|
+
<field name="sequence">50</field>
|
46
|
+
<field name="profile_id" ref="shopfloor.profile_demo_2" />
|
47
|
+
<field name="scenario_id" ref="shopfloor.scenario_delivery" />
|
48
|
+
<field
|
49
|
+
name="picking_type_ids"
|
50
|
+
eval="[(4, ref('shopfloor.picking_type_delivery_demo'))]"
|
51
|
+
/>
|
52
|
+
</record>
|
53
|
+
<record id="shopfloor_menu_demo_location_content_transfer" model="shopfloor.menu">
|
54
|
+
<field name="name">Location Content Transfer</field>
|
55
|
+
<field name="sequence">60</field>
|
56
|
+
<field name="profile_id" ref="shopfloor.profile_demo_1" />
|
57
|
+
<field name="allow_move_create" eval="1" />
|
58
|
+
<field name="scenario_id" ref="shopfloor.scenario_location_content_transfer" />
|
59
|
+
<field
|
60
|
+
name="picking_type_ids"
|
61
|
+
eval="[(4, ref('shopfloor.picking_type_location_content_transfer_demo'))]"
|
62
|
+
/>
|
63
|
+
</record>
|
64
|
+
</odoo>
|
@@ -0,0 +1,93 @@
|
|
1
|
+
<odoo noupdate="1">
|
2
|
+
<record id="picking_type_single_pallet_transfer_demo" model="stock.picking.type">
|
3
|
+
<field name="name">Single Pallet Transfer</field>
|
4
|
+
<field name="sequence_code">SPT</field>
|
5
|
+
<field name="sequence" eval="10" />
|
6
|
+
<field name="warehouse_id" ref="stock.warehouse0" />
|
7
|
+
<field name="default_location_src_id" ref="stock.stock_location_stock" />
|
8
|
+
<field name="default_location_dest_id" ref="stock.stock_location_stock" />
|
9
|
+
<field name="show_entire_packs" eval="1" />
|
10
|
+
<field name="use_create_lots" eval="0" />
|
11
|
+
<field name="use_existing_lots" eval="1" />
|
12
|
+
<field name="color" eval="5" />
|
13
|
+
<field name="code">internal</field>
|
14
|
+
<field name="show_operations" eval="1" />
|
15
|
+
<field name="display_completion_info" eval="1" />
|
16
|
+
</record>
|
17
|
+
<record id="picking_type_zone_picking_demo" model="stock.picking.type">
|
18
|
+
<field name="name">Zone Picking</field>
|
19
|
+
<field name="sequence_code">ZPI</field>
|
20
|
+
<field name="sequence" eval="10" />
|
21
|
+
<field name="warehouse_id" ref="stock.warehouse0" />
|
22
|
+
<field name="default_location_src_id" ref="stock.stock_location_stock" />
|
23
|
+
<field name="default_location_dest_id" ref="stock.location_pack_zone" />
|
24
|
+
<field name="show_entire_packs" eval="1" />
|
25
|
+
<field name="use_create_lots" eval="0" />
|
26
|
+
<field name="use_existing_lots" eval="1" />
|
27
|
+
<field name="color" eval="5" />
|
28
|
+
<field name="code">internal</field>
|
29
|
+
<field name="show_operations" eval="1" />
|
30
|
+
<field name="display_completion_info" eval="1" />
|
31
|
+
</record>
|
32
|
+
<record id="picking_type_cluster_picking_demo" model="stock.picking.type">
|
33
|
+
<field name="name">Cluster Picking</field>
|
34
|
+
<field name="sequence_code">CPI</field>
|
35
|
+
<field name="sequence" eval="10" />
|
36
|
+
<field name="warehouse_id" ref="stock.warehouse0" />
|
37
|
+
<field name="default_location_src_id" ref="stock.stock_location_stock" />
|
38
|
+
<field name="default_location_dest_id" ref="stock.location_pack_zone" />
|
39
|
+
<field name="show_entire_packs" eval="1" />
|
40
|
+
<field name="use_create_lots" eval="0" />
|
41
|
+
<field name="use_existing_lots" eval="1" />
|
42
|
+
<field name="color" eval="5" />
|
43
|
+
<field name="code">internal</field>
|
44
|
+
<field name="show_operations" eval="1" />
|
45
|
+
<field name="display_completion_info" eval="1" />
|
46
|
+
<field name="shopfloor_zero_check" eval="1" />
|
47
|
+
</record>
|
48
|
+
<record id="picking_type_checkout_demo" model="stock.picking.type">
|
49
|
+
<field name="name">Checkout</field>
|
50
|
+
<field name="sequence_code">CHK</field>
|
51
|
+
<field name="sequence" eval="10" />
|
52
|
+
<field name="warehouse_id" ref="stock.warehouse0" />
|
53
|
+
<field name="default_location_src_id" ref="stock.location_pack_zone" />
|
54
|
+
<field name="default_location_dest_id" ref="stock.stock_location_output" />
|
55
|
+
<field name="show_entire_packs" eval="1" />
|
56
|
+
<field name="use_create_lots" eval="0" />
|
57
|
+
<field name="use_existing_lots" eval="1" />
|
58
|
+
<field name="color" eval="5" />
|
59
|
+
<field name="code">internal</field>
|
60
|
+
<field name="show_operations" eval="1" />
|
61
|
+
<field name="display_completion_info" eval="1" />
|
62
|
+
</record>
|
63
|
+
<record id="picking_type_delivery_demo" model="stock.picking.type">
|
64
|
+
<field name="name">Delivery</field>
|
65
|
+
<field name="sequence_code">DEL</field>
|
66
|
+
<field name="sequence" eval="10" />
|
67
|
+
<field name="warehouse_id" ref="stock.warehouse0" />
|
68
|
+
<field name="default_location_src_id" ref="stock.stock_location_output" />
|
69
|
+
<field name="default_location_dest_id" ref="stock.stock_location_customers" />
|
70
|
+
<field name="show_entire_packs" eval="1" />
|
71
|
+
<field name="use_create_lots" eval="0" />
|
72
|
+
<field name="use_existing_lots" eval="1" />
|
73
|
+
<field name="color" eval="5" />
|
74
|
+
<field name="code">internal</field>
|
75
|
+
<field name="show_operations" eval="1" />
|
76
|
+
<field name="display_completion_info" eval="1" />
|
77
|
+
</record>
|
78
|
+
<record id="picking_type_location_content_transfer_demo" model="stock.picking.type">
|
79
|
+
<field name="name">Location Content Transfer</field>
|
80
|
+
<field name="sequence_code">LCT</field>
|
81
|
+
<field name="sequence" eval="10" />
|
82
|
+
<field name="warehouse_id" ref="stock.warehouse0" />
|
83
|
+
<field name="default_location_src_id" ref="stock.stock_location_stock" />
|
84
|
+
<field name="default_location_dest_id" ref="stock.stock_location_stock" />
|
85
|
+
<field name="show_entire_packs" eval="1" />
|
86
|
+
<field name="use_create_lots" eval="0" />
|
87
|
+
<field name="use_existing_lots" eval="1" />
|
88
|
+
<field name="color" eval="5" />
|
89
|
+
<field name="code">internal</field>
|
90
|
+
<field name="show_operations" eval="1" />
|
91
|
+
<field name="display_completion_info" eval="1" />
|
92
|
+
</record>
|
93
|
+
</odoo>
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# Diagram to generate with PlantUML (https://plantuml.com/)
|
2
|
+
#
|
3
|
+
# $ sudo apt install plantuml
|
4
|
+
# $ plantuml delivery_diag_seq.plantuml
|
5
|
+
#
|
6
|
+
|
7
|
+
@startuml
|
8
|
+
|
9
|
+
skinparam roundcorner 20
|
10
|
+
skinparam sequence {
|
11
|
+
|
12
|
+
ParticipantBorderColor #875A7B
|
13
|
+
ParticipantBackgroundColor #875A7B
|
14
|
+
ParticipantFontSize 17
|
15
|
+
ParticipantFontColor white
|
16
|
+
|
17
|
+
LifeLineBorderColor #875A7B
|
18
|
+
|
19
|
+
ArrowColor #00A09D
|
20
|
+
}
|
21
|
+
|
22
|
+
header <img:oca_logo.png>
|
23
|
+
title <size:35>Checkout scenario</size>
|
24
|
+
|
25
|
+
== /list_stock_picking ==
|
26
|
+
select_document -> manual_selection: **/list_stock_picking**
|
27
|
+
|
28
|
+
== /select ==
|
29
|
+
manual_selection -> select_line: **/select**(picking_id)
|
30
|
+
|
31
|
+
== /scan_document ==
|
32
|
+
select_document -> select_line: **/scan_document**(barcode, picking_id=None) \n(scan a picking a product or ???)
|
33
|
+
|
34
|
+
== /select_line ==
|
35
|
+
select_line -> select_package: **/select_line**(picking_id, package_id, move_line_ids)
|
36
|
+
|
37
|
+
== /list_delivery_packaging ==
|
38
|
+
select_package -> select_delivery_packaging: **/list_delivery_packaging**(picking_id, selected_line_ids)
|
39
|
+
|
40
|
+
|
41
|
+
== /list_dest_package ==
|
42
|
+
select_package -> select_dest_package: **/list_dest_package**(picking_id, selected_line_ids)
|
43
|
+
select_package -> select_package: **/list_dest_package**(picking_id, selected_line_ids) \n No Valid package to select
|
44
|
+
|
45
|
+
== /set_dest_package ==
|
46
|
+
select_dest_package -> select_line: **/set_dest_package(picking_id, selected_line_ids, package_id)
|
47
|
+
|
48
|
+
== /scan_package_action ==
|
49
|
+
select_delivery_packaging -> summary: **/scan_package_action**(picking_id, selected_line_ids, barcode)
|
50
|
+
|
51
|
+
== /cancel_line ==
|
52
|
+
summary -> select_line: **/cancel_line**(picking_id, package_id=None, line_id=None)
|
53
|
+
|
54
|
+
== /select ==
|
55
|
+
summary -> select_line: **/select**(picking_id) \nContinue checkout
|
56
|
+
|
57
|
+
== /done ==
|
58
|
+
summary -> select_document: **/done(picking_id)**
|
59
|
+
|
60
|
+
|
61
|
+
@enduml
|
Binary file
|
@@ -0,0 +1,112 @@
|
|
1
|
+
# Diagram to generate with PlantUML (https://plantuml.com/)
|
2
|
+
#
|
3
|
+
# $ sudo apt install plantuml
|
4
|
+
# $ plantuml cluster_picking_diag_seq.plantuml
|
5
|
+
#
|
6
|
+
|
7
|
+
@startuml
|
8
|
+
participant start
|
9
|
+
participant manual_selection
|
10
|
+
participant confirm_start
|
11
|
+
|
12
|
+
participant start_line
|
13
|
+
participant scan_destination
|
14
|
+
participant zero_check
|
15
|
+
participant stock_issue
|
16
|
+
participant change_pack_lot
|
17
|
+
|
18
|
+
participant unload_all
|
19
|
+
participant confirm_unload_all
|
20
|
+
participant unload_single
|
21
|
+
participant unload_set_destination
|
22
|
+
participant confirm_unload_set_destination
|
23
|
+
|
24
|
+
skinparam roundcorner 20
|
25
|
+
skinparam sequence {
|
26
|
+
|
27
|
+
ParticipantBorderColor #875A7B
|
28
|
+
ParticipantBackgroundColor #875A7B
|
29
|
+
ParticipantFontSize 17
|
30
|
+
ParticipantFontColor white
|
31
|
+
|
32
|
+
LifeLineBorderColor #875A7B
|
33
|
+
|
34
|
+
ArrowColor #00A09D
|
35
|
+
}
|
36
|
+
|
37
|
+
header <img:oca_logo.png>
|
38
|
+
title <size:35>Cluster Picking scenario</size>
|
39
|
+
|
40
|
+
|
41
|
+
== Batch Transfer Selection ==
|
42
|
+
start -[#red]> start: **/find_batch** \n(error)
|
43
|
+
start -> confirm_start: **/find_batch**
|
44
|
+
|
45
|
+
start -> manual_selection: **/list_batch**
|
46
|
+
|
47
|
+
manual_selection -[#red]> manual_selection: **/select(picking_batch_id)** \n(error)
|
48
|
+
manual_selection -> confirm_start: **/select(picking_batch_id)**
|
49
|
+
manual_selection -> start: Button **Back** (client-side)
|
50
|
+
|
51
|
+
confirm_start -> start_line: **/confirm_start(picking_batch_id)**
|
52
|
+
confirm_start -> unload_all: **/confirm_start(picking_batch_id)** \n(we reopen a batch with all lines picked and have to be unloaded in the same destination)
|
53
|
+
confirm_start -> unload_single: **/confirm_start(picking_batch_id)** \n(we reopen a batch with all lines picked and have to be unloaded in different destinations)
|
54
|
+
confirm_start -> start: **/unassign(picking_batch_id)**
|
55
|
+
|
56
|
+
== Picking ==
|
57
|
+
|
58
|
+
start_line -[#red]> start_line: **/scan_line(picking_batch_id, move_line_id, barcode[package|product|lot])** \n(error)
|
59
|
+
start_line -> scan_destination: **/scan_line(picking_batch_id, move_line_id, barcode[package|product|lot])** \n(error)
|
60
|
+
|
61
|
+
scan_destination -[#red]> scan_destination: **/scan_destination_pack(picking_batch_id, move_line_id, barcode[package], quantity)** \n(error)
|
62
|
+
scan_destination -> start_line: **/scan_destination_pack(picking_batch_id, move_line_id, barcode[package], quantity)** \n(other lines to pick)
|
63
|
+
scan_destination -> zero_check: **/scan_destination_pack(picking_batch_id, move_line_id, barcode[package], quantity)** \n(source location is now empty)
|
64
|
+
scan_destination -> unload_all: **/scan_destination_pack(picking_batch_id, move_line_id, barcode[package], quantity)** \n(all lines picked and same destination)
|
65
|
+
scan_destination -> unload_single: **/scan_destination_pack(picking_batch_id, move_line_id, barcode[package], quantity)** \n(all lines picked and different destinations)
|
66
|
+
|
67
|
+
start_line -> unload_all: **/prepare_unload(picking_batch_id)** \n(all lines picked and same destination)
|
68
|
+
start_line -> unload_single: **/prepare_unload(picking_batch_id)** \n(all lines picked and different destinations)
|
69
|
+
|
70
|
+
start_line -> start_line: **/skip_line(picking_batch_id, move_line_id)**
|
71
|
+
|
72
|
+
start_line -> stock_issue: Button *Stock Issue* (client-side)
|
73
|
+
stock_issue -> start_line: **/stock_issue(picking_batch_id, move_line_id)** \n(other lines to pick)
|
74
|
+
stock_issue -> unload_all: **/stock_issue(picking_batch_id, move_line_id)** \n(all lines picked and same destination)
|
75
|
+
stock_issue -> unload_single: **/stock_issue(picking_batch_id, move_line_id)** \n(all lines picked and different destinations)
|
76
|
+
|
77
|
+
zero_check -> start_line: **/is_zero(picking_batch_id, move_line_id, zero[bool])** \n(other lines to pick)
|
78
|
+
zero_check -> unload_all: **/is_zero(picking_batch_id, move_line_id, zero[bool])** \n(all lines picked and same destination)
|
79
|
+
zero_check -> unload_single: **/is_zero(picking_batch_id, move_line_id, zero[bool])** \n(all lines picked and different destinations)
|
80
|
+
|
81
|
+
start_line -> change_pack_lot: Button *Change Package/Lot* (client-side)
|
82
|
+
change_pack_lot -[#red]> change_pack_lot: **/change_pack_lot(picking_batch_id, move_line_id, barcode[package|lot])** \n(error)
|
83
|
+
change_pack_lot -> scan_destination: **/change_pack_lot(picking_batch_id, move_line_id, barcode[package|lot])**
|
84
|
+
|
85
|
+
== Unloading ==
|
86
|
+
|
87
|
+
unload_all -[#red]> unload_all: **/set_destination_all(picking_batch_id, barcode[location], confirmation=False)** \n(error)
|
88
|
+
unload_all -> start_line: **/set_destination_all(picking_batch_id, barcode[location], confirmation=False)** \n(unloaded, batch contains other lines to pick)
|
89
|
+
unload_all -> unload_single: **/set_destination_all(picking_batch_id, barcode[location], confirmation=False)** \n(lines have different destinations after all)
|
90
|
+
unload_all -> confirm_unload_all: **/set_destination_all(picking_batch_id, barcode[location], confirmation=False)** \n(change of destination to confirm)
|
91
|
+
unload_all -> start: **/set_destination_all(picking_batch_id, barcode[location], confirmation=False)** \n(batch finished)
|
92
|
+
|
93
|
+
confirm_unload_all -[#red]> unload_all: **/set_destination_all(picking_batch_id, barcode[location], confirmation=False)** \n(error)
|
94
|
+
confirm_unload_all -> start_line: **/set_destination_all(picking_batch_id, barcode[location], confirmation=False)** \n(unloaded, batch contains other lines to pick)
|
95
|
+
confirm_unload_all -> unload_single: **/set_destination_all(picking_batch_id, barcode[location], confirmation=False)** \n(lines have different destinations after all)
|
96
|
+
confirm_unload_all -> start: **/set_destination_all(picking_batch_id, barcode[location], confirmation=False)** \n(batch finished)
|
97
|
+
|
98
|
+
unload_all -> unload_single: **/unload_split(picking_batch_id)**
|
99
|
+
|
100
|
+
unload_single -[#red]> unload_single: **/unload_scan_pack(picking_batch_id, package_id, barcode[location])** \n(error)
|
101
|
+
unload_single -> start_line: **/unload_scan_pack(picking_batch_id, package_id, barcode[location])** \n(package not found and still have lines to pick)
|
102
|
+
unload_single -> unload_set_destination: **/unload_scan_pack(picking_batch_id, package_id, barcode[location])** \n(scan is ok, has to set a destination)
|
103
|
+
|
104
|
+
unload_set_destination -[#red]> unload_single: **/unload_scan_destination(picking_batch_id, package_id, barcode[location], confirmation=False)** \n(error)
|
105
|
+
unload_set_destination -> confirm_unload_set_destination: **/unload_scan_destination(picking_batch_id, package_id, barcode[location], confirmation=False)** \n(change of destination needs confirmation)
|
106
|
+
unload_set_destination -> start_line: **/unload_scan_destination(picking_batch_id, package_id, barcode[location], confirmation=False)** \n(batch has other lines to pick)
|
107
|
+
unload_set_destination -> start: **/unload_scan_destination(picking_batch_id, package_id, barcode[location], confirmation=False)** \n(batch finished)
|
108
|
+
confirm_unload_set_destination -[#red]> unload_single: **/unload_scan_destination(picking_batch_id, package_id, barcode[location], confirmation=False)** \n(error)
|
109
|
+
confirm_unload_set_destination -> start_line: **/unload_scan_destination(picking_batch_id, package_id, barcode[location], confirmation=False)** \n(batch has other lines to pick)
|
110
|
+
confirm_unload_set_destination -> start: **/unload_scan_destination(picking_batch_id, package_id, barcode[location], confirmation=False)** \n(batch finished)
|
111
|
+
|
112
|
+
@enduml
|
Binary file
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# Diagram to generate with PlantUML (https://plantuml.com/)
|
2
|
+
#
|
3
|
+
# $ sudo apt install plantuml
|
4
|
+
# $ plantuml delivery_diag_seq.plantuml
|
5
|
+
#
|
6
|
+
|
7
|
+
@startuml
|
8
|
+
|
9
|
+
skinparam roundcorner 20
|
10
|
+
skinparam sequence {
|
11
|
+
|
12
|
+
ParticipantBorderColor #875A7B
|
13
|
+
ParticipantBackgroundColor #875A7B
|
14
|
+
ParticipantFontSize 17
|
15
|
+
ParticipantFontColor white
|
16
|
+
|
17
|
+
LifeLineBorderColor #875A7B
|
18
|
+
|
19
|
+
ArrowColor #00A09D
|
20
|
+
}
|
21
|
+
|
22
|
+
header <img:oca_logo.png>
|
23
|
+
title <size:35>Delivery scenario</size>
|
24
|
+
|
25
|
+
== /list_stock_picking ==
|
26
|
+
deliver -> manual_selection: **/list_stock_picking**
|
27
|
+
|
28
|
+
== /select ==
|
29
|
+
manual_selection -> deliver: **/select**(picking_id)
|
30
|
+
|
31
|
+
== /scan_deliver ==
|
32
|
+
deliver -> deliver: **/scan_deliver**(barcode, picking_id=None) \n(scan a picking to display its lines, or a package/lot/product to process related lines,\nwhen all the available move lines of the transfer are done, the stock picking is set to done)
|
33
|
+
|
34
|
+
== /set_qty_done_pack ==
|
35
|
+
|
36
|
+
deliver -> deliver: **/set_qty_done_pack(picking_id, package_id)** \n(when all the available move lines of the transfer are done, the transfer is set to done.)
|
37
|
+
|
38
|
+
== /set_qty_done_line ==
|
39
|
+
|
40
|
+
deliver -> deliver: **/set_qty_done_line(picking_id, move_line_id)** \n(when all the available move lines of the transfer are done, the transfer is set to done.)
|
41
|
+
|
42
|
+
== /reset_qty_done_pack ==
|
43
|
+
|
44
|
+
deliver -> deliver: **/reset_qty_done_pack(picking_id, package_id)** \n(remove "Done" on a package)
|
45
|
+
|
46
|
+
== /reset_qty_done_line ==
|
47
|
+
|
48
|
+
deliver -> deliver: **/reset_qty_done_line(picking_id, move_line_id)** \n(remove "Done" on a move line)
|
49
|
+
|
50
|
+
== /done ==
|
51
|
+
|
52
|
+
deliver -> deliver: **/done(picking_id)** \n(all lines processed)
|
53
|
+
deliver -> confirm_done: **/done(picking_id)** \n(lines partially processed, need confirmation)
|
54
|
+
confirm_done -> deliver: **/done(picking_id, confirm=True)**
|
55
|
+
|
56
|
+
@enduml
|
Binary file
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# Diagram to generate with PlantUML (https://plantuml.com/)
|
2
|
+
#
|
3
|
+
# $ sudo apt install plantuml
|
4
|
+
# $ plantuml location_content_transfer_diag_seq.plantuml
|
5
|
+
#
|
6
|
+
|
7
|
+
@startuml
|
8
|
+
|
9
|
+
skinparam roundcorner 20
|
10
|
+
skinparam sequence {
|
11
|
+
|
12
|
+
ParticipantBorderColor #875A7B
|
13
|
+
ParticipantBackgroundColor #875A7B
|
14
|
+
ParticipantFontSize 17
|
15
|
+
ParticipantFontColor white
|
16
|
+
|
17
|
+
LifeLineBorderColor #875A7B
|
18
|
+
|
19
|
+
ArrowColor #00A09D
|
20
|
+
}
|
21
|
+
|
22
|
+
header <img:oca_logo.png>
|
23
|
+
title <size:35>Location Content Transfer scenario</size>
|
24
|
+
|
25
|
+
start_or_recover -> get_work : `get_work` option is enabled
|
26
|
+
start_or_recover -> scan_location : `get_work` option is not enabled
|
27
|
+
start_or_recover -> scan_destination_all : existing work to resume for the user
|
28
|
+
start_or_recover -> start_single : existing work to resume for the user
|
29
|
+
|
30
|
+
== /find_work ==
|
31
|
+
get_work -> scan_location: **/find_work** (work found)
|
32
|
+
get_work -> get_work: **/find_work** (no work available)
|
33
|
+
get_work -> scan_location: click on `Manual Selection` button
|
34
|
+
|
35
|
+
== /cancel_work ==
|
36
|
+
scan_location -> get_work: **/cancel_work(location_id)** \n(Only available coming from `get_work`)
|
37
|
+
|
38
|
+
== /scan_location ==
|
39
|
+
scan_location -> scan_location: **/scan_location(barcode)** \n(Location not found)
|
40
|
+
scan_location -> scan_destination_all: **/scan_location(barcode)** \n(lines and package levels have the same destination)
|
41
|
+
scan_location -> start_single: **/scan_location(barcode)** \n(lines or package levels have different destination)
|
42
|
+
|
43
|
+
== /scan_package ==
|
44
|
+
start_single -> start_single: **/scan_package(barcode)** \n(barcode not found)
|
45
|
+
start_single -> scan_destination: **/scan_package(barcode)**
|
46
|
+
|
47
|
+
== /postpone_package ==
|
48
|
+
start_single -> start_single: **/postpone_package(location_id, package_level_id)**
|
49
|
+
|
50
|
+
== /dismiss_package_level ==
|
51
|
+
start_single -> start_single: **/dismiss_package_level(location_id, package_level_id)**
|
52
|
+
|
53
|
+
== /stock_out_line ==
|
54
|
+
start_single -> start_single: **/dismiss_package_level(location_id, move_line_id)** \n(continue with next line or package level)
|
55
|
+
start_single -> done: **/dismiss_package_level(location_id, move_line_id)** \n(no more content to move)
|
56
|
+
|
57
|
+
== /set_destination_all ==
|
58
|
+
scan_destination_all -> done: **/set_destination_all(location_id)**
|
59
|
+
scan_destination_all -> scan_destination_all: **/set_destination_all(location_id)** \n(Invalid destination)
|
60
|
+
|
61
|
+
== /go_to_single ==
|
62
|
+
scan_destination_all -> start_single: **/go_to_single(location_id)**
|
63
|
+
|
64
|
+
done -> start_or_recover:
|
65
|
+
|
66
|
+
@enduml
|
Binary file
|
Binary file
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# Diagram to generate with PlantUML (https://plantuml.com/)
|
2
|
+
#
|
3
|
+
# $ sudo apt install plantuml
|
4
|
+
# $ plantuml single_pack_transfer_diag_seq.plantuml
|
5
|
+
#
|
6
|
+
|
7
|
+
@startuml
|
8
|
+
|
9
|
+
skinparam roundcorner 20
|
10
|
+
skinparam sequence {
|
11
|
+
|
12
|
+
ParticipantBorderColor #875A7B
|
13
|
+
ParticipantBackgroundColor #875A7B
|
14
|
+
ParticipantFontSize 17
|
15
|
+
ParticipantFontColor white
|
16
|
+
|
17
|
+
LifeLineBorderColor #875A7B
|
18
|
+
|
19
|
+
ArrowColor #00A09D
|
20
|
+
}
|
21
|
+
|
22
|
+
header <img:oca_logo.png>
|
23
|
+
title <size:35>Single Pack Transfer scenario</size>
|
24
|
+
|
25
|
+
== /start ==
|
26
|
+
start -> scan_location: **/start**(barcode[pack|location], confirmation=False)
|
27
|
+
start -> start: **/start**(barcode[pack|location], confirmation=False)
|
28
|
+
|
29
|
+
== /cancel ==
|
30
|
+
scan_location -> start: **/cancel**(package_level_id)
|
31
|
+
|
32
|
+
== /validate ==
|
33
|
+
scan_location -> scan_location: **/validate**(package_level_id, location_barcode, confirmation=False)
|
34
|
+
scan_location -> start: **/validate**(package_level_id, location_barcode, confirmation=False)
|
35
|
+
|
36
|
+
@enduml
|
Binary file
|