コード例 #1
0
ファイル: FPMP_Push.java プロジェクト: elandio/freedom-erp
  private void selectNecessarios(JTablePad tab) {

    BigDecimal qtdaprod = null;

    for (int i = 0; i < tab.getNumLinhas(); i++) {
      qtdaprod = (BigDecimal) tab.getValor(i, DETALHAMENTO.QTDAPROD.ordinal());
      tab.setValor(new Boolean(qtdaprod.floatValue() > 0), i, 0);
    }
  }
コード例 #2
0
ファイル: FExpImpEstoq.java プロジェクト: elandio/freedom-erp
    private void montaTabela() {

      if (invalidos != null && invalidos.size() > 0) {

        tabInvalidos.limpa();

        for (Object[] line : invalidos) {
          tabInvalidos.adicLinha(line);
        }
      }
    }
コード例 #3
0
ファイル: FPMP_Push.java プロジェクト: elandio/freedom-erp
  private void limpaNaoSelecionados(JTablePad tab) {

    int linhas = tab.getNumLinhas();
    int pos = 0;
    try {
      for (int i = 0; i < linhas; i++) {
        if (tab.getValor(i, 0) != null && !((Boolean) tab.getValor(i, 0)).booleanValue()) { // xxx
          tab.tiraLinha(i);
          i--;
        }
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
コード例 #4
0
ファイル: FPMP_Push.java プロジェクト: elandio/freedom-erp
  private void geraOPS() {

    StringBuffer sql = new StringBuffer();
    Vector<Integer> ops = new Vector<Integer>();
    BigDecimal qtdsugerida = null;
    DLLoading loading = new DLLoading();

    try {
      for (int i = 0; i < tabDet.getNumLinhas(); i++) {
        loading.start();
        qtdsugerida = (BigDecimal) (tabDet.getValor(i, DETALHAMENTO.QTDAPROD.ordinal()));

        // Caso o item do grid esteja selecionado...
        if ((Boolean) (tabDet.getValor(i, DETALHAMENTO.MARCACAO.ordinal()))
            && qtdsugerida.floatValue() > 0) {
          try {

            PPGeraOP geraop = new PPGeraOP();
            geraop.setCodempop(Aplicativo.iCodEmp);
            geraop.setCodfilialop(Aplicativo.iCodFilial);
            geraop.setCodemppd((Integer) tabDet.getValor(i, DETALHAMENTO.CODEMPPD.ordinal()));
            geraop.setCodfilialpd((Integer) tabDet.getValor(i, DETALHAMENTO.CODFILIALPD.ordinal()));
            geraop.setCodprod((Integer) tabDet.getValor(i, DETALHAMENTO.CODPROD.ordinal()));
            geraop.setQtdSugProdOp(
                (BigDecimal) tabDet.getValor(i, DETALHAMENTO.QTDAPROD.ordinal()));
            geraop.setDtFabOp(
                Funcoes.strDateToDate(
                    (String) tabDet.getValor(i, DETALHAMENTO.DTFABROP.ordinal())));
            geraop.setSeqest((Integer) tabDet.getValor(i, DETALHAMENTO.SEQEST.ordinal()));

            ResultSet rs = daopush.geraOP(geraop);

            if (rs.next()) {
              ops.addElement(rs.getInt(1));
            }
          } catch (Exception e) {
            e.printStackTrace();
          }
        }
      }
      carregaItens();
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      loading.stop();
      Funcoes.mensagemInforma(
          this, "As seguintes ordens de produção foram geradas:\n" + ops.toString());
    }
  }
コード例 #5
0
ファイル: FExpImpEstoq.java プロジェクト: elandio/freedom-erp
  public void valorAlterado(RadioGroupEvent e) {

    if (e.getSource() == rgModo) {

      produtos = null;
      produtosInvalidos = null;

      tabProdutos.limpa();

      txtDiretorio.setVlrString("");
      txtDiretorio.setEnabled(true);
      btDirtorio.setEnabled(true);

      btBuscarProdutos.setEnabled(false);
      btExeportar.setEnabled(false);
      btImportar.setEnabled(false);
      btInventario.setEnabled(false);
      btProdutosInvalidos.setVisible(false);

      if (e.getIndice() == 0) {
        status.setString("Selecione a local do arquivo e exportação ...");
        btBuscarProdutos.setVisible(true);
        btExeportar.setVisible(true);
        btImportar.setVisible(false);
        btInventario.setVisible(false);
      } else if (e.getIndice() == 1) {
        status.setString("Selecione a local do arquivo e importação ...");
        btBuscarProdutos.setVisible(false);
        btExeportar.setVisible(false);
        btImportar.setVisible(true);
        btInventario.setVisible(true);
      }
    } else if ((e.getSource() == rgFiltro1 || e.getSource() == rgFiltro2)
        && !txtDiretorio.isEnabled()
        && EXPORTAR == rgModo.getVlrInteger()) {
      tabProdutos.limpa();
      btExeportar.setEnabled(false);
      btBuscarProdutos.setEnabled(true);
      btBuscarProdutos.requestFocus();
      status.setString("Buscar produtos para exportação ...");
    }
  }
コード例 #6
0
ファイル: FPMP_Push.java プロジェクト: elandio/freedom-erp
  private void montaListeners() {

    btSelectAllDet.addActionListener(this);
    btDeselectAllDet.addActionListener(this);
    btLimparGridDet.addActionListener(this);
    btIniProdDet.addActionListener(this);

    btSelectAllAgrup.addActionListener(this);
    btDeselectAllAgrup.addActionListener(this);
    btLimparGridAgrup.addActionListener(this);

    btBuscar.addActionListener(this);

    lcProd.addCarregaListener(this);
    lcCliente.addCarregaListener(this);

    tabDet.addTabelaSelListener(this);
    tabDet.addMouseListener(this);

    tabbedAbas.addChangeListener(this);
  }
コード例 #7
0
ファイル: FPMP_Push.java プロジェクト: elandio/freedom-erp
  private void geraTabTemp() {

    try {
      daopush.deletaTabTemp();

      for (int i = 0; i < tabDet.getNumLinhas(); i++) {

        if ((((Boolean) tabDet.getValor(i, DETALHAMENTO.MARCACAO.ordinal())).booleanValue())
            && ((BigDecimal) tabDet.getValor(i, DETALHAMENTO.QTDAPROD.ordinal())).floatValue()
                > 0) {

          daopush.insertPPProcessaOpTmp(
              Funcoes.strDateToDate((String) tabDet.getValor(i, DETALHAMENTO.DTFABROP.ordinal())),
              (BigDecimal) tabDet.getValor(i, DETALHAMENTO.QTDAPROD.ordinal()),
              Aplicativo.iCodEmp,
              Aplicativo.iCodFilial,
              Aplicativo.getInstance().getCodest());
        }
      }
      con.commit();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
コード例 #8
0
ファイル: FExpImpEstoq.java プロジェクト: elandio/freedom-erp
    private void montaTela() {

      getContentPane().setLayout(new BorderLayout());

      tabInvalidos.adicColuna("Código");
      tabInvalidos.adicColuna("Descrição");
      tabInvalidos.adicColuna("Custo");
      tabInvalidos.adicColuna("Saldo");
      tabInvalidos.setTamColuna(70, 0);
      tabInvalidos.setTamColuna(250, 1);
      tabInvalidos.setTamColuna(70, 0);
      tabInvalidos.setTamColuna(70, 0);

      panelInvalidos.adic(new JScrollPane(tabInvalidos), 7, 10, 490, 150);

      btTexto.setPreferredSize(new Dimension(200, 30));

      panelBotaoTXT.setPreferredSize(new Dimension(520, 40));
      panelBotaoTXT.add(btTexto);

      getContentPane().add(panelInvalidos, BorderLayout.CENTER);
      getContentPane().add(panelBotaoTXT, BorderLayout.SOUTH);
    }
コード例 #9
0
ファイル: FPMP_Push.java プロジェクト: elandio/freedom-erp
  private void deselectAll(JTablePad tab) {

    for (int i = 0; i < tab.getNumLinhas(); i++) {
      tab.setValor(new Boolean(false), i, 0);
    }
  }
コード例 #10
0
ファイル: FPMP_Push.java プロジェクト: elandio/freedom-erp
  public void mouseClicked(MouseEvent mevt) {

    JTablePad tabEv = (JTablePad) mevt.getSource();

    if (mevt.getClickCount() == 2) {
      if (tabEv == tabDet && tabEv.getLinhaSel() > -1) {
        ImageIcon imgclicada =
            (ImageIcon) tabEv.getValor(tabEv.getLinhaSel(), DETALHAMENTO.STATUS.ordinal());

        if (imgclicada.equals(imgUrgente)) {
          FOrcamento orc = null;
          if (Aplicativo.telaPrincipal.temTela(FOrcamento.class.getName())) {
            orc = (FOrcamento) Aplicativo.telaPrincipal.getTela(FOrcamento.class.getName());
          } else {
            orc = new FOrcamento();
            Aplicativo.telaPrincipal.criatela("Orçamento", orc, con);
          }
          //					orc.exec( (Integer) tabEv.getValor( tabEv.getLinhaSel(),
          // DETALHAMENTO.CODORC.ordinal() ) );
        } else {
          //					FOP op = new FOP( (Integer) tabDet.getValor( tabEv.getLinhaSel(),
          // DETALHAMENTO.CODOP.ordinal() ), (Integer) tabDet.getValor( tabEv.getLinhaSel(),
          // DETALHAMENTO.SEQOP.ordinal() ) );
          //					Aplicativo.telaPrincipal.criatela( "Ordens de produção", op, con );
        }
      }
    }
    if ((tabEv == tabDet) && (tabEv.getLinhaSel() > -1)) {

      Boolean selecionado = (Boolean) tabEv.getValor(tabEv.getLinhaSel(), 0);
      BigDecimal qtdaprod = null;
      ImageIcon imgclicada = null;

      if (tabEv == tabDet) {
        qtdaprod =
            (BigDecimal) tabEv.getValor(tabEv.getLinhaSel(), DETALHAMENTO.QTDAPROD.ordinal());
        imgclicada = (ImageIcon) tabEv.getValor(tabEv.getLinhaSel(), DETALHAMENTO.STATUS.ordinal());
        tabEv.setValor(!(selecionado).booleanValue(), tabEv.getLinhaSel(), 0);
      }
    }
  }
コード例 #11
0
ファイル: FPMP_Push.java プロジェクト: elandio/freedom-erp
  private void carregaItens() {

    try {
      tabDet.limpa();

      ResultSet rs =
          daopush.carregaItens(
              Aplicativo.iCodEmp,
              ListaCampos.getMasterFilial("EQPRODUTO"),
              txtCodProd.getVlrInteger(),
              lcSecao.getCodEmp(),
              lcSecao.getCodFilial(),
              txtCodSecao.getVlrString());

      int row = 0;

      BigDecimal totqtdminimo = new BigDecimal(0);
      BigDecimal totqtdestoq = new BigDecimal(0);
      BigDecimal totqtdreq = new BigDecimal(0);
      BigDecimal totqtdemprod = new BigDecimal(0);
      BigDecimal totqtdaprod = new BigDecimal(0);

      ResultSet rs2 = null;

      PreparedStatement ps2 = null;

      while (rs.next()) {

        BigDecimal qtdreserv = new BigDecimal(0);

        BigDecimal qtdminimo =
            rs.getBigDecimal(DETALHAMENTO.QTDMINPROD.toString()).setScale(Aplicativo.casasDec);
        BigDecimal qtdestoque =
            rs.getBigDecimal(DETALHAMENTO.QTDESTOQUE.toString()).setScale(Aplicativo.casasDec);

        BigDecimal qtdemprod =
            rs.getBigDecimal(DETALHAMENTO.QTDEMPROD.toString()).setScale(Aplicativo.casasDec);
        BigDecimal qtdreq =
            rs.getBigDecimal(DETALHAMENTO.QTDREQ.toString()).setScale(Aplicativo.casasDec);

        BigDecimal qtdaprod =
            new BigDecimal(
                qtdminimo.floatValue()
                    + qtdreq.floatValue()
                    - qtdestoque.floatValue()
                    - qtdemprod.floatValue());

        totqtdminimo = totqtdminimo.add(qtdminimo);
        totqtdestoq = totqtdestoq.add(qtdestoque);
        totqtdreq = totqtdreq.add(qtdreq);
        totqtdemprod = totqtdemprod.add(qtdemprod);
        totqtdaprod = totqtdaprod.add(qtdaprod);

        if (qtdaprod.floatValue() > 0) {
          tabDet.adicLinha();
          tabDet.setColColor(-1, DETALHAMENTO.DTFABROP.ordinal(), Color.WHITE, Color.RED);
          tabDet.setColColor(-1, DETALHAMENTO.QTDAPROD.ordinal(), Color.WHITE, Color.RED);

          tabDet.setValor(new Boolean(false), row, DETALHAMENTO.MARCACAO.ordinal());

          if (qtdreq.floatValue() > 0) {
            imgColuna = imgUrgente;
          } else {
            imgColuna = imgNormal;
          }

          tabDet.setValor(imgColuna, row, DETALHAMENTO.STATUS.ordinal());

          tabDet.setValor(Funcoes.dateToStrDate(new Date()), row, DETALHAMENTO.DTFABROP.ordinal());
          tabDet.setValor(
              rs.getInt(DETALHAMENTO.CODEMPPD.toString()), row, DETALHAMENTO.CODEMPPD.ordinal());
          tabDet.setValor(
              rs.getInt(DETALHAMENTO.CODFILIALPD.toString()),
              row,
              DETALHAMENTO.CODFILIALPD.ordinal());
          tabDet.setValor(
              rs.getInt(DETALHAMENTO.CODPROD.toString()), row, DETALHAMENTO.CODPROD.ordinal());
          tabDet.setValor(
              rs.getString(DETALHAMENTO.REFPROD.toString()), row, DETALHAMENTO.REFPROD.ordinal());
          tabDet.setValor(
              rs.getInt(DETALHAMENTO.SEQEST.toString()), row, DETALHAMENTO.SEQEST.ordinal());
          tabDet.setValor(
              rs.getString(DETALHAMENTO.DESCPROD.toString().trim()),
              row,
              DETALHAMENTO.DESCPROD.ordinal());

          tabDet.setValor(qtdminimo, row, DETALHAMENTO.QTDMINPROD.ordinal());
          tabDet.setValor(qtdestoque, row, DETALHAMENTO.QTDESTOQUE.ordinal());
          tabDet.setValor(qtdreq, row, DETALHAMENTO.QTDREQ.ordinal());
          tabDet.setValor(qtdemprod, row, DETALHAMENTO.QTDEMPROD.ordinal());
          tabDet.setValor(qtdaprod, row, DETALHAMENTO.QTDAPROD.ordinal());

          row++;
        }

        if (totqtdaprod.floatValue() < 0) {
          totqtdaprod = new BigDecimal(0);
        }

        txtQtdRequisitada.setVlrBigDecimal(totqtdreq);
        txtQtdEstoque.setVlrBigDecimal(totqtdestoq);

        if (txtCodProd.getVlrInteger() > 0) {

          txtQtdProducao.setVlrBigDecimal(totqtdemprod);
          txtQtdProduzir.setVlrBigDecimal(totqtdaprod);

        } else {

          txtQtdProducao.setVlrString("-");
          txtQtdProduzir.setVlrString("-");
        }
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
コード例 #12
0
ファイル: FPMP_Push.java プロジェクト: elandio/freedom-erp
  private void criaTabelas() {

    // Tabela de detalhamento

    tabDet = new JTablePad();

    tabDet.adicColuna(""); // Marcação
    tabDet.adicColuna(""); // Status
    tabDet.adicColuna("codemppd"); // Codemppd
    tabDet.adicColuna("codfilialpd"); // Codfilialpd
    tabDet.adicColuna("Código"); // Codprod
    tabDet.adicColuna("Referência"); // RefProd

    tabDet.adicColuna("Seq.Estr."); // CodEst
    tabDet.adicColuna("Descrição do produto"); // Descrição do produto

    tabDet.adicColuna("Minimo"); // Qtd.Minima
    tabDet.adicColuna("Estoque"); // Qtd.Estoque

    tabDet.adicColuna("RMA"); // Qtd.requerida
    tabDet.adicColuna("Em Prod."); // Qtd.emprodução
    tabDet.adicColuna("Data"); // Data de fabricacao
    tabDet.adicColuna("Sugestao"); // Sugestão de produção

    //		MARCACAO, STATUS, DTFABROP, CODEMPPD, CODFILIALPD, CODPROD, SEQEST, DESCPROD, QTDMINPROD,
    // QTDESTOQUE, QTDREQ,QTDEMPROD, QTDAPROD

    tabDet.setTamColuna(17, DETALHAMENTO.MARCACAO.ordinal());
    tabDet.setTamColuna(10, DETALHAMENTO.STATUS.ordinal());

    tabDet.setColunaInvisivel(DETALHAMENTO.CODEMPPD.ordinal());
    tabDet.setColunaInvisivel(DETALHAMENTO.CODFILIALPD.ordinal());

    tabDet.setTamColuna(60, DETALHAMENTO.CODPROD.ordinal());
    tabDet.setTamColuna(70, DETALHAMENTO.REFPROD.ordinal());

    tabDet.setColunaInvisivel(DETALHAMENTO.SEQEST.ordinal());

    tabDet.setTamColuna(300, DETALHAMENTO.DESCPROD.ordinal());
    tabDet.setTamColuna(50, DETALHAMENTO.QTDMINPROD.ordinal());
    tabDet.setTamColuna(60, DETALHAMENTO.QTDESTOQUE.ordinal());
    tabDet.setTamColuna(60, DETALHAMENTO.QTDREQ.ordinal());
    tabDet.setTamColuna(60, DETALHAMENTO.QTDEMPROD.ordinal());
    tabDet.setTamColuna(60, DETALHAMENTO.DTFABROP.ordinal());
    tabDet.setTamColuna(60, DETALHAMENTO.QTDAPROD.ordinal());

    tabDet.setColunaEditavel(DETALHAMENTO.QTDAPROD.ordinal(), true);
    tabDet.setColunaEditavel(DETALHAMENTO.DTFABROP.ordinal(), true);

    tabDet.setRowHeight(22);
  }
コード例 #13
0
ファイル: FExpImpEstoq.java プロジェクト: elandio/freedom-erp
  private void criarInventario() {

    try {

      // para evitar de dar o commit no meio do loop e o rollback de erro não adiantar.
      final boolean commit = con.getConnection().getAutoCommit();
      con.setAutoCommit(false);

      int tamanhoTabela = tabProdutos.getNumLinhas();

      status.setString("Realizando inventarios ...");
      status.setMaximum(tamanhoTabela);

      StringBuilder sql = new StringBuilder();
      sql.append("INSERT INTO EQINVPROD ");
      sql.append("(CODEMP, CODFILIAL, CODINVPROD, ");
      sql.append("CODEMPPD, CODFILIALPD, CODPROD, ");
      sql.append("CODEMPTM, CODFILIALTM, CODTIPOMOV, ");
      sql.append("DATAINVP, QTDINVP, SLDATUALINVP, SLDDIGINVP, PRECOINVP, ");
      sql.append("CODEMPAX, CODFILIALAX, CODALMOX) ");
      sql.append("VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ");

      final Integer tipoMovimentoInventario = getTipoMovimentoInventario();
      final Date hoje = Funcoes.dateToSQLDate(Calendar.getInstance().getTime());
      Integer codprod = null;
      BigDecimal saldoAtual = null;
      BigDecimal novoSaldo = null;
      BigDecimal quantidade = null;
      BigDecimal custo = null;

      Integer codInventario = null;
      Integer codAlmoarifado = null;

      PreparedStatement ps = null;

      for (int i = 0; i < tamanhoTabela; i++) {

        codprod = (Integer) tabProdutos.getValor(i, 0);
        saldoAtual = getSaldoAtual(codprod);
        novoSaldo = (BigDecimal) tabProdutos.getValor(i, 3);
        quantidade = novoSaldo.subtract(saldoAtual);
        custo = (BigDecimal) tabProdutos.getValor(i, 2);

        codInventario = getCodInventario();
        codAlmoarifado = getAlmoxarifado(codprod);

        ps = con.prepareStatement(sql.toString());
        ps.setInt(1, Aplicativo.iCodEmp);
        ps.setInt(2, ListaCampos.getMasterFilial("EQINVPROD"));
        ps.setInt(3, codInventario);
        ps.setInt(4, Aplicativo.iCodEmp);
        ps.setInt(5, ListaCampos.getMasterFilial("EQPRODUTO"));
        ps.setInt(6, codprod); // código do produto.
        ps.setInt(7, Aplicativo.iCodEmp);
        ps.setInt(8, ListaCampos.getMasterFilial("EQTIPOMOV"));
        ps.setInt(9, tipoMovimentoInventario); // código do tipo de movimento de inventário.
        ps.setDate(10, hoje);
        ps.setBigDecimal(11, quantidade);
        ps.setBigDecimal(12, saldoAtual);
        ps.setBigDecimal(13, novoSaldo);
        ps.setBigDecimal(14, custo);
        ps.setInt(15, Aplicativo.iCodEmp);
        ps.setInt(16, ListaCampos.getMasterFilial("EQALMOX"));
        ps.setInt(17, codAlmoarifado);
        ps.execute();

        status.setValue(i + 1);
      }

      status.setString("Concluido !");
      btInventario.setEnabled(false);

      con.setAutoCommit(commit);

      con.commit();

    } catch (Exception e) {
      e.printStackTrace();
      Funcoes.mensagemErro(this, "Erro ao realizar inventáros!\n" + e.getMessage(), true, con, e);
      try {
        con.rollback();
        rgModo.setVlrInteger(IMPORTAR);
      } catch (SQLException e1) {
        e1.printStackTrace();
      }
    }
  }
コード例 #14
0
ファイル: FExpImpEstoq.java プロジェクト: elandio/freedom-erp
  private void importar() {

    try {

      File file = new File(txtDiretorio.getVlrString().trim());

      if (file.exists()) {

        txtDiretorio.setEnabled(false);
        btDirtorio.setEnabled(false);
        btImportar.setEnabled(false);

        FileReader fileReader = new FileReader(file);

        BufferedReader bufferedReader = new BufferedReader(fileReader);
        List<String> saldoImportacao = new ArrayList<String>();
        String tmp = null;

        while ((tmp = bufferedReader.readLine()) != null) {
          // if ( tmp.length() >= 57 ) { correção, alguns produtos com descrição menor não estavam
          // sendo carregados.
          saldoImportacao.add(tmp);
          // }
        }

        bufferedReader.close();

        produtosInvalidos = new ArrayList<Object[]>();
        Object[] elementos = new Object[4];
        String[] campos = null;

        tabProdutos.limpa();

        status.setString("Carregando saldos de produtos ...");
        status.setMaximum(saldoImportacao.size());
        int indice = 1;
        Integer codprod = null;
        BigDecimal custo = null;

        for (String linha : saldoImportacao) {

          /*
           * codprod = Integer.parseInt( linha.substring( 0, 8 ) ); custo = getCusto( codprod ); elementos[ 0 ] = codprod; elementos[ 1 ] = linha.substring( 18, 48 ); elementos[ 2 ] = custo; elementos[ 3 ] = new BigDecimal( linha.substring( 49, 57 ).trim() ).setScale( Aplicativo.casasDec,
           * BigDecimal.ROUND_HALF_UP );
           */

          campos = linha.split(";");

          codprod = Integer.parseInt(campos[0]);
          custo = getCusto(codprod);

          elementos = new Object[4];
          elementos[0] = codprod;
          elementos[1] = campos[2];
          elementos[2] = custo;
          elementos[3] =
              new BigDecimal(campos[3]).setScale(Aplicativo.casasDec, BigDecimal.ROUND_HALF_UP);

          if (custo != null) {
            tabProdutos.adicLinha(elementos);
          } else {
            produtosInvalidos.add(elementos);
          }

          status.setValue(indice++);
        }

        status.setString(tabProdutos.getNumLinhas() + " de produtos carragados ...");

        if (tabProdutos.getNumLinhas() > 0) {
          btInventario.setEnabled(true);
          btInventario.requestFocus();
        }

        if (produtosInvalidos.size() > 0) {
          btProdutosInvalidos.setVisible(true);
        }
      } else {
        Funcoes.mensagemErro(this, "Arquivo não encontrado!");
      }
    } catch (Exception e) {
      e.printStackTrace();
      Funcoes.mensagemErro(this, "Erro ao importar arquivo!\n" + e.getMessage(), true, con, e);
    }
  }
コード例 #15
0
ファイル: FExpImpEstoq.java プロジェクト: elandio/freedom-erp
  private void carregaProdutosExportacao() {

    produtos = new ArrayList<String>();

    try {

      status.setString("Carregando produtos para exportação ...");

      String filtro1 = "";
      String filtro2 = "";

      if ("A".equals(rgFiltro1.getVlrString())) {
        filtro1 = " AND P.ATIVOPROD='S' ";
      } else if ("I".equals(rgFiltro1.getVlrString())) {
        filtro1 = " AND P.ATIVOPROD='N' ";
      }

      if ("C".equals(rgFiltro2.getVlrString())) {
        filtro2 = "AND P.CVPROD='C' ";
      } else if ("V".equals(rgFiltro2.getVlrString())) {
        filtro2 = "AND P.CVPROD='V' ";
      }

      StringBuilder sql = new StringBuilder();
      sql.append("SELECT P.CODPROD, P.DESCPROD, P.PRECOBASEPROD, P.SLDLIQPROD ");
      sql.append("FROM EQPRODUTO P ");
      sql.append("WHERE P.CODEMP=? AND P.CODFILIAL=? AND P.CLOTEPROD='N' ");
      sql.append(filtro1);
      sql.append(filtro2);
      sql.append("ORDER BY P.CODPROD");

      PreparedStatement ps = con.prepareStatement(sql.toString());
      ps.setInt(1, Aplicativo.iCodEmp);
      ps.setInt(2, ListaCampos.getMasterFilial("EQPRODUTO"));

      ResultSet rs = ps.executeQuery();

      StringBuilder tmp = new StringBuilder();
      tabProdutos.limpa();

      DecimalFormat df1 = new DecimalFormat("00000000");
      DecimalFormat df2 = new DecimalFormat("00000.00");

      while (rs.next()) {

        tmp.delete(0, tmp.length());
        tmp.append(df1.format(rs.getInt("CODPROD")) + ";");
        tmp.append(df2.format(rs.getBigDecimal("PRECOBASEPROD")).replace(',', '.') + ";");
        tmp.append(Funcoes.copy(rs.getString("DESCPROD").trim(), 30) + ";");
        tmp.append(df2.format(rs.getBigDecimal("SLDLIQPROD")).replace(',', '.'));

        tabProdutos.adicLinha(
            new Object[] {
              rs.getInt("CODPROD"),
              rs.getString("DESCPROD").trim(),
              rs.getBigDecimal("PRECOBASEPROD").setScale(2, BigDecimal.ROUND_HALF_UP),
              rs.getBigDecimal("SLDLIQPROD").setScale(2, BigDecimal.ROUND_HALF_UP)
            });

        produtos.add(tmp.toString());
      }

      status.setString("Carregandos " + produtos.size() + " produtos para exportação...");

      if (produtos.size() > 0) {
        txtDiretorio.setEnabled(false);
        btDirtorio.setEnabled(false);
        btBuscarProdutos.setEnabled(false);
        btExeportar.setEnabled(true);
        btExeportar.requestFocus();
      }

      rs.close();
      ps.close();

      con.commit();
    } catch (SQLException e) {
      e.printStackTrace();
      Funcoes.mensagemErro(this, "Erro ao buscar produtos!\n" + e.getMessage(), true, con, e);
    }
  }
コード例 #16
0
ファイル: FExpImpEstoq.java プロジェクト: elandio/freedom-erp
  private void montaTela() {

    getContentPane().setLayout(new BorderLayout());

    JLabel filtros = new JLabel("Filtros de produtos", SwingConstants.CENTER);
    JLabel linha = new JLabel();

    // ----- Parametros

    filtros.setOpaque(true);
    linha.setBorder(BorderFactory.createEtchedBorder());

    rgFiltro1.setBorder(BorderFactory.createEmptyBorder());
    rgFiltro2.setBorder(BorderFactory.createEmptyBorder());

    tabProdutos.adicColuna("Código");
    tabProdutos.adicColuna("Descrição");
    tabProdutos.adicColuna("Preço/Custo");
    tabProdutos.adicColuna("Saldo");
    tabProdutos.setTamColuna(70, 0);
    tabProdutos.setTamColuna(250, 1);
    tabProdutos.setTamColuna(70, 0);
    tabProdutos.setTamColuna(70, 0);

    btExeportar.setPreferredSize(new Dimension(120, 30));
    btBuscarProdutos.setPreferredSize(new Dimension(150, 30));
    btImportar.setPreferredSize(new Dimension(120, 30));
    btInventario.setPreferredSize(new Dimension(150, 30));
    btProdutosInvalidos.setPreferredSize(new Dimension(120, 30));

    panelRodape.setPreferredSize(new Dimension(100, 44));
    panelRodape.setBorder(BorderFactory.createEtchedBorder());

    // ----- Fim dos parametros

    panelImportacao.adic(rgModo, 7, 10, 490, 30);

    panelImportacao.adic(new JLabel("Local da arquivo"), 7, 45, 350, 20);
    panelImportacao.adic(txtDiretorio, 7, 65, 460, 20);
    panelImportacao.adic(btDirtorio, 477, 65, 20, 20);

    panelImportacao.adic(filtros, 17, 85, 120, 20);
    panelImportacao.adic(linha, 7, 95, 490, 75);
    panelImportacao.adic(rgFiltro1, 37, 105, 470, 30);
    panelImportacao.adic(rgFiltro2, 37, 135, 470, 30);

    panelImportacao.adic(new JScrollPane(tabProdutos), 7, 180, 490, 150);
    panelImportacao.adic(status, 7, 340, 490, 20);

    panelBotoes.add(btBuscarProdutos);
    panelBotoes.add(btExeportar);
    panelBotoes.add(btImportar);
    panelBotoes.add(btInventario);
    panelBotoes.add(btProdutosInvalidos);

    panelSair.add(btSair);

    panelRodape.add(panelBotoes, BorderLayout.WEST);
    panelRodape.add(panelSair, BorderLayout.EAST);

    getContentPane().add(panelImportacao, BorderLayout.CENTER);
    getContentPane().add(panelRodape, BorderLayout.SOUTH);
  }