| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- <?xml version="1.0" encoding="utf-8"?>
- <odoo>
- <data>
- <!-- Tree View -->
- <record id="view_hr_efficiency_tree" model="ir.ui.view">
- <field name="name">hr.efficiency.tree</field>
- <field name="model">hr.efficiency</field>
- <field name="arch" type="xml">
- <list string="Employee Efficiency">
- <field name="month_year"/>
- <field name="employee_id"/>
- <field name="wage" sum="Total Gross Salary" optional="show"/>
- <field name="utilization_rate" avg="Average Utilization" optional="show"/>
- <field name="overhead" avg="Average Overhead" optional="show"/>
- <field name="expected_profitability" avg="Average Expected Profitability" optional="show"/>
- <field name="efficiency_factor" avg="Average Efficiency Factor" optional="show"/>
- <field name="precio_por_hora" avg="Average Precio por Hora" optional="show"/>
- <field name="company_id" groups="base.group_multi_company" optional="hide"/>
- <field name="calculation_date" optional="hide"/>
- <field name="available_hours" sum="Total Available" optional="show"/>
- <field name="planned_hours" sum="Total Planned" optional="show"/>
- <field name="planned_billable_hours" sum="Total Planned Billable" optional="hide"/>
- <field name="planned_non_billable_hours" sum="Total Planned Non-Billable" optional="hide"/>
- <field name="actual_billable_hours" sum="Total Actual Billable" optional="show"/>
- <field name="actual_non_billable_hours" sum="Total Actual Non-Billable" optional="show"/>
- <field name="total_actual_hours" sum="Total Actual" optional="show"/>
- <field name="expected_hours_to_date" sum="Total Expected" optional="hide"/>
- <field name="overall_efficiency_display" widget="badge"
- decoration-danger="overall_efficiency_display == '0.00' or overall_efficiency < 80"
- decoration-success="overall_efficiency >= 90"
- decoration-warning="overall_efficiency >= 80 and overall_efficiency < 90"/>
- </list>
- </field>
- </record>
- <!-- Form View -->
- <record id="view_hr_efficiency_form" model="ir.ui.view">
- <field name="name">hr.efficiency.form</field>
- <field name="model">hr.efficiency</field>
- <field name="arch" type="xml">
- <form string="Employee Efficiency">
- <sheet>
- <div class="oe_title">
- <h1>
- <field name="display_name" readonly="1"/>
- </h1>
- </div>
- <group>
- <group>
- <field name="month_year"/>
- <field name="employee_id"/>
- <field name="wage"/>
- <field name="utilization_rate"/>
- <field name="overhead"/>
- <field name="expected_profitability"/>
- <field name="efficiency_factor"/>
- <field name="precio_por_hora"/>
- <field name="company_id" groups="base.group_multi_company"/>
- <field name="calculation_date"/>
- </group>
- <group>
- <!-- Dynamic indicator fields will be added here -->
- <field name="overall_efficiency" widget="badge"
- decoration-danger="overall_efficiency_display == '0.00' or overall_efficiency < 80"
- decoration-success="overall_efficiency >= 90"
- decoration-warning="overall_efficiency >= 80 and overall_efficiency < 90"/>
- </group>
- </group>
- <notebook>
- <page string="Available Hours" name="available">
- <group>
- <field name="available_hours" widget="float_time"/>
- </group>
- </page>
- <page string="Planned Hours" name="planned">
- <group>
- <field name="planned_hours" widget="float_time"/>
- <field name="planned_billable_hours" widget="float_time"/>
- <field name="planned_non_billable_hours" widget="float_time"/>
- </group>
- </page>
- <page string="Actual Hours" name="actual">
- <group>
- <field name="actual_billable_hours" widget="float_time"/>
- <field name="actual_non_billable_hours" widget="float_time"/>
- <field name="total_actual_hours" widget="float_time"/>
- <field name="expected_hours_to_date" widget="float_time"/>
- </group>
- </page>
- </notebook>
- </sheet>
- </form>
- </field>
- </record>
- <!-- Search View -->
- <record id="view_hr_efficiency_search" model="ir.ui.view">
- <field name="name">hr.efficiency.search</field>
- <field name="model">hr.efficiency</field>
- <field name="arch" type="xml">
- <search string="Search Efficiency">
- <field name="employee_id"/>
- <field name="month_year"/>
- <field name="company_id" groups="base.group_multi_company"/>
-
- <!-- Filtros de indicadores -->
- <filter string="High Overall Efficiency" name="high_overall_efficiency" domain="[('overall_efficiency', '>=', 90)]"/>
-
- <!-- Filtros de tipo de proyecto -->
- <separator/>
- <filter string="Proyectos Facturables" name="billable_projects" domain="[('planned_billable_hours', '>', 0)]"/>
- <filter string="Proyectos No Facturables" name="non_billable_projects" domain="[('planned_non_billable_hours', '>', 0)]"/>
-
- <!-- Filtro de fecha como ventas -->
- <separator/>
- <filter name="filter_date" date="date" default_period="month" start_month="-2" end_month="2"/>
-
- <!-- Filtro de archivado -->
- <separator/>
- <filter string="Archivado" name="archived" domain="[('active', '=', False)]"/>
- <filter string="No Archivado" name="not_archived" domain="[('active', '=', True)]"/>
-
- <group expand="0" string="Group By">
- <filter string="Employee" name="group_employee" context="{'group_by': 'employee_id'}"/>
- <filter string="Month" name="group_month" context="{'group_by': 'date:month'}"/>
- <filter string="Company" name="group_company" context="{'group_by': 'company_id'}" groups="base.group_multi_company"/>
- </group>
- </search>
- </field>
- </record>
- <!-- Action -->
- <record id="action_hr_efficiency" model="ir.actions.act_window">
- <field name="name">Employee Efficiency</field>
- <field name="res_model">hr.efficiency</field>
- <field name="view_mode">list,form</field>
- <field name="view_id" ref="view_hr_efficiency_tree"/>
- <field name="search_view_id" ref="view_hr_efficiency_search"/>
- <field name="context">{'search_default_filter_date': 1}</field>
- <field name="help" type="html">
- <p class="o_view_nocontent_empty_folder">
- No efficiency records found!
- </p><p>
- Create efficiency records by running the calculation wizard or wait for the automatic weekly calculation.
- </p>
- </field>
- </record>
-
- <!-- Menu - REMOVED: Now only in Planning -->
- <!-- <menuitem id="menu_hr_efficiency"
- name="Efficiency"
- parent="hr.menu_hr_root"
- action="action_hr_efficiency"
- sequence="50"
- groups="hr.group_hr_user"/> -->
- </data>
- </odoo>
|