def actualizar_probabilidades_by_proyecto_id(self, probabilidades, proyecto_id): probabilidad_dao = ProbabilidadDao() proyecto = Proyecto(proyecto_id=proyecto_id) probabilidades_aux = probabilidad_dao.listar_probabilidades_by_proyecto( proyecto) for probabilidad_aux in probabilidades_aux: flag = False for probabilidad in probabilidades: if probabilidad[ 'id'] is not None and probabilidad_aux.propabilidad_id == int( probabilidad['id']): probabilidad_aux.propabilidad_categoria = probabilidad[ 'nombre'] probabilidad_aux.propabilidad_valor = int( probabilidad['valor']) probabilidad_aux.save() flag = True break if not flag: probabilidad_aux.delete() for probabilidad in probabilidades: if probabilidad['id'] is None: probabilidad_dao.crear_probabilidad(probabilidad["nombre"], probabilidad["valor"], proyecto)
def raw_queryset_as_values_list_evaluar(self, raw_qs, proyecto): """ :type proyecto: Proyecto """ impacto_dao = ImpactoDao() probabilidad_dao = ProbabilidadDao() valores = {} aux = [] for row in raw_qs: riesgo = model_to_dict(row) impacto = valores.get("i_" + str(row.riesgo_id)) probabilidad = valores.get("p_" + str(row.riesgo_id)) if impacto is None: impacto = impacto_dao.obtener_impacto_by_id_and_proyecto(row.impacto_id, proyecto) valores["i_" + str(row.riesgo_id)] = impacto if probabilidad is None: probabilidad = probabilidad_dao.obtener_probabilidad_by_id(row.propabilidad_id) valores["p_" + str(row.riesgo_id)] = probabilidad aux.append([ "R_" + str(riesgo['riesgo_id']), riesgo['riesgo_nombre'], impacto.impacto_categoria, probabilidad.propabilidad_categoria, (impacto.impacto_valor * probabilidad.propabilidad_valor) ]) return aux
def obtener_probabilidades_parseados_by_proyecto_id_linea( self, proyecto_id, linea_base): probabilidad_dao = ProbabilidadDao() proyecto = Proyecto.objects.using('base').get( proyecto_id=proyecto_id, proyecto_linea_base=linea_base) r = probabilidad_dao.listar_probabilidades_by_proyecto_linea( proyecto, linea_base) return self.parsear_probabilidades(r)
def actualizar_probabilidades_by_proyecto_id(self, probabilidades, proyecto_id): probabilidad_dao = ProbabilidadDao() proyecto = Proyecto(proyecto_id=proyecto_id) result = probabilidad_dao.eliminar_probabilidades_by_proyecto(proyecto) if result: for probabilidad in probabilidades: probabilidad_dao.crear_probabilidad(probabilidad["nombre"], probabilidad["valor"], proyecto)
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)
def obtener_probabilidades_by_proyecto_id(self, proyecto_id): probabilidad_dao = ProbabilidadDao() proyecto = Proyecto(proyecto_id=proyecto_id) r = probabilidad_dao.listar_probabilidades_by_proyecto(proyecto) return r