nueva estructura de directorios para nomina
FossilOrigin-Name: f3a95167abace679098bac9daffda6f17a8c819b92a5d096558f20dfce3acbbe
This commit is contained in:
		| @@ -5,82 +5,17 @@ | |||||||
| # La idea en general es validar comportamiento desde el XML, | # La idea en general es validar comportamiento desde el XML, | ||||||
| # creando las estructuras minimas necesaras. | # creando las estructuras minimas necesaras. | ||||||
|  |  | ||||||
|  | from dataclasses import dataclass | ||||||
|  |  | ||||||
| from .. import fe | from .. import fe | ||||||
| from .. import form | from .. import form | ||||||
|  |  | ||||||
| from dataclasses import dataclass | from .devengado import * | ||||||
|  | from .deduccion import * | ||||||
|  |  | ||||||
| class Amount(form.Amount): | from .amount import Amount | ||||||
|     pass |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class Devengado: |  | ||||||
|     pass |  | ||||||
|  |  | ||||||
| @dataclass |  | ||||||
| class DevengadoBasico(Devengado): |  | ||||||
|     dias_trabajados: int |  | ||||||
|     sueldo_trabajado: Amount |  | ||||||
|  |  | ||||||
|     def apply(self, fragment): |  | ||||||
|         fragment.find_or_create_element('./Basico') |  | ||||||
|          |  | ||||||
|         fragment.set_attributes('/Basico', |  | ||||||
|                                 # NIE069 |  | ||||||
|                                 DiasTrabajados = str(self.dias_trabajados), |  | ||||||
|                                 # NIE070 |  | ||||||
|                                 SueldoTrabajado = str(self.sueldo_trabajado) |  | ||||||
|                                 ) |  | ||||||
|  |  | ||||||
| @dataclass |  | ||||||
| class DevengadoTransporte(Devengado): |  | ||||||
|     auxilio_transporte: Amount = None |  | ||||||
|     viatico_manutencion: Amount = None |  | ||||||
|     viatico_manutencion_no_salarial: Amount = None |  | ||||||
|  |  | ||||||
|     def apply(self, fragment): |  | ||||||
|         fragment.set_element('./Transporte', None, |  | ||||||
|                              append_ = True, |  | ||||||
|                              # NIE071 |  | ||||||
|                              AuxilioTransporte = self.auxilio_transporte, |  | ||||||
|                              # NIE072 |  | ||||||
|                              ViaticoManuAlojS = self.viatico_manutencion, |  | ||||||
|                              # NIE073 |  | ||||||
|                              ViaticoManuAlojNS = self.viatico_manutencion_no_salarial |  | ||||||
|                              ) |  | ||||||
|  |  | ||||||
| class Deduccion: |  | ||||||
|     pass |  | ||||||
|  |  | ||||||
| @dataclass |  | ||||||
| class DeduccionSalud(Deduccion): |  | ||||||
|     porcentaje: Amount |  | ||||||
|     deduccion: Amount |  | ||||||
|  |  | ||||||
|     def apply(self, fragment): |  | ||||||
|         fragment.set_element('./Salud', None, |  | ||||||
|                              append_ = True, |  | ||||||
|                              # NIE161 |  | ||||||
|                              Porcentaje = self.porcentaje, |  | ||||||
|                              #  NIE163 |  | ||||||
|                              Deduccion = self.deduccion |  | ||||||
|                              ) |  | ||||||
|  |  | ||||||
| @dataclass |  | ||||||
| class DeduccionFondoPension(Deduccion): |  | ||||||
|     porcentaje: Amount |  | ||||||
|     deduccion: Amount |  | ||||||
|  |  | ||||||
|     def apply(self, fragment): |  | ||||||
|         fragment.set_element('./FondoPension', None, |  | ||||||
|                              append_ = True, |  | ||||||
|                              # NIE164 |  | ||||||
|                              Porcentaje = self.porcentaje, |  | ||||||
|                              #  NIE166 |  | ||||||
|                              Deduccion = self.deduccion |  | ||||||
|                              ) |  | ||||||
|  |  | ||||||
| class DIANNominaIndividualError(Exception): | class DIANNominaIndividualError(Exception): | ||||||
|     pass |     pass | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								facho/fe/nomina/amount.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								facho/fe/nomina/amount.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | from .. import form | ||||||
|  |  | ||||||
|  | class Amount(form.Amount): | ||||||
|  |     pass | ||||||
							
								
								
									
										3
									
								
								facho/fe/nomina/deduccion/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								facho/fe/nomina/deduccion/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | # contributing | ||||||
|  |  | ||||||
|  | crear nuevo objeto de valor y exportar en **__init__.py** atributo **__all__**. | ||||||
							
								
								
									
										13
									
								
								facho/fe/nomina/deduccion/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								facho/fe/nomina/deduccion/__init__.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | # | ||||||
|  | # al crear objetos de valor | ||||||
|  | # se debe exportar en __all__ | ||||||
|  |  | ||||||
|  | from .deduccion import * | ||||||
|  | from .salud import * | ||||||
|  | from .fondo_pension import * | ||||||
|  |  | ||||||
|  | __all__ = [ | ||||||
|  |     'Deduccion', | ||||||
|  |     'DeduccionSalud', | ||||||
|  |     'DeduccionFondoPension' | ||||||
|  | ] | ||||||
							
								
								
									
										2
									
								
								facho/fe/nomina/deduccion/deduccion.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								facho/fe/nomina/deduccion/deduccion.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | class Deduccion: | ||||||
|  |     pass | ||||||
							
								
								
									
										18
									
								
								facho/fe/nomina/deduccion/fondo_pension.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								facho/fe/nomina/deduccion/fondo_pension.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | from dataclasses import dataclass | ||||||
|  |  | ||||||
|  | from ..amount import Amount | ||||||
|  | from .deduccion import Deduccion | ||||||
|  |  | ||||||
|  | @dataclass | ||||||
|  | class DeduccionFondoPension(Deduccion): | ||||||
|  |     porcentaje: Amount | ||||||
|  |     deduccion: Amount | ||||||
|  |  | ||||||
|  |     def apply(self, fragment): | ||||||
|  |         fragment.set_element('./FondoPension', None, | ||||||
|  |                              append_ = True, | ||||||
|  |                              # NIE164 | ||||||
|  |                              Porcentaje = self.porcentaje, | ||||||
|  |                              #  NIE166 | ||||||
|  |                              Deduccion = self.deduccion | ||||||
|  |                              ) | ||||||
							
								
								
									
										19
									
								
								facho/fe/nomina/deduccion/salud.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								facho/fe/nomina/deduccion/salud.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | from dataclasses import dataclass | ||||||
|  |  | ||||||
|  | from ..amount import Amount | ||||||
|  | from .deduccion import Deduccion | ||||||
|  |  | ||||||
|  | @dataclass | ||||||
|  | class DeduccionSalud(Deduccion): | ||||||
|  |     porcentaje: Amount | ||||||
|  |     deduccion: Amount | ||||||
|  |  | ||||||
|  |     def apply(self, fragment): | ||||||
|  |         fragment.set_element('./Salud', None, | ||||||
|  |                              append_ = True, | ||||||
|  |                              # NIE161 | ||||||
|  |                              Porcentaje = self.porcentaje, | ||||||
|  |                              #  NIE163 | ||||||
|  |                              Deduccion = self.deduccion | ||||||
|  |                              ) | ||||||
|  |  | ||||||
							
								
								
									
										3
									
								
								facho/fe/nomina/devengado/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								facho/fe/nomina/devengado/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | # contributing | ||||||
|  |  | ||||||
|  | crear nuevo objeto de valor y exportar en **__init__.py** atributo **__all__**. | ||||||
							
								
								
									
										10
									
								
								facho/fe/nomina/devengado/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								facho/fe/nomina/devengado/__init__.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  |  | ||||||
|  | from .basico import * | ||||||
|  | from .transporte import * | ||||||
|  | from .devengado import * | ||||||
|  |  | ||||||
|  | __all__ = [ | ||||||
|  |     'Devengado', | ||||||
|  |     'DevengadoBasico', | ||||||
|  |     'DevengadoTransporte' | ||||||
|  | ] | ||||||
							
								
								
									
										20
									
								
								facho/fe/nomina/devengado/basico.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								facho/fe/nomina/devengado/basico.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | |||||||
|  | from dataclasses import dataclass | ||||||
|  |  | ||||||
|  | from ..amount import Amount | ||||||
|  | from .devengado import Devengado | ||||||
|  |  | ||||||
|  |  | ||||||
|  | @dataclass | ||||||
|  | class DevengadoBasico(Devengado): | ||||||
|  |     dias_trabajados: int | ||||||
|  |     sueldo_trabajado: Amount | ||||||
|  |  | ||||||
|  |     def apply(self, fragment): | ||||||
|  |         fragment.find_or_create_element('./Basico') | ||||||
|  |          | ||||||
|  |         fragment.set_attributes('/Basico', | ||||||
|  |                                 # NIE069 | ||||||
|  |                                 DiasTrabajados = str(self.dias_trabajados), | ||||||
|  |                                 # NIE070 | ||||||
|  |                                 SueldoTrabajado = str(self.sueldo_trabajado) | ||||||
|  |                                 ) | ||||||
							
								
								
									
										2
									
								
								facho/fe/nomina/devengado/devengado.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								facho/fe/nomina/devengado/devengado.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | class Devengado: | ||||||
|  |     pass | ||||||
							
								
								
									
										21
									
								
								facho/fe/nomina/devengado/transporte.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								facho/fe/nomina/devengado/transporte.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | |||||||
|  | from dataclasses import dataclass | ||||||
|  |  | ||||||
|  | from ..amount import Amount | ||||||
|  | from .devengado import Devengado | ||||||
|  |  | ||||||
|  | @dataclass | ||||||
|  | class DevengadoTransporte(Devengado): | ||||||
|  |     auxilio_transporte: Amount = None | ||||||
|  |     viatico_manutencion: Amount = None | ||||||
|  |     viatico_manutencion_no_salarial: Amount = None | ||||||
|  |  | ||||||
|  |     def apply(self, fragment): | ||||||
|  |         fragment.set_element('./Transporte', None, | ||||||
|  |                              append_ = True, | ||||||
|  |                              # NIE071 | ||||||
|  |                              AuxilioTransporte = self.auxilio_transporte, | ||||||
|  |                              # NIE072 | ||||||
|  |                              ViaticoManuAlojS = self.viatico_manutencion, | ||||||
|  |                              # NIE073 | ||||||
|  |                              ViaticoManuAlojNS = self.viatico_manutencion_no_salarial | ||||||
|  |                              ) | ||||||
		Reference in New Issue
	
	Block a user