folder rename

This commit is contained in:
gsinghpal
2026-04-16 20:53:53 -04:00
parent 3f3ddcbab4
commit 7c7ef06057
634 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,322 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2026 Nexa Systems Inc. — DEMO DATA (temporary)
Remove this file and its manifest entry before production release.
-->
<odoo noupdate="1">
<!-- ========== DEMO PARTNERS ========== -->
<record id="demo_partner_aeroparts" model="res.partner">
<field name="name">AeroParts Manufacturing Inc.</field>
<field name="email">info@aeroparts.ca</field>
<field name="phone">905-555-0101</field>
<field name="city">Mississauga</field>
<field name="country_id" ref="base.ca"/>
<field name="company_type">company</field>
</record>
<record id="demo_partner_precision" model="res.partner">
<field name="name">Precision MFG Ltd.</field>
<field name="email">orders@precisionmfg.ca</field>
<field name="phone">416-555-0202</field>
<field name="city">Toronto</field>
<field name="country_id" ref="base.ca"/>
<field name="company_type">company</field>
</record>
<record id="demo_partner_opg" model="res.partner">
<field name="name">Ontario Power Generation</field>
<field name="email">procurement@opg.com</field>
<field name="phone">905-555-0303</field>
<field name="city">Pickering</field>
<field name="country_id" ref="base.ca"/>
<field name="company_type">company</field>
</record>
<!-- ========== FACILITIES ========== -->
<record id="demo_facility_main" model="fusion.plating.facility">
<field name="name">Fusion Plating — Main Plant</field>
<field name="code">FP-MAIN</field>
<field name="sequence">10</field>
</record>
<record id="demo_facility_east" model="fusion.plating.facility">
<field name="name">Fusion Plating — East Annex</field>
<field name="code">FP-EAST</field>
<field name="sequence">20</field>
</record>
<!-- ========== WORK CENTRES ========== -->
<record id="demo_wc_en_line" model="fusion.plating.work.center">
<field name="name">EN Plating Line</field>
<field name="code">WC-EN</field>
<field name="facility_id" ref="demo_facility_main"/>
<field name="capacity_per_day">80</field>
</record>
<record id="demo_wc_chrome_line" model="fusion.plating.work.center">
<field name="name">Chrome Line</field>
<field name="code">WC-CR</field>
<field name="facility_id" ref="demo_facility_main"/>
<field name="capacity_per_day">50</field>
</record>
<record id="demo_wc_anodize_line" model="fusion.plating.work.center">
<field name="name">Anodize Line</field>
<field name="code">WC-AN</field>
<field name="facility_id" ref="demo_facility_main"/>
<field name="capacity_per_day">120</field>
</record>
<record id="demo_wc_oxide_line" model="fusion.plating.work.center">
<field name="name">Black Oxide Line</field>
<field name="code">WC-BOX</field>
<field name="facility_id" ref="demo_facility_east"/>
<field name="capacity_per_day">60</field>
</record>
<record id="demo_wc_prep_line" model="fusion.plating.work.center">
<field name="name">Prep &amp; Clean Line</field>
<field name="code">WC-PREP</field>
<field name="facility_id" ref="demo_facility_main"/>
<field name="capacity_per_day">200</field>
</record>
<!-- ========== TANKS ========== -->
<!-- EN Line -->
<record id="demo_tank_en1" model="fusion.plating.tank">
<field name="name">EN Tank 1 — Mid-Phos</field>
<field name="code">T-EN-01</field>
<field name="facility_id" ref="demo_facility_main"/>
<field name="work_center_id" ref="demo_wc_en_line"/>
<field name="current_process_id" ref="fusion_plating_process_en.ptype_en_mp"/>
<field name="volume">800</field>
<field name="volume_uom">l</field>
<field name="material">polypro</field>
<field name="heating_type">immersion</field>
<field name="has_filtration" eval="True"/>
<field name="state">in_use</field>
</record>
<record id="demo_tank_en2" model="fusion.plating.tank">
<field name="name">EN Tank 2 — High-Phos</field>
<field name="code">T-EN-02</field>
<field name="facility_id" ref="demo_facility_main"/>
<field name="work_center_id" ref="demo_wc_en_line"/>
<field name="current_process_id" ref="fusion_plating_process_en.ptype_en_hp"/>
<field name="volume">600</field>
<field name="volume_uom">l</field>
<field name="material">polypro</field>
<field name="heating_type">immersion</field>
<field name="has_filtration" eval="True"/>
<field name="state">in_use</field>
</record>
<record id="demo_tank_en_strike" model="fusion.plating.tank">
<field name="name">EN Strike Tank</field>
<field name="code">T-EN-STK</field>
<field name="facility_id" ref="demo_facility_main"/>
<field name="work_center_id" ref="demo_wc_en_line"/>
<field name="current_process_id" ref="fusion_plating_process_en.ptype_en_strike"/>
<field name="volume">300</field>
<field name="volume_uom">l</field>
<field name="material">polypro</field>
<field name="state">in_use</field>
</record>
<!-- Chrome Line -->
<record id="demo_tank_cr1" model="fusion.plating.tank">
<field name="name">Hard Chrome Tank 1</field>
<field name="code">T-CR-01</field>
<field name="facility_id" ref="demo_facility_main"/>
<field name="work_center_id" ref="demo_wc_chrome_line"/>
<field name="current_process_id" ref="fusion_plating_process_chrome.ptype_cr_hard_hex"/>
<field name="volume">1200</field>
<field name="volume_uom">l</field>
<field name="material">lined_steel</field>
<field name="heating_type">immersion</field>
<field name="has_rectifier" eval="True"/>
<field name="has_filtration" eval="True"/>
<field name="state">in_use</field>
</record>
<record id="demo_tank_cr2" model="fusion.plating.tank">
<field name="name">Decorative Chrome Tank</field>
<field name="code">T-CR-02</field>
<field name="facility_id" ref="demo_facility_main"/>
<field name="work_center_id" ref="demo_wc_chrome_line"/>
<field name="current_process_id" ref="fusion_plating_process_chrome.ptype_cr_dec_hex"/>
<field name="volume">500</field>
<field name="volume_uom">l</field>
<field name="material">lined_steel</field>
<field name="heating_type">immersion</field>
<field name="has_rectifier" eval="True"/>
<field name="state">in_use</field>
</record>
<record id="demo_tank_cr_strike" model="fusion.plating.tank">
<field name="name">Chrome Strike Tank</field>
<field name="code">T-CR-STK</field>
<field name="facility_id" ref="demo_facility_main"/>
<field name="work_center_id" ref="demo_wc_chrome_line"/>
<field name="current_process_id" ref="fusion_plating_process_chrome.ptype_cr_strike"/>
<field name="volume">200</field>
<field name="volume_uom">l</field>
<field name="material">polypro</field>
<field name="has_rectifier" eval="True"/>
<field name="state">in_use</field>
</record>
<!-- Anodize Line -->
<record id="demo_tank_an1" model="fusion.plating.tank">
<field name="name">Type II Sulfuric Anodize</field>
<field name="code">T-AN-01</field>
<field name="facility_id" ref="demo_facility_main"/>
<field name="work_center_id" ref="demo_wc_anodize_line"/>
<field name="current_process_id" ref="fusion_plating_process_anodize.ptype_an_type_ii"/>
<field name="volume">2000</field>
<field name="volume_uom">l</field>
<field name="material">polypro</field>
<field name="heating_type">jacket</field>
<field name="has_rectifier" eval="True"/>
<field name="has_filtration" eval="True"/>
<field name="state">in_use</field>
</record>
<record id="demo_tank_an2" model="fusion.plating.tank">
<field name="name">Type III Hardcoat Anodize</field>
<field name="code">T-AN-02</field>
<field name="facility_id" ref="demo_facility_main"/>
<field name="work_center_id" ref="demo_wc_anodize_line"/>
<field name="current_process_id" ref="fusion_plating_process_anodize.ptype_an_type_iii"/>
<field name="volume">1500</field>
<field name="volume_uom">l</field>
<field name="material">polypro</field>
<field name="heating_type">jacket</field>
<field name="has_rectifier" eval="True"/>
<field name="has_filtration" eval="True"/>
<field name="state">in_use</field>
</record>
<record id="demo_tank_an_seal" model="fusion.plating.tank">
<field name="name">Hot Water Seal Tank</field>
<field name="code">T-AN-SEAL</field>
<field name="facility_id" ref="demo_facility_main"/>
<field name="work_center_id" ref="demo_wc_anodize_line"/>
<field name="current_process_id" ref="fusion_plating_process_anodize.ptype_an_seal_hot"/>
<field name="volume">1000</field>
<field name="volume_uom">l</field>
<field name="material">ss</field>
<field name="heating_type">immersion</field>
<field name="state">in_use</field>
</record>
<record id="demo_tank_an_dye" model="fusion.plating.tank">
<field name="name">Dye Immersion Tank — Black</field>
<field name="code">T-AN-DYE</field>
<field name="facility_id" ref="demo_facility_main"/>
<field name="work_center_id" ref="demo_wc_anodize_line"/>
<field name="current_process_id" ref="fusion_plating_process_anodize.ptype_an_dye"/>
<field name="volume">500</field>
<field name="volume_uom">l</field>
<field name="material">polypro</field>
<field name="state">in_use</field>
</record>
<!-- Black Oxide Line (East) -->
<record id="demo_tank_box1" model="fusion.plating.tank">
<field name="name">Hot Black Oxide Tank</field>
<field name="code">T-BOX-01</field>
<field name="facility_id" ref="demo_facility_east"/>
<field name="work_center_id" ref="demo_wc_oxide_line"/>
<field name="current_process_id" ref="fusion_plating_process_black_oxide.ptype_box_hot"/>
<field name="volume">400</field>
<field name="volume_uom">l</field>
<field name="material">ss</field>
<field name="heating_type">external</field>
<field name="state">in_use</field>
</record>
<record id="demo_tank_box_seal" model="fusion.plating.tank">
<field name="name">Sealing Oil Dip</field>
<field name="code">T-BOX-SEAL</field>
<field name="facility_id" ref="demo_facility_east"/>
<field name="work_center_id" ref="demo_wc_oxide_line"/>
<field name="current_process_id" ref="fusion_plating_process_black_oxide.ptype_box_seal_oil"/>
<field name="volume">300</field>
<field name="volume_uom">l</field>
<field name="material">ss</field>
<field name="state">in_use</field>
</record>
<!-- Maintenance tank -->
<record id="demo_tank_maint" model="fusion.plating.tank">
<field name="name">Rinse Tank 3 (Down for Repair)</field>
<field name="code">T-RN-03</field>
<field name="facility_id" ref="demo_facility_main"/>
<field name="work_center_id" ref="demo_wc_prep_line"/>
<field name="volume">400</field>
<field name="volume_uom">l</field>
<field name="material">polypro</field>
<field name="state">maintenance</field>
</record>
<!-- ========== BATHS ========== -->
<record id="demo_bath_en_mp" model="fusion.plating.bath">
<field name="name">EN Mid-Phos Bath A</field>
<field name="tank_id" ref="demo_tank_en1"/>
<field name="facility_id" ref="demo_facility_main"/>
<field name="process_type_id" ref="fusion_plating_process_en.ptype_en_mp"/>
<field name="state">operational</field>
<field name="makeup_date" eval="(DateTime.today() - timedelta(days=14)).strftime('%Y-%m-%d')"/>
</record>
<record id="demo_bath_en_hp" model="fusion.plating.bath">
<field name="name">EN High-Phos Bath B</field>
<field name="tank_id" ref="demo_tank_en2"/>
<field name="facility_id" ref="demo_facility_main"/>
<field name="process_type_id" ref="fusion_plating_process_en.ptype_en_hp"/>
<field name="state">operational</field>
<field name="makeup_date" eval="(DateTime.today() - timedelta(days=30)).strftime('%Y-%m-%d')"/>
</record>
<record id="demo_bath_cr_hard" model="fusion.plating.bath">
<field name="name">Hard Chrome Bath 1</field>
<field name="tank_id" ref="demo_tank_cr1"/>
<field name="facility_id" ref="demo_facility_main"/>
<field name="process_type_id" ref="fusion_plating_process_chrome.ptype_cr_hard_hex"/>
<field name="state">operational</field>
<field name="makeup_date" eval="(DateTime.today() - timedelta(days=60)).strftime('%Y-%m-%d')"/>
</record>
<record id="demo_bath_an_typeii" model="fusion.plating.bath">
<field name="name">Sulfuric Anodize Bath</field>
<field name="tank_id" ref="demo_tank_an1"/>
<field name="facility_id" ref="demo_facility_main"/>
<field name="process_type_id" ref="fusion_plating_process_anodize.ptype_an_type_ii"/>
<field name="state">operational</field>
<field name="makeup_date" eval="(DateTime.today() - timedelta(days=7)).strftime('%Y-%m-%d')"/>
</record>
<record id="demo_bath_box_hot" model="fusion.plating.bath">
<field name="name">Hot Black Oxide Bath</field>
<field name="tank_id" ref="demo_tank_box1"/>
<field name="facility_id" ref="demo_facility_east"/>
<field name="process_type_id" ref="fusion_plating_process_black_oxide.ptype_box_hot"/>
<field name="state">operational</field>
<field name="makeup_date" eval="(DateTime.today() - timedelta(days=45)).strftime('%Y-%m-%d')"/>
</record>
<!-- Aged bath nearing dump -->
<record id="demo_bath_cr_dec" model="fusion.plating.bath">
<field name="name">Decorative Chrome Bath (aging)</field>
<field name="tank_id" ref="demo_tank_cr2"/>
<field name="facility_id" ref="demo_facility_main"/>
<field name="process_type_id" ref="fusion_plating_process_chrome.ptype_cr_dec_hex"/>
<field name="state">dump_scheduled</field>
<field name="makeup_date" eval="(DateTime.today() - timedelta(days=180)).strftime('%Y-%m-%d')"/>
<field name="dump_scheduled_date" eval="(DateTime.today() + timedelta(days=10)).strftime('%Y-%m-%d')"/>
</record>
</odoo>

View File

@@ -0,0 +1,262 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2026 Nexa Systems Inc.
License OPL-1 (Odoo Proprietary License v1.0)
Demo recipe: Electroless Nickel Plating — Steel Line
-->
<odoo>
<data noupdate="1">
<!-- ===== ROOT: Electroless Nickel Plating — Steel Line ===== -->
<record id="demo_recipe_en_steel" model="fusion.plating.process.node">
<field name="name">Electroless Nickel Plating — Steel Line</field>
<field name="code">EN_STEEL</field>
<field name="node_type">recipe</field>
<field name="icon">fa-flask</field>
<field name="sequence">10</field>
<field name="customer_visible">True</field>
</record>
<!-- 1. Blasting -->
<record id="demo_node_blasting" model="fusion.plating.process.node">
<field name="name">Blasting</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="demo_recipe_en_steel"/>
<field name="icon">fa-bullseye</field>
<field name="sequence">10</field>
<field name="estimated_duration">30</field>
<field name="is_manual">True</field>
</record>
<record id="demo_step_ready_blast" model="fusion.plating.process.node">
<field name="name">Ready for Blast</field>
<field name="node_type">step</field>
<field name="parent_id" ref="demo_node_blasting"/>
<field name="icon">fa-clock-o</field>
<field name="sequence">10</field>
</record>
<record id="demo_step_blast" model="fusion.plating.process.node">
<field name="name">Blast</field>
<field name="node_type">step</field>
<field name="parent_id" ref="demo_node_blasting"/>
<field name="icon">fa-fire</field>
<field name="sequence">20</field>
<field name="requires_signoff">True</field>
</record>
<!-- 2. Masking -->
<record id="demo_node_masking" model="fusion.plating.process.node">
<field name="name">Masking</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="demo_recipe_en_steel"/>
<field name="icon">fa-paint-brush</field>
<field name="sequence">20</field>
<field name="estimated_duration">45</field>
<field name="is_manual">True</field>
</record>
<record id="demo_step_ready_mask" model="fusion.plating.process.node">
<field name="name">Ready for Masking</field>
<field name="node_type">step</field>
<field name="parent_id" ref="demo_node_masking"/>
<field name="sequence">10</field>
</record>
<record id="demo_step_mask" model="fusion.plating.process.node">
<field name="name">Masking</field>
<field name="node_type">step</field>
<field name="parent_id" ref="demo_node_masking"/>
<field name="icon">fa-paint-brush</field>
<field name="sequence">20</field>
<field name="requires_signoff">True</field>
</record>
<!-- 3. Racking -->
<record id="demo_node_racking" model="fusion.plating.process.node">
<field name="name">Racking</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="demo_recipe_en_steel"/>
<field name="icon">fa-th</field>
<field name="sequence">30</field>
<field name="estimated_duration">20</field>
</record>
<!-- 4. Steel Line (sub-process with many children) -->
<record id="demo_node_steel_line" model="fusion.plating.process.node">
<field name="name">Steel Line</field>
<field name="node_type">sub_process</field>
<field name="parent_id" ref="demo_recipe_en_steel"/>
<field name="icon">fa-industry</field>
<field name="sequence">40</field>
<field name="auto_complete">True</field>
</record>
<!-- 4a. Cleaner (sub-process inside Steel Line) -->
<record id="demo_node_cleaner" model="fusion.plating.process.node">
<field name="name">Cleaner</field>
<field name="node_type">sub_process</field>
<field name="parent_id" ref="demo_node_steel_line"/>
<field name="icon">fa-shower</field>
<field name="sequence">10</field>
</record>
<record id="demo_step_soak_clean" model="fusion.plating.process.node">
<field name="name">Soak Clean (S-3)</field>
<field name="node_type">step</field>
<field name="parent_id" ref="demo_node_cleaner"/>
<field name="sequence">10</field>
<field name="estimated_duration">10</field>
<field name="is_manual">False</field>
</record>
<record id="demo_step_electroclean" model="fusion.plating.process.node">
<field name="name">Electroclean (S-3)</field>
<field name="node_type">step</field>
<field name="parent_id" ref="demo_node_cleaner"/>
<field name="sequence">20</field>
<field name="estimated_duration">5</field>
<field name="is_manual">False</field>
</record>
<record id="demo_step_primary_rinse_1" model="fusion.plating.process.node">
<field name="name">Primary Rinse (S-4)</field>
<field name="node_type">step</field>
<field name="parent_id" ref="demo_node_cleaner"/>
<field name="sequence">30</field>
<field name="is_manual">False</field>
</record>
<!-- 4b. Acid Dip -->
<record id="demo_node_acid_dip" model="fusion.plating.process.node">
<field name="name">Acid Dip (S-5)</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="demo_node_steel_line"/>
<field name="icon">fa-flask</field>
<field name="sequence">20</field>
<field name="estimated_duration">5</field>
<field name="is_manual">False</field>
</record>
<!-- 4c. Nickel Strike -->
<record id="demo_node_nickel_strike" model="fusion.plating.process.node">
<field name="name">Nickel Strike (S-7 / SP-5)</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="demo_node_steel_line"/>
<field name="icon">fa-bolt</field>
<field name="sequence">30</field>
<field name="estimated_duration">8</field>
<field name="is_manual">False</field>
<field name="requires_signoff">True</field>
</record>
<!-- 4d. E-Nickel Plate (Mid Phos) -->
<record id="demo_node_en_plate" model="fusion.plating.process.node">
<field name="name">E-Nickel Plate (Mid Phos) (S-9)</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="demo_node_steel_line"/>
<field name="icon">fa-diamond</field>
<field name="sequence">40</field>
<field name="estimated_duration">90</field>
<field name="is_manual">False</field>
<field name="requires_signoff">True</field>
</record>
<record id="demo_step_rinse_after_plate" model="fusion.plating.process.node">
<field name="name">Primary Rinse (S-11)</field>
<field name="node_type">step</field>
<field name="parent_id" ref="demo_node_en_plate"/>
<field name="sequence">10</field>
<field name="is_manual">False</field>
</record>
<record id="demo_step_hot_rinse" model="fusion.plating.process.node">
<field name="name">Hot Rinse (S-13)</field>
<field name="node_type">step</field>
<field name="parent_id" ref="demo_node_en_plate"/>
<field name="sequence">20</field>
<field name="is_manual">False</field>
</record>
<!-- 4e. Hot Water Porosity -->
<record id="demo_node_porosity" model="fusion.plating.process.node">
<field name="name">Hot Water Porosity (A-15)</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="demo_node_steel_line"/>
<field name="icon">fa-tint</field>
<field name="sequence">50</field>
<field name="estimated_duration">15</field>
<field name="requires_signoff">True</field>
</record>
<!-- 4f. Dry -->
<record id="demo_node_dry" model="fusion.plating.process.node">
<field name="name">Dry</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="demo_node_steel_line"/>
<field name="icon">fa-sun-o</field>
<field name="sequence">60</field>
<field name="is_manual">False</field>
</record>
<!-- 5. Oven Baking -->
<record id="demo_node_oven_bake" model="fusion.plating.process.node">
<field name="name">Oven Baking</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="demo_recipe_en_steel"/>
<field name="icon">fa-fire</field>
<field name="sequence">50</field>
<field name="estimated_duration">240</field>
<field name="is_manual">False</field>
<field name="requires_signoff">True</field>
</record>
<!-- 6. De-racking -->
<record id="demo_node_derack" model="fusion.plating.process.node">
<field name="name">De-Racking</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="demo_recipe_en_steel"/>
<field name="icon">fa-th</field>
<field name="sequence">60</field>
<field name="estimated_duration">15</field>
</record>
<!-- 7. De-Masking -->
<record id="demo_node_demask" model="fusion.plating.process.node">
<field name="name">De-Masking</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="demo_recipe_en_steel"/>
<field name="icon">fa-eraser</field>
<field name="sequence">70</field>
<field name="estimated_duration">20</field>
</record>
<!-- 8. Oven Bake (Post De-Rack) -->
<record id="demo_node_post_bake" model="fusion.plating.process.node">
<field name="name">Oven Bake (Post De-Rack)</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="demo_recipe_en_steel"/>
<field name="icon">fa-fire</field>
<field name="sequence">80</field>
<field name="estimated_duration">120</field>
<field name="is_manual">False</field>
</record>
<!-- 9. Post Plate Inspection -->
<record id="demo_node_inspection" model="fusion.plating.process.node">
<field name="name">Post Plate Inspection</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="demo_recipe_en_steel"/>
<field name="icon">fa-search</field>
<field name="sequence">90</field>
<field name="estimated_duration">30</field>
<field name="requires_signoff">True</field>
</record>
<record id="demo_step_ready_inspect" model="fusion.plating.process.node">
<field name="name">Ready for Post Plate Inspection</field>
<field name="node_type">step</field>
<field name="parent_id" ref="demo_node_inspection"/>
<field name="sequence">10</field>
</record>
<record id="demo_step_inspect" model="fusion.plating.process.node">
<field name="name">Post Plate Inspection</field>
<field name="node_type">step</field>
<field name="parent_id" ref="demo_node_inspection"/>
<field name="icon">fa-check-circle</field>
<field name="sequence">20</field>
<field name="requires_signoff">True</field>
</record>
</data>
</odoo>

View File

@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2026 Nexa Systems Inc.
License OPL-1 (Odoo Proprietary License v1.0)
Part of the Fusion Plating product family.
Seed process categories. Categories are the one pinch of generic
taxonomy core ships with — specific process types themselves are
loaded by process packs (fusion_plating_process_en, etc.).
-->
<odoo noupdate="1">
<record id="pcat_plating" model="fusion.plating.process.category">
<field name="name">Plating</field>
<field name="code">plating</field>
<field name="sequence">10</field>
<field name="description">Deposition of a metallic layer onto a substrate, either electrolytically or autocatalytically.</field>
</record>
<record id="pcat_anodizing" model="fusion.plating.process.category">
<field name="name">Anodizing</field>
<field name="code">anodizing</field>
<field name="sequence">20</field>
<field name="description">Electrochemical conversion of a substrate surface into an oxide layer (typically aluminum).</field>
</record>
<record id="pcat_coating" model="fusion.plating.process.category">
<field name="name">Coating</field>
<field name="code">coating</field>
<field name="sequence">30</field>
<field name="description">Non-metallic or hybrid surface coating (paint, powder, PTFE composite, etc.).</field>
</record>
<record id="pcat_conversion" model="fusion.plating.process.category">
<field name="name">Conversion Coating</field>
<field name="code">conversion</field>
<field name="sequence">40</field>
<field name="description">Chemical reaction forming a protective film from the substrate itself (chromate, phosphate, black oxide).</field>
</record>
<record id="pcat_prep" model="fusion.plating.process.category">
<field name="name">Preparation</field>
<field name="code">prep</field>
<field name="sequence">50</field>
<field name="description">Cleaning, degreasing, etching, activation — surface prep before the main finishing step.</field>
</record>
<record id="pcat_strip" model="fusion.plating.process.category">
<field name="name">Stripping</field>
<field name="code">strip</field>
<field name="sequence">60</field>
<field name="description">Chemical or electrolytic removal of an existing coating.</field>
</record>
<record id="pcat_post" model="fusion.plating.process.category">
<field name="name">Post-Treatment</field>
<field name="code">post</field>
<field name="sequence">70</field>
<field name="description">Sealing, dyeing, heat treatment, embrittlement relief, passivation.</field>
</record>
<record id="pcat_other" model="fusion.plating.process.category">
<field name="name">Other</field>
<field name="code">other</field>
<field name="sequence">100</field>
<field name="description">Catch-all for processes that do not fit the standard categories.</field>
</record>
</odoo>

View File

@@ -0,0 +1,233 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2026 Nexa Systems Inc.
License OPL-1 (Odoo Proprietary License v1.0)
Recipe: ENP-ALUM-BASIC (Electroless Nickel Plating — Aluminium Basic)
Source: Client's Steelhead export
-->
<odoo>
<data noupdate="0">
<!-- ===== ROOT ===== -->
<record id="recipe_enp_alum_basic" model="fusion.plating.process.node">
<field name="name">ENP-ALUM-BASIC</field>
<field name="code">ENP_ALUM_BASIC</field>
<field name="node_type">recipe</field>
<field name="icon">fa-flask</field>
<field name="sequence">10</field>
<field name="auto_complete">True</field>
<field name="customer_visible">False</field>
</record>
<!-- ===== 1. Masking ===== -->
<record id="enp_ab_masking" model="fusion.plating.process.node">
<field name="name">Masking</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="recipe_enp_alum_basic"/>
<field name="icon">fa-paint-brush</field>
<field name="sequence">10</field>
<field name="auto_complete">True</field>
<field name="is_manual">True</field>
</record>
<record id="enp_ab_masking_ready" model="fusion.plating.process.node">
<field name="name">Ready For Masking</field>
<field name="node_type">step</field>
<field name="parent_id" ref="enp_ab_masking"/>
<field name="icon">fa-clock-o</field>
<field name="sequence">10</field>
<field name="is_manual">True</field>
</record>
<record id="enp_ab_masking_do" model="fusion.plating.process.node">
<field name="name">Masking</field>
<field name="node_type">step</field>
<field name="parent_id" ref="enp_ab_masking"/>
<field name="icon">fa-paint-brush</field>
<field name="sequence">20</field>
<field name="is_manual">True</field>
<field name="requires_signoff">True</field>
</record>
<!-- ===== 2. Racking ===== -->
<record id="enp_ab_racking" model="fusion.plating.process.node">
<field name="name">Racking</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="recipe_enp_alum_basic"/>
<field name="icon">fa-th</field>
<field name="sequence">20</field>
<field name="auto_complete">True</field>
</record>
<record id="enp_ab_racking_ready" model="fusion.plating.process.node">
<field name="name">Ready for Racking</field>
<field name="node_type">step</field>
<field name="parent_id" ref="enp_ab_racking"/>
<field name="sequence">10</field>
</record>
<record id="enp_ab_racking_do" model="fusion.plating.process.node">
<field name="name">Racking</field>
<field name="node_type">step</field>
<field name="parent_id" ref="enp_ab_racking"/>
<field name="icon">fa-th</field>
<field name="sequence">20</field>
<field name="requires_signoff">True</field>
</record>
<!-- ===== 3. Ready for processing ===== -->
<record id="enp_ab_ready_processing" model="fusion.plating.process.node">
<field name="name">Ready for processing</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="recipe_enp_alum_basic"/>
<field name="icon">fa-clock-o</field>
<field name="sequence">30</field>
</record>
<!-- ===== 4. ENP-Alum Line (sub-process) ===== -->
<record id="enp_ab_alum_line" model="fusion.plating.process.node">
<field name="name">ENP-Alum Line</field>
<field name="node_type">sub_process</field>
<field name="parent_id" ref="recipe_enp_alum_basic"/>
<field name="icon">fa-industry</field>
<field name="sequence">40</field>
<field name="auto_complete">True</field>
</record>
<!-- 4a. E-Nickel Plating -->
<record id="enp_ab_enickel_plating" model="fusion.plating.process.node">
<field name="name">E-Nickel Plating</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="enp_ab_alum_line"/>
<field name="icon">fa-diamond</field>
<field name="sequence">10</field>
<field name="requires_signoff">True</field>
<field name="is_manual">False</field>
</record>
<!-- ===== 5. De-Masking ===== -->
<record id="enp_ab_demasking" model="fusion.plating.process.node">
<field name="name">De-Masking</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="recipe_enp_alum_basic"/>
<field name="icon">fa-eraser</field>
<field name="sequence">50</field>
<field name="auto_complete">True</field>
</record>
<record id="enp_ab_demasking_ready" model="fusion.plating.process.node">
<field name="name">Ready for De-Masking</field>
<field name="node_type">step</field>
<field name="parent_id" ref="enp_ab_demasking"/>
<field name="sequence">10</field>
</record>
<record id="enp_ab_demasking_do" model="fusion.plating.process.node">
<field name="name">De-Masking</field>
<field name="node_type">step</field>
<field name="parent_id" ref="enp_ab_demasking"/>
<field name="icon">fa-eraser</field>
<field name="sequence">20</field>
</record>
<!-- ===== 6. Oven baking ===== -->
<record id="enp_ab_oven_bake" model="fusion.plating.process.node">
<field name="name">Oven baking</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="recipe_enp_alum_basic"/>
<field name="icon">fa-fire</field>
<field name="sequence">60</field>
<field name="auto_complete">True</field>
<field name="is_manual">False</field>
</record>
<record id="enp_ab_oven_bake_ready" model="fusion.plating.process.node">
<field name="name">Ready for bake</field>
<field name="node_type">step</field>
<field name="parent_id" ref="enp_ab_oven_bake"/>
<field name="icon">fa-clock-o</field>
<field name="sequence">10</field>
<field name="is_manual">True</field>
</record>
<record id="enp_ab_oven_bake_do" model="fusion.plating.process.node">
<field name="name">Bake</field>
<field name="node_type">step</field>
<field name="parent_id" ref="enp_ab_oven_bake"/>
<field name="icon">fa-fire</field>
<field name="sequence">20</field>
<field name="is_manual">True</field>
<field name="requires_signoff">True</field>
</record>
<!-- ===== 7. De-racking ===== -->
<record id="enp_ab_deracking" model="fusion.plating.process.node">
<field name="name">De-racking</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="recipe_enp_alum_basic"/>
<field name="icon">fa-th</field>
<field name="sequence">70</field>
<field name="auto_complete">True</field>
</record>
<record id="enp_ab_deracking_ready" model="fusion.plating.process.node">
<field name="name">Ready For DeRacking</field>
<field name="node_type">step</field>
<field name="parent_id" ref="enp_ab_deracking"/>
<field name="icon">fa-clock-o</field>
<field name="sequence">10</field>
<field name="is_manual">True</field>
</record>
<record id="enp_ab_deracking_do" model="fusion.plating.process.node">
<field name="name">DeRacking</field>
<field name="node_type">step</field>
<field name="parent_id" ref="enp_ab_deracking"/>
<field name="icon">fa-th</field>
<field name="sequence">20</field>
<field name="requires_signoff">True</field>
</record>
<!-- ===== 8. Oven bake (Post de-rack) ===== -->
<record id="enp_ab_post_bake" model="fusion.plating.process.node">
<field name="name">Oven bake (Post de-rack)</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="recipe_enp_alum_basic"/>
<field name="icon">fa-fire</field>
<field name="sequence">80</field>
<field name="auto_complete">True</field>
<field name="is_manual">False</field>
</record>
<record id="enp_ab_post_bake_ready" model="fusion.plating.process.node">
<field name="name">Ready for bake</field>
<field name="node_type">step</field>
<field name="parent_id" ref="enp_ab_post_bake"/>
<field name="icon">fa-clock-o</field>
<field name="sequence">10</field>
<field name="is_manual">True</field>
</record>
<record id="enp_ab_post_bake_do" model="fusion.plating.process.node">
<field name="name">Bake</field>
<field name="node_type">step</field>
<field name="parent_id" ref="enp_ab_post_bake"/>
<field name="icon">fa-fire</field>
<field name="sequence">20</field>
<field name="is_manual">True</field>
<field name="requires_signoff">True</field>
</record>
<!-- ===== 9. Post-plate Inspection ===== -->
<record id="enp_ab_inspection" model="fusion.plating.process.node">
<field name="name">Post-plate Inspection</field>
<field name="node_type">operation</field>
<field name="parent_id" ref="recipe_enp_alum_basic"/>
<field name="icon">fa-search</field>
<field name="sequence">90</field>
<field name="requires_signoff">True</field>
</record>
<record id="enp_ab_inspection_ready" model="fusion.plating.process.node">
<field name="name">Ready for post-plate Inspection</field>
<field name="node_type">step</field>
<field name="parent_id" ref="enp_ab_inspection"/>
<field name="sequence">10</field>
</record>
<record id="enp_ab_inspection_do" model="fusion.plating.process.node">
<field name="name">Post-plate Inspection</field>
<field name="node_type">step</field>
<field name="parent_id" ref="enp_ab_inspection"/>
<field name="icon">fa-check-circle</field>
<field name="sequence">20</field>
<field name="requires_signoff">True</field>
</record>
</data>
</odoo>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2026 Nexa Systems Inc.
License OPL-1 (Odoo Proprietary License v1.0)
Part of the Fusion Plating product family.
-->
<odoo noupdate="1">
<record id="seq_fp_bath" model="ir.sequence">
<field name="name">Fusion Plating: Bath</field>
<field name="code">fusion.plating.bath</field>
<field name="prefix">BATH/%(year)s/</field>
<field name="padding">5</field>
<field name="company_id" eval="False"/>
</record>
<record id="seq_fp_bath_log" model="ir.sequence">
<field name="name">Fusion Plating: Bath Log</field>
<field name="code">fusion.plating.bath.log</field>
<field name="prefix">BLOG/%(year)s%(month)s/</field>
<field name="padding">6</field>
<field name="company_id" eval="False"/>
</record>
</odoo>