Beispiel #1
0
  // ZACK
  // Función que crea el formulario
  // el String de retorno se muentra como mensaje en la vista.
  @Override
  public String crearFormulario(
      String ruc,
      String rit,
      int nue,
      int nParte,
      String cargo,
      String delito,
      String direccionSS,
      String lugar,
      String unidad,
      String levantadoPor,
      String rut,
      Date fecha,
      String observacion,
      String descripcion,
      Usuario digitador) {

    // Verificando nue
    if (nue > 0) {
      // Verificando si existe un formulario con ese nue
      Formulario verificar = formularioFacade.findByNue(nue);
      if (verificar != null) {
        return "Formulario existente";
      }
    } else {
      return "Nue inválido";
    }

    // Verificando rit y ruc
    // checkeo ruc y rit
    if (!checkRucOrRit(ruc) || !checkRucOrRit(rit)) {
      logger.exiting(this.getClass().getName(), "crearFormulario", "Error con RUC o RIT");
      return "Error con RUC o RIT.";
    }

    // Verificando que los campos sean string
    if (!soloCaracteres(cargo)
        || !soloCaracteres(delito)
        || !soloCaracteres(unidad)
        || !soloCaracteres(levantadoPor)
        || !val(rut)) {

      return "Campos erróneos.";
    }

    // ruc - rit- nparte - obs y descripcion no son obligatorios
    Usuario usuarioIngresar = new Usuario();
    // Verificando en la base de datos si existe el usuario con ese rut
    usuarioIngresar = usuarioFacade.findByRUN(rut);

    if (usuarioIngresar == null) {
      // quiero decir que no existe
      usuarioIngresar = crearExterno1(cargo, unidad, levantadoPor, rut);

      if (usuarioIngresar == null) {
        return "No se pudo crear el nuevo usuario";
      }
    } else // Existe, y hay que verificar que los datos ingresador concuerdan con los que hay en la
           // base de datos
    if (!usuarioIngresar.getCargoidCargo().getNombreCargo().equals(cargo)
        || !usuarioIngresar.getUnidad().equals(unidad)
        || !usuarioIngresar.getNombreUsuario().equals(levantadoPor)) {
      return "Datos nos coinciden con el rut";
    }

    Formulario nuevoFormulario = new Formulario();

    nuevoFormulario.setDireccionFotografia("C:");
    nuevoFormulario.setFechaIngreso(new Date(System.currentTimeMillis()));
    nuevoFormulario.setFechaOcurrido(fecha);
    nuevoFormulario.setUltimaEdicion(nuevoFormulario.getFechaIngreso());
    nuevoFormulario.setUsuarioidUsuario(digitador); // Usuario digitador
    nuevoFormulario.setUsuarioidUsuario1(usuarioIngresar); // Usuario inicia
    nuevoFormulario.setDescripcionEspecieFormulario(descripcion);
    nuevoFormulario.setObservaciones(observacion);
    nuevoFormulario.setDelitoRef(delito);
    nuevoFormulario.setNue(nue);
    nuevoFormulario.setNumeroParte(nParte);
    nuevoFormulario.setDelitoRef(delito);
    nuevoFormulario.setRuc(ruc);
    nuevoFormulario.setRit(rit);
    nuevoFormulario.setLugarLevantamiento(lugar);
    nuevoFormulario.setDireccionSS(direccionSS);
    nuevoFormulario.setBloqueado(false);

    logger.finest("se inicia la persistencia del nuevo formulario");
    formularioFacade.create(nuevoFormulario);
    logger.finest("se finaliza la persistencia del nuevo formulario");
    logger.exiting(this.getClass().getName(), "crearFormulario", true);
    return "Exito";
  }
Beispiel #2
0
  @Override
  public String crearTraslado(
      Formulario formulario,
      String usuarioEntrega,
      String usuarioEntregaUnidad,
      String usuarioEntregaCargo,
      String usuarioEntregaRut,
      String usuarioRecibe,
      String usuarioRecibeUnidad,
      String usuarioRecibeCargo,
      String usuarioRecibeRut,
      Date fechaT,
      String observaciones,
      String motivo,
      Usuario uSesion) {
    logger.setLevel(Level.ALL);
    logger.entering(this.getClass().getName(), "crearTraslado");

    if (formulario == null) {
      logger.exiting(this.getClass().getName(), "crearTraslado", "Formulario nulo");
      return "Imposible agregar traslado, ocurrió un problema al cargar el formulario, por favor intente más tarde.";
    }

    // verificamos que el formulario no se encuentre bloqueado.
    if (formulario.getBloqueado()) {
      logger.exiting(this.getClass().getName(), "crearTraslado", "Formulario bloqueado");
      return "Imposible agregar traslado, esta cadena de custodia se encuentra cerrada.";
    }

    if (usuarioEntrega == null
        || usuarioEntregaUnidad == null
        || usuarioEntregaCargo == null
        || usuarioEntregaRut == null
        || usuarioRecibe == null
        || usuarioRecibeUnidad == null
        || usuarioRecibeCargo == null
        || usuarioRecibeRut == null
        || motivo == null) {
      logger.exiting(this.getClass().getName(), "crearTraslado", "Campos null");
      return "Faltan campos";
    }

    // Validando usuario que entrega
    if (!val(usuarioEntregaRut)
        || !soloCaracteres(usuarioEntrega)
        || !soloCaracteres(usuarioEntregaUnidad)
        || !soloCaracteres(usuarioEntregaCargo)) {
      logger.exiting(
          this.getClass().getName(), "crearTraslado", "Error verificacion datos usuario entrega");
      return "Error datos usuario entrega";
    }

    // Validando usuario que recibe
    if (!val(usuarioRecibeRut)
        || !soloCaracteres(usuarioRecibe)
        || !soloCaracteres(usuarioRecibeUnidad)
        || !soloCaracteres(usuarioRecibeCargo)) {
      logger.exiting(
          this.getClass().getName(), "crearTraslado", "Error verificacion datos usuario recibe");
      return "Error datos usuario recibe";
    }

    // Busco todos los traslados del formulario
    List<Traslado> trasladoList = traslados(formulario);

    // Comparando fechas entre traslados
    if (!trasladoList.isEmpty()
        && !compareFechas(fechaT, trasladoList.get(trasladoList.size() - 1).getFechaEntrega())) {
      logger.exiting(this.getClass().getName(), "crearTraslado", "Error con Fecha");
      return "Error, la fecha del nuevo traslado debe ser igual o posterior a la ultima fecha de traslado.";
    }

    // Comparando fecha entre traslado y formulario
    if (!compareFechas(fechaT, formulario.getFechaOcurrido())) {
      logger.exiting(this.getClass().getName(), "crearTraslado", "Error con Fecha");
      return "Error, la fecha de traslado debe ser igual o posterior a la fecha del formulario.";
    }

    // traer usuarios, motivo
    TipoMotivo motivoP = tipoMotivoFacade.findByTipoMotivo(motivo);
    if (motivoP == null) {
      logger.exiting(this.getClass().getName(), "crearTraslado", "Error con Motivo de Traslado");
      return "Error, se requiere especificar Motivo del traslado.";
    }

    Usuario usuarioEntregaP = null;
    Usuario usuarioRecibeP = null;

    // Verificando usuario Entrega
    usuarioEntregaP = usuarioFacade.findByRUN(usuarioEntregaRut);

    if (usuarioEntregaP == null) {
      usuarioEntregaP =
          crearExterno1(
              usuarioEntregaCargo, usuarioEntregaUnidad, usuarioEntrega, usuarioEntregaRut);
      if (usuarioEntregaP == null) {
        logger.exiting(
            this.getClass().getName(), "crearTraslado", "Error con creacion Usuario Entrega");
        return "Error con datos de la persona que entrega.";
      }
    } else if (!usuarioEntregaP.getNombreUsuario().equals(usuarioEntrega)
        || !usuarioEntregaP.getUnidad().equals(usuarioEntregaUnidad)
        || !usuarioEntregaP.getCargoidCargo().getNombreCargo().equals(usuarioEntregaCargo)) {
      logger.exiting(
          this.getClass().getName(), "crearTraslado", "Error con verificacion Usuario Entrega");
      return "Datos no coinciden con el rut ingresado";
    }
    // Verificando usuario Recibe
    usuarioRecibeP = usuarioFacade.findByRUN(usuarioRecibeRut);
    if (usuarioRecibeP == null) {
      usuarioRecibeP =
          crearExterno1(usuarioRecibeCargo, usuarioRecibeUnidad, usuarioRecibe, usuarioRecibeRut);
      if (usuarioRecibeP == null) {
        logger.exiting(
            this.getClass().getName(), "crearTraslado", "Error con creacion usuario Recibe");
        return "Error con datos de la persona que recibe.";
      }
    } else if (!usuarioRecibeP.getNombreUsuario().equals(usuarioRecibe)
        || !usuarioRecibeP.getUnidad().equals(usuarioRecibeUnidad)
        || !usuarioRecibeP.getCargoidCargo().getNombreCargo().equals(usuarioRecibeCargo)) {
      logger.exiting(
          this.getClass().getName(), "crearTraslado", "Error con verificacion usuario Recibe");
      return "Datos no corresponden al rut";
    }

    // verificando que usuario recibe sea distinto del usuario que entrega
    if (usuarioEntregaP.equals(usuarioRecibeP)) { // si se trata del mismo usuario
      logger.exiting(
          this.getClass().getName(), "crearTraslado", "Usuario Entrega y Recibe son el mismo");
      return "El usuario que recibe la cadena de custodia debe ser distinto al usuario que la entrega.";
    }

    // Creando traslado
    Traslado nuevoTraslado = new Traslado();
    nuevoTraslado.setFechaEntrega(fechaT);
    nuevoTraslado.setFormularioNUE(formulario);
    nuevoTraslado.setObservaciones(observaciones);
    nuevoTraslado.setTipoMotivoidMotivo(motivoP);
    nuevoTraslado.setUsuarioidUsuario(usuarioRecibeP);
    nuevoTraslado.setUsuarioidUsuario1(usuarioEntregaP);

    logger.info("se inicia insercion del nuevo traslado");
    trasladoFacade.create(nuevoTraslado);
    logger.info("se finaliza insercion del nuevo traslado");

    // verificamos si se se trata de un peritaje, lo cual finaliza la cc.
    if (nuevoTraslado.getTipoMotivoidMotivo().getTipoMotivo().equals("Peritaje")) {
      if (uSesion.getCargoidCargo().getNombreCargo().equals("Tecnico")
          || uSesion.getCargoidCargo().getNombreCargo().equals("Perito")) {
        logger.info("se realiza peritaje, por tanto se finaliza la cc.");

        formulario.setBloqueado(true);
        logger.info("se inicia la edición del formulario para bloquearlo");
        formularioFacade.edit(formulario);
        logger.info("se finaliza la edición del formulario para bloquearlo");
      }
    }

    logger.exiting(this.getClass().getName(), "crearTraslado", "Exito");
    return "Exito";
  }