emitirDas method

Future<EmitirDasResponse> emitirDas(
  1. int parcelaParaEmitir
)

Emite o DAS (Documento de Arrecadação do Simples Nacional) para uma parcela específica

parcelaParaEmitir - Parcela para emitir no formato AAAAMM

Retorna o DAS em formato PDF (Base64) para impressão e pagamento.

Exemplo de uso:

final response = await parcsnService.emitirDas(202306);
if (response.sucesso && response.pdfGeradoComSucesso) {
  final pdfBase64 = response.dadosParsed?.docArrecadacaoPdfB64;
  // Salvar ou exibir o PDF
  print('PDF gerado com sucesso! Tamanho: ${response.tamanhoPdfFormatado}');
}

Implementation

Future<EmitirDasResponse> emitirDas(int parcelaParaEmitir) async {
  // Validação dos parâmetros
  final validacaoParcela = PertsnValidations.validarParcelaParaEmitir(
    parcelaParaEmitir,
  );
  if (validacaoParcela != null) {
    throw ArgumentError(validacaoParcela);
  }

  // Validação adicional: prazo para emissão
  final validacaoPrazo = PertsnValidations.validarPrazoEmissaoParcela(
    parcelaParaEmitir,
  );
  if (validacaoPrazo != null) {
    throw ArgumentError(validacaoPrazo);
  }

  final request = BaseRequest(
    contribuinteNumero:
        '00000000000000', // Será substituído pelo CNPJ do contribuinte
    pedidoDados: PedidoDados(
      idSistema: 'PARCSN',
      idServico: 'GERARDAS161',
      versaoSistema: '1.0',
      dados: '{"parcelaParaEmitir": $parcelaParaEmitir}',
    ),
  );

  final response = await _apiClient.post('/Emitir', request);
  return EmitirDasResponse.fromJson(response);
}