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); } }
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()); } }
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(); } }
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(); } }
private void deselectAll(JTablePad tab) { for (int i = 0; i < tab.getNumLinhas(); i++) { tab.setValor(new Boolean(false), i, 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(); } } }
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); } }