Example #1
0
 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)
Example #2
0
    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
Example #3
0
 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)
Example #4
0
 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)
Example #5
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)
Example #6
0
 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