コード例 #1
0
  @Override
  public void executar() throws OpenPdvException {
    // ajustando a data fim para documento, pois o mesmo usa datetime
    Calendar cal = Calendar.getInstance();
    cal.setTime(fim);
    cal.add(Calendar.DAY_OF_MONTH, 1);
    fim = cal.getTime();

    // recupera as nfes emitidas no periodo
    FiltroData fd1 = new FiltroData("ecfNotaEletronicaData", ECompara.MAIOR_IGUAL, inicio);
    FiltroData fd2 = new FiltroData("ecfNotaEletronicaData", ECompara.MENOR, fim);
    GrupoFiltro gp1 = new GrupoFiltro(EJuncao.E, new IFiltro[] {fd1, fd2});
    EcfNotaEletronica ene = new EcfNotaEletronica();
    ene.setOrdemDirecao(EDirecao.ASC);
    nfes = service.selecionar(ene, 0, 0, gp1);

    // recupera as notas emitidas no periodo
    FiltroData fd3 = new FiltroData("ecfNotaData", ECompara.MAIOR_IGUAL, inicio);
    FiltroData fd4 = new FiltroData("ecfNotaData", ECompara.MENOR, fim);
    GrupoFiltro gp2 = new GrupoFiltro(EJuncao.E, new IFiltro[] {fd3, fd4});
    EcfNota en = new EcfNota();
    en.setOrdemDirecao(EDirecao.ASC);
    notas = service.selecionar(en, 0, 0, gp2);

    // recupera as leituras Z no periodo
    FiltroData fd7 = new FiltroData("ecfZMovimento", ECompara.MAIOR_IGUAL, inicio);
    FiltroData fd8 = new FiltroData("ecfZMovimento", ECompara.MENOR, fim);
    GrupoFiltro gf4 = new GrupoFiltro(EJuncao.E, new IFiltro[] {fd7, fd8});
    EcfZ ez = new EcfZ();
    ez.setOrdemDirecao(EDirecao.ASC);
    zs = service.selecionar(ez, 0, 0, gf4);

    // recupera os produtos com estoque maior que zero
    FiltroNumero fn = new FiltroNumero("prodProdutoEstoque", ECompara.DIFERENTE, 0);
    ProdProduto pp = new ProdProduto();
    pp.setCampoOrdem("prodProdutoId");
    estoque = service.selecionar(pp, 0, 0, fn);

    Sintegra sintegra = new Sintegra();
    // Dados 10
    sintegra.setDados10(getDados10());
    // Dados 11
    sintegra.setDados11(getDados11());
    // Dados 50
    sintegra.setDados50(getDados50());
    // Dados 54
    sintegra.setDados54(getDados54());
    // Dados 60M
    sintegra.setDados60M(getDados60M());
    // Dados 60R
    sintegra.setDados60R(getDados60R());
    // Dados 61
    sintegra.setDados61(getDados61());
    // Dados 61R
    sintegra.setDados61R(getDados61R());
    // Dados 74
    sintegra.setDados74(getDados74());
    // Dados 75
    sintegra.setDados75(getDados75());
    // Dados 90 e gerado internamento pelo PAF

    try {
      // gerar o arquivo
      path = PAF.gerarVendasPeriodo(sintegra);
    } catch (Exception ex) {
      throw new OpenPdvException(ex);
    }
  }