feat(sub12b): extend fusion.plating.rack — racking_state + tags + capacity

The existing 'state' field tracks wear (active/needs_strip/stripping/
retired). Sub 12b adds an orthogonal 'racking_state' (empty/loading/
loaded/in_use/awaiting_unrack/out_of_service) for the load lifecycle
— a rack can be wear-active AND racking-loaded simultaneously.

New fields:
  racking_state        — operational lifecycle
  tag_ids (M2M)        — fp.rack.tag chips on plant overview
  capacity_count       — soft warn (distinct from existing 'capacity')
  current_job_step_id  — compute, derived from latest fp.job.step.move
  current_tank_id      — compute
  current_part_count   — compute

Form view picks up the new fields under Sub-12b group + a 'Current
Use' panel that hides when racking_state is empty / out_of_service.

The compute references fp.job.step.move which lands in Task 4 — the
module won't load cleanly on entech until Tasks 4-5 ship; that's
expected for batch deployment at the end.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsinghpal
2026-04-27 21:03:09 -04:00
parent 86c0e230a1
commit d9ae45ce9b
2 changed files with 78 additions and 0 deletions

View File

@@ -68,6 +68,20 @@
<field name="strips_count"/>
</group>
</group>
<group>
<group string="Tags + Capacity (Sub 12b)">
<field name="racking_state"/>
<field name="tag_ids" widget="many2many_tags"
options="{'color_field': 'color'}"/>
<field name="capacity_count"/>
</group>
<group string="Current Use"
invisible="racking_state in ('empty','out_of_service')">
<field name="current_job_step_id" readonly="1"/>
<field name="current_tank_id" readonly="1"/>
<field name="current_part_count" readonly="1"/>
</group>
</group>
<group string="Notes">
<field name="notes" nolabel="1" colspan="2"/>
</group>