Exemplo n.º 1
0
  public ActionForward modificarPermiso(
      ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response)
      throws Exception {
    String dia, rutPersona, horaInicial, horaFinal, minutoInicial, minutoFinal, id;
    int oficina, permiso;

    logger.info("Modificando permisos");
    DynaActionForm dynamic = (DynaActionForm) form;

    rutPersona = dynamic.getString("rutPersona");
    dia = dynamic.getString("diaIngreso");

    horaInicial = dynamic.getString("horaInicial");
    minutoInicial = dynamic.getString("minutoInicial");

    horaFinal = dynamic.getString("horaFinal");
    minutoFinal = dynamic.getString("minutoFinal");

    permiso = (Integer) dynamic.get("idPermiso");
    oficina = (Integer) dynamic.get("idOficina");

    id = dynamic.getString("id");

    int hora = Integer.parseInt(horaInicial + minutoInicial);
    int hora_2 = Integer.parseInt(horaFinal + minutoFinal);
    MuniReglaIngreso muni = new MuniReglaIngreso();

    muni.setRutPersona(rutPersona);
    muni.setDiaIngreso(dia);
    muni.setIdOficina(oficina);
    muni.setHoraInicial(hora);
    muni.setHoraFinal(hora_2);
    muni.setIdPermiso(permiso);

    MuniReglaIngresoDAO muniDao = new MuniReglaIngresoDAO();
    muniDao.update(muni);

    if (id.equals("1")) {
      logger.info("redireccionando a pagina de usuario");
      response.sendRedirect("/AdminCard/ADM6880001A.do?method=findUserById&id=" + rutPersona);
    }

    return mapping.findForward("Success");
  }
Exemplo n.º 2
0
  public ActionForward agregarPermisoUsuario(
      ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response)
      throws Exception {

    System.out.println("Agregar permiso usuario");
    String dia, rutPersona, horaInicial, horaFinal, minutoInicial, minutoFinal;
    int oficina, permiso;
    DynaActionForm dynamic = (DynaActionForm) form;

    rutPersona = dynamic.getString("rutPersona");
    dia = dynamic.getString("diaIngreso");

    horaInicial = dynamic.getString("horaInicial");
    minutoInicial = dynamic.getString("minutoInicial");

    horaFinal = dynamic.getString("horaFinal");
    minutoFinal = dynamic.getString("minutoFinal");

    permiso = (Integer) dynamic.get("idPermiso");
    oficina = (Integer) dynamic.get("idOficina");

    if (Integer.parseInt(horaInicial) > Integer.parseInt(horaFinal)) {

      ActionErrors errors = new ActionErrors();
      errors.add("errorHoras", new ActionMessage("error.horas.asignar"));
      saveErrors(request, errors);
      return mapping.findForward("FailureValidate");
    }

    MuniPersonasDAO muniPersonaDAO = new MuniPersonasDAO();
    if (muniPersonaDAO.findByCriteriaObject(
            MuniPersonas.class, Restrictions.eq("rutPersona", rutPersona))
        == null) {

      ActionErrors errors = new ActionErrors();
      errors.add("errorRut", new ActionMessage("error.rut"));
      saveErrors(request, errors);

      return mapping.findForward("FailureValidate");
    }

    int hora = Integer.parseInt(horaInicial + minutoInicial);
    int hora_2 = Integer.parseInt(horaFinal + minutoFinal);

    MuniReglaIngresoDAO muniReglaIngresoDAO = new MuniReglaIngresoDAO();

    // Veo si la regla se encuentra entre las horas previamente establecidas
    MuniReglaIngreso muniIngreso =
        (MuniReglaIngreso)
            muniReglaIngresoDAO.findByCriteriaObject(
                MuniReglaIngreso.class,
                Restrictions.eq("diaIngreso", dia),
                Restrictions.eq("idOficina", oficina),
                Restrictions.eq("rutPersona", rutPersona),
                Restrictions.lt("horaInicial", hora),
                Restrictions.gt("horaFinal", hora));

    MuniReglaIngreso muniSalida =
        (MuniReglaIngreso)
            muniReglaIngresoDAO.findByCriteriaObject(
                MuniReglaIngreso.class,
                Restrictions.eq("diaIngreso", dia),
                Restrictions.eq("idOficina", oficina),
                Restrictions.eq("rutPersona", rutPersona),
                Restrictions.lt("horaInicial", hora_2),
                Restrictions.gt("horaFinal", hora_2));

    MuniReglaIngreso muni = new MuniReglaIngreso();

    // Compruebo si corresponde al mismo registro, comparando la hora de
    // entrada en ambos registros.
    // if (muniSalida.getHoraInicial() != muniIngreso.getHoraInicial()) {
    // System.out.println("Distinto clase de registro...");
    // } else {

    if (muniIngreso != null && muniSalida != null) {
      // En esta sección se ve si existe entre las horas

      int horaF = muniIngreso.getHoraFinal();

      muniIngreso.setHoraFinal(hora);
      muniReglaIngresoDAO.update(muniIngreso);

      muniIngreso.setHoraInicial(hora);
      muniIngreso.setHoraFinal(hora_2);
      muniReglaIngresoDAO.create(muniIngreso);

      muniIngreso.setHoraInicial(hora_2);
      muniIngreso.setHoraFinal(horaF);
      muniReglaIngresoDAO.create(muniIngreso);
      logger.info("Creada la nueva configuración horaria");
    } else if (muniIngreso != null) {
      muniIngreso.setHoraFinal(hora);
      muniReglaIngresoDAO.update(muniIngreso);

      muniIngreso.setHoraInicial(hora);
      muniIngreso.setHoraFinal(hora_2);
      muniReglaIngresoDAO.create(muniIngreso);

    } else {

      if (muniSalida == null) {

        muniReglaIngresoDAO.deleteByCriteriaObject(
            Restrictions.eq("diaIngreso", dia),
            Restrictions.eq("idOficina", oficina),
            Restrictions.eq("rutPersona", rutPersona),
            Restrictions.lt("horaInicial", hora_2),
            Restrictions.gt("horaFinal", hora));

        muni.setHoraInicial(hora);
        muni.setHoraFinal(hora_2);
        muni.setRutPersona(rutPersona);
        muni.setDiaIngreso(dia);
        muni.setIdOficina(oficina);
        muni.setIdPermiso(permiso);
        muniReglaIngresoDAO.create(muni);
        return mapping.findForward("Success");
      }

      int horaF = muniSalida.getHoraFinal();
      logger.info("Agregado nuevo registro");
      muniReglaIngresoDAO.delete(muniSalida);

      muniSalida.setHoraInicial(hora);
      muniSalida.setHoraFinal(hora_2);
      muniReglaIngresoDAO.update(muniSalida);

      muniSalida.setHoraInicial(hora_2);
      muniSalida.setHoraFinal(horaF);
      muniReglaIngresoDAO.create(muniSalida);
    }
    // }
    return mapping.findForward("Success");
  }