ipiranga-inovai-project-lib 0.8__py3-none-any.whl → 1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. inovai/models/Endereco.py +101 -0
  2. inovai/models/NFe.py +474 -0
  3. inovai/models/NFeBoleto.py +218 -0
  4. inovai/models/NFeCartao.py +62 -0
  5. inovai/models/NFeDetalhePagamento.py +67 -0
  6. inovai/models/NFeDocImportacao.py +117 -0
  7. inovai/models/NFeDocImportacaoAdicao.py +66 -0
  8. inovai/models/NFeDocRef.py +82 -0
  9. inovai/models/NFeDuplicata.py +58 -0
  10. inovai/models/NFeEnvioXML.py +66 -0
  11. inovai/models/NFeEnvolvido.py +108 -0
  12. inovai/models/NFeExportacao.py +58 -0
  13. inovai/models/NFeFatura.py +62 -0
  14. inovai/models/NFeImposto.py +232 -0
  15. inovai/models/NFeImpostoRetido.py +114 -0
  16. inovai/models/NFeIntermediadorTransacao.py +54 -0
  17. inovai/models/NFeItem.py +252 -0
  18. inovai/models/NFeItemDadosCombustivel.py +79 -0
  19. inovai/models/NFeItemExportacao.py +94 -0
  20. inovai/models/NFeItemOrigemCombustivel.py +57 -0
  21. inovai/models/NFeObservacao.py +58 -0
  22. inovai/models/NFeObservacaoItem.py +58 -0
  23. inovai/models/NFeOrigem.py +58 -0
  24. inovai/models/NFePagamento.py +55 -0
  25. inovai/models/NFeProcReferenciado.py +58 -0
  26. inovai/models/NFeTransporte.py +78 -0
  27. inovai/models/NFeVeiculo.py +62 -0
  28. inovai/models/NFeVolume.py +74 -0
  29. inovai/models/__init__.py +0 -0
  30. {ipiranga_inovai_project_lib-0.8.dist-info → ipiranga_inovai_project_lib-1.0.dist-info}/METADATA +1 -1
  31. ipiranga_inovai_project_lib-1.0.dist-info/RECORD +37 -0
  32. ipiranga_inovai_project_lib-0.8.dist-info/RECORD +0 -8
  33. {ipiranga_inovai_project_lib-0.8.dist-info → ipiranga_inovai_project_lib-1.0.dist-info}/LICENSE +0 -0
  34. {ipiranga_inovai_project_lib-0.8.dist-info → ipiranga_inovai_project_lib-1.0.dist-info}/WHEEL +0 -0
  35. {ipiranga_inovai_project_lib-0.8.dist-info → ipiranga_inovai_project_lib-1.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,66 @@
1
+ class NFeEnvioXML:
2
+ cpfCNPJ: str
3
+ email: str
4
+ nomeAnexo: str
5
+ tipoAnexo: str
6
+ tipoEnvio: str
7
+
8
+ def __init__(self, **json):
9
+ if json:
10
+ for key, typeProp in self.__class__.__dict__['__annotations__'].items():
11
+ # str, float, bool, int
12
+ class_name = str(typeProp).split("'")[1].split(".")[-1]
13
+
14
+ if key in json:
15
+ if isinstance(typeProp, list):
16
+ cls = globals()[class_name]
17
+ items = []
18
+ for item_data in json[key]:
19
+ item = cls(**item_data)
20
+ items.append(item)
21
+ setattr(self, key, items)
22
+ elif class_name not in ('str', 'int', 'float', 'bool'):
23
+ cls = globals()[class_name]
24
+ instance = cls(**json[key])
25
+ setattr(self, key, instance)
26
+ else:
27
+ setattr(self, key, str(json[key]))
28
+ else:
29
+ if isinstance(typeProp, list):
30
+ # cls = globals()[class_name]
31
+ items = []
32
+ setattr(self, key, items)
33
+ elif class_name not in ('str', 'int', 'float', 'bool'):
34
+ cls = globals()[class_name]
35
+ instance = cls()
36
+ setattr(self, key, instance)
37
+ else:
38
+ setattr(self, key, '')
39
+ else:
40
+ for key, typeProp in self.__class__.__dict__['__annotations__'].items():
41
+ class_name = str(typeProp).split("'")[1].split(".")[-1]
42
+ if isinstance(typeProp, list):
43
+ # cls = globals()[class_name]
44
+ items = []
45
+ setattr(self, key, items)
46
+ elif class_name not in ('str', 'int', 'float', 'bool'):
47
+ cls = globals()[class_name]
48
+ instance = cls()
49
+ setattr(self, key, instance)
50
+ else:
51
+ setattr(self, key, '')
52
+
53
+ def get_cpfCNPJ(self):
54
+ return self.cpfCNPJ
55
+
56
+ def get_email(self):
57
+ return self.email
58
+
59
+ def get_nomeAnexo(self):
60
+ return self.nomeAnexo
61
+
62
+ def get_tipoAnexo(self):
63
+ return self.tipoAnexo
64
+
65
+ def get_tipoEnvio(self):
66
+ return self.tipoEnvio
@@ -0,0 +1,108 @@
1
+ from domain.models.Endereco import Endereco
2
+
3
+
4
+ class NFeEnvolvido:
5
+ cnae: str
6
+ cpfCNPJ: str
7
+ email: str
8
+ endereco: Endereco
9
+ indContribuinte: int
10
+ inscricaoEstadual: str
11
+ inscricaoEstadualST: str
12
+ inscricaoMunicipal: str
13
+ nome: str
14
+ pontoEntrega: str
15
+ simplesNacional: str
16
+ suframa: str
17
+ tipoEnvolvido: str
18
+ tipoInscricaoEstadual: str
19
+
20
+ def __init__(self, **json):
21
+ if json:
22
+ for key, typeProp in self.__class__.__dict__['__annotations__'].items():
23
+ # str, float, bool, int
24
+ class_name = str(typeProp).split("'")[1].split(".")[-1]
25
+
26
+ if key in json:
27
+ if isinstance(typeProp, list):
28
+ cls = globals()[class_name]
29
+ items = []
30
+ for item_data in json[key]:
31
+ item = cls(**item_data)
32
+ items.append(item)
33
+ setattr(self, key, items)
34
+ elif class_name not in ('str', 'int', 'float', 'bool'):
35
+ cls = globals()[class_name]
36
+ instance = cls(**json[key])
37
+ setattr(self, key, instance)
38
+ else:
39
+ setattr(self, key, str(json[key]))
40
+ else:
41
+ if isinstance(typeProp, list):
42
+ # cls = globals()[class_name]
43
+ items = []
44
+ setattr(self, key, items)
45
+ elif class_name not in ('str', 'int', 'float', 'bool'):
46
+ cls = globals()[class_name]
47
+ instance = cls()
48
+ setattr(self, key, instance)
49
+ else:
50
+ setattr(self, key, '')
51
+ else:
52
+ for key, typeProp in self.__class__.__dict__['__annotations__'].items():
53
+ class_name = str(typeProp).split("'")[1].split(".")[-1]
54
+ if isinstance(typeProp, list):
55
+ # cls = globals()[class_name]
56
+ items = []
57
+ setattr(self, key, items)
58
+ elif class_name not in ('str', 'int', 'float', 'bool'):
59
+ cls = globals()[class_name]
60
+ instance = cls()
61
+ setattr(self, key, instance)
62
+ else:
63
+ setattr(self, key, '')
64
+
65
+ def get_cnae(self):
66
+ return self.cnae
67
+
68
+ def get_cpfCNPJ(self):
69
+ return self.cpfCNPJ
70
+
71
+ def get_email(self):
72
+ return self.email
73
+
74
+ def get_endereco(self):
75
+ return self.endereco
76
+
77
+ def get_indContribuinte(self):
78
+ return self.indContribuinte
79
+
80
+ def get_inscricaoEstadual(self):
81
+ return self.inscricaoEstadual
82
+
83
+ def get_inscricaoEstadualST(self):
84
+ return self.inscricaoEstadualST
85
+
86
+ def get_inscricaoMunicipal(self):
87
+ return self.inscricaoMunicipal
88
+
89
+ def get_nome(self):
90
+ return self.nome
91
+
92
+ def get_pontoEntrega(self):
93
+ return self.pontoEntrega
94
+
95
+ def get_simplesNacional(self):
96
+ return self.simplesNacional
97
+
98
+ def get_suframa(self):
99
+ return self.suframa
100
+
101
+ def get_tipoEnvolvido(self):
102
+ return self.tipoEnvolvido
103
+
104
+ def get_tipoInscricaoEstadual(self):
105
+ return self.tipoInscricaoEstadual
106
+
107
+ def to_xml(self, root_element):
108
+ self.get_endereco().to_xml(root_element)
@@ -0,0 +1,58 @@
1
+ class NFeExportacao:
2
+ despacho: str
3
+ embarqueLocal: str
4
+ embarqueUF: str
5
+
6
+ def __init__(self, **json):
7
+ if json:
8
+ for key, typeProp in self.__class__.__dict__['__annotations__'].items():
9
+ # str, float, bool, int
10
+ class_name = str(typeProp).split("'")[1].split(".")[-1]
11
+
12
+ if key in json:
13
+ if isinstance(typeProp, list):
14
+ cls = globals()[class_name]
15
+ items = []
16
+ for item_data in json[key]:
17
+ item = cls(**item_data)
18
+ items.append(item)
19
+ setattr(self, key, items)
20
+ elif class_name not in ('str', 'int', 'float', 'bool'):
21
+ cls = globals()[class_name]
22
+ instance = cls(**json[key])
23
+ setattr(self, key, instance)
24
+ else:
25
+ setattr(self, key, str(json[key]))
26
+ else:
27
+ if isinstance(typeProp, list):
28
+ # cls = globals()[class_name]
29
+ items = []
30
+ setattr(self, key, items)
31
+ elif class_name not in ('str', 'int', 'float', 'bool'):
32
+ cls = globals()[class_name]
33
+ instance = cls()
34
+ setattr(self, key, instance)
35
+ else:
36
+ setattr(self, key, '')
37
+ else:
38
+ for key, typeProp in self.__class__.__dict__['__annotations__'].items():
39
+ class_name = str(typeProp).split("'")[1].split(".")[-1]
40
+ if isinstance(typeProp, list):
41
+ # cls = globals()[class_name]
42
+ items = []
43
+ setattr(self, key, items)
44
+ elif class_name not in ('str', 'int', 'float', 'bool'):
45
+ cls = globals()[class_name]
46
+ instance = cls()
47
+ setattr(self, key, instance)
48
+ else:
49
+ setattr(self, key, '')
50
+
51
+ def get_despacho(self):
52
+ return self.despacho
53
+
54
+ def get_embarqueLocal(self):
55
+ return self.embarqueLocal
56
+
57
+ def get_embarqueUF(self):
58
+ return self.embarqueUF
@@ -0,0 +1,62 @@
1
+ class NFeFatura:
2
+ numero: str
3
+ valorDesconto: float
4
+ valorLiquido: float
5
+ valorOriginal: float
6
+
7
+ def __init__(self, **json):
8
+ if json:
9
+ for key, typeProp in self.__class__.__dict__['__annotations__'].items():
10
+ # str, float, bool, int
11
+ class_name = str(typeProp).split("'")[1].split(".")[-1]
12
+
13
+ if key in json:
14
+ if isinstance(typeProp, list):
15
+ cls = globals()[class_name]
16
+ items = []
17
+ for item_data in json[key]:
18
+ item = cls(**item_data)
19
+ items.append(item)
20
+ setattr(self, key, items)
21
+ elif class_name not in ('str', 'int', 'float', 'bool'):
22
+ cls = globals()[class_name]
23
+ instance = cls(**json[key])
24
+ setattr(self, key, instance)
25
+ else:
26
+ setattr(self, key, str(json[key]))
27
+ else:
28
+ if isinstance(typeProp, list):
29
+ # cls = globals()[class_name]
30
+ items = []
31
+ setattr(self, key, items)
32
+ elif class_name not in ('str', 'int', 'float', 'bool'):
33
+ cls = globals()[class_name]
34
+ instance = cls()
35
+ setattr(self, key, instance)
36
+ else:
37
+ setattr(self, key, '')
38
+ else:
39
+ for key, typeProp in self.__class__.__dict__['__annotations__'].items():
40
+ class_name = str(typeProp).split("'")[1].split(".")[-1]
41
+ if isinstance(typeProp, list):
42
+ # cls = globals()[class_name]
43
+ items = []
44
+ setattr(self, key, items)
45
+ elif class_name not in ('str', 'int', 'float', 'bool'):
46
+ cls = globals()[class_name]
47
+ instance = cls()
48
+ setattr(self, key, instance)
49
+ else:
50
+ setattr(self, key, '')
51
+
52
+ def get_numero(self):
53
+ return self.numero
54
+
55
+ def get_valorDesconto(self):
56
+ return self.valorDesconto
57
+
58
+ def get_valorLiquido(self):
59
+ return self.valorLiquido
60
+
61
+ def get_valorOriginal(self):
62
+ return self.valorOriginal
@@ -0,0 +1,232 @@
1
+ class NFeImposto:
2
+ aliquota: str
3
+ aliquotaConsumidorFinal: float
4
+ aliquotaICMSEfetivo: float
5
+ aliquotaICMSMonoRetencao: str
6
+ cfop: int
7
+ cst: str
8
+ enquadramento: str
9
+ indIcmsST: bool
10
+ indVlrIcmsCobrancaAnteriorST: str
11
+ modalidadeBaseCalc: int
12
+ motivoDesoneracao: int
13
+ motivoReducaoADRem: int
14
+ municipioCodigoIBGE: str
15
+ origem: str
16
+ percentualDifer: float
17
+ percentualFCPDifer: float
18
+ percentualMVAST: float
19
+ percentualPartilha: float
20
+ percentualReducaoADRem: float
21
+ percentualReducaoBC: float
22
+ percentualReducaoBCEfetivo: float
23
+ somaCOFINSST: bool
24
+ somaPISST: bool
25
+ tipo: str
26
+ tipoRegimeImposto: int
27
+ valor: float
28
+ valorAliqICMSSubstituto: float
29
+ valorBC: float
30
+ valorBCDest: float
31
+ valorBCEfetivo: float
32
+ valorBCICMSMonoRetencao: float
33
+ valorBaseICMSReducao: float
34
+ valorBaseICMSSubstituto: float
35
+ valorDesoneracao: float
36
+ valorDest: float
37
+ valorFCPICMSDiferido: float
38
+ valorFCPICMSEfetivo: float
39
+ valorICMSDiferido: float
40
+ valorICMSEfetivo: float
41
+ valorICMSMonoRetencao: float
42
+ valorICMSSubstituto: float
43
+ valorSemDifer: float
44
+ valorUnitario: float
45
+ valorDifAliquota: str = ''
46
+ vlrIcmsNaoDestacado: str = ''
47
+
48
+ def __init__(self, **json):
49
+ if json:
50
+ for key, typeProp in self.__class__.__dict__['__annotations__'].items():
51
+ # str, float, bool, int
52
+ class_name = str(typeProp).split("'")[1].split(".")[-1]
53
+
54
+ if key in json:
55
+ if isinstance(typeProp, list):
56
+ cls = globals()[class_name]
57
+ items = []
58
+ for item_data in json[key]:
59
+ item = cls(**item_data)
60
+ items.append(item)
61
+ setattr(self, key, items)
62
+ elif class_name not in ('str', 'int', 'float', 'bool'):
63
+ cls = globals()[class_name]
64
+ instance = cls(**json[key])
65
+ setattr(self, key, instance)
66
+ else:
67
+ setattr(self, key, str(json[key]))
68
+ else:
69
+ if isinstance(typeProp, list):
70
+ # cls = globals()[class_name]
71
+ items = []
72
+ setattr(self, key, items)
73
+ elif class_name not in ('str', 'int', 'float', 'bool'):
74
+ cls = globals()[class_name]
75
+ instance = cls()
76
+ setattr(self, key, instance)
77
+ else:
78
+ setattr(self, key, '')
79
+ else:
80
+ for key, typeProp in self.__class__.__dict__['__annotations__'].items():
81
+ class_name = str(typeProp).split("'")[1].split(".")[-1]
82
+ if isinstance(typeProp, list):
83
+ # cls = globals()[class_name]
84
+ items = []
85
+ setattr(self, key, items)
86
+ elif class_name not in ('str', 'int', 'float', 'bool'):
87
+ cls = globals()[class_name]
88
+ instance = cls()
89
+ setattr(self, key, instance)
90
+ else:
91
+ setattr(self, key, '')
92
+
93
+ def __init__(self, **kwargs):
94
+ for key, value in kwargs.items():
95
+ setattr(self, key, value)
96
+
97
+ def __repr__(self):
98
+ return f'NFe({", ".join(f"{key}={value}" for key, value in self.__dict__.items())})'
99
+
100
+ def get_aliquota(self):
101
+ return self.aliquota
102
+
103
+ def get_aliquotaConsumidorFinal(self):
104
+ return self.aliquotaConsumidorFinal
105
+
106
+ def get_aliquotaICMSEfetivo(self):
107
+ return self.aliquotaICMSEfetivo
108
+
109
+ def get_aliquotaICMSMonoRetencao(self):
110
+ return self.aliquotaICMSMonoRetencao
111
+
112
+ def get_cfop(self):
113
+ return self.cfop
114
+
115
+ def get_cst(self):
116
+ return self.cst
117
+
118
+ def get_enquadramento(self):
119
+ return self.enquadramento
120
+
121
+ def get_indIcmsST(self):
122
+ return self.indIcmsST
123
+
124
+ def get_indVlrIcmsCobrancaAnteriorST(self):
125
+ return self.indVlrIcmsCobrancaAnteriorST
126
+
127
+ def get_modalidadeBaseCalc(self):
128
+ return self.modalidadeBaseCalc
129
+
130
+ def get_motivoDesoneracao(self):
131
+ return self.motivoDesoneracao
132
+
133
+ def get_motivoReducaoADRem(self):
134
+ return self.motivoReducaoADRem
135
+
136
+ def get_municipioCodigoIBGE(self):
137
+ return self.municipioCodigoIBGE
138
+
139
+ def get_origem(self):
140
+ return self.origem
141
+
142
+ def get_percentualDifer(self):
143
+ return self.percentualDifer
144
+
145
+ def get_percentualFCPDifer(self):
146
+ return self.percentualFCPDifer
147
+
148
+ def get_percentualMVAST(self):
149
+ return self.percentualMVAST
150
+
151
+ def get_percentualPartilha(self):
152
+ return self.percentualPartilha
153
+
154
+ def get_percentualReducaoADRem(self):
155
+ return self.percentualReducaoADRem
156
+
157
+ def get_percentualReducaoBC(self):
158
+ return self.percentualReducaoBC
159
+
160
+ def get_percentualReducaoBCEfetivo(self):
161
+ return self.percentualReducaoBCEfetivo
162
+
163
+ def get_somaCOFINSST(self):
164
+ return self.somaCOFINSST
165
+
166
+ def get_somaPISST(self):
167
+ return self.somaPISST
168
+
169
+ def get_tipo(self):
170
+ return self.tipo
171
+
172
+ def get_tipoRegimeImposto(self):
173
+ return self.tipoRegimeImposto
174
+
175
+ def get_valor(self):
176
+ return self.valor
177
+
178
+ def get_valorAliqICMSSubstituto(self):
179
+ return self.valorAliqICMSSubstituto
180
+
181
+ def get_valorBC(self):
182
+ return self.valorBC
183
+
184
+ def get_valorBCDest(self):
185
+ return self.valorBCDest
186
+
187
+ def get_valorBCEfetivo(self):
188
+ return self.valorBCEfetivo
189
+
190
+ def get_valorBCICMSMonoRetencao(self):
191
+ return self.valorBCICMSMonoRetencao
192
+
193
+ def get_valorBaseICMSReducao(self):
194
+ return self.valorBaseICMSReducao
195
+
196
+ def get_valorBaseICMSSubstituto(self):
197
+ return self.valorBaseICMSSubstituto
198
+
199
+ def get_valorDesoneracao(self):
200
+ return self.valorDesoneracao
201
+
202
+ def get_valorDest(self):
203
+ return self.valorDest
204
+
205
+ def get_valorFCPICMSDiferido(self):
206
+ return self.valorFCPICMSDiferido
207
+
208
+ def get_valorFCPICMSEfetivo(self):
209
+ return self.valorFCPICMSEfetivo
210
+
211
+ def get_valorICMSDiferido(self):
212
+ return self.valorICMSDiferido
213
+
214
+ def get_valorICMSEfetivo(self):
215
+ return self.valorICMSEfetivo
216
+
217
+ def get_valorICMSMonoRetencao(self):
218
+ return self.valorICMSMonoRetencao
219
+
220
+ def get_valorICMSSubstituto(self):
221
+ return self.valorICMSSubstituto
222
+
223
+ def get_valorSemDifer(self):
224
+ return self.valorSemDifer
225
+
226
+ def get_valorUnitario(self):
227
+ return self.valorUnitario
228
+
229
+ def get_valorDifAliquota(self):
230
+ return self.valorDifAliquota
231
+ def get_vlrIcmsNaoDestacado(self):
232
+ return self.vlrIcmsNaoDestacado
@@ -0,0 +1,114 @@
1
+ class NFeImpostoRetido:
2
+ aliquota: float
3
+ anoCompetencia: float
4
+ codDarf: str
5
+ codReceita: str
6
+ codTributo: str
7
+ dataFatoGerador: str
8
+ dataFimCompetencia: str
9
+ dataIniCompetencia: str
10
+ dataPagamento: str
11
+ dataVencto: str
12
+ espTributo: str
13
+ mesCompetencia: float
14
+ numAp: str
15
+ observacao: str
16
+ valorBruto: float
17
+ valorDedINSSTerceiro: float
18
+ valorIRRetido: float
19
+
20
+ def __init__(self, **json):
21
+ if json:
22
+ for key, typeProp in self.__class__.__dict__['__annotations__'].items():
23
+ # str, float, bool, int
24
+ class_name = str(typeProp).split("'")[1].split(".")[-1]
25
+
26
+ if key in json:
27
+ if isinstance(typeProp, list):
28
+ cls = globals()[class_name]
29
+ items = []
30
+ for item_data in json[key]:
31
+ item = cls(**item_data)
32
+ items.append(item)
33
+ setattr(self, key, items)
34
+ elif class_name not in ('str', 'int', 'float', 'bool'):
35
+ cls = globals()[class_name]
36
+ instance = cls(**json[key])
37
+ setattr(self, key, instance)
38
+ else:
39
+ setattr(self, key, str(json[key]))
40
+ else:
41
+ if isinstance(typeProp, list):
42
+ # cls = globals()[class_name]
43
+ items = []
44
+ setattr(self, key, items)
45
+ elif class_name not in ('str', 'int', 'float', 'bool'):
46
+ cls = globals()[class_name]
47
+ instance = cls()
48
+ setattr(self, key, instance)
49
+ else:
50
+ setattr(self, key, '')
51
+ else:
52
+ for key, typeProp in self.__class__.__dict__['__annotations__'].items():
53
+ class_name = str(typeProp).split("'")[1].split(".")[-1]
54
+ if isinstance(typeProp, list):
55
+ # cls = globals()[class_name]
56
+ items = []
57
+ setattr(self, key, items)
58
+ elif class_name not in ('str', 'int', 'float', 'bool'):
59
+ cls = globals()[class_name]
60
+ instance = cls()
61
+ setattr(self, key, instance)
62
+ else:
63
+ setattr(self, key, '')
64
+
65
+ def get_aliquota(self):
66
+ return self.aliquota
67
+
68
+ def get_anoCompetencia(self):
69
+ return self.anoCompetencia
70
+
71
+ def get_codDarf(self):
72
+ return self.codDarf
73
+
74
+ def get_codReceita(self):
75
+ return self.codReceita
76
+
77
+ def get_codTributo(self):
78
+ return self.codTributo
79
+
80
+ def get_dataFatoGerador(self):
81
+ return self.dataFatoGerador
82
+
83
+ def get_dataFimCompetencia(self):
84
+ return self.dataFimCompetencia
85
+
86
+ def get_dataIniCompetencia(self):
87
+ return self.dataIniCompetencia
88
+
89
+ def get_dataPagamento(self):
90
+ return self.dataPagamento
91
+
92
+ def get_dataVencto(self):
93
+ return self.dataVencto
94
+
95
+ def get_espTributo(self):
96
+ return self.espTributo
97
+
98
+ def get_mesCompetencia(self):
99
+ return self.mesCompetencia
100
+
101
+ def get_numAp(self):
102
+ return self.numAp
103
+
104
+ def get_observacao(self):
105
+ return self.observacao
106
+
107
+ def get_valorBruto(self):
108
+ return self.valorBruto
109
+
110
+ def get_valorDedINSSTerceiro(self):
111
+ return self.valorDedINSSTerceiro
112
+
113
+ def get_valorIRRetido(self):
114
+ return self.valorIRRetido
@@ -0,0 +1,54 @@
1
+ class NFeIntermediadorTransacao:
2
+ cpfCNPJ: str
3
+ nomeUsuario: str
4
+
5
+ def __init__(self, **json):
6
+ if json:
7
+ for key, typeProp in self.__class__.__dict__['__annotations__'].items():
8
+ # str, float, bool, int
9
+ class_name = str(typeProp).split("'")[1].split(".")[-1]
10
+
11
+ if key in json:
12
+ if isinstance(typeProp, list):
13
+ cls = globals()[class_name]
14
+ items = []
15
+ for item_data in json[key]:
16
+ item = cls(**item_data)
17
+ items.append(item)
18
+ setattr(self, key, items)
19
+ elif class_name not in ('str', 'int', 'float', 'bool'):
20
+ cls = globals()[class_name]
21
+ instance = cls(**json[key])
22
+ setattr(self, key, instance)
23
+ else:
24
+ setattr(self, key, str(json[key]))
25
+ else:
26
+ if isinstance(typeProp, list):
27
+ # cls = globals()[class_name]
28
+ items = []
29
+ setattr(self, key, items)
30
+ elif class_name not in ('str', 'int', 'float', 'bool'):
31
+ cls = globals()[class_name]
32
+ instance = cls()
33
+ setattr(self, key, instance)
34
+ else:
35
+ setattr(self, key, '')
36
+ else:
37
+ for key, typeProp in self.__class__.__dict__['__annotations__'].items():
38
+ class_name = str(typeProp).split("'")[1].split(".")[-1]
39
+ if isinstance(typeProp, list):
40
+ # cls = globals()[class_name]
41
+ items = []
42
+ setattr(self, key, items)
43
+ elif class_name not in ('str', 'int', 'float', 'bool'):
44
+ cls = globals()[class_name]
45
+ instance = cls()
46
+ setattr(self, key, instance)
47
+ else:
48
+ setattr(self, key, '')
49
+
50
+ def get_cpfCNPJ(self):
51
+ return self.cpfCNPJ
52
+
53
+ def get_nomeUsuario(self):
54
+ return self.nomeUsuario