74 lines
2.7 KiB
Python
74 lines
2.7 KiB
Python
from dataclasses import dataclass
|
|
|
|
from ..amount import Amount
|
|
|
|
from .tipo_contrato import *
|
|
from .tipo_documento import *
|
|
from .lugar_trabajo import *
|
|
from .tipo_trabajador import *
|
|
from .sub_tipo_trabajador import *
|
|
|
|
|
|
|
|
@dataclass
|
|
class Trabajador:
|
|
tipo_contrato: TipoContrato
|
|
tipo_documento: TipoDocumento
|
|
numero_documento: str
|
|
|
|
primer_apellido: str
|
|
segundo_apellido: str
|
|
primer_nombre: str
|
|
|
|
lugar_trabajo: LugarTrabajo
|
|
alto_riesgo: bool
|
|
salario_integral: bool
|
|
sueldo: Amount
|
|
|
|
tipo: TipoTrabajador
|
|
|
|
codigo_trabajador: str = None
|
|
otros_nombres: str = None
|
|
sub_tipo: SubTipoTrabajador = SubTipoTrabajador(code='00')
|
|
|
|
def apply(self, fragment):
|
|
fragment.set_attributes('./Trabajador',
|
|
# NIE041
|
|
TipoTrabajador = self.tipo.code,
|
|
# NIE042
|
|
SubTipoTrabajador = self.sub_tipo.code,
|
|
# NIE043
|
|
AltoRiesgoPension = str(self.alto_riesgo).lower(),
|
|
# NIE044
|
|
TipoDocumento = self.tipo_documento.code,
|
|
# NIE045
|
|
NumeroDocumento = self.numero_documento,
|
|
# NIE046
|
|
PrimerApellido = self.primer_apellido,
|
|
# NIE047
|
|
SegundoApellido = self.segundo_apellido,
|
|
# NIE048
|
|
PrimerNombre = self.primer_nombre,
|
|
# NIE049
|
|
OtrosNombres = self.otros_nombres,
|
|
# NIE050
|
|
LugarTrabajoPais = self.lugar_trabajo.pais.code,
|
|
|
|
# NIE051
|
|
LugarTrabajoDepartamentoEstadoEstado = self.lugar_trabajo.departamento.code,
|
|
|
|
# NIE052
|
|
LugarTrabajoMunicipioCiudad = self.lugar_trabajo.municipio.code,
|
|
|
|
# NIE053
|
|
LugarTrabajoDireccion = self.lugar_trabajo.direccion,
|
|
# NIE056
|
|
SalarioIntegral = str(self.salario_integral).lower(),
|
|
# NIE061
|
|
TipoContrato = self.tipo_contrato.code,
|
|
# NIE062
|
|
Sueldo = str(self.sueldo),
|
|
# NIE063
|
|
CodigoTrabajador = self.codigo_trabajador
|
|
)
|