obterInfoReceita method
Obtém informações sobre campos obrigatórios de uma receita
Implementation
Future<Map<String, dynamic>?> obterInfoReceita(
String codigoReceita, {
String? contratanteNumero,
String? autorPedidoDadosNumero,
}) async {
try {
final request = criarConsultaReceitas(
contribuinteNumero: '00000000000', // CPF genérico para consulta
codigoReceita: codigoReceita,
contratanteNumero: contratanteNumero,
autorPedidoDadosNumero: autorPedidoDadosNumero,
);
final response = await consultarReceitas(
request,
contratanteNumero: contratanteNumero,
autorPedidoDadosNumero: autorPedidoDadosNumero,
);
if (response.receita != null) {
return {
'codigoReceita': response.receita!.codigoReceita,
'descricaoReceita': response.receita!.descricaoReceita,
'extensoes': response.receita!.extensoes
.map(
(e) => {
'obrigatorios': {
'codigoReceita': e.obrigatorios.codigoReceita,
'codigoReceitaExtensao':
e.obrigatorios.codigoReceitaExtensao,
'cota': e.obrigatorios.cota,
'dataConsolidacao': e.obrigatorios.dataConsolidacao,
'dataPA': e.obrigatorios.dataPA,
'referencia': e.obrigatorios.referencia,
'tipoPA': e.obrigatorios.tipoPA,
'valorImposto': e.obrigatorios.valorImposto,
'vencimento': e.obrigatorios.vencimento,
},
'opcionais': {
'cno': e.opcionais.cno,
'cnpjPrestador': e.opcionais.cnpjPrestador,
'municipio': e.opcionais.municipio,
'observacao': e.opcionais.observacao,
'referencia': e.opcionais.referencia,
'uf': e.opcionais.uf,
'valorJuros': e.opcionais.valorJuros,
'valorMulta': e.opcionais.valorMulta,
},
'informacoes': {
'calculado': e.informacoes.calculado,
'codigoBarras': e.informacoes.codigoBarras,
'codigoReceitaExtensao':
e.informacoes.codigoReceitaExtensao,
'criacao': e.informacoes.criacao,
'descricaoReceitaExtensao':
e.informacoes.descricaoReceitaExtensao,
'descricaoReferencia': e.informacoes.descricaoReferencia,
'exigeMatriz': e.informacoes.exigeMatriz,
'extincao': e.informacoes.extincao,
'manual': e.informacoes.manual,
'pf': e.informacoes.pf,
'pj': e.informacoes.pj,
'tipoPeriodoApuracao': e.informacoes.tipoPeriodoApuracao,
'vedaValor': e.informacoes.vedaValor,
},
},
)
.toList(),
};
}
return null;
} catch (e) {
return null;
}
}