|
|
hace 5 meses | |
|---|---|---|
| .. | ||
| data | hace 5 meses | |
| models | hace 5 meses | |
| report | hace 5 meses | |
| security | hace 5 meses | |
| views | hace 5 meses | |
| wizard | hace 5 meses | |
| README.md | hace 5 meses | |
| __init__.py | hace 5 meses | |
| __manifest__.py | hace 5 meses | |
| recompute_expected_hours.py | hace 5 meses | |
| recompute_script.py | hace 5 meses | |
El módulo hr_efficiency permite llevar un registro de la eficiencia de los empleados comparando las horas planeadas vs las horas realmente trabajadas. Proporciona análisis mensuales detallados que incluyen:
active = False)calculation_date para rastrear cuándo se realizó cada cálculoplanning.slotaccount.analytic.line/extra-addons/custom/hr_efficiencyEl módulo se puede acceder desde:
Planning Efficiency: (planned_hours / available_hours) * 100
Time Tracking Efficiency: ((actual_billable_hours + actual_non_billable_hours) / planned_hours) * 100
available_hours: Horas disponiblesplanned_hours: Horas planeadas totalesplanned_billable_hours: Horas planeadas en proyectos facturablesplanned_non_billable_hours: Horas planeadas en proyectos no facturablesactual_billable_hours: Horas registradas en proyectos facturablesactual_non_billable_hours: Horas registradas en proyectos no facturablesFiltros de Indicadores:
Filtros de Tipo de Proyecto:
Filtros de Fecha (similar a ventas):
Filtros de Estado:
hr_efficiency/
├── __init__.py
├── __manifest__.py
├── models/
│ ├── __init__.py
│ └── hr_efficiency.py
├── wizard/
│ ├── __init__.py
│ ├── hr_efficiency_calculation_wizard.py
│ └── hr_efficiency_calculation_wizard_views.xml
├── views/
│ ├── hr_efficiency_views.xml
│ └── planning_views.xml
├── report/
│ ├── __init__.py
│ ├── hr_efficiency_report.py
│ └── hr_efficiency_report_views.xml
├── security/
│ └── ir.model.access.csv
├── data/
│ └── hr_efficiency_cron.xml
└── README.md
Modelo principal que almacena los registros de eficiencia mensual por empleado.
Campos principales:
month_year: Mes y año (formato: YYYY-MM)employee_id: Empleadocalculation_date: Fecha y hora cuando se realizó el cálculo (para seguimiento histórico)available_hours: Horas disponiblesplanned_hours: Horas planeadas totalesplanned_billable_hours: Horas planeadas en proyectos facturablesplanned_non_billable_hours: Horas planeadas en proyectos no facturablesactual_billable_hours: Horas reales en proyectos facturablesactual_non_billable_hours: Horas reales en proyectos no facturablesefficiency_rate: Porcentaje de eficiencia generalbillable_efficiency_rate: Porcentaje de eficiencia en proyectos facturablesWizard para ejecutar cálculos manuales de eficiencia.
Comportamiento de Registros:
active = False) antes de crear nuevosModelo de reporte para análisis y visualización de datos.
# Horas totales del calendario del empleado
total_work_hours = employee._list_work_time_per_day(start_date, end_date)
# Restar horas de vacaciones aprobadas
time_off_hours = get_approved_leaves_hours(employee, start_date, end_date)
available_hours = total_work_hours - time_off_hours
# Obtener slots de planning del empleado
planning_slots = env['planning.slot'].search([
('employee_id', '=', employee.id),
('start_datetime', '>=', start_datetime),
('end_datetime', '<=', end_datetime),
('state', 'in', ['draft', 'published'])
])
# Separar por tipo de proyecto
for slot in planning_slots:
if slot.project_id.allow_billable:
planned_billable += slot.allocated_hours
else:
planned_non_billable += slot.allocated_hours
# Obtener timesheets del empleado (excluyendo vacaciones)
timesheets = env['account.analytic.line'].search([
('employee_id', '=', employee.id),
('date', '>=', start_date),
('date', '<=', end_date),
('project_id', '!=', False),
('holiday_id', '=', False) # Excluir timesheets de vacaciones
])
# Separar por tipo de proyecto
for timesheet in timesheets:
if timesheet.project_id.allow_billable:
actual_billable += timesheet.unit_amount
else:
actual_non_billable += timesheet.unit_amount
El módulo incluye un cron job configurado para ejecutarse semanalmente:
_cron_calculate_efficiency()hr: Gestión de empleadoshr_timesheet: Timesheetshr_holidays: Gestión de vacacionesproject: Gestión de proyectosplanning: Planeación de recursosproject_timesheet_holidays: Integración de vacaciones con timesheetsallow_billable de project.projectPara reportar problemas o solicitar mejoras, contactar al equipo de desarrollo.
LGPL-3