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 parcmeiEspecialService.emitirDas(202107);
if (response.sucesso && response.pdfGeradoComSucesso) {
  final pdfBase64 = response.dadosParsed?.docArrecadacaoPdfB64;
  final pdfBytes = response.pdfBytes;
  // 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 =
      ParcmeiEspecialValidations.validarParcelaParaEmitir(parcelaParaEmitir);
  if (validacaoParcela != null) {
    throw ArgumentError(validacaoParcela);
  }

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

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

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