Skip to main content
Los modelos de recursos representan los distintos tipos de costos que se pueden incluir en una cotización además del personal. Cada modelo pertenece a una cotización (id_cotizacion) y participa en el cálculo del valor_total.
Agrupa herramientas de trabajo para una cotización. El costo se calcula a partir de los ítems que componen el grupo, aplicando los porcentajes de reposición y calibración sobre el valor de cada herramienta.
id_cotizacion
integer
required
ID de la cotización a la que pertenece el grupo de herramientas.
nombre
string
required
Nombre descriptivo del grupo de herramientas (por ejemplo: “Herramientas de medición”).
periodo_evaluacion
decimal
required
Período de evaluación en años. Se usa para amortizar el costo de reposición sobre la vida útil esperada.
vrepo_anual
decimal
required
Porcentaje de reposición anual sobre el valor de la herramienta. Representa el desgaste o reemplazo esperado.
vcalibracion_anual
decimal
required
Porcentaje anual destinado a calibración y mantenimiento de la herramienta.
Relaciones
  • cotizacione()hasOne(Cotizacione): cotización padre.
  • itemHerramientas()hasMany(ItemHerramienta): ítems individuales que conforman el grupo.
Cada ItemHerramienta referencia un DatosHerramienta (catálogo) mediante id_datos_herramientas y almacena unidad y cantidad.
Idéntica estructura a Herramienta, pero para equipos técnicos o maquinaria. Los mismos porcentajes se aplican al cálculo del costo de equipos.
id_cotizacion
integer
required
ID de la cotización a la que pertenece el grupo de equipos.
nombre
string
required
Nombre descriptivo del grupo de equipos.
periodo_evaluacion
decimal
required
Período de evaluación en años.
vrepo_anual
decimal
required
Porcentaje de reposición anual.
vcalibracion_anual
decimal
required
Porcentaje anual de calibración y mantenimiento.
Relaciones
  • cotizacione()hasOne(Cotizacione): cotización padre.
  • itemEquipos()hasMany(ItemEquipo): ítems individuales del grupo.
Cada ItemEquipo referencia un DatosEquipo (catálogo) mediante id_datos_equipo.
Agrupa materiales consumibles para una cotización. El costo total se determina por la suma de sus ítems.
id_cotizacion
integer
required
ID de la cotización a la que pertenece el grupo de consumibles.
nombre
string
required
Nombre descriptivo del grupo de consumibles (por ejemplo: “Materiales de limpieza”).
Relaciones
  • cotizacione()hasOne(Cotizacione): cotización padre.
  • itemConsumibles()hasMany(ItemConsumible): ítems individuales del grupo.
Cada ItemConsumible contiene:
id_consumibles
integer
required
ID del grupo Consumible al que pertenece.
id_datos_consumibles
integer
required
ID del catálogo DatosConsumible, que contiene el precio unitario.
unidad
string
required
Unidad de medida del ítem.
cantidad
decimal
required
Cantidad del ítem incluida en la cotización.
Representa un vehículo o medio de transporte incluido en la cotización. Admite adjuntos de media mediante spatie/laravel-media-library.
id_cotizacion
integer
required
ID de la cotización a la que pertenece.
nombre
string
required
Tipo o descripción del vehículo (por ejemplo: “Camioneta 4x4”).
unidad
string
required
Unidad de cobro (por ejemplo: “mes”, “día”, “km”).
cantidad
decimal
required
Costo fijo del vehículo por unidad. Este valor se usa directamente como el costo del recurso.
movilizacion
decimal
Costo adicional de movilización del vehículo.
Relaciones
  • cotizacione()hasOne(Cotizacione): cotización padre.
Configura los porcentajes de Administración, Imprevistos y Utilidad (AIU) para una cotización. Existe un registro de Aiu por cotización y controla si el AIU se muestra en los documentos generados.
id_cotizacion
integer
required
ID de la cotización a la que pertenece la configuración de AIU.
administracion
decimal
Porcentaje de administración (por ejemplo: 10 para 10%).
imprevistos
decimal
Porcentaje de imprevistos.
utilidad
decimal
Porcentaje de utilidad.
mostrar_aiu
string
Controla si el AIU se desglosa en el documento de la cotización. Valores: SI / NO.
contrato_obra
string
Indica si la cotización es de tipo contrato de obra, lo que puede afectar el tratamiento tributario. Valores: SI / NO.
contrato_actual
string
Campo informativo sobre el tipo de contrato actual.
Los valores mínimos permitidos para administración, imprevistos y utilidad se toman de OrigenFactor.min_administracion, OrigenFactor.min_imprevistos y OrigenFactor.min_utilidad respectivamente.
Define un patrón de turno de trabajo. Es un catálogo global (no pertenece a una cotización específica) y es crítico para el cálculo del costo diario del personal.
nombre
string
required
Nombre del turno (por ejemplo: “Turno 4x3”, “Turno normal 5x2”).
d_trabajados
decimal
required
Días trabajados por ciclo del turno.
d_descansados
decimal
required
Días de descanso por ciclo del turno.
d_trabajadosmes
decimal
required
Días trabajados por mes. Es el divisor usado para convertir el salario mensual a costo diario cuando el Personal.rol es Rol Día.
hedo
decimal
required
Horas extra diurnas en día ordinario predeterminadas para el turno.
heno
decimal
required
Horas extra nocturnas en día ordinario predeterminadas para el turno.
hedf
decimal
required
Horas extra diurnas en festivo predeterminadas para el turno.
henf
decimal
required
Horas extra nocturnas en festivo predeterminadas para el turno.
donfesoca
decimal
required
Horas en domingo o festivo ocasional predeterminadas para el turno.
donhabitual
decimal
required
Horas en domingo o festivo habitual predeterminadas para el turno.
rn
decimal
required
Horas con recargo nocturno predeterminadas para el turno.
Relaciones
  • personals()hasMany(Personal): todos los registros de personal que usan este turno.
Al crear un registro de Personal, los campos de horas especiales se precargan con los valores del turno seleccionado. Pueden ajustarse por cargo de forma individual.
Catálogo global de Elementos de Protección Personal. Los registros de EPP se asignan a cargos de personal mediante la tabla PersonalEpp.
codigo
string
required
Código único del EPP.
nombre
string
required
Nombre del elemento (por ejemplo: “Casco dieléctrico”, “Botas punta de acero”).
grupo
string
required
Grupo o categoría del EPP (por ejemplo: “Cabeza”, “Pies”, “Cuerpo”).
precio
decimal
required
Precio unitario del EPP en pesos colombianos.
Relaciones
  • personals()belongsToMany(Personal) con pivot cantidad y duracion_servicio: cargos de personal que utilizan este EPP.

Build docs developers (and LLMs) love