Esempio n. 1
0
	def listar_responsables_riesgo(self, proyecto_id):
		p_h_r = ProyectoHasRiesgoDao()
		responsables = p_h_r.listar_responsables_riesgo(proyecto_id)
		aux = []
		for responsable in responsables:
			aa = model_to_dict(responsable)
			aa['riesgo_id'] = responsable.riesgo_id
			aux.append(aa)
		return aux
Esempio n. 2
0
    def obtener_impactos_by_proyecto_id(self, proyecto_id):
        impacto_dao = ImpactoDao()
        proyecto_has_riesgo_dao = ProyectoHasRiesgoDao()

        p_h_r = proyecto_has_riesgo_dao.get_all_by_proyecto_id(proyecto_id)
        proyecto = Proyecto(proyecto_id=proyecto_id)

        impactos = impacto_dao.listar_impactos_by_proyecto(proyecto)
        return self.set_has_riesgo_impactos(p_h_r, impactos)
Esempio n. 3
0
    def obtener_probabilidades_by_proyecto_id(self, proyecto_id):
        probabilidad_dao = ProbabilidadDao()
        proyecto_has_riesgo_dao = ProyectoHasRiesgoDao()

        p_h_r = proyecto_has_riesgo_dao.get_all_by_proyecto_id(proyecto_id)
        proyecto = Proyecto(proyecto_id=proyecto_id)

        probabilidades = probabilidad_dao.listar_probabilidades_by_proyecto(
            proyecto)
        return self.set_has_riesgo_probabilidades(p_h_r, probabilidades)
Esempio n. 4
0
 def actualizar_valores_riesgo_proyecto(self, valores, proyecto_id):
     p_h_r = ProyectoHasRiesgoDao()
     for key in valores:
         p_h_r_aux = p_h_r.get_by_riesgo_and_proyecto(
             Proyecto(proyecto_id=proyecto_id),
             Riesgo(riesgo_id=valores[key]['riesgo']))
         if 'impacto' in key:
             p_h_r_aux.impacto_id = valores[key]['id']
         elif 'probabilidad' in key:
             p_h_r_aux.propabilidad_id = valores[key]['id']
         p_h_r_aux.save()
Esempio n. 5
0
 def registrar_riesgo_proyecto(self, nombre, causa, evento, efecto, tipo, subcategoria, proyecto):
     riesgo = Riesgo(
         riesgo_nombre=nombre,
         riesgo_causa=limpiar_descripcion(causa),
         riesgo_evento=limpiar_descripcion(evento),
         riesgo_efecto=limpiar_descripcion(efecto),
         riesgo_tipo=tipo,
         sub_categoria=subcategoria
     )
     riesgo.save()
     p_h_r_dao = ProyectoHasRiesgoDao()
     return p_h_r_dao.registrar_proyecto_riesgo(proyecto, riesgo)
Esempio n. 6
0
    def asosiar_riesgos_sugeridos_proyecto(self, riesgos, proyecto):
        p_h_r = ProyectoHasRiesgoDao()

        riesgo_dao = RiesgoDao()

        subcategoria_dao = SubcategoriaDao()

        categoria_dao = CategoriaDao()

        rbs_dao = RbsDao()
        rbs_controller = RbsController()
        rbs = rbs_controller.obtener_rbs_general(proyecto.gerente.gerente_id)
        rbs_model = rbs_dao.get_rbs_gerente_id(proyecto.gerente)

        for riesgo in riesgos:
            aux = riesgo_dao.obtener_riesgo(riesgo)
            sub_categoria_aux = aux.sub_categoria
            try:
                sub_aux = self.buscar_sub_categoria_by_uid(
                    rbs, sub_categoria_aux)
                if sub_aux:
                    riesgo_nuevo = riesgo_dao.registrar_riesgo(
                        aux.riesgo_nombre, "Sin Causa definida",
                        "Sin Evento definido", "Sin efecto definido", 0, 0,
                        sub_aux)
                else:
                    print("EEEEEEEEEEEE", sub_categoria_aux.categoria,
                          rbs_model)
                    print("CATENOMBRE",
                          sub_categoria_aux.categoria.categoria_nombre)
                    categoria_aux = categoria_dao.duplicar_categoria_2(
                        sub_categoria_aux.categoria, rbs_model)
                    print("CCCC", categoria_aux)
                    sub_categoria_aux = subcategoria_dao.duplicar_sub_categoria_2(
                        categoria_aux, sub_categoria_aux)
                    print("SSSSSSS", sub_categoria_aux)
                    rbs = rbs_controller.obtener_rbs_general(
                        proyecto.gerente.gerente_id)
                    print("RBSSSSS", rbs)
                    riesgo_nuevo = riesgo_dao.clonar_riesgo(
                        aux.riesgo_nombre, aux.riesgo_uid, sub_categoria_aux)
                    print("RRRRRRRR", riesgo_nuevo)
                p_h_r.registrar_proyecto_riesgo_editado(proyecto, riesgo_nuevo)
            except Exception as e:
                raise e
            finally:
                pass

        return True
Esempio n. 7
0
	def evaluar_riesgos_by_proyecto_id_linea(self, riesgos, proyecto_id, linea_base):
		"""
		Este metodo asume que llegan los riesgos del proyecto_id y el objetivo es buscar los
		valores de impacto y probabilidad y evaluarlos.
		:param riesgos:
		:param proyecto_id:
		:return:
		"""
		proyecto_has_riesgo_dao = ProyectoHasRiesgoDao()
		proyecto = Proyecto.objects.using('base').get(proyecto_id=proyecto_id, proyecto_linea_base=linea_base)
		aux = {}
		for riesgo in riesgos:
			proyecto_has_riesgo = proyecto_has_riesgo_dao.get_by_riesgo_and_proyecto_2_linea(riesgo, proyecto, linea_base)
			aux['riesgo_' + str(riesgo.riesgo_id)] = dict(
				impacto_id=proyecto_has_riesgo.impacto_id,
				propabilidad_id=proyecto_has_riesgo.propabilidad_id
			)
		return aux
Esempio n. 8
0
	def editar_riesgo_proyecto(self, proyecto_id, riesgo_id, nombre, causa, evento, efecto, tipo ):

		riesgo_dao = RiesgoDao()
		proyecto_dao = ProyectoDao()
		proyecto_has_riesgo_dao = ProyectoHasRiesgoDao()

		riesgo = riesgo_dao.obtener_riesgo(riesgo_id)
		proyecto = proyecto_dao.obtener_proyecto(proyecto_id)
		#print("VARIABLES", riesgo, proyecto)
		proyecto_has_riesgo = proyecto_has_riesgo_dao.get_by_riesgo_and_proyecto_2(riesgo, proyecto)
		#print("MI OBJETO", proyecto_has_riesgo)
		if proyecto_has_riesgo.is_editado == 1:
			#proyecto_has_riesgo_dao.actualizar_fecha(proyecto_has_riesgo, fecha)
			return riesgo_dao.editar_riesgo(riesgo, nombre, causa, evento, efecto, tipo, riesgo.sub_categoria)
		else:
			proyecto_has_riesgo.delete()
			riesgo_nuevo = riesgo_dao.registrar_riesgo_2(nombre, causa, evento, efecto, tipo, riesgo.sub_categoria)
			proyecto_has_riesgo_dao.registrar_proyecto_riesgo_editado(proyecto, riesgo_nuevo)
			return riesgo_nuevo
Esempio n. 9
0
	def evaluar_riesgos_by_proyecto_id(self, riesgos, proyecto_id):
		"""
		Este metodo asume que llegan los riesgos del proyecto_id y el objetivo es buscar los
		valores de impacto y probabilidad y evaluarlos.
		:param riesgos:
		:param proyecto_id:
		:return:
		"""
		proyecto_has_riesgo_dao = ProyectoHasRiesgoDao()
		proyecto = Proyecto(proyecto_id=proyecto_id)
		aux = {}
		for riesgo in riesgos:
			#print("SUPER IMPRESIONS", riesgo)
			aa = Riesgo(riesgo_id=riesgo.get('riesgo_id'))
			proyecto_has_riesgo = proyecto_has_riesgo_dao.get_by_riesgo_and_proyecto_2(aa, proyecto)
			aux['riesgo_' + str(aa.riesgo_id)] = dict(
				impacto_id=proyecto_has_riesgo.impacto_id,
				propabilidad_id=proyecto_has_riesgo.propabilidad_id,
				#fecha_manifestacion=riesgo['fecha_manifestacion']
			)
		return aux
Esempio n. 10
0
 def eliminar_responsable_riesgo(self, responsable_id, riesgo_id,
                                 proyecto_id):
     proyecto_has_riesgo_dao = ProyectoHasRiesgoDao()
     return proyecto_has_riesgo_dao.set_responsable_null(
         responsable_id, riesgo_id, proyecto_id)
Esempio n. 11
0
	def asosiar_riesgos_proyecto(self, riesgos, proyecto):
		p_h_r = ProyectoHasRiesgoDao()
		for riesgo in riesgos:
			p_h_r.registrar_proyecto_riesgo(proyecto, Riesgo(riesgo_id=riesgo))
		return True
Esempio n. 12
0
	def agregar_responsable_riesgo(self, riesgo_proyecto, responsable):
		p_h_r = ProyectoHasRiesgoDao()
		return p_h_r.agregar_responsable_riesgo(riesgo_proyecto, responsable)
Esempio n. 13
0
	def eliminar_riesgo_by_proyecto(self, riesgo_proyecto):
		p_h_r = ProyectoHasRiesgoDao()
		return p_h_r.eliminar_by_riesgo_and_proyecto(riesgo_proyecto)
Esempio n. 14
0
	def get_riesgo_by_proyecto(self, proyecto, riesgo):
		p_h_r = ProyectoHasRiesgoDao()
		return p_h_r.get_by_riesgo_and_proyecto(proyecto, riesgo)
	def obtener_responsables_by_proyecto_group_for_riesgos(self, proyecto_id):
		responsable_dao = ResponsableDao()
		proyecto_has_riesgo_dao = ProyectoHasRiesgoDao()
		proyecto = Proyecto(proyecto_id=proyecto_id)
		proyectos_has_riesgos = proyecto_has_riesgo_dao.listar_proyecto_has_riesgo_by_proyecto(proyecto)
		return proyectos_has_riesgos
Esempio n. 16
0
 def riesgo_is_proyecto(self, riesgo, proyecto):
     p_h_r_dao = ProyectoHasRiesgoDao()
     return p_h_r_dao.get_by_riesgo_and_proyecto_2(riesgo, proyecto)