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() 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="jorel", modificadopor="jorel") save_riesgo_inherente.save() if save_riesgo_inherente.pk is not None: Auditoria("jorel", "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)
def detalleSeguimientoPlanAccion(request): if request.method == "GET": id_gerencia = request.GET['id_gerencia'] html = HtmlSeguimientoPlan("Ficha Seguimiento Plan de Acción", "Seguimiento "+str(id_gerencia)+"", None, id_gerencia, None).joinHtml() nombre_archivo = "ficha_control"+ id_generator() archivo_generado = ReportePDF(html, nombre_archivo).generaPDF() return JsonResponse(archivo_generado, safe=False)
def riesgosFichaPlanAccion(request): if request.method == "GET": id_riesgo = request.GET['id_riesgo'].split("&")[0] riesgo = list(Riesgo.objects.filter(idriesgo=id_riesgo).values()) direccion = riesgo[0]['direccion'] gerencia = riesgo[0]['gerencia'] codigoproyecto = riesgo[0]['codigoproyecto'] codigodireccion = riesgo[0]['direccion'] codigoarea = riesgo[0]['codigoproyecto'] fechacreacion = riesgo[0]['fechacreacion'] descripcionriesgo = riesgo[0]['descripcionriesgo'] dueno = riesgo[0]['dueño'] consecuencias_riesgo = [] causas_riesgo = [] probabilidad = "" impacto = "" nivel_objetivo = "" probabilidad_residual = "" impacto_residual = "" nivel_residual = "" for dato_riesgo in riesgo: if RiesgoNRiesgoconsecuencia.objects.filter(idriesgo=dato_riesgo['idriesgo']).exists(): ids_consecuencias = RiesgoNRiesgoconsecuencia.objects.filter(idriesgo=dato_riesgo['idriesgo']).values_list("idconsecuencia", flat=True) for id_cons in ids_consecuencias: consecuencias_riesgo.append(list(RiesgoConsecuencias.objects.filter(idconsecuencia=id_cons).values("consecuencia"))[0]['consecuencia']) if RiesgoNCausariesgo.objects.filter(idriesgo=dato_riesgo['idriesgo']).exists(): ids_causas = RiesgoNCausariesgo.objects.filter(idriesgo=dato_riesgo['idriesgo']).values_list("idcausa", flat=True) for id_caus in ids_causas: causas_riesgo.append(list(RiesgoCausas.objects.filter(idcausa=id_caus).values("causa"))[0]['causa']) if RiesgoEvaluacioncualitativaobjetivo.objects.filter(idriesgo=dato_riesgo['idriesgo']).exists(): probabilidad = list(RiesgoEvaluacioncualitativaobjetivo.objects.filter(idriesgo=dato_riesgo['idriesgo']).values("probabilidadcontrol"))[0]['probabilidadcontrol'] impacto = list(RiesgoEvaluacioncualitativaobjetivo.objects.filter(idriesgo=dato_riesgo['idriesgo']).values("impactocontrol"))[0]['impactocontrol'] nivel_objetivo = list(RiesgoEvaluacioncualitativaobjetivo.objects.filter(idriesgo=dato_riesgo['idriesgo']).values("nivelriesgocontrol"))[0]['nivelriesgocontrol'] if RiesgoEvaluacioncualitativaresidual.objects.filter(idriesgo=dato_riesgo['idriesgo']).exists(): probabilidad_residual = list(RiesgoEvaluacioncualitativaresidual.objects.filter(idriesgo=dato_riesgo['idriesgo']).values("probabilidadresidual"))[0]['probabilidadresidual'] impacto_residual = list(RiesgoEvaluacioncualitativaresidual.objects.filter(idriesgo=dato_riesgo['idriesgo']).values("impactoresidual"))[0]['impactoresidual'] nivel_residual = list(RiesgoEvaluacioncualitativaresidual.objects.filter(idriesgo=dato_riesgo['idriesgo']).values("nivelriesgoresidual"))[0]['nivelriesgoresidual'] data_riesgo = {"datos_riesgo":riesgo, "causas":causas_riesgo, "consecuencias":consecuencias_riesgo, "probabilidad":probabilidad, "impacto":impacto, "nivel_objetivo":nivel_objetivo, "probabilidad_residual":probabilidad_residual, "impacto_residual":impacto_residual, "nivel_residual":nivel_residual, "direccion":direccion, "gerencia":gerencia, "codigoproyecto":codigoproyecto, "codigodireccion":codigodireccion, "codigoarea":codigoarea, "fechacreacion":fechacreacion, "descripcionriesgo":descripcionriesgo, "dueno":dueno, "id_riesgo":id_riesgo, "trigger":"", "dueno_plan":""} subtitulo = "CORPORACIÓN NACIONAL DEL COBRE DE CHILE" subtitulo += "<br>DIVISIÓN EL TENIENTE" subtitulo += "<br>GERENCIA "+str(gerencia)+"" html = HtmlPlan("Ficha Plan de Acción", subtitulo, None, id_riesgo, data_riesgo).joinHtml() nombre_archivo = "ficha_control"+ id_generator() archivo_generado = ReportePDF(html, nombre_archivo).generaPDF() return JsonResponse(archivo_generado, safe=False)
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)
from tornado.ioloop import IOLoop from tornado.web import RequestHandler from tornado.websocket import WebSocketHandler, websocket_connect import adbutils from adbutils import adb as adbclient from asyncadb import adb from device import STATUS_FAIL, STATUS_INIT, STATUS_OKAY, AndroidDevice from heartbeat import heartbeat_connect from core.utils import current_ip, fix_url, id_generator, update_recursive from core import fetching __curdir__ = os.path.dirname(os.path.abspath(__file__)) hbconn = None udid2device = {} secret = id_generator(10) class CorsMixin(object): CORS_ORIGIN = '*' CORS_METHODS = 'GET,POST,OPTIONS' CORS_CREDENTIALS = True CORS_HEADERS = "x-requested-with,authorization" def set_default_headers(self): self.set_header("Access-Control-Allow-Origin", self.CORS_ORIGIN) self.set_header("Access-Control-Allow-Headers", self.CORS_HEADERS) self.set_header('Access-Control-Allow-Methods', self.CORS_METHODS) def options(self): # no body
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)
def editaRiesgoInherente(request): if request.method == "POST": id_riesgo = request.POST.get("identificador-riesgo-creado") probabilidad = request.POST.get("inhe_probabilidad") impacto = request.POST.get("inhe_impacto") impactocapex = request.POST.get("inhe_capex") impactoplazo = request.POST.get("inhe_plazo") impactoeconomico = request.POST.get("inhe_economico") impactosso = request.POST.get("inhe_sso") impactomedioambiente = request.POST.get("inhe_medioambiente") impactocomunitario = request.POST.get("inhe_comunitario") impactoreputacional = request.POST.get("inhe_reputacional") impactolegal = request.POST.get("inhe_legal") ambitodominante = 0 magnitudriesgo = request.POST.get("inhe_magnitud") nivelriesgo = request.POST.get("inhe_nivel") modificado = datetime.now() modificadopor = 'jorel' print("se modifico a lasxx ", modificado, ' ', id_riesgo) if RiesgoEvaluacioncualitativainherente.objects.filter( idriesgo=id_riesgo).exists(): RespaldoUpdate("RiesgoEvaluacioncualitativainherente", "RiesgoEvaluacioncualitativainherenteupdate", id_riesgo).respaldoUpdate() RiesgoEvaluacioncualitativainherente.objects.filter( idriesgo=id_riesgo).update( probabilidad=probabilidad, impacto=impacto, impactocapex=impactocapex, impactoplazo=impactoplazo, impactoeconomico=impactoeconomico, impactosso=impactosso, impactomedioambiente=impactomedioambiente, impactocomunitario=impactocomunitario, impactoreputacional=impactoreputacional, impactolegal=impactolegal, ambitodominante=ambitodominante, magnitudriesgo=magnitudriesgo, nivelriesgo=nivelriesgo, modificado=modificado, modificadopor=modificadopor, ) else: 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") id_riesgo_ci = id_generator() save_edita_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_edita_inherente.save() print("hola") print(save_edita_inherente.pk) return JsonResponse(True, safe=False)
def dashboard_nivel_3(self): #driver = webdriver.Chrome("C:/Users/Javier Orellana/Downloads/chromedriver.exe") path = settings.MEDIA_ROOT + '/informes/' """chrome_options = Options() chrome_options.headless = True chrome_options.add_argument('--headless') chrome_options.add_argument('--start-maximized') chrome_options.add_argument("--remote-debugging-port=9222") chrome_options.add_argument('--headless') chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-extensions') chrome_options.add_argument('--disable-dev-shm-usage')""" chromeOptions = webdriver.ChromeOptions() chromeOptions.add_experimental_option( "prefs", {"profile.managed_default_content_settings.images": 2}) chromeOptions.add_argument("--no-sandbox") chromeOptions.add_argument("--disable-setuid-sandbox") chromeOptions.add_argument("--remote-debugging-port=9222") chromeOptions.add_argument("--disable-dev-shm-using") chromeOptions.add_argument("--disable-extensions") chromeOptions.add_argument("--disable-gpu") chromeOptions.add_argument("start-maximized") chromeOptions.add_argument("disable-infobars") chromeOptions.add_argument("--headless") driver = webdriver.Chrome("/usr/bin/chromedriver", chrome_options=chromeOptions) #driver = webdriver.Chrome("/usr/bin/chromedriver", chrome_options=chromeOptions) #driver = webdriver.Chrome("/usr/bin/chromedriver", chrome_options=chrome_options) #driver = webdriver.Chrome(executable_path="/usr/bin/chromedriver", service_args=["--verbose", "--log-path=/var/www/logs/qc1.log"], chrome_options=chrome_options) #driver = webdriver.Chrome("C:/Users/Javier Orellana/Downloads/chromedriver.exe", chrome_options=chrome_options) #driver.get("http://127.0.0.1:8000/") driver.get("http://riesgoscl.tk/dashboard/") time.sleep(8) #driver.find_element_by_id("id_username").send_keys("*****@*****.**") #driver.find_element_by_id("id_username").send_keys("admin") #driver.find_element_by_id("id_password").send_keys("alicia(04)") #driver.find_element_by_id("id-div-links").click() #driver.find_element_by_id("btn_entrar").click() driver.find_element_by_id("span_detalle_riesgos_criticos").click() time.sleep(8) #the element with longest height on page ele = driver.find_element_by_tag_name('body') total_height = ele.size["height"] + 800 id_generado = id_generator() driver.set_window_size(1920, total_height) #the trick time.sleep(2) driver.save_screenshot(path + " " + str(id_generado) + "_dashboard_nivel_3_png.png") driver.quit() #C:\Users\Javier Orellana\Documents\JO\desarrollos\Riesgos\AppRiesgos image1 = Image.open(path + " " + str(id_generado) + "_dashboard_nivel_3_png.png") im1 = image1.convert('RGB') im1.save(path + "/ " + str(id_generado) + "_dashboard_nivel_3_pdf.pdf") return [ "" + str(id_generado) + "_dashboard_nivel_3_png", "" + str(id_generado) + "_dashboard_nivel_3_pdf" ]
def saveActividadPlan(request): if request.method == "POST": print("QWETRTYU") edita = request.POST.get("txt-edit-actividad") if edita == str(1): return_edita_actividad = editaActividad(request) return JsonResponse(return_edita_actividad, safe=False) valida = False myfile = request.FILES['evidencia'] fs = FileSystemStorage() filename = fs.save(myfile.name, myfile) uploaded_file_url = fs.url(filename) id_plan_respuesta = request.POST.get("txt-id-plan") id_actividad = id_generator() nombre_actividad = request.POST.get("actividad-nombre") nombre_responsable = request.POST.get("actividad-responsable") estrategia = request.POST.get("actividad-estrategia") costo = request.POST.get("actividad-costo") estado = request.POST.get("actividad-estado") fec_ini = request.POST.get("actividad-fecha-inicio").split("/") fec_termino = request.POST.get("actividad-fecha-termino").split("/") detalle = request.POST.get("actividad-detalle-actividad") peso = request.POST.get("actividad-peso-especifico") avance_real = request.POST.get("actividad-avance-real") #falta agregar el campo nuevo save_plan_respuesta_actividad = RiesgoPlanderespuestaActividad( idplanderespuesta = id_plan_respuesta, idactividad = id_actividad, nombreactividad = nombre_actividad, responsable = nombre_responsable, estrategia = estrategia, costo = costo, estadoactividad = estado, inicio = fec_ini[2]+"-"+fec_ini[0]+"-"+fec_ini[1], termino = fec_termino[2]+"-"+fec_termino[0]+"-"+fec_termino[1], detalleactividad = detalle, pesoespecifico = peso, estadoregistro = "Vigente", modificado = datetime.now(), creado = datetime.now(), creadopor = str(request.user), modificadopor = str(request.user), avancereal = avance_real, ) save_plan_respuesta_actividad.save() if save_plan_respuesta_actividad.pk is not None: id_control = GetId('RiesgoPlanderespuestaEvidencia', 'CTRLEVIDACT', 'idcontrol').get_id() save_evidencia = RiesgoPlanderespuestaEvidencia( idcontrol = id_control, tipo_de_contenido = "file", archivo = uploaded_file_url, estadoregistro = "Vigente", modificado = datetime.now(), creado = datetime.now(), creadopor = str(request.user), modificadopor = str(request.user), idactividad = save_plan_respuesta_actividad.pk ) save_evidencia.save() if save_evidencia.pk is not None: valida = True data = {'valida':valida} return JsonResponse(data, safe=False)
def save(self, *args, **kwargs): if not self.slug: self.slug = id_generator() return super(Question, self).save(*args, **kwargs)