/**
  * Realizar el traslado de informacion de la capa Vista (Form) a la capa modelo (TO)
  *
  * @param objetoForm Par_CiudadForm - Objeto que encapsula los datos del Formulario JSP invocador
  * @return Par_CiudadTO - Objeto de la capa de modelo.
  */
 public Par_CiudadTO cargarInformacion(Par_CiudadForm objetoForm) {
   Par_CiudadTO objetoTO = new Par_CiudadTO();
   UtilidadesDatos ud = new UtilidadesDatos();
   try {
     objetoTO.resetTo();
     /*---------- campos String --------------------*/
     objetoTO.setCiu_Nombre(objetoForm.getCiu_Nombre());
     objetoTO.setCiu_Comentarios(objetoForm.getCiu_Comentarios());
     objetoTO.setCiu_Estado(objetoForm.getCiu_Estado());
     objetoTO.setCiu_Eligezona(objetoForm.getCiu_Eligezona());
     objetoTO.setCiu_Default(objetoForm.getCiu_Default());
     objetoTO.setCiu_Codigoisadg(objetoForm.getCiu_Codigoisadg());
     /*----------------------------------------------------------*/
     /*---------- campos Date --------------------*/
     /*----------------------------------------------------------*/
     /*---------- campos Long --------------------*/
     objetoTO.setCiu_Id(ud.pasarLongFormTO(objetoForm.getCiu_Id()));
     objetoTO.setPais_Id(ud.pasarLongFormTO(objetoForm.getPais_Id()));
     /*----------------------------------------------------------*/
     /*---------- campos Double --------------------*/
     /*--------------------------------------------*/
   } catch (Exception e) {
     errors.add("error usuario", new ActionMessage("error.search.criteria.missing"));
     System.out.println("Error en Par_CiudadDSP.cargarInformacion: " + e.toString());
   }
   return objetoTO;
 }
 /**
  * Realizar una eliminacion de Informacion en la BD.
  *
  * @param mapping ActionMapping - Objeto de mapeo propio de Struts
  * @param form ActionForm - Objeto que encapsula los datos del Formulario JSP invocador
  * @param request HttpServletRequest - Objeto de Clase HttpServletRequest que actua sobre el
  *     formulario JSP Invocador
  * @param response HttpServletResponse - Objeto de Clase HttpServletResponse que actua sobre el
  *     formulario JSP Invocador
  * @throws IOException, ServletException - Excepciones de Tipo IO y de Servlet
  * @return ActionForward - Objeto que indica el forward o siguiente paso.
  */
 public ActionForward eliminar(
     ActionMapping mapping,
     ActionForm form,
     HttpServletRequest request,
     HttpServletResponse response)
     throws IOException, ServletException {
   UsuarioTO objetoTo = new UsuarioTO();
   UsuarioServicio servicio = new UsuarioServicio();
   servicio.objDataSession = DatosSession.poblarDatosSession(request);
   UtilidadesDatos ud = new UtilidadesDatos();
   String nextPage = "";
   try {
     UsuarioForm objetoForm = (UsuarioForm) form;
     if (ud.verificarNivelAcceso(request, moduloPermiso, opcionPermiso, "Eliminar").compareTo("S")
         == 0) {
       objetoTo = cargarInformacion(objetoForm);
       String vresultado = servicio.servicioEliminar(objetoTo);
       nextPage = "eliminar";
       ud.cargarMensajeResultados(request, 0, 0, "");
       if (vresultado.compareTo("Ok") != 0) {
         errors.add("error usuario", new ActionMessage("error.search.criteria.missing"));
         nextPage = "error";
         ud.cargarMensajeResultados(request, 4, 1, vresultado);
       }
     } else {
       nextPage = "error";
       ud.cargarMensajeResultados(request, 1, 2, "");
     }
   } catch (Exception e) {
     errors.add("error usuario", new ActionMessage("error.search.criteria.missing"));
     System.out.println("Error en UsuarioDSP.eliminar: " + e.toString());
     nextPage = "error";
   }
   return mapping.findForward(nextPage);
 }
 /**
  * Setear los valores correspondientes a la clase TO correspondiente.
  *
  * @param rs ResultSet - Objeto ResultSet que contiene informacion de la consulta realizada.
  * @param conn Connection - Objeto Connection que contiene la conexion a la BD.
  */
 public void poblarTO(ResultSet rs, Connection conn) {
   this.reset();
   try {
     this.vaenv_Id = ud.extraerLongResultSet(rs, "vaenv_Id");
     this.medco_Id = ud.extraerLongResultSet(rs, "medco_Id");
     this.vaenv_Peso = ud.extraerLongResultSet(rs, "vaenv_Peso");
     this.vaenv_Valorenvio = ud.extraerLongResultSet(rs, "vaenv_Valorenvio");
     this.vaenv_Observacion =
         String.valueOf(ud.verificarNulo("" + (rs.getString("vaenv_Observacion"))));
     this.medco_Nombre = String.valueOf(ud.verificarNulo("" + (rs.getString("medco_Nombre"))));
   } catch (Exception e) {
     System.out.println("error en Par_ValorenvioDAO.QueryPar_ValorenvioTO.poblarTO: " + e);
   }
 }
 /**
  * Realizar una actualizacion de Informacion en la BD.
  *
  * @param mapping ActionMapping - Objeto de mapeo propio de Struts
  * @param form ActionForm - Objeto que encapsula los datos del Formulario JSP invocador
  * @param request HttpServletRequest - Objeto de Clase HttpServletRequest que actua sobre el
  *     formulario JSP Invocador
  * @param response HttpServletResponse - Objeto de Clase HttpServletResponse que actua sobre el
  *     formulario JSP Invocador
  * @throws IOException, ServletException - Excepciones de Tipo IO y de Servlet
  * @return ActionForward - Objeto que indica el forward o siguiente paso.
  */
 public ActionForward procesoActualizar(
     ActionMapping mapping,
     ActionForm form,
     HttpServletRequest request,
     HttpServletResponse response,
     boolean postConsulta)
     throws IOException, ServletException {
   Par_CiudadTO objetoTo = new Par_CiudadTO();
   Par_CiudadServicio servicio = new Par_CiudadServicio();
   servicio.objDataSession = DatosSession.poblarDatosSession(request);
   UtilidadesDatos ud = new UtilidadesDatos();
   String nextPage = "";
   try {
     Par_CiudadForm objetoForm = (Par_CiudadForm) form;
     objetoTo = cargarInformacion(objetoForm);
     if (ud.verificarNivelAcceso(request, moduloPermiso, opcionPermiso, "Actualizar")
             .compareTo("S")
         == 0) {
       String vresultado = servicio.servicioActualizar(objetoTo);
       nextPage = "actualizar";
       ud.cargarMensajeResultados(request, 0, 0, "");
       if (vresultado.compareTo("Ok") != 0) {
         errors.add("error usuario", new ActionMessage("error.search.criteria.missing"));
         nextPage = "error";
         ud.cargarMensajeResultados(request, 3, 1, vresultado);
       } else {
         if (postConsulta) {
           objetoForm.reset(mapping, request);
           objetoForm.setCiu_Id(String.valueOf(objetoTo.getCiu_Id()));
           objetoTo.resetTo();
           return consultarMensaje(mapping, form, request, response, "consultarActualizacion", 1);
         }
       }
     } else {
       nextPage = "error";
       ud.cargarMensajeResultados(request, 1, 2, "");
     }
   } catch (Exception e) {
     errors.add("error usuario", new ActionMessage("error.search.criteria.missing"));
     System.out.println("Error en Par_CiudadDSP.actualizar: " + e.toString());
     nextPage = "error";
   }
   return mapping.findForward(nextPage);
 }
 /**
  * Setear los valores correspondientes a la clase TO correspondiente.
  *
  * @param rs ResultSet - Objeto ResultSet que contiene informacion de la consulta realizada.
  * @param conn Connection - Objeto Connection que contiene la conexion a la BD.
  */
 public void poblarTO(ResultSet rs, Connection conn) {
   this.reset();
   try {
     this.mpio_Id = ud.extraerLongResultSet(rs, "mpio_Id");
     this.mpio_Nombre = String.valueOf(ud.verificarNulo("" + (rs.getString("mpio_Nombre"))));
     this.mpio_Comentarios =
         String.valueOf(ud.verificarNulo("" + (rs.getString("mpio_Comentarios"))));
     this.ciu_Id = ud.extraerLongResultSet(rs, "ciu_Id");
     this.ciu_Nombre = String.valueOf(ud.verificarNulo("" + (rs.getString("ciu_Nombre"))));
     this.pais_Id = ud.extraerLongResultSet(rs, "pais_Id");
     this.mpio_Estado = String.valueOf(ud.verificarNulo("" + (rs.getString("mpio_Estado"))));
     this.mpio_Eligezona =
         String.valueOf(ud.verificarNulo("" + (rs.getString("mpio_Eligezona"))));
     this.mpio_Default = String.valueOf(ud.verificarNulo("" + (rs.getString("mpio_Default"))));
     this.pais_Nombre = String.valueOf(ud.verificarNulo("" + (rs.getString("pais_Nombre"))));
   } catch (Exception e) {
     System.out.println("error en Par_MunicipioDAO.QueryPar_MunicipioTO.poblarTO: " + e);
   }
 }
  /**
   * Funcion que se utiliza para cargar los filtros en el Hashtable para la posterior conformacion
   * del Where en las consultas
   *
   * @param parametro Hashtable - Objeto que almacenara la informacion de Filtros
   * @param objetoTo Sia_NoticiaTO - Objeto TO que viene de la capa de Control
   * @param opcion int - Indicador que se utiliza para determinar si se incluyen o no filtros
   *     manuales
   * @param pAdicionales Hashtable - Hashtable con la informaicon de Filtros Manuales
   * @return Hashtable - Objeto con los datos paa los filtros utilizados en las consultas
   */
  public Hashtable<String, Object> cargaFiltro(
      Sia_NoticiaTO objetoTo, int opcion, Hashtable<String, Object> pAdicionales) {
    Hashtable<String, Object> parametro = new Hashtable<String, Object>();
    if (!String.valueOf(objetoTo.getNot_Id()).equalsIgnoreCase("null")
        && !String.valueOf(objetoTo.getNot_Id()).equalsIgnoreCase("")) {
      parametro.put("_N_Sia_Noticia.not_id", objetoTo.getNot_Id());
    }

    if (!String.valueOf(objetoTo.getNot_Titulo()).equalsIgnoreCase("null")
        && !String.valueOf(objetoTo.getNot_Titulo()).equalsIgnoreCase("")) {
      parametro.put("_S_Sia_Noticia.not_titulo", objetoTo.getNot_Titulo());
    }

    if (!String.valueOf(objetoTo.getNot_Contenido()).equalsIgnoreCase("null")
        && !String.valueOf(objetoTo.getNot_Contenido()).equalsIgnoreCase("")) {
      parametro.put("_S_Sia_Noticia.not_contenido", objetoTo.getNot_Contenido());
    }

    if (!String.valueOf(objetoTo.getNot_Imagen()).equalsIgnoreCase("null")
        && !String.valueOf(objetoTo.getNot_Imagen()).equalsIgnoreCase("")) {
      parametro.put("_S_Sia_Noticia.not_imagen", objetoTo.getNot_Imagen());
    }

    if (!String.valueOf(objetoTo.getNot_Fecha()).equalsIgnoreCase("null")
        && !String.valueOf(objetoTo.getNot_Fecha()).equalsIgnoreCase("")) {
      parametro.put("_D_Sia_Noticia.not_fecha", objetoTo.getNot_Fecha());
    }

    if (!String.valueOf(objetoTo.getNot_Estado()).equalsIgnoreCase("null")
        && !String.valueOf(objetoTo.getNot_Estado()).equalsIgnoreCase("")) {
      parametro.put("_S_Sia_Noticia.not_estado", objetoTo.getNot_Estado());
    }

    if (!String.valueOf(objetoTo.getFunc_Cedula()).equalsIgnoreCase("null")
        && !String.valueOf(objetoTo.getFunc_Cedula()).equalsIgnoreCase("")) {
      parametro.put("_S_Sia_Noticia.func_cedula", objetoTo.getFunc_Cedula());
    }

    if (opcion > 0) {
      ud.adicionarHashtableToHashtable(parametro, pAdicionales);
    }
    return parametro;
  }
    /**
     * Setear los valores correspondientes a la clase TO correspondiente.
     *
     * @param rs ResultSet - Objeto ResultSet que contiene informacion de la consulta realizada.
     * @param conn Connection - Objeto Connection que contiene la conexion a la BD.
     */
    public void poblarTO(ResultSet rs, Connection conn) {
      this.reset();
      try {
        this.ldap_id = ud.extraerLongResultSet(rs, "ldap_id");
        this.ldap_ip = String.valueOf(ud.verificarNulo("" + (rs.getString("ldap_ip"))));
        this.ldap_puerto = String.valueOf(ud.verificarNulo("" + (rs.getString("ldap_puerto"))));
        this.ldap_basedn = String.valueOf(ud.verificarNulo("" + (rs.getString("ldap_basedn"))));
        this.ldap_usuario = String.valueOf(ud.verificarNulo("" + (rs.getString("ldap_usuario"))));
        this.ldap_administrador =
            String.valueOf(ud.verificarNulo("" + (rs.getString("ldap_administrador"))));
        this.ldap_password = String.valueOf(ud.verificarNulo("" + (rs.getString("ldap_password"))));

      } catch (Exception e) {
        System.out.println("error en Par_LdapDAO.QueryPar_LdapTO.poblarTO: " + e);
      }
    }
  /**
   * Funcion que se utiliza para cargar los filtros en el Hashtable para la posterior conformacion
   * del Where en las consultas
   *
   * @param parametro Hashtable - Objeto que almacenara la informacion de Filtros
   * @param objetoTo Par_MacroprocesoTO - Objeto TO que viene de la capa de Control
   * @param opcion int - Indicador que se utiliza para determinar si se incluyen o no filtros
   *     manuales
   * @param pAdicionales Hashtable - Hashtable con la informaicon de Filtros Manuales
   * @return Hashtable - Objeto con los datos paa los filtros utilizados en las consultas
   */
  public Hashtable<String, Object> cargaFiltro(
      Par_MacroprocesoTO objetoTo, int opcion, Hashtable<String, Object> pAdicionales) {
    Hashtable<String, Object> parametro = new Hashtable<String, Object>();
    if (!String.valueOf(objetoTo.getMacrop_Id()).equalsIgnoreCase("null")
        && !String.valueOf(objetoTo.getMacrop_Id()).equalsIgnoreCase(""))
      parametro.put("_N_SPar_Macroproceso.macrop_id", objetoTo.getMacrop_Id());

    if (!String.valueOf(objetoTo.getMacrop_Nombre()).equalsIgnoreCase("null")
        && !String.valueOf(objetoTo.getMacrop_Nombre()).equalsIgnoreCase(""))
      parametro.put("_S_SPar_Macroproceso.macrop_nombre", objetoTo.getMacrop_Nombre());

    if (!String.valueOf(objetoTo.getMacrop_Comentarios()).equalsIgnoreCase("null")
        && !String.valueOf(objetoTo.getMacrop_Comentarios()).equalsIgnoreCase(""))
      parametro.put("_S_SPar_Macroproceso.macrop_comentarios", objetoTo.getMacrop_Comentarios());

    if (!String.valueOf(objetoTo.getMacrop_Estado()).equalsIgnoreCase("null")
        && !String.valueOf(objetoTo.getMacrop_Estado()).equalsIgnoreCase(""))
      parametro.put("_S_SPar_Macroproceso.macrop_estado", objetoTo.getMacrop_Estado());

    if (opcion > 0) ud.adicionarHashtableToHashtable(parametro, pAdicionales);
    return parametro;
  }
  /**
   * Funcion que se utiliza para cargar los filtros en el Hashtable para la posterior conformacion
   * del Where en las consultas
   *
   * @param parametro Hashtable - Objeto que almacenara la informacion de Filtros
   * @param objetoTo Par_DisposicionTO - Objeto TO que viene de la capa de Control
   * @param opcion int - Indicador que se utiliza para determinar si se incluyen o no filtros
   *     manuales
   * @param pAdicionales Hashtable - Hashtable con la informaicon de Filtros Manuales
   * @return Hashtable - Objeto con los datos paa los filtros utilizados en las consultas
   */
  public Hashtable<String, Object> cargaFiltro(
      Par_DisposicionTO objetoTo, int opcion, Hashtable<String, Object> pAdicionales) {
    Hashtable<String, Object> parametro = new Hashtable<String, Object>();
    if (!String.valueOf(objetoTo.getDisp_Id()).equalsIgnoreCase("null")
        && !String.valueOf(objetoTo.getDisp_Id()).equalsIgnoreCase("")) {
      parametro.put("_N_Par_Disposicion.disp_id", objetoTo.getDisp_Id());
    }

    if (!String.valueOf(objetoTo.getDisp_Nombre()).equalsIgnoreCase("null")
        && !String.valueOf(objetoTo.getDisp_Nombre()).equalsIgnoreCase("")) {
      parametro.put("_S_Par_Disposicion.disp_nombre", objetoTo.getDisp_Nombre());
    }

    if (!String.valueOf(objetoTo.getDisp_Descripcion()).equalsIgnoreCase("null")
        && !String.valueOf(objetoTo.getDisp_Descripcion()).equalsIgnoreCase("")) {
      parametro.put("_S_Par_Disposicion.disp_descripcion", objetoTo.getDisp_Descripcion());
    }

    if (opcion > 0) {
      ud.adicionarHashtableToHashtable(parametro, pAdicionales);
    }
    return parametro;
  }
  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) {;
      }
    }
  }