obterInfoReceita method

Future<Map<String, dynamic>?> obterInfoReceita(
  1. String codigoReceita, {
  2. String? contratanteNumero,
  3. String? autorPedidoDadosNumero,
})

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;
  }
}