se adicionan archivos faltantes
FossilOrigin-Name: 85fd66cb6f56b56c71826cb1cc02afa625c277c1f12dc92cfbc741b3808cf646
This commit is contained in:
		
							
								
								
									
										93
									
								
								facho/fe/nomina/devengado/horas_extras.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								facho/fe/nomina/devengado/horas_extras.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,93 @@ | ||||
| from dataclasses import dataclass | ||||
| from typing import List | ||||
|  | ||||
| from ..amount import Amount | ||||
| from .devengado import Devengado | ||||
|  | ||||
|  | ||||
| @dataclass | ||||
| class DevengadoHoraExtra: | ||||
|     hora_inicio: str | ||||
|     hora_fin: str | ||||
|     cantidad: int | ||||
|     porcentaje: Amount | ||||
|     pago: Amount | ||||
|  | ||||
|     def apply(self, child_path, fragment): | ||||
|         fragment.set_element(child_path, None, | ||||
|                              append_=True, | ||||
|                              # NIE074 | ||||
|                              HoraInicio=self.hora_inicio, | ||||
|                              # NIE075 | ||||
|                              HoraFin=self.hora_fin, | ||||
|                              # NIE076 | ||||
|                              Cantidad=self.cantidad, | ||||
|                              # NIE077 | ||||
|                              Porcentaje=self.porcentaje, | ||||
|                              # NIE078 | ||||
|                              Pago=str(round(self.pago, 2))) | ||||
|  | ||||
|  | ||||
| @dataclass | ||||
| class DevengadoHorasExtrasDiarias(Devengado): | ||||
|     horas_extras: List[DevengadoHoraExtra] | ||||
|      | ||||
|     def apply(self, fragment): | ||||
|         hora_extra_xml = fragment.fragment('./HEDs') | ||||
|         for hora_extra in self.horas_extras: | ||||
|             hora_extra.apply('./HED', hora_extra_xml) | ||||
|  | ||||
| @dataclass | ||||
| class DevengadoHorasExtrasNocturnas(Devengado): | ||||
|     horas_extras: List[DevengadoHoraExtra] | ||||
|      | ||||
|     def apply(self, fragment): | ||||
|         hora_extra_xml = fragment.fragment('./HENs') | ||||
|         for hora_extra in self.horas_extras: | ||||
|             hora_extra.apply('./HEN', hora_extra_xml) | ||||
|  | ||||
|  | ||||
| @dataclass | ||||
| class DevengadoHorasRecargoNocturno(Devengado): | ||||
|     horas_extras: List[DevengadoHoraExtra] | ||||
|      | ||||
|     def apply(self, fragment): | ||||
|         hora_extra_xml = fragment.fragment('./HRNs') | ||||
|         for hora_extra in self.horas_extras: | ||||
|             hora_extra.apply('./HRN', hora_extra_xml) | ||||
|  | ||||
| @dataclass | ||||
| class DevengadoHorasExtrasDiariasDominicalesYFestivos(Devengado): | ||||
|     horas_extras: List[DevengadoHoraExtra] | ||||
|      | ||||
|     def apply(self, fragment): | ||||
|         hora_extra_xml = fragment.fragment('./HEDDFs') | ||||
|         for hora_extra in self.horas_extras: | ||||
|             hora_extra.apply('./HEDDF', hora_extra_xml) | ||||
|  | ||||
| @dataclass | ||||
| class DevengadoHorasRecargoDiariasDominicalesYFestivos(Devengado): | ||||
|     horas_extras: List[DevengadoHoraExtra] | ||||
|      | ||||
|     def apply(self, fragment): | ||||
|         hora_extra_xml = fragment.fragment('./HRDDFs') | ||||
|         for hora_extra in self.horas_extras: | ||||
|             hora_extra.apply('./HRDDF', hora_extra_xml) | ||||
|  | ||||
| @dataclass | ||||
| class DevengadoHorasExtrasNocturnasDominicalesYFestivos(Devengado): | ||||
|     horas_extras: List[DevengadoHoraExtra] | ||||
|      | ||||
|     def apply(self, fragment): | ||||
|         hora_extra_xml = fragment.fragment('./HENDFs') | ||||
|         for hora_extra in self.horas_extras: | ||||
|             hora_extra.apply('./HENDF', hora_extra_xml) | ||||
|  | ||||
| @dataclass | ||||
| class DevengadoHorasRecargoNocturnoDominicalesYFestivos(Devengado): | ||||
|     horas_extras: List[DevengadoHoraExtra] | ||||
|      | ||||
|     def apply(self, fragment): | ||||
|         hora_extra_xml = fragment.fragment('./HRNDFs') | ||||
|         for hora_extra in self.horas_extras: | ||||
|             hora_extra.apply('./HRNDF', hora_extra_xml) | ||||
		Reference in New Issue
	
	Block a user