public String insertarImagenes( Connection conn, String path, String nombrePropuesto, String pagina, String sucID, String vigID, String padreID, String secundarioID, String referenciaID, String documentoID, String usuID, String fecha, String consecutivoID) { String sql = ""; String consecutivoSQL = ""; PreparedStatement stmt = null; ResultSet rs = null; File objFile = null; FileInputStream objInput = null; UtilidadesDatos ud = new UtilidadesDatos(); String consecutivo = "1"; try { if (pagina.equalsIgnoreCase("prerequisitodet")) { this.eliminarImagenes( conn, pagina, sucID, vigID, padreID, secundarioID, referenciaID, documentoID, consecutivoID); sql = "Insert into COT_PREREQUISITODETIMG (SUC_ID, VIG_ID, PREC_ID, TPR_ID, TDO_REFERENCIA, TDO_ID, PREDI_CONSECUTIVO, PREDI_IMAGEN, PREDI_NOMBREIMAGEN, USU_ID, PREDI_FECHA) values (?,?,?,?,?,?,?,?,?,?,?) "; consecutivoSQL = " SELECT NVL(MAX(PREDI_CONSECUTIVO),0) " + " FROM COT_PREREQUISITODETIMG " + " WHERE SUC_ID = '" + sucID + "' " + " AND VIG_ID = '" + vigID + "' " + " AND PREC_ID = '" + padreID + "' " + " AND TPR_ID = '" + secundarioID + "' " + " AND TDO_REFERENCIA = '" + referenciaID + "' " + " AND TDO_ID = '" + documentoID + "' "; } if (pagina.equalsIgnoreCase("requisitosdis")) { this.eliminarImagenes( conn, pagina, sucID, vigID, padreID, secundarioID, referenciaID, documentoID, consecutivoID); sql = "Insert into COT_REQHABILITANTEDISIMG (SUC_ID, VIG_ID, DISC_ID, TDO_REFERENCIA, TDO_ID, REDII_CONSECUTIVO, REDII_IMAGEN, REDII_NOMBREIMAGEN, USU_ID, REDII_FECHA) values (?,?,?,?,?,?,?,?,?,?) "; consecutivoSQL = " SELECT NVL(MAX(REDII_CONSECUTIVO),0) " + " FROM COT_REQHABILITANTEDISIMG " + " WHERE SUC_ID = '" + sucID + "' " + " AND VIG_ID = '" + vigID + "' " + " AND DISC_ID = '" + padreID + "' " + " AND TDO_REFERENCIA = '" + referenciaID + "' " + " AND TDO_ID = '" + documentoID + "' "; } if (pagina.equalsIgnoreCase("proceso")) { this.eliminarImagenes( conn, pagina, sucID, vigID, padreID, secundarioID, referenciaID, documentoID, consecutivoID); sql = "Insert into COT_PROCESOESTIMG (SUC_ID, VIG_ID, PROC_ID, EPO_ID, TDO_REFERENCIA, TDO_ID, PROEI_CONSECUTIVO, PROEI_IMAGEN, PROEI_NOMBREIMAGEN, USU_ID, PROEI_FECHA) values (?,?,?,?,?,?,?,?,?,?,?) "; consecutivoSQL = " SELECT NVL(MAX(PROEI_CONSECUTIVO),0) " + " FROM COT_PROCESOESTIMG " + " WHERE SUC_ID = '" + sucID + "' " + " AND VIG_ID = '" + vigID + "' " + " AND PROC_ID = '" + padreID + "' " + " AND EPO_ID = '" + secundarioID + "' " + " AND TDO_REFERENCIA = '" + referenciaID + "' " + " AND TDO_ID = '" + documentoID + "' "; } if (consecutivoID.length() <= 0 || consecutivoID.equalsIgnoreCase("999999")) { rs = conn.createStatement() .executeQuery( consecutivoSQL); // Prepara la Sentencia de Consecutivo para ejecutarse if (rs.next()) consecutivo = String.valueOf(rs.getInt(1) + 1); try { rs.close(); rs = null; } catch (Exception e) {; } } else { consecutivo = consecutivoID; } stmt = conn.prepareStatement(sql); // Prepara la Sentencia para ejecutarse // String extension = ""; if (nombrePropuesto.length() > 0) { objFile = new File(path); // Crea el archivo a cargar objInput = new FileInputStream(objFile); // Escribe el archivo en memoria // extension = // objFile.getName().substring(objFile.getName().lastIndexOf(".")+1,objFile.getName().length()); // Extrae la Extension del Archivo } // --- Complementa la sentencia SQL del PreparedStatement int i = 1; setString(stmt, sucID, i++); // SUC_ID setString(stmt, vigID, i++); // VIG_ID setLong(stmt, (Long) ud.pasarLongFormTO(padreID), i++); // PREC_ID/DISC_ID/PROC_ID if (pagina.equalsIgnoreCase("prerequisitodet") || pagina.equalsIgnoreCase("proceso")) setString(stmt, secundarioID, i++); // TPR_ID/EPO_ID setString(stmt, referenciaID, i++); // TDO_REFERENCIA setString(stmt, documentoID, i++); // TDO_ID setLong( stmt, (Long) ud.pasarLongFormTO(consecutivo), i++); // PREDI_CONSECUTIVO/REDII_CONSECUTIVO/PROEI_CONSECUTIVO if (nombrePropuesto.length() > 0) setBinaryStream( stmt, objInput, (int) objFile.length(), i++); // PREDI_IMAGEN/REDII_IMAGEN/PROEI_IMAGEN else { try { stmt.setNull(i++, java.sql.Types.BLOB); } catch (Exception errc) {; } } setString( stmt, nombrePropuesto, i++); // PREDI_NOMBREIMAGEN/REDII_NOMBREIMAGEN/PROEI_NOMBREIMAGEN setString(stmt, usuID, i++); // USU_ID setTimestamp( stmt, UtilidadesDatos.dateToDateHora((Date) ud.pasarFechaFormTO(fecha)), i++); // FECHA stmt.executeUpdate(); objInput.close(); if (objFile.exists()) objFile.delete(); stmt.close(); return "Ok"; } catch (Exception e) { System.out.println("" + e.toString()); return e.toString(); } finally { try { objInput = null; objFile = null; } catch (Exception er) {; } try { stmt.close(); stmt = null; } catch (Exception err) {; } } }
public String consultarImagen( Connection conn, String path, String pagina, String sucID, String vigID, String padreID, String secundarioID, String referenciaID, String documentoID, String consecutivoID) { Vector vRetornoImg = new Vector(1); Statement st = null; ResultSet rs = null; String sql = ""; try { if (consecutivoID.length() <= 0) consecutivoID = "%"; if (pagina.equalsIgnoreCase("prerequisitodet")) { sql = " select PREDI_IMAGEN img, PREDI_NOMBREIMAGEN nameimg" + " from COT_PREREQUISITODETIMG" + " where suc_id = '" + sucID + "' " + " and vig_id = '" + vigID + "'" + " and prec_id = '" + padreID + "'" + " and tpr_id = '" + secundarioID + "'" + " and tdo_referencia = '" + referenciaID + "'" + " and tdo_id = '" + documentoID + "'" + " and predi_consecutivo like '" + consecutivoID + "'"; } if (pagina.equalsIgnoreCase("requisitosdis")) { sql = " select REDII_IMAGEN img, REDII_NOMBREIMAGEN nameimg" + " from COT_REQHABILITANTEDISIMG " + " where suc_id = '" + sucID + "' " + " and vig_id = '" + vigID + "'" + " and disc_id = '" + padreID + "'" + " and tdo_referencia = '" + referenciaID + "'" + " and tdo_id = '" + documentoID + "'"; } if (pagina.equalsIgnoreCase("proceso")) { sql = " select PROEI_IMAGEN img, PROEI_NOMBREIMAGEN nameimg" + " from COT_PROCESOESTIMG " + " where suc_id = '" + sucID + "' " + " and vig_id = '" + vigID + "'" + " and proc_id = '" + padreID + "'" + " and epo_id = '" + secundarioID + "'" + " and tdo_referencia = '" + referenciaID + "'" + " and tdo_id = '" + documentoID + "'" + " and proei_consecutivo like '" + consecutivoID + "'"; } st = conn.createStatement(); rs = st.executeQuery(sql); if (rs.next()) { vRetornoImg.clear(); vRetornoImg.addElement(rs.getBlob("img")); vRetornoImg.addElement(rs.getString("nameimg")); return famhn.upload.central.FileUpload.materializarImagen(path + "/", conn, vRetornoImg); } return "Pendiente"; } catch (Exception e) { System.out.println("" + e.toString()); return e.toString(); } finally { try { rs.close(); rs = null; } catch (Exception er) {; } try { st.close(); st = null; } catch (Exception err) {; } } }