Example #1
0
  public void inserirDem(Entrada dem, Vector<Lote> lotes) throws SQLException {
    Connection conexao2 = null;
    MaterialDao materialBEDao;
    try {
      Entrada demm = this.obterCodigoUltimo();

      conexao2 = FabricaConexao.obterConexao("JDBC", this.servidor);
      conexao2.setAutoCommit(false);

      Date dataUtil = dem.getDataNota();
      dataUtil = new java.sql.Date(dataUtil.getTime());
      java.sql.Date dataSql = (java.sql.Date) dataUtil;

      String sql =
          "INSERT INTO documento(id_documento,data_documento,sigla_tipo_documento)"
              + "VALUES('"
              + dem.getNumNota()
              + "','"
              + dataSql
              + "','"
              + dem.getTipoEntrada().getTipoDoc().getSiglaTipoDoc()
              + "')";

      PreparedStatement ps = conexao2.prepareStatement(sql);
      ps.executeUpdate();

      int codigo = demm.getCodigo() + 1;
      if (dem.getNumNE().equals("")) {
        sql =
            "INSERT INTO dem(codigo_dem,cod_usuario,id_documento,id_fornecedor,cod_tipo,data_dem,valor_nota)"
                + "VALUES("
                + codigo
                + ",'"
                + dem.getReponsavel().getCodigo()
                + "','"
                + dem.getNumNota()
                + "',"
                + dem.getFornecedor().getId()
                + ","
                + dem.getTipoEntrada().getCodigo()
                + ",now(),"
                + dem.getValorNota()
                + ")";
      } else {
        sql =
            "INSERT INTO dem(codigo_dem,cod_usuario,id_documento,id_fornecedor,cod_tipo,numero_ne,data_dem,valor_nota)"
                + "VALUES("
                + codigo
                + ",'"
                + dem.getReponsavel().getCodigo()
                + "','"
                + dem.getNumNota()
                + "',"
                + dem.getFornecedor().getId()
                + ","
                + dem.getTipoEntrada().getCodigo()
                + ","
                + dem.getNumNE()
                + ",now(),"
                + dem.getValorNota()
                + ")";
      }
      ps = conexao2.prepareStatement(sql);
      ps.executeUpdate();

      for (int i = 0; i < lotes.size(); i++) {
        Entrada e = new Entrada();
        e.setCodigo(codigo);
        lotes.get(i).setEntrada(e);
      }
      LoteDao loteDao;
      loteDao = new LoteJDBCDao(this.servidor);
      loteDao.inserirLotes(lotes, conexao2);

      materialBEDao = new MaterialJDBCDao(this.servidor);
      materialBEDao.excluirMaterial(conexao2);

      conexao2.commit();
      conexao2.close();
    } catch (SQLException ex) {
      conexao2.close();
      throw new SQLException(ex.getCause());
    }
  }