Beispiel #1
0
  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);
    }
  }
Beispiel #2
0
  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());
    }
  }
Beispiel #3
0
  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();
    }
  }
Beispiel #4
0
  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();
    }
  }
Beispiel #5
0
  private void deselectAll(JTablePad tab) {

    for (int i = 0; i < tab.getNumLinhas(); i++) {
      tab.setValor(new Boolean(false), i, 0);
    }
  }
Beispiel #6
0
  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();
      }
    }
  }
Beispiel #7
0
  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);
    }
  }