folder rename
This commit is contained in:
82
fusion_plating/fusion_plating_shopfloor/README.md
Normal file
82
fusion_plating/fusion_plating_shopfloor/README.md
Normal file
@@ -0,0 +1,82 @@
|
||||
# Fusion Plating — Shop Floor
|
||||
|
||||
Tablet / operator ergonomics layer for the **fusion_plating** core.
|
||||
|
||||
Part of the Fusion Plating product family by Nexa Systems Inc.
|
||||
Copyright (c) 2026 Nexa Systems Inc. All rights reserved.
|
||||
Licensed under OPL-1 (Odoo Proprietary License v1.0).
|
||||
|
||||
## What this module adds
|
||||
|
||||
| Feature | Model |
|
||||
|---|---|
|
||||
| Tablet station registration | `fusion.plating.shopfloor.station` |
|
||||
| Bake oven master + chart recorder ref | `fusion.plating.bake.oven` |
|
||||
| Hydrogen embrittlement bake-window enforcer | `fusion.plating.bake.window` |
|
||||
| First-piece inspection gate | `fusion.plating.first.piece.gate` |
|
||||
| Operator next-up queue (transient) | `fusion.plating.operator.queue` |
|
||||
|
||||
## Bake-window enforcer
|
||||
|
||||
When a high-strength-steel part exits the plating tank, a clock starts.
|
||||
Customer specification dictates the window (typically 1-4 hours) inside
|
||||
which the relief bake must begin. Missing the window requires scrap or
|
||||
rework — there is no retroactive fix.
|
||||
|
||||
The module models this as a first-class entity with:
|
||||
|
||||
* `plate_exit_time` — clock start
|
||||
* `window_hours` — customer spec
|
||||
* `bake_required_by` — computed deadline
|
||||
* `state` — `awaiting_bake -> bake_in_progress -> baked`, with
|
||||
`missed_window` / `scrapped` exit paths
|
||||
* A 5-minute cron that flips records past their deadline to
|
||||
`missed_window` automatically
|
||||
* A kanban board grouped by state with theme-aware status colours
|
||||
|
||||
## Tablet client
|
||||
|
||||
A backend OWL component (Odoo 19 conventions) registered as the
|
||||
`fp_shopfloor_tablet` client action. It hosts:
|
||||
|
||||
* QR scan input (wedge scanner or on-screen keyboard friendly)
|
||||
* Live tank / bath / job preview cards
|
||||
* One-tap **Start Bake** / **End Bake** buttons
|
||||
* Live operator next-up queue
|
||||
|
||||
JSON-RPC endpoints (Odoo 19 `type='jsonrpc'`):
|
||||
|
||||
* `POST /fp/shopfloor/scan`
|
||||
* `POST /fp/shopfloor/log_chemistry`
|
||||
* `POST /fp/shopfloor/start_bake`
|
||||
* `POST /fp/shopfloor/end_bake`
|
||||
* `POST /fp/shopfloor/queue`
|
||||
|
||||
## QR code conventions
|
||||
|
||||
| Prefix | Resolves to |
|
||||
|---|---|
|
||||
| `FP-TANK:<code>` | `fusion.plating.tank` |
|
||||
| `FP-BATH:<name>` | `fusion.plating.bath` |
|
||||
| `FP-STATION:<code>` | `fusion.plating.shopfloor.station` |
|
||||
| `FP-JOB:<name>` | `fusion.plating.bake.window` |
|
||||
| `FP-OVEN:<code>` | `fusion.plating.bake.oven` |
|
||||
|
||||
## Security
|
||||
|
||||
Reuses the four core Fusion Plating groups (operator, supervisor, manager,
|
||||
admin) defined in `fusion_plating`. No new groups, no new privilege block.
|
||||
ACLs are graded operator (read/write logs), supervisor (create), manager
|
||||
(full).
|
||||
|
||||
## Theme
|
||||
|
||||
All styling is theme-aware: CSS custom properties + `color-mix()` against
|
||||
Bootstrap / Odoo tokens. No hex codes, no media queries — works in light
|
||||
and dark mode out of the box.
|
||||
|
||||
## Install / update
|
||||
|
||||
```bash
|
||||
docker exec odoo-dev-app odoo -d fusion-dev -u fusion_plating_shopfloor --stop-after-init
|
||||
```
|
||||
Reference in New Issue
Block a user