예제 #1
0
  public static int retornaQtdTotal(Connection conn, JobProtheus job) throws SQLException {

    PreparedStatement stmt = null;
    ResultSet rs = null;
    int qtdTotal = 0;
    int qtdSucata = 0;

    String sqlVerQtd =
        "select job, sum(qtd_transf), sum(hr_tot), sum(qtd_sucata) from jobLote where job = ? and operacao = ? group by job";
    stmt = conn.prepareStatement(sqlVerQtd);
    stmt.setString(1, job.getJob().trim());
    stmt.setInt(2, job.getOperacao());
    rs = stmt.executeQuery();

    String qtdJob = "";
    double totHora = 0;

    while (rs.next()) {
      qtdJob = rs.getString(1); // numero job
      qtdTotal = rs.getInt(2); // quantidade total
      totHora = rs.getInt(3); // hora total em minutos
      qtdSucata = rs.getInt(4);
    }

    return qtdTotal + qtdSucata;
  }
예제 #2
0
  private void jButtonRetrabalhoActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_jButtonRetrabalhoActionPerformed

    this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

    int contador = 0;
    listaJobLoteSelecionadoRetrabado = new ArrayList<JobLote>();
    for (int i = 0; i <= modelo.getRowCount() - 1; i++) {

      JobLote linha = modelo.getJob(i);

      if (linha.getStatus() == true) { // se estiver selecionado adiciona na lista
        listaJobLoteSelecionadoRetrabado.add(linha);
        contador++;
      }
    }

    /*Se houver mais de um joblote selecionado avisa que só é possivel selecionar um para lançar retrabalho*/
    if (contador < 1) {
      this.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
      JOptionPane.showMessageDialog(null, "Selecione um lote!");

    } else if (contador > 1) {
      this.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
      JOptionPane.showMessageDialog(null, "Só é permitido selecionar um Lote!");
      // desmarca tudo
      for (int i = 0; i <= modelo.getRowCount() - 1; i++) {
        modelo.setValueAt(false, tabela.convertRowIndexToModel(i), 0);
      }

    } else {

      timerTelaExclusao.stop();

      JobLote lote = listaJobLoteSelecionadoRetrabado.get(0);

      SistemaDao2 dao = new SistemaDao2();
      JobProtheus job = dao.retornaJob(lote);

      if (job == null) {

        JOptionPane.showMessageDialog(null, "Job não encontrado no sistema!");

      } else {

        boolean noturno = Principal.retornaTurnoSetorJobSelecionado(lote.getSetor().trim());
        boolean temTempoPadrao = Principal.getPossuiTempoPadrao(lote.getSetor().trim());

        LoteRejeitadoView tela =
            new LoteRejeitadoView(
                null,
                true,
                job,
                lote,
                job.getQuantidadeCompleta(),
                modelo,
                tabela,
                usuario,
                timer,
                setor,
                noturno,
                temTempoPadrao,
                "retrabalho",
                jBAtualizar);
        this.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
        tela.setVisible(true);
      }
    }
  } // GEN-LAST:event_jButtonRetrabalhoActionPerformed
예제 #3
0
  public void adicionaOPTelaInicial(Connection conn, JobProtheus jobProtheus, JobLote job)
      throws SQLException {

    if (jobProtheus != null) {

      //  antes de adicionar o job na tela de consultas jobs, verifica
      //  se ja existe, se ja existir remove e adiciona novamente
      int total = modeloConsultaJobs.getRowCount() - 1;
      for (int j = total; j >= 0; j--) {
        JobProtheus jobAtual = modeloConsultaJobs.getJob(j);

        if (jobAtual.getJob().trim().equals(job.getJob().trim())
            && jobAtual.getOperacao() == job.getOperNum()) {
          modeloConsultaJobs.removeJob(j);
        }
      }

      boolean temLinhaTempo =
          verificaSeSetorTemLinhaTempo(conn, jobProtheus.getCentroTrabalho().trim());
      if (temLinhaTempo) {
        if (jobProtheus.getQuantidadeCompleta() == 0) {
          desativaIniciado(
              conn, jobProtheus.getJob().trim().replace(".", ""), jobProtheus.getOperacao());
        } else {

          boolean iniciadoJaExiste =
              verificarSeJobEstaTabelaIniciado(
                  conn, jobProtheus.getJob().trim().replace(".", ""), jobProtheus.getOperacao());

          JobIniciado jobIniciado =
              retornaUltimoLote(
                  conn, jobProtheus.getJob().trim().replace(".", ""), jobProtheus.getOperacao());
          if (!iniciadoJaExiste) {
            incluiIniciado(conn, jobIniciado);
          } else {
            // fazer update jobsiniciados alterando os valores pelo lote mais atual
            alteraIniciado(conn, jobIniciado);
          }
        }
      }

      jLTotalAtrasados.setText(Principal.retornaTotalJobsAtrasados(modeloConsultaJobs));

    } else {

      JOptionPane.showMessageDialog(null, "Job não encontrado na SC2010: " + job);
    }
  }
예제 #4
0
  public JobProtheus retornaJob(Connection conn, JobLote lote) throws SQLException {

    ResultSet rs = null;
    PreparedStatement stmt = null;
    JobProtheus job = null;

    String sql = "select job , B1_DESC,  operacao , produto,  ";
    sql += " dt_release, job_start_date , qtd_release, setor, qtd_transf ";
    sql += " from job left join  " + DB_PROTHEUS.trim() + ".dbo.SB1000 SB1 ";
    sql += " on(produto collate SQL_Latin1_General_CP1_CI_AS = B1_COD) ";
    sql += " where job = ? and operacao = ? and SB1.D_E_L_E_T_ = '' ";
    sql += " order by dt_release, produto ";

    stmt = conn.prepareStatement(sql);
    stmt.setString(1, lote.getJob().trim());
    stmt.setInt(2, lote.getOperNum());
    rs = stmt.executeQuery();

    while (rs.next()) {

      String nJob = rs.getString("job");
      int operacao = rs.getInt("operacao");
      String produto = rs.getString("produto");
      Date dataEmissao = rs.getDate("dt_release");
      Date dataPrevisaoInicio = rs.getDate("job_start_date");
      String descricaoProduto = rs.getString("B1_DESC");
      double quantidade = rs.getDouble("qtd_release");
      String wc = rs.getString("setor");

      String emissao = dataEmissao != null ? getDateToString(dataEmissao) : "";
      String previsaoInicio = dataPrevisaoInicio != null ? getDateToString(dataPrevisaoInicio) : "";

      job = new JobProtheus();

      job.setStatus("");
      job.setJob(nJob);
      job.setOperacao(operacao);
      job.setProduto(produto.trim());
      job.setDataEmissao(emissao);
      job.setQuantidadeLiberada(quantidade);
      job.setDescricaoProduto(descricaoProduto);
      job.setCentroTrabalho(wc);

      double qtdTotal = retornaQtdTotal(conn, job); // calcula o total transferido para o job
      job.setQuantidadeCompleta(qtdTotal);
      job.setDataPrivisaoInicio(previsaoInicio);
      job.setQuantidadeFaltando(quantidade - qtdTotal); // seta o valor qtd faltando
    }

    return job; // retorna lista de jobs
  }