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); }
/* * 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); }
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)); } }