Code Duplication    Length = 59-62 lines in 2 locations

satcfdi/create/cfd/decreto10.py 2 locations

@@ 35-96 (lines=62) @@
32
        })
33
        
34
35
class VehiculoUsadoEnajenadoPermAlFab(ScalarMap):
36
    """
37
    Datos del vehículo usado que enajena el permisionario a cuenta del precio del vehículo nuevo o seminuevo.
38
    
39
    :param precio_veh_usado: Atributo requerido que expresa el precio del vehículo usado que el permisionario enajena al fabricante, ensamblador o distribuidor autorizado a cuenta del precio del vehículo nuevo o seminuevo.
40
    :param tipo_veh: Atributo requerido que expresar, según el Decreto, las características del vehículo usado que el permisionario enajena al fabricante, ensamblador o distribuidor autorizado a cuenta del precio del vehículo nuevo o seminuevo, de acuerdo con el catálogo “4. Tipo de vehículo conforme al Decreto por el que se otorgan medidas para la sustitución de vehículos de autotransporte de pasaje y carga”.
41
    :param marca: Atributo requerido para expresar la marca del vehículo usado que se enajena.
42
    :param tipo_o_clase: Atributo requerido para expresar el tipo o clase del vehículo usado que se enajena.
43
    :param ano: Atributo requerido para la expresión del año ó año modelo del vehículo usado que se enajena.
44
    :param num_placas: Atributo requerido para expresar el número de placas metálicas de identificación del servicio público federal o, en su caso, del servicio público de autotransporte de pasajeros urbano o suburbano del vehículo usado que se enajena.
45
    :param num_fol_tarj_cir: Atributo requerido para expresar el número de folio de la tarjeta de circulación del vehículo usado que se enajena.
46
    :param num_fol_aviso_int: Atributo requerido para expresar el número de folio del acuse de recibo del Aviso de Intención para acceder al programa de destrucción.
47
    :param num_ped_im: Atributo requerido para expresar el número de documento aduanero con el cual se importó en definitiva el vehículo usado.
48
    :param aduana: Atributo requerido para precisar la aduana por la que se efectuó la importación del vehículo usado.
49
    :param fecha_regul_veh: Atributo requerido para expresar la fecha del pedimento en el que se regularizó la legal importación definitiva del vehículo usado. Se expresa en la forma aaaa-mm-dd de acuerdo a a especificación ISO 8601
50
    :param foliofiscal: Atributo requerido para expresar el número de folio fiscal del CFDI expedido por el Centro de Destrucción Autorizado al que se ha incorporado el Complemento Certificado de Destrucción del vehículo usado que enajena el permisionario.
51
    :param modelo: Atributo opcional para la expresión del modelo del vehículo usado que se enajena.
52
    :param niv: Atributo opcional para expresar el número de identificación vehicular del vehículo usado que se enajena. (Cuando exista el NIV deberá incluirse este invariablemente).
53
    :param num_serie: Atributo opcional para expresar el número de serie de la carrocería del vehículo usado que se enajena. (En caso de contar con dicho número se deberá ingresar convirtiéndose en requerido).
54
    :param num_motor: Atributo opcional para expresar el número de motor del vehículo usado que se enajena (En caso de contar con dicho número se deberá ingresar volviéndose requerido).
55
    """
56
    
57
    def __init__(
58
            self,
59
            precio_veh_usado: Decimal | int,
60
            tipo_veh: str,
61
            marca: str,
62
            tipo_o_clase: str,
63
            ano: int,
64
            num_placas: str,
65
            num_fol_tarj_cir: str,
66
            num_fol_aviso_int: str,
67
            num_ped_im: str,
68
            aduana: str,
69
            fecha_regul_veh: date,
70
            foliofiscal: str,
71
            modelo: str = None,
72
            niv: str = None,
73
            num_serie: str = None,
74
            num_motor: str = None,
75
    ): 
76
        super().__init__({
77
            'PrecioVehUsado': precio_veh_usado,
78
            'TipoVeh': tipo_veh,
79
            'Marca': marca,
80
            'TipooClase': tipo_o_clase,
81
            'Año': ano,
82
            'NumPlacas': num_placas,
83
            'NumFolTarjCir': num_fol_tarj_cir,
84
            'NumFolAvisoint': num_fol_aviso_int,
85
            'NumPedIm': num_ped_im,
86
            'Aduana': aduana,
87
            'FechaRegulVeh': fecha_regul_veh,
88
            'Foliofiscal': foliofiscal,
89
            'Modelo': modelo,
90
            'NIV': niv,
91
            'NumSerie': num_serie,
92
            'NumMotor': num_motor,
93
        })
94
        
95
96
class DecretoSustitVehicular(ScalarMap):
97
    """
98
    Nodo opcional para expresar los datos aplicables al estimulo por la aplicación del Decreto por el que se otorgan medidas para la sustitución de vehículos de autotransporte de pasaje y carga.
99
    
@@ 118-176 (lines=59) @@
115
        })
116
        
117
118
class VehiculosUsadosEnajenadoPermAlFab(ScalarMap):
119
    """
120
    Datos del vehículo o vehículos usados que enajena el permisionario a cuenta del precio del vehículo nuevo o seminuevo (pueden enajenarse 1 o más vehículos, por lo que de ser 2 o más se deberán llenar tantos elementos como vehículos usados se enajenen).
121
    
122
    :param precio_veh_usado: Atributo requerido que expresa el precio del vehículo usado que el permisionario enajena al fabricante, ensamblador o distribuidor autorizado a cuenta del precio del vehículo nuevo o seminuevo.
123
    :param tipo_veh: Atributo requerido para expresar, según el Decreto, el tipo de vehículo usado que enajena el permisionario, de acuerdo con el catálogo “3. Tipo de Vehículo conforme al Decreto por el que se fomenta la renovación del parque vehicular del autotransporte”.
124
    :param marca: Atributo requerido para expresar la marca del vehículo usado que se enajena.
125
    :param tipo_o_clase: Atributo requerido para expresar el tipo o clase del vehículo usado que se enajena.
126
    :param ano: Atributo requerido para la expresión del año ó año modelo del vehículo usado que se enajena.
127
    :param num_placas: Atributo requerido para expresar el número de placas metálicas de identificación del servicio público federal o, en su caso, del servicio público de autotransporte de pasajeros urbano o suburbano del vehículo usado que se enajena.
128
    :param num_fol_tarj_cir: Atributo requerido para expresar el número de folio de la tarjeta de circulación del vehículo usado que se enajena.
129
    :param foliofiscal: Atributo requerido para expresar el número de folio fiscal del CFDI expedido por el Centro de Destrucción Autorizado al que se ha incorporado el Complemento Certificado de Destrucción del vehículo usado que enajena el permisionario.
130
    :param modelo: Atributo opcional para la expresión del modelo del vehículo usado que se enajena.
131
    :param niv: Atributo opcional para expresar el número de identificación vehicular del vehículo usado que se enajena. (Cuando exista el NIV deberá incluirse este invariablemente).
132
    :param num_serie: Atributo opcional para expresar el número de serie de la carrocería del vehículo usado que se enajena. (En caso de contar con dicho número se deberá ingresar convirtiéndose en requerido).
133
    :param num_motor: Atributo opcional para expresar el número de motor del vehículo usado que se enajena (En caso de contar con dicho número se deberá ingresar volviéndose requerido).
134
    :param num_ped_im: Atributo opcional para expresar el número de documento aduanero con el cual se importó en definitiva el vehículo usado, en su caso.
135
    :param aduana: Atributo opcional para precisar la aduana por la que se efectuó la importación del vehículo usado, en su caso.
136
    :param fecha_regul_veh: Atributo opcional para expresar la fecha del pedimento en el que se regularizó la legal importación definitiva del vehículo usado, en su caso. Se expresa en la forma aaaa-mm-dd de acuerdo a especificación ISO 8601.
137
    """
138
    
139
    def __init__(
140
            self,
141
            precio_veh_usado: Decimal | int,
142
            tipo_veh: str,
143
            marca: str,
144
            tipo_o_clase: str,
145
            ano: int,
146
            num_placas: str,
147
            num_fol_tarj_cir: str,
148
            foliofiscal: str,
149
            modelo: str = None,
150
            niv: str = None,
151
            num_serie: str = None,
152
            num_motor: str = None,
153
            num_ped_im: str = None,
154
            aduana: str = None,
155
            fecha_regul_veh: date = None,
156
    ): 
157
        super().__init__({
158
            'PrecioVehUsado': precio_veh_usado,
159
            'TipoVeh': tipo_veh,
160
            'Marca': marca,
161
            'TipooClase': tipo_o_clase,
162
            'Año': ano,
163
            'NumPlacas': num_placas,
164
            'NumFolTarjCir': num_fol_tarj_cir,
165
            'Foliofiscal': foliofiscal,
166
            'Modelo': modelo,
167
            'NIV': niv,
168
            'NumSerie': num_serie,
169
            'NumMotor': num_motor,
170
            'NumPedIm': num_ped_im,
171
            'Aduana': aduana,
172
            'FechaRegulVeh': fecha_regul_veh,
173
        })
174
        
175
176
class DecretoRenovVehicular(ScalarMap):
177
    """
178
    Nodo opcional para expresar los datos aplicables al estimulo por la aplicación del Decreto por el que se fomenta la renovación del parque vehicular del autotransporte.
179