Exemple #1
0
 private void enableDisablePeriodo() {
   if ("M".equals(rgPeriodo.getVlrString())) {
     txtHFinIntFalta.setEnabled(false);
     txtHFinFalta.setEnabled(false);
   } else {
     txtHFinIntFalta.setEnabled(true);
     txtHFinFalta.setEnabled(true);
   }
 }
  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 ...");
    }
  }
  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);
    }
  }
  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);
    }
  }