示例#1
0
        public IActionResult ColaboradorPorId(int id)
        {
            try
            {
                AsignacionRaci asignacion = AsignacionRaciDAO.getAsignacionPorRolTarea(id, 5, "r", null);
                asignacion.colaboradors = ColaboradorDAO.getColaborador(asignacion.colaboradorid);

                if (asignacion != null && asignacion.colaboradors != null)
                {
                    stcolaborador temp = new stcolaborador();
                    temp.id        = asignacion.colaboradors.id;
                    temp.pnombre   = asignacion.colaboradors.pnombre;
                    temp.snombre   = asignacion.colaboradors.snombre;
                    temp.papellido = asignacion.colaboradors.papellido;
                    temp.sapellido = asignacion.colaboradors.sapellido;
                    temp.cui       = asignacion.colaboradors.cui;
                    temp.usuario   = asignacion.colaboradors.usuariousuario;

                    asignacion.colaboradors.unidadEjecutoras = UnidadEjecutoraDAO.getUnidadEjecutora(asignacion.colaboradors.ejercicio, asignacion.colaboradors.entidad ?? default(int), asignacion.colaboradors.ueunidadEjecutora);

                    temp.ueunidadEjecutora     = asignacion.colaboradors.unidadEjecutoras != null ? asignacion.colaboradors.unidadEjecutoras.unidadEjecutora : default(int);
                    temp.unidadejecutoranombre = asignacion.colaboradors.unidadEjecutoras != null ? asignacion.colaboradors.unidadEjecutoras.nombre : null;
                    temp.ueunidadEjecutora     = asignacion.colaboradors.unidadEjecutoras.unidadEjecutora;
                    temp.entidad = asignacion.colaboradors.unidadEjecutoras != null ? asignacion.colaboradors.unidadEjecutoras.entidadentidad : default(int);

                    asignacion.colaboradors.unidadEjecutoras.entidads = EntidadDAO.getEntidad(asignacion.colaboradors.unidadEjecutoras.entidadentidad, asignacion.colaboradors.unidadEjecutoras.ejercicio);

                    temp.entidadnombre = asignacion.colaboradors.unidadEjecutoras.entidads != null ? asignacion.colaboradors.unidadEjecutoras.entidads.nombre : null;
                    temp.ejercicio     = asignacion.colaboradors.unidadEjecutoras != null ? asignacion.colaboradors.unidadEjecutoras.ejercicio : default(int);

                    temp.usuarioCreo        = asignacion.colaboradors.usuarioCreo;
                    temp.usuarioActualizo   = asignacion.colaboradors.usuarioActualizo;
                    temp.fechaCreacion      = asignacion.colaboradors.fechaCreacion.ToString("dd/MM/yyyy H:mm:ss");
                    temp.fechaActualizacion = asignacion.colaboradors.fechaActualizacion != null?asignacion.colaboradors.fechaActualizacion.Value.ToString("dd/MM/yyyy H:mm:ss") : null;

                    temp.nombreCompleto = String.Join(" ", temp.pnombre,
                                                      temp.snombre != null ? temp.snombre : "",
                                                      temp.papellido != null ? temp.papellido : "",
                                                      temp.sapellido != null ? temp.sapellido : "");

                    return(Ok(new { success = true, colaborador = temp }));
                }
                else
                {
                    return(Ok(new { success = false }));
                }
            }
            catch (Exception e)
            {
                CLogger.write("7", "ColaboradorController.class", e);
                return(BadRequest(500));
            }
        }
        public static bool EliminarTotalAsignacion(AsignacionRaci asignacion)
        {
            bool resultado = false;

            try
            {
                using (DbConnection db = new OracleContext().getConnection())
                {
                    int eliminado = db.Execute("DELETE FROM asignacion_raci WHERE id = :id", new { id = asignacion.id });

                    resultado = (eliminado > 0) ? true : false;
                }
            }
            catch (Exception ex)
            {
                CLogger.write("7", "AsignacionRaciDAO.class", ex);
            }

            return(resultado);
        }
示例#3
0
        /*
         * public static List<AsignacionRaci> getAsignacionesRaci(Integer objetoId, int objetoTipo, String lineaBase){
         *      List<AsignacionRaci> ret = new ArrayList<AsignacionRaci>();
         *      Session session = CHibernateSession.getSessionFactory().openSession();
         *      try{
         *              String query = String.join(" ", "select a.* ",
         *                                                                              "from sipro_history.asignacion_raci a ",
         *                                                                              "where a.estado = 1 ",
         *                                                                              "and a.objeto_id = :objId ",
         *                                                                              "and a.objeto_tipo  = :objTipo ",
         *                                                                              lineaBase != null ? "and a.linea_base like '%" + lineaBase + "%'" : "and a.actual=1");
         *
         *              Query<AsignacionRaci> criteria = session.createNativeQuery(query, AsignacionRaci.class);
         *              criteria.setParameter("objId", objetoId);
         *              criteria.setParameter("objTipo", objetoTipo);
         *              ret = criteria.getResultList();
         *      }
         *      catch(Throwable e){
         *              CLogger.write("1", AsignacionRaciDAO.class, e);
         *      }
         *      finally{
         *              session.close();
         *      }
         *      return ret;
         * }
         *
         * public static List<Colaborador> getColaboradoresPorProyecto(Integer proyectoId, String lineaBase){
         *      List<Colaborador> ret = new ArrayList<Colaborador>();
         *      Session session = CHibernateSession.getSessionFactory().openSession();
         *      try{
         *              String query = String.join(" ", "select distinct c.*",
         *                              "FROM sipro_history.asignacion_raci ar",
         *                              "inner join sipro_history.colaborador c on c.id=ar.colaboradorid",
         *                              "where ar.objeto_tipo = 5",
         *                              lineaBase != null ? "and ar.linea_base= like '%" + lineaBase + "%'" : "and ar.actual=1",
         *                              "and ar.estado=1",
         *                              "and ar.objeto_id in (",
         *                                      "select a.id",
         *                                      "from sipro_history.actividad a",
         *                                      "where a.estado = 1",
         *                                      "and a.treePath like '"+(10000000+proyectoId)+"%'",
         *                                      lineaBase != null ? "and a.linea_base like '%" + lineaBase + "%'" : "and a.actual=1",
         *                              ")");
         *
         *              Query<Colaborador> criteria = session.createNativeQuery(query, Colaborador.class);
         *
         *              ret = criteria.getResultList();
         *      }
         *      catch(Throwable e){
         *              CLogger.write("2", AsignacionRaciDAO.class, e);
         *      }
         *      finally{
         *              session.close();
         *      }
         *      return ret;
         * }*/

        public static AsignacionRaci getAsignacionPorRolTarea(int objetoId, int objetoTipo, String rol, String lineaBase)
        {
            AsignacionRaci ret = null;

            try
            {
                String query = "";
                if (lineaBase != null)
                {
                    using (DbConnection db = new OracleContext().getConnectionHistory())
                    {
                        query = String.Join(" ", "SELECT a.* FROM asignacion_raci a",
                                            "WHERE a.objeto_id=:objetoId",
                                            "AND a.objeto_tipo=:objetoTipo",
                                            "AND LOWER(a.rol_raci)=:rol",
                                            "AND a.estado=1",
                                            "AND a.linea_base LIKE '%" + lineaBase + "%'");

                        ret = db.QueryFirstOrDefault <AsignacionRaci>(query, new { objetoId = objetoId, objetoTipo = objetoTipo, rol = rol });
                    }
                }
                else
                {
                    using (DbConnection db = new OracleContext().getConnection())
                    {
                        query = String.Join(" ", "SELECT a.* FROM asignacion_raci a",
                                            "WHERE a.objeto_id=:id",
                                            "AND a.objeto_tipo=:objetoTipo",
                                            "AND LOWER(a.rol_raci)=:rol",
                                            "AND a.estado=1");

                        ret = db.QueryFirstOrDefault <AsignacionRaci>(query, new { objetoId = objetoId, objetoTipo = objetoTipo, rol = rol.ToLower() });
                    }
                }
            }
            catch (Exception e)
            {
                CLogger.write("3", "AsignacionRaciDAO.class", e);
            }
            return(ret);
        }
        public static bool GuardarAsignacion(AsignacionRaci asignacion)
        {
            bool resultado = false;

            try
            {
                using (DbConnection db = new OracleContext().getConnection())
                {
                    int existe = db.ExecuteScalar <int>("SELECT COUNT (*) FROM asignacion_raci WHERE id= :id", new
                    {
                        asignacion.id
                    });

                    if (existe > 0)
                    {
                        int guardado = db.Execute("UPDATE asignacion_raci SET colaboradorid =:colaboradorid, rol_raci = :rolRaci, objeto_id = :rolId, objeto_tipo = :objetoTipo, " +
                                                  "usuario_creo = :usuarioCreo, usuario_actualizo = :usuarioActualizo, fecha_creacion = :fechaCreacion, fecha_actualizacion = :fechaActualizacion, estado = :estado", asignacion);
                        resultado = (guardado > 0) ? true : false;
                    }
                    else
                    {
                        int sequenceId = db.ExecuteScalar <int>("SELECT seq_asignacion_raci.nextval FROM DUAL");
                        asignacion.id = sequenceId;

                        int guardado = db.Execute("INSERT INTO asignacion_raci VALUES (:id, :colaboradorid, :rolRaci, :objetoId, :objetoTipo, " +
                                                  ":usuarioCreo, :usuarioActualizo, :fechaCreacion, :fechaActualizacion, :estado)", asignacion);

                        resultado = (guardado > 0) ? true : false;
                    }
                }
            }
            catch (Exception ex)
            {
                CLogger.write("5", "AsignacionRaciDAO.class", ex);
            }

            return(resultado);
        }
示例#5
0
        public IActionResult InformacionTarea([FromBody] dynamic value)
        {
            try
            {
                int    objetoId   = value.objetoId != null ? (int)value.objetoId : 0;
                int    objetoTipo = value.objetoTipo != null ? (int)value.objetoTipo : 0;
                String lineaBase  = value.lineaBase;
                String rol        = value.rol;

                Stinformacion informacion = new Stinformacion();
                switch (objetoTipo)
                {
                case 0:
                    Proyecto proyecto = ProyectoDAO.getProyectoPorId(objetoId, User.Identity.Name);
                    informacion.nombreTarea = proyecto.nombre;
                    break;

                case 1:
                    Componente componente = ComponenteDAO.getComponentePorId(objetoId, User.Identity.Name);
                    informacion.nombreTarea = componente.nombre;
                    break;

                case 2:
                    Subcomponente subcomponente = SubComponenteDAO.getSubComponentePorId(objetoId, User.Identity.Name);
                    informacion.nombreTarea = subcomponente.nombre;
                    break;

                case 3:
                    Producto producto = ProductoDAO.getProductoPorId(objetoId, User.Identity.Name);
                    informacion.nombreTarea = producto.nombre;
                    break;

                case 4:
                    Subproducto subproducto = SubproductoDAO.getSubproductoPorId(objetoId, User.Identity.Name);
                    informacion.nombreTarea = subproducto.nombre;
                    break;

                case 5:
                    Actividad actividad = ActividadDAO.GetActividadPorId(objetoId);
                    informacion.nombreTarea = actividad.nombre;
                    break;
                }

                AsignacionRaci asignacion = AsignacionRaciDAO.getAsignacionPorRolTarea(objetoId, objetoTipo, rol, lineaBase);
                asignacion.colaboradors          = ColaboradorDAO.getColaborador(Convert.ToInt32(asignacion.id));
                asignacion.colaboradors.usuarios = UsuarioDAO.getUsuario(User.Identity.Name);

                if (rol.ToLower().Equals("R"))
                {
                    informacion.rol = "Responsable";
                }
                else if (rol.ToLower().Equals("a"))
                {
                    informacion.rol = "Cuentadante";
                }
                else if (rol.ToLower().Equals("c"))
                {
                    informacion.rol = "Consultor";
                }
                else if (rol.ToLower().Equals("i"))
                {
                    informacion.rol = "Quien informa";
                }

                informacion.nombreColaborador = String.Join(" ", asignacion.colaboradors.pnombre,
                                                            asignacion.colaboradors.snombre != null ? asignacion.colaboradors.snombre : "",
                                                            asignacion.colaboradors.papellido,
                                                            asignacion.colaboradors.sapellido != null ? asignacion.colaboradors.sapellido : "");

                informacion.estadoColaborador = asignacion.colaboradors.estado == 1 ? "Alta" : "Baja";
                informacion.email             = asignacion.colaboradors.usuarios != null ? asignacion.colaboradors.usuarios.email : "";

                return(Ok(new { success = true, informacion = informacion }));
            }
            catch (Exception e)
            {
                CLogger.write("2", "MatrizRaciController.class", e);
                return(BadRequest(500));
            }
        }