def eliminaCausaConsecuencia(request):
    valor = request.GET['valor'].split("&")
    identificador_riesgo = request.GET['identificador_riesgo_creado']

    tipo_valor = valor[0]

    try:
        if tipo_valor == "CAUSA":
            RiesgoNCausariesgo.objects.filter(
                idcausa=valor[1], idriesgo=identificador_riesgo).delete()
            Auditoria("jorel",
                      "Elimina Causa del Riesgo " + str(identificador_riesgo),
                      "EliminaCausaRiesgo", valor[1]).saveAudit()
        if tipo_valor == "CONSECUENCIA":
            RiesgoNRiesgoconsecuencia.objects.filter(
                idconsecuencia=valor[1],
                idriesgo=identificador_riesgo).delete()
            Auditoria(
                "jorel",
                "Elimina Consecuencia del Riesgo " + str(identificador_riesgo),
                "EliminaConsecuenciaRiesgo", valor[1]).saveAudit()
        valida = True
    except Exception as e:
        valida = False

    data = {'valida': valida}
    return JsonResponse(data, safe=False)
def registraCausaConsecuencia(request):
    valor = request.GET['valor'].split("&")
    identificador_riesgo = request.GET['identificador_riesgo_creado']

    tipo_valor = valor[0]

    if tipo_valor == "CAUSA":
        registra_riesgo_causa = RiesgoNCausariesgo(
            idcausa=valor[1],
            idriesgo=identificador_riesgo,
            estadoregistro="ACTIVO",
            modificado=datetime.now(),
            creado=datetime.now(),
            creadopor='jorel',
            modificadopor='jorel',
        )
        registra_riesgo_causa.save()
        valor_registro = registra_riesgo_causa.pk
        Auditoria("jorel",
                  "Registra Causa Al Riesgo " + str(identificador_riesgo),
                  "CreaCausa", valor_registro).saveAudit()

    if tipo_valor == "CONSECUENCIA":
        registra_riesgo_consecuencia = RiesgoNRiesgoconsecuencia(
            idriesgo=identificador_riesgo,
            idconsecuencia=valor[1],
            modificado=datetime.now(),
            estadoregistro="ACTIVO",
            creado=datetime.now(),
            creadopor='jorel',
            modificadopor='jorel',
        )
        registra_riesgo_consecuencia.save()
        valor_registro = registra_riesgo_consecuencia.pk
        Auditoria(
            "jorel",
            "Registra Consecuencia Al Riesgo " + str(identificador_riesgo),
            "CreaConsecuencia", valor_registro).saveAudit()

    valida = False
    if valor_registro is not None:
        valida = True

    data = {'valida': valida}
    return JsonResponse(data, safe=False)
示例#3
0
def saveRiesgoInherente(request):
    if request.method == "POST":
        #id_riesgo_ci = GetId('RiesgoEvaluacioncualitativainherente', 'RINHECI', 'ideci').get_id()
        id_riesgo = request.POST.get("identificador-riesgo-creado-inherente")
        id_riesgo_ci = id_generator()
        #id_riesgo = id_generator()
        print("El id del riesgo es --- > ", id_riesgo)

        inhe_probabilidad = float(request.POST.get("inhe_probabilidad"))
        inhe_capex = float(request.POST.get("inhe_capex"))
        inhe_plazo = float(request.POST.get("inhe_plazo"))
        inhe_economico = float(request.POST.get("inhe_economico"))
        inhe_sso = float(request.POST.get("inhe_sso"))
        inhe_medioambiente = float(request.POST.get("inhe_medioambiente"))
        inhe_comunitario = float(request.POST.get("inhe_comunitario"))
        inhe_reputacional = float(request.POST.get("inhe_reputacional"))
        inhe_legal = float(request.POST.get("inhe_legal"))
        inhe_impacto = float(request.POST.get("inhe_impacto"))
        inhe_magnitud = float(request.POST.get("inhe_magnitud"))
        inhe_nivel = request.POST.get("inhe_nivel")

        save_riesgo_inherente = RiesgoEvaluacioncualitativainherente(
            idriesgo=id_riesgo,
            ideci=id_riesgo_ci,
            probabilidad=inhe_probabilidad,
            impacto=inhe_impacto,
            impactocapex=inhe_capex,
            impactoplazo=inhe_plazo,
            impactoeconomico=inhe_economico,
            impactosso=inhe_sso,
            impactomedioambiente=inhe_medioambiente,
            impactocomunitario=inhe_comunitario,
            impactoreputacional=inhe_reputacional,
            impactolegal=inhe_legal,
            ambitodominante=0,
            magnitudriesgo=inhe_magnitud,
            nivelriesgo=inhe_nivel,
            fecha=datetime.now(),
            estado="ACTIVO",
            modificado=datetime.now(),
            creado=datetime.now(),
            creadopor=str(request.user),
            modificadopor=str(request.user))

        save_riesgo_inherente.save()
        print("loguardo?")
        print(save_riesgo_inherente.pk)
        if save_riesgo_inherente.pk is not None:
            Auditoria(str(request.user),
                      "Registra Matriz Inherente del Riesgo " + str(id_riesgo),
                      "MatrizInherente", save_riesgo_inherente.pk).saveAudit()
            data = {'valida': True, 'identificador': save_riesgo_inherente.pk}

        return JsonResponse(data, safe=False)
示例#4
0
def generaArchivo(request):        
    archivo_lista = request.POST.getlist("radio-carga-datos")    
    for archivo in archivo_lista:
        if archivo != str(0):
            print("EL ARCHIVO ES ", archivo)
            Auditoria(request.user, "Genera archivo "+str(archivo), "CargaDatos", None).saveAudit()
            output = io.BytesIO()
            workbook = xlsxwriter.Workbook(output, {'in_memory': True})            

            datos = ModelosCargaDatos(archivo).datosColumnasArchivo()
            XlsxWriterObj(datos['arreglo_columnas'], datos['arreglo_listas'], '', '', '', workbook, datos['arreglo_fechas']).closeBook()
            workbook.close()            
            output.seek(0)
            response = HttpResponse(
                output,
                content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
            )
            response['Content-Disposition'] = 'attachment; filename="'+archivo+'.xlsx"'
            return response            
def saveRiesgo(request):
    if request.method == "POST":

        #id_riesgo = GetId('Riesgo', 'RR', 'idriesgo').get_id()
        #cod_riesgo = GetId('Riesgo', 'CR', 'codigoriesgo').get_id()
        id_riesgo = id_generator()
        cod_riesgo = id_generator()
        fecha = None
        if request.POST.get("riesgos_fechas") != "" and request.POST.get(
                "riesgos_fechas") != None and request.POST.get(
                    "riesgos_fechas") != " ":
            fecha = request.POST.get("riesgos_fechas").split("/")
            fecha = fecha[2] + '-' + fecha[0] + '-' + fecha[1]

        gerencia = request.POST.get("riesgos_gerencias")
        direccion = request.POST.get("riesgos_direcciones")
        proyecto = request.POST.get("riesgos_proyectos")
        codigo_proyecto = request.POST.get("riesgos_codigos_proyectos")
        fase = request.POST.get("riesgos_fases")
        cargos = request.POST.get("riesgos_cargos")
        estado = request.POST.get("riesgos_estados")
        riesgo_descripcion = request.POST.get("riesgos_descripciones_riesgos")
        clasificacion = request.POST.get("riesgos_clasificaciones")

        dueno = request.POST.get("riesgos_duenos")
        idrbs = request.POST.get("riesgos_subprocesos")
        descripcion_riesgo = request.POST.get("riesgo_descripcion_riesgo")

        maxPerdidaMus = request.POST.get("maxima-perdida-mus")
        maxPerdidaMeses = request.POST.get("maxima-perdida-meses")

        riesgo = Riesgo(
            idriesgo=id_riesgo,
            codigoriesgo=cod_riesgo,
            gerencia=gerencia,
            direccion=direccion,
            proyecto=proyecto,
            codigoproyecto=codigo_proyecto,
            fasedelriesgo=fase,
            dueño=dueno,
            cargodeldueño=cargos,
            idrbs=idrbs,
            riesgo=riesgo_descripcion,
            estado=estado,
            fechacreacion=fecha,
            usrdigita='jorel033',
            fechadigita=fecha,
            estadovalidacion='Abierto',
            estadoregistro='Activo',
            modificado=fecha,
            creado=fecha,
            creadopor='jorel033',
            modificadopor='jorel033',
            clasificacion=clasificacion,
            maximaperdidamus=maxPerdidaMus,
            maximaperdidameses=maxPerdidaMeses,
            descripcionriesgo=descripcion_riesgo,
        )

        riesgo.save()
        if riesgo.pk is not None:
            Auditoria("jorel", "Crea Riesgo " + str(riesgo_descripcion),
                      "CreaRiesgo", riesgo.pk).saveAudit()
            data = {'valida': True, 'identificador': riesgo.pk}

        return JsonResponse(data, safe=False)
示例#6
0
def cargaDatos(request):
    if request.method == "POST":
        archivo = request.POST.get("radio-carga-datos")        
        myfile = request.FILES['archivo']

        fs = FileSystemStorage()        
        el_name = os.path.splitext(myfile.name)[0]
        la_extension = os.path.splitext(myfile.name)[1]
        id_name = id_generator()
        nombre_completo = el_name+id_name+la_extension

        if os.path.isfile(settings.MEDIA_ROOT+'//'+nombre_completo):                
            data = {"msg":"Ya existe un archivo con el mismo nombre, por favor cambie el nombre del archivo.", 'valida':False}
            return JsonResponse(data, safe=False)

        filename = fs.save(nombre_completo, myfile)
        path = settings.MEDIA_ROOT+'//'+nombre_completo     
        wb_obj = openpyxl.load_workbook(path) 
        sheet_obj = wb_obj.active 
        max_col = sheet_obj.max_column        
        m_row = sheet_obj.max_row


        if archivo == "ArchivoCargaSistemaCIO":
            id_carga = GetId('RiesgoCargasistemacio', 'RCARCIO', 'idcargacio').get_id()
            for j in range(2, m_row + 1):
                idcio = GetId('RiesgoCargasistemacio', 'IDCIO', 'idcio').get_id()
                str_query_orm = "RiesgoCargasistemacio( idcio = '"+str(idcio)+"', idcargacio = '"+str(id_carga)+"', estadoregistro='ACTIVO', fecharegistro='"+str(datetime.now())+"', fechamodificacion='"+str(datetime.now())+"',"                
                for i in range(1, max_col + 1):
                    cell_obj_column = sheet_obj.cell(row = 1, column = i)                 
                    cell_obj = sheet_obj.cell(row = j, column = i)
                    datos_celda = cell_obj.value
                    if datos_celda is None:
                        datos_celda = "-"
                    #print(cell_obj_column.value)
                    column = cell_obj_column.value.lower()
                    str_query_orm += str(column)+"='"+str(datos_celda)+"',"
                str_query_orm+=")"
                bulk_mgr = BulkCreateManager()
                bulk_mgr.add(
                    eval(str_query_orm)
                )
                bulk_mgr.done()
                
                #eval(str_query_orm)
                
            
            Auditoria(request.user, "Carga Datos CIO", "CargaDatos", id_carga).saveAudit()
        
        elif archivo == "N1":
            id_carga = GetId('RiesgoCargasisteman1', 'RCARN1', 'idcargan1').get_id()
            for j in range(2, m_row + 1):
                id_n1 = GetId('RiesgoCargasisteman1', 'IDN1', 'idn1').get_id()
                str_query_orm = "RiesgoCargasisteman1( idn1 = '"+str(id_n1)+"', idcargan1 = '"+str(id_carga)+"', estadoregistro='ACTIVO', fecharegistro='"+str(datetime.now())+"', fechamodificacion='"+str(datetime.now())+"',"
                for i in range(1, max_col + 1):
                    cell_obj_column = sheet_obj.cell(row = 1, column = i)                 
                    cell_obj = sheet_obj.cell(row = j, column = i)
                    datos_celda = cell_obj.value
                    if datos_celda is None:
                        datos_celda = "-"
                    column = cell_obj_column.value.lower()
                    str_query_orm += str(column)+"='"+str(datos_celda)+"',"
                str_query_orm+=").save()"
                eval(str_query_orm)
            
            Auditoria(request.user, "Carga Datos N1", "CargaDatos", id_carga).saveAudit()
        
        elif archivo == "Unifica":
            try:                
                for j in range(2, m_row + 1):       
                    id_carga = id_generator()
                    str_query_orm = "RiesgoUnifica( idregistroarchivo = '"+str(id_name)+"', idregistro = '"+str(id_carga)+"',"
                    for i in range(1, max_col + 1):
                        cell_obj_column = sheet_obj.cell(row = 1, column = i)                 
                        cell_obj = sheet_obj.cell(row = j, column = i)
                        column = cell_obj_column.value.lower()
                        datos_celda = validaDatosColumnas(column, cell_obj.value)   
                        str_query_orm += str(column)+"='"+str(datos_celda)+"',"
                    str_query_orm+=").save()"                    
                    eval(str_query_orm)
                
                Auditoria(request.user, "Carga Datos Unifica", "CargaDatos", id_carga).saveAudit()
            except Exception as e:
                traceback.print_exc()                                
                RiesgoUnifica.objects.filter(idregistroarchivo=id_name).delete()
                return JsonResponse(False, safe=False)

        return JsonResponse(True, safe=False)