def selectPlanColab(request): if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: if request.method == 'POST' and request.is_ajax(): id_plan = request.POST.get('id_plan') cursor = connection.cursor() query = " SELECT * " query = query + " FROM sac_planaccion " query = query + " WHERE sac_planaccion.id=%s" params = [id_plan] cursor.execute(query, params) rows = dictfetchall(cursor) from sac.views import json_serial return HttpResponse(json.dumps(rows, default=json_serial), content_type="application/json")
def GridDocumentosAdministrador(request): #validar si existe usuario logeado if 'nombreUsuario' not in request.session: #return render(request, 'seguridad/login.html', {}) return redirect('login') else: cursor = connection.cursor() query = " SELECT documentos_documento.id, documentos_documento.nombre, documentos_documento.descripcion, " query = query + " documentos_documento.version, documentos_documento.fec_subido, documentos_documento.path, " query = query + " documentos_documento.estado, personal_personal.nombre AS responsable, " query = query + " areas_areas.area AS proceso, areas_procesos.proceso AS procedimiento " query = query + " FROM documentos_documento " query = query + " LEFT JOIN personal_personal ON documentos_documento.subido_por_id = personal_personal.id " query = query + " LEFT JOIN areas_areas ON documentos_documento.proceso_id = areas_areas.id " query = query + " LEFT JOIN areas_procesos ON documentos_documento.procedimiento_id = areas_procesos.id ORDER BY proceso " cursor.execute(query) rows = dictfetchall(cursor) if rows: #RETORNA return JsonResponse(rows, safe=False) else: #RETORNA MENSAJE DE NO EXISTEN json = { 'resultado':'no_ok', 'mensaje': 'no existen Documentos', } return JsonResponse(json, safe=False)
def pdfNormVinculadas(request): if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: cursor = connection.cursor() query = " SELECT areas_areas.area, areas_procesos.proceso, normas_normas.nombre AS nombre_norma, normas_clausulas.clausula " query = query + " FROM normas_procesoclausula" query = query + " LEFT JOIN areas_areas ON normas_procesoclausula.id_area_id = areas_areas.id " query = query + " LEFT JOIN areas_procesos ON normas_procesoclausula.id_proceso_id = areas_procesos.id " query = query + " LEFT JOIN normas_normas ON normas_procesoclausula.id_norma_id = normas_normas.id " query = query + " LEFT JOIN normas_clausulas ON normas_procesoclausula.id_clausula_id = normas_clausulas.id " query = query + " ORDER BY normas_procesoclausula.id_proceso_id" cursor.execute(query) rows = dictfetchall(cursor) # CONVIERTE QuerySet a list object normas_list = list(rows) context = { 'normas': normas_list, } pdf = render_to_pdf('reportes/pdf/pdfNormasVinculadas.html', context) #FORZAR DOWNLOAD PDF if pdf: response = HttpResponse(pdf, content_type='application/pdf') filename = "Reporte_Normas_Vinculadas_%s.pdf" %("0001") content = "inline; filename='%s'" %(filename) content = "attachment; filename='%s'" %(filename) response['Content-Disposition'] = content return response
def personal(request): #validar si existe usuario logeado if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: cursor = connection.cursor() query = "SELECT personal_personal.id as id_personal, personal_personal.nombre AS nombre_persona, personal_personal.telefono, " query = query + " personal_personal.celular, personal_personal.correo, personal_personal.estado, " query = query + " personal_personal.firma, personal_cargo.nombre AS cargo, personal_personal.id_cargo_id, " query = query + " personal_areapersonal.nombre AS area " query = query + " FROM personal_personal " query = query + " LEFT JOIN personal_cargo ON personal_personal.id_cargo_id = personal_cargo.id " query = query + " LEFT JOIN personal_areapersonal ON personal_personal.id_areapersonal_id = personal_areapersonal.id " query = query + " ORDER BY nombre_persona " cursor.execute(query) rows = dictfetchall(cursor) personal_list = list(rows) context = { 'personal': personal_list, 'personalForm': PersonalForm(), 'cargos': Cargo.objects.values('id', 'nombre').all().filter(estado=1), 'area': AreaPersonal.objects.values('id', 'nombre').all().filter(estado=1), } return render(request, 'personal/personal.html', context)
def gridAreas(request): #validar si existe usuario logeado if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: cursor = connection.cursor() query = " SELECT areas_areas.id, areas_areas.area, areas_areas.descripcion, areas_areas.estado, " query = query + " personal_personal.nombre AS encargado, areas_areas.tipo_proceso" query = query + " FROM areas_areas " query = query + " LEFT JOIN personal_personal ON areas_areas.id_personal_id = personal_personal.id ORDER BY area " cursor.execute(query) rows = dictfetchall(cursor) if rows: #RETORNA return JsonResponse(rows, safe=False) else: #RETORNA MENSAJE DE NO EXISTEN json = { 'resultado':'no_ok', 'mensaje': 'no existen Areas', } return JsonResponse(json, safe=False)
def pdfAreas(request): #validar si existe usuario logeado if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: #Consultar las Bodegas cursor = connection.cursor() query = " SELECT areas_areas.id, areas_areas.area, areas_areas.descripcion, areas_areas.estado, " query = query + " personal_personal.nombre AS encargado" query = query + " FROM areas_areas " query = query + " LEFT JOIN personal_personal ON areas_areas.id_personal_id = personal_personal.id " cursor.execute(query) rows = dictfetchall(cursor) areas_list = list(rows) context = { 'areas': areas_list, } pdf = render_to_pdf('reportes/pdf/pdfAreas.html', context) #FORZAR DOWNLOAD PDF if pdf: response = HttpResponse(pdf, content_type='application/pdf') filename = "Reporte_Areas_%s.pdf" %("000_000_001") content = "inline; filename='%s'" %(filename) content = "attachment; filename='%s'" %(filename) response['Content-Disposition'] = content return response
def gridNormas(request): #validar si existe usuario logeado if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: # todos los valores #normas = Normas.objects.all().values('id', 'nombre', 'estado','docfile') cursor = connection.cursor() query = " SELECT normas_normas.id, normas_normas.nombre, normas_normas.estado, normas_normas.docfile, " query = query + " personal_personal.nombre AS auditor_lider, personal_personal.id_cargo_id, personal_personal.id AS id_personal " query = query + " FROM normas_normas " query = query + " LEFT JOIN personal_personal ON normas_normas.auditor_lider_id = personal_personal.id " cursor.execute(query) rows = dictfetchall(cursor) # CONVIERTE QuerySet a list object normas_list = list(rows) if normas_list: #RETORNA return JsonResponse(normas_list, safe=False) else: #RETORNA MENSAJE DE NO EXISTEN json = { 'resultado':'no_ok', 'mensaje': 'no existen Normas', } return JsonResponse(json, safe=False)
def gridSacPlanAccion(request): if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: if request.method == 'GET': row_id = request.GET['row_id'] cursor = connection.cursor() query = " SELECT sac_planaccion.id, sac_planaccion.detalle_plan_accion, sac_planaccion.plazo_plan_accion, sac_planaccion.responsable_plan_accion_id, " query = query + " sac_planaccion.justificacion_plan, personal_personal.nombre AS responsable_accion, sac_planaccion.observacion_plan, sac_planaccion.estado_plan, sac_planaccion.fecha_seguimiento, personal.nombre AS responsable_seguimiento, " query = query + " sac_planaccion.detalle_seguimiento, sac_planaccion.estado_seguimiento, sac_planaccion.sac_id, sac_planaccion.observacion_seguimiento, " query = query + " sac_estado.estado_aprobacion, sac_estado.observaciones_aprobacion, sac_estado.estado_cierre_accion, sac_estado.fecha_cierre_accion " query = query + " FROM sac_planaccion " query = query + " LEFT JOIN personal_personal ON sac_planaccion.responsable_plan_accion_id = personal_personal.id " query = query + " LEFT JOIN personal_personal personal ON sac_planaccion.responsable_seguimiento_id = personal.id " query = query + " LEFT JOIN sac_estado ON sac_planaccion.sac_id = sac_estado.sac_id " query = query + " WHERE sac_planaccion.sac_id =%s " params = [row_id] cursor.execute(query, params) rows = dictfetchall(cursor) list_rows = list(rows) if list_rows: return JsonResponse(list_rows, safe=False) else: json = { 'resultado': 'no_ok', 'mensaje': 'no existen PLAN ACCION', } return JsonResponse(json, safe=False)
def colSeguimientos(request): #validar si existe usuario logeado if 'nombreUsuario' not in request.session: #return render(request, 'seguridad/login.html', {}) return redirect('login') else: cursor = connection.cursor() query = " SELECT sac_planaccion.id, sac_planaccion.detalle_plan_accion, sac_planaccion.plazo_plan_accion, sac_planaccion.justificacion_plan, sac_planaccion.responsable_plan_accion_id, sac_planaccion.observacion_plan, sac_planaccion.estado_plan,sac_planaccion.fecha_seguimiento, " query = query + " personal_personal.nombre AS personal_seguimiento, sac_planaccion.detalle_seguimiento, sac_planaccion.estado_seguimiento , sac_planaccion.responsable_seguimiento_id, sac_planaccion.observacion_seguimiento " query = query + " FROM sac_planaccion " query = query + " LEFT JOIN personal_personal ON sac_planaccion.responsable_seguimiento_id = personal_personal.id " query = query + " WHERE (sac_planaccion.responsable_seguimiento_id=%(id_usuario)s) OR (sac_planaccion.responsable_plan_accion_id =%(id_usuario)s) " params = {'id_usuario':request.session['idUsuario']} print query cursor.execute(query, params) rows = dictfetchall(cursor) context={ #'planAccion': PlanAccion.objects.values().all().filter(responsable_plan_accion_id=request.session['idUsuario']) 'planAccion': rows } return render(request, 'colaborador/planColaborador.html', context)
def GridHistoricoPlanAccion(request): # validar si existe usuario logeado if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: cursor = connection.cursor() query = " SELECT sac_revisionplan.id, sac_revisionplan.observacion_rev_responsable, sac_revisionplan.fec_rev_responsable, sac_revisionplan.estado_rev_responsable, " query = query + " sac_revisionplan.observacion_rev_seguimiento, sac_revisionplan.fec_rev_seguimiento, sac_revisionplan.estado_rev_seguimiento, " query = query + " sac_revisionplan.justificacion_responsable, sac_revisionplan.justificacion_seguimiento " query = query + " FROM sac_revisionplan " query = query + " WHERE sac_revisionplan.plan_id =%s " params = [request.GET['row_id']] cursor.execute(query, params) rows = dictfetchall(cursor) if rows: # RETORNA return JsonResponse(rows, safe=False) else: # RETORNA MENSAJE DE NO EXISTEN json = { 'resultado': 'no_ok', 'mensaje': 'no existen Historico !!', } return JsonResponse(json, safe=False)
def gridVinculadoNormas(request): if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: cursor = connection.cursor() query = " SELECT areas_areas.area, areas_procesos.proceso, normas_normas.nombre AS nombre_norma, normas_clausulas.clausula, " query = query + " normas_procesoclausula.id, normas_procesoclausula.id_area_id, normas_procesoclausula.id_clausula_id, " query = query + " normas_procesoclausula.id_norma_id, normas_procesoclausula.id_proceso_id " query = query + " FROM normas_procesoclausula" query = query + " LEFT JOIN areas_areas ON normas_procesoclausula.id_area_id = areas_areas.id " query = query + " LEFT JOIN areas_procesos ON normas_procesoclausula.id_proceso_id = areas_procesos.id " query = query + " LEFT JOIN normas_normas ON normas_procesoclausula.id_norma_id = normas_normas.id " query = query + " LEFT JOIN normas_clausulas ON normas_procesoclausula.id_clausula_id = normas_clausulas.id " query = query + " ORDER BY nombre_norma, clausula " cursor.execute(query) rows = dictfetchall(cursor) # CONVIERTE QuerySet a list object normas_list = list(rows) if normas_list: #RETORNA return JsonResponse(normas_list, safe=False) else: #RETORNA MENSAJE DE NO EXISTEN SECUENCIAS Y PERMITE CREAR json = { 'resultado':'no_ok', 'mensaje': 'no existen Normas Vinculadas', } return JsonResponse(json, safe=False)
def jefe(request): #validar si existe usuario logeado if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: cursor = connection.cursor() query = "SELECT auditoria_auditorias.numero_auditoria FROM auditoria_auditorias GROUP BY auditoria_auditorias.numero_auditoria " cursor.execute(query) rows = dictfetchall(cursor) #CONVIERTE QuerySet a list object num_auditorias_list = list(rows) context = { 'personal': Personal.objects.values('id', 'nombre').filter(estado=1), 'auditorias': num_auditorias_list, 'jefes': Personal.objects.values('id', 'nombre').all().filter(estado=1), 'sacs': Sac.objects.values('id').all().filter(estado_cabecera=1), } return render(request, 'jefeArea/jefe.html', context)
def gridSacAdmin(request): if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: if request.method == 'GET' and request.is_ajax(): cursor = connection.cursor() query = "SELECT sac_sac.id, auditoria_auditorias.numero_auditoria, auditoria_auditorias.lugar, auditoria_auditorias.fec_inicio, auditoria_auditorias.hora_inicio, " query = query + " areas_areas.area AS proceso, areas_procesos.proceso AS procedimiento, personal_personal.nombre AS encargado, personal_auditor.nombre AS auditor, sac_sac.estado_cabecera, " query = query + " sac_sac.observacion_cabecera, sac_sac.criticidad , sac_sac.descripcion_hallazgo, sac_sac.analisis_causa, sac_sac.descripcion_correcion, sac_sac.sac_id " query = query + " FROM sac_sac " query = query + " LEFT JOIN auditoria_auditorias ON sac_sac.numero_auditoria = auditoria_auditorias.numero_auditoria " query = query + " LEFT JOIN areas_areas ON sac_sac.area = areas_areas.id " query = query + " LEFT JOIN areas_procesos ON sac_sac.procedimiento_id = areas_procesos.id " query = query + " LEFT JOIN personal_personal ON sac_sac.responsable_id = personal_personal.id " query = query + " LEFT JOIN personal_personal personal_auditor ON sac_sac.solicitante_id = personal_auditor.id " query = query + " GROUP BY sac_sac.id ORDER BY id DESC " print query cursor.execute(query) rows = dictfetchall(cursor) # CONVIERTE QuerySet a list object sacs_auditor_list = list(rows) if sacs_auditor_list: return JsonResponse(sacs_auditor_list, safe=False) else: json = { 'resultado': 'no_ok', 'mensaje': 'no existen Sac', } return JsonResponse(json, safe=False)
def GridSacHistorico(request): if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: if request.method == 'GET' and request.is_ajax(): cursor = connection.cursor() query = " SELECT sac_revision.id, personal_personal.nombre AS administrador, director.nombre AS director, " query = query + " sac_revision.observacion_rev_director, sac_revision.fec_rev_director, sac_revision.estado_rev_director, " query = query + " auditor.nombre AS auditor, sac_revision.observacion_rev_auditor, sac_revision.fec_rev_auditor, " query = query + " sac_revision.estado_rev_auditor " query = query + " FROM sac_revision " query = query + " LEFT JOIN personal_personal ON sac_revision.admin_id = personal_personal.id " query = query + " LEFT JOIN personal_personal director ON sac_revision.director_id = director.id " query = query + " LEFT JOIN personal_personal auditor ON sac_revision.auditor_id = auditor.id " query = query + " WHERE sac_revision.sac_id =%s " query = query + " ORDER BY sac_revision.id DESC " params = [request.GET['row_id']] cursor.execute(query, params) rows_historico = dictfetchall(cursor) if rows_historico: return JsonResponse(rows_historico, safe=False) else: json = { 'resultado': 'no_ok', 'mensaje': 'no existe Historico', } return JsonResponse(json, safe=False)
def selectNotAdmin(request): # validar si existe usuario logeado if 'nombreUsuario' not in request.session: # return render(request, 'seguridad/login.html', {}) return redirect('login') else: if request.method == "POST" and request.is_ajax(): cursor = connection.cursor() query = " SELECT DISTINCT areas_procesos.proceso, areas_procesos.estado_colaborador, areas_procesos.estado_encargado, " query = query + " areas_procesos.observaciones_encargado, areas_procesos.estado_lider, areas_procesos.observaciones_lider, " query = query + " areas_procesos.estado_admin, areas_procesos.observaciones_admin " query = query + " FROM areas_procesos " query = query + " LEFT JOIN areas_area_proceso ON areas_procesos.id = areas_area_proceso.proceso_id " query = query + " WHERE areas_procesos.estado_colaborador = 6" query = query + " AND areas_area_proceso.personal_id =%s " params=[request.session['idUsuario']] cursor.execute(query, params) rows=dictfetchall(cursor) list_rows = list(rows) return JsonResponse(list_rows, safe=False)
def gridAudtDesignados(request): #validar si existe usuario logeado if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: cursor = connection.cursor() """ query = " SELECT " query = query + " normas_normas.nombre AS norma, " query = query + " personal_personal.nombre AS auditor, " query = query + " areas_areas.area, " query = query + " areas_procesos.proceso, " query = query + " auditoria_auditores.id, auditoria_auditores.id_auditor_id, auditoria_auditores.id_area_id, auditoria_auditores.id_norma_id, auditoria_auditores.id_proceso_id, " query = query + " normas_clausulas.clausula " query = query + " FROM auditoria_auditores " query = query + " LEFT JOIN personal_personal ON auditoria_auditores.id_auditor_id = personal_personal.id" query = query + " LEFT JOIN normas_normas ON auditoria_auditores.id_norma_id = normas_normas.id " query = query + " LEFT JOIN areas_areas ON auditoria_auditores.id_area_id = areas_areas.id " query = query + " LEFT JOIN areas_procesos ON auditoria_auditores.id_proceso_id = areas_procesos.id " query = query + " LEFT JOIN normas_clausulas ON normas_normas.id = normas_clausulas.id_norma_id " query = query + " WHERE auditoria_auditores.id_norma_id = %s" query = query + " GROUP BY norma, proceso " query = query + " ORDER BY areas_procesos.proceso " """ query = " SELECT personal_personal.id AS id_auditor_id, personal_personal.nombre AS auditor, normas_normas.nombre AS norma, " query = query + " normas_clausulas.id AS id_clausula, normas_clausulas.clausula, areas_areas.area, areas_procesos.proceso, " query = query + " normas_procesoclausula.id, normas_procesoclausula.id_area_id, normas_procesoclausula.id_norma_id, " query = query + " normas_procesoclausula.id_proceso_id " query = query + " FROM auditoria_auditores " query = query + " LEFT JOIN personal_personal ON auditoria_auditores.id_auditor_id = personal_personal.id " query = query + " LEFT JOIN normas_procesoclausula ON auditoria_auditores.proceso_clausula_id = normas_procesoclausula.id " query = query + " LEFT JOIN normas_normas ON normas_procesoclausula.id_norma_id = normas_normas.id " query = query + " LEFT JOIN normas_clausulas ON normas_procesoclausula.id_clausula_id = normas_clausulas.id " query = query + " LEFT JOIN areas_areas ON normas_procesoclausula.id_area_id = areas_areas.id " query = query + " LEFT JOIN areas_procesos ON normas_procesoclausula.id_proceso_id = areas_procesos.id " query = query + " WHERE normas_procesoclausula.id_norma_id =%s " params=str(request.GET['id_norma']) cursor.execute(query, params) rows = dictfetchall(cursor) # CONVIERTE QuerySet a list object auditores_list = list(rows) if auditores_list: #RETORNA return JsonResponse(auditores_list, safe=False) else: #RETORNA MENSAJE DE NO EXISTEN SECUENCIAS Y PERMITE CREAR json = { 'resultado':'no_ok', 'mensaje': 'no existen Auditores Vinculados', } return JsonResponse(json, safe=False)
def consultarProcesoNorma(request): if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: if request.method == 'POST' and request.is_ajax(): id_clausula = request.POST.get('id_clausula') #conexion cursor = connection.cursor() #query query = " SELECT areas_procesos.proceso " query = query + " FROM normas_procesoclausula " query = query + " LEFT JOIN areas_procesos ON normas_procesoclausula.id_proceso_id = areas_procesos.id " query = query + " WHERE normas_procesoclausula.id_clausula_id =%s " #parametros params =[id_clausula] #ejecutar consulta cursor.execute(query, params) #returnar diccionar de consulta rows = dictfetchall(cursor) # CONVIERTE QuerySet a list object procesos_list = list(rows) #recorriendo los directorios alldirectorys = [] import os for directorios in procesos_list: for root, dirs, files in os.walk('media/gestionDocumental'): for directory in dirs: if directory == directorios['proceso']: element = {} element['directorio'] = directory element['ruta_absoluta'] = root + '/' + directory element['archivos'] = os.listdir(root+'/'+directorios['proceso']) alldirectorys.append(element) if procesos_list: data = { 'resultado':'ok_select', 'procesos_list':procesos_list, 'archivos':alldirectorys } #RETORNA return JsonResponse(data, safe=False) else: #RETORNA MENSAJE DE NO EXISTEN SECUENCIAS Y PERMITE CREAR json = { 'resultado':'no_ok', 'mensaje': 'no existen Procesos Vinculados' } return JsonResponse(json, safe=False)
def sac(request): if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: cursor = connection.cursor() query = "SELECT auditoria_auditorias.numero_auditoria FROM auditoria_auditorias GROUP BY auditoria_auditorias.numero_auditoria " cursor.execute(query) rows = dictfetchall(cursor) num_auditorias_list = list(rows) context = { 'auditorias': num_auditorias_list, 'areas': Areas.objects.values('id', 'area').all().filter(estado=1), 'personal': Personal.objects.filter(estado=1), 'sacs': Sac.objects.values('id').all().filter(estado_cabecera=5), } return render(request, 'sac/sacs.html', context)
def listadoPersonal(request): #validar si existe usuario logeado if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: cursor = connection.cursor() query = "SELECT personal_personal.id, personal_personal.nombre FROM personal_personal WHERE estado = 1 " cursor.execute(query) rows = dictfetchall(cursor) return JsonResponse(rows, safe=False)
def selectNorma(request): #validar si existe usuario logeado if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: #validar si recibe los datos por ajax if request.method == 'POST' and request.is_ajax(): id_norma = request.POST.get('id_norma') norma = Normas.objects.get(pk=id_norma) cursor = connection.cursor() query = " SELECT normas_normas.id, normas_normas.nombre, normas_normas.estado, normas_normas.docfile, personal_personal.nombre AS auditor_lider, " query = query + " personal_personal.id_cargo_id, personal_personal.id AS id_personal " query = query + " FROM normas_normas " query = query + " LEFT JOIN personal_personal ON normas_normas.auditor_lider_id = personal_personal.id " query = query + " WHERE normas_normas.id =%s " params=[id_norma] cursor.execute(query, params) rows = dictfetchall(cursor) norma_list = list(rows) """ urlDocumento= str(norma.docfile) norma_list ={ 'id':norma.id, 'nombre':norma.nombre , 'docfile':urlDocumento, 'estado':norma.estado, } """ data = { 'resultado':'ok_select', 'norma_list':norma_list, } return HttpResponse(json.dumps(data), content_type="application/json") else: return render(request, 'seguridad/login.html', {})
def pdfAuditores(request): #validar si existe usuario logeado if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: #consultar cursor = connection.cursor() query = " SELECT " query = query + " normas_normas.nombre AS norma, " query = query + " personal_personal.nombre AS auditor, " query = query + " areas_areas.area, " query = query + " areas_procesos.proceso, " query = query + " auditoria_auditores.id, auditoria_auditores.id_auditor_id, auditoria_auditores.id_area_id, auditoria_auditores.id_norma_id, auditoria_auditores.id_proceso_id" query = query + " FROM auditoria_auditores " query = query + " LEFT JOIN personal_personal ON auditoria_auditores.id_auditor_id = personal_personal.id" query = query + " LEFT JOIN normas_normas ON auditoria_auditores.id_norma_id = normas_normas.id " query = query + " LEFT JOIN areas_areas ON auditoria_auditores.id_area_id = areas_areas.id " query = query + " LEFT JOIN areas_procesos ON auditoria_auditores.id_proceso_id = areas_procesos.id " #query = query + " WHERE areas_procesos.id_area_id IS NOT NULL " cursor.execute(query) rows = dictfetchall(cursor) # CONVIERTE QuerySet a list object auditores_list = list(rows) context = { 'auditores_list': auditores_list, } pdf = render_to_pdf('reportes/pdf/pdfAuditores.html', context) #FORZAR DOWNLOAD PDF if pdf: response = HttpResponse(pdf, content_type='application/pdf') filename = "Listado_Auditores_%s.pdf" %("000_000_001") content = "inline; filename='%s'" %(filename) content = "attachment; filename='%s'" %(filename) response['Content-Disposition'] = content return response
def clausulas(request): if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: cursor = connection.cursor() query = "SELECT DISTINCT normas_normas.id AS id_norma, normas_normas.nombre AS norma, normas_clausulas.clausula, normas_clausulas.detalle, normas_clausulas.id, " query = query + " CASE WHEN normas_procesoclausula.id_clausula_id IS NULL THEN 0 ELSE 1 END AS flag " query = query + " FROM normas_clausulas " query = query + " LEFT JOIN normas_normas ON normas_clausulas.id_norma_id = normas_normas.id " query = query + " LEFT JOIN normas_procesoclausula ON normas_clausulas.id = normas_procesoclausula.id_clausula_id " cursor.execute(query) rows = dictfetchall(cursor) clausulas_list = list(rows) context={ 'normas':Normas.objects.values('id', 'nombre').all().filter(estado=1), 'clausulas':clausulas_list, } return render(request, 'admin/clausulas.html', context)
def perPorCargo(request): """ Retorna listado del personal por cargo->id """ #validar si existe usuario logeado if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: #validar si recibe los datos por ajax if request.method == 'POST' and request.is_ajax(): id_cargo = request.POST.get('id_cargo') personal = Personal.objects.all().filter(estado=1, id_cargo_id=id_cargo) cursor = connection.cursor() query = " SELECT * " query = query + " FROM personal_personal " query = query + " WHERE personal_personal.id_cargo_id =%s " query = query + " AND personal_personal.estado=1 " params = [id_cargo] cursor.execute(query, params) rows = dictfetchall(cursor) if rows: data = { 'resultado': 'ok_select', 'personal_list': rows, } else: data = { 'resultado': 'no_ok', } return JsonResponse(data) else: return render(request, 'seguridad/login.html', {})
def gridAuditorias(request): #validar si existe usuario logeado if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: cursor = connection.cursor() query = "SELECT auditoria_auditorias.id AS id_auditoria, auditoria_auditorias.lugar, auditoria_auditorias.fec_inicio, auditoria_auditorias.fec_fin, " query = query + " auditoria_auditorias.objetivo, auditoria_auditorias.id_area_id, auditoria_auditorias.id_norma_id, " query = query + " auditoria_auditorias.hora_inicio, auditoria_auditorias.numero_auditoria, auditoria_auditorias.id_auditor_id, " query = query + " auditoria_auditorias.id_proceso_id, auditoria_auditorias.numero_auditoria, " query = query + " normas_normas.nombre AS nombre_norma, normas_clausulas.clausula AS clausula, " query = query + " areas_areas.area AS nombre_area, " query = query + " areas_procesos.proceso AS nombre_proceso, " query = query + " personal_personal.nombre AS nombre_auditor " query = query + " FROM auditoria_auditorias " query = query + " LEFT JOIN normas_normas on auditoria_auditorias.id_norma_id = normas_normas.id " query = query + " LEFT JOIN normas_clausulas ON auditoria_auditorias.id_clausula_id = normas_clausulas.id " query = query + " LEFT JOIN areas_areas on auditoria_auditorias.id_area_id = areas_areas.id " query = query + " LEFT JOIN areas_procesos on auditoria_auditorias.id_proceso_id = areas_procesos.id " query = query + " LEFT JOIN personal_personal ON auditoria_auditorias.id_auditor_id = personal_personal.id" cursor.execute(query) rows = dictfetchall(cursor) # CONVIERTE QuerySet a list object auditores_list = list(rows) if auditores_list: #RETORNA return JsonResponse(auditores_list, safe=False) else: #RETORNA MENSAJE DE NO EXISTEN SECUENCIAS Y PERMITE CREAR json = { 'resultado':'no_ok', 'mensaje': 'no existen Procesos', } return JsonResponse(json, safe=False)
def pdfPersonal(request): #validar si existe usuario logeado if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: #Consultar las Bodegas cursor = connection.cursor() query = "SELECT personal_personal.id as id_personal, personal_personal.nombre AS nombre_persona, " query = query + " personal_personal.telefono, personal_personal.celular, personal_personal.correo, personal_personal.estado, " query = query + " personal_cargo.nombre AS cargo, personal_areapersonal.nombre AS area, " #se agrega para mostrar los procesos vinculados query = query + " areas_procesos.proceso " query = query + " FROM personal_personal " query = query + " LEFT JOIN personal_cargo ON personal_personal.id_cargo_id = personal_cargo.id " #se agrega para mostrar los procesos vinculados query = query + " LEFT JOIN areas_area_proceso ON areas_area_proceso.personal_id = personal_personal.id " query = query + " LEFT JOIN areas_procesos ON areas_procesos.id = areas_area_proceso.proceso_id " query = query + " LEFT JOIN personal_areapersonal ON personal_areapersonal.id = personal_personal.id_areapersonal_id " query = query + " ORDER BY cargo " cursor.execute(query) rows = dictfetchall(cursor) personal_list = list(rows) context = { 'personal_list': personal_list, } pdf = render_to_pdf('reportes/pdf/pdfPersonal.html', context) #FORZAR DOWNLOAD PDF if pdf: response = HttpResponse(pdf, content_type='application/pdf') filename = "Listado_de_Personal_%s.pdf" % ("000_000_001") content = "inline; filename='%s'" % (filename) content = "attachment; filename='%s'" % (filename) response['Content-Disposition'] = content return response
def estadoDocColaborador(request): if 'nombreUsuario' not in request.session: return redirect('login') else: cursor = connection.cursor() query = " SELECT areas_procesos.id, areas_procesos.proceso AS procedimiento " query = query + " FROM documentos_documento " query = query + " LEFT JOIN areas_procesos ON documentos_documento.procedimiento_id = areas_procesos.id " query = query + " WHERE documentos_documento.subido_por_id =%s " params =[request.session['idUsuario']] cursor.execute(query , params) rows = dictfetchall(cursor) list_estado_documentos = list(rows) context={ 'documentoForm':DocumentacionForm, 'estado_documentos':list_estado_documentos, 'procedimientos_list': Procesos.objects.all().filter(estado=1) } return render(request, 'colaborador/estadoDocumentacion.html', context)
def selProcCol(request): #validar si existe usuario logeado if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: #validar si recibe los datos por ajax if request.method == 'POST' and request.is_ajax(): #abrimos conexion cursor = connection.cursor() #query personalizado query ="SELECT areas_procesos.docfile " query = query + "FROM procesos_colaboradores " query = query + " LEFT JOIN areas_procesos ON procesos_colaboradores.id_proceso_id = areas_procesos.id " query = query + " WHERE procesos_colaboradores.id_personal_id = '%s' " #parametros #params =str(request.session['idUsuario']) cursor.execute(query, [request.session['idUsuario']]) #convertir query a dict rows = dictfetchall(cursor) # CONVIERTE QuerySet a list object procesoUrl= list(rows) json = { 'resultado':'ok_select', 'procesoUrl': procesoUrl } return JsonResponse(json, safe=False) else: return render(request, 'seguridad/login.html', {})
def adminJefeDoc(request): """ LISTADO DE DIRECTORIO POR ID USUARIO Y PROCESO VINCULADO """ if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: cursor = connection.cursor() query = " SELECT DISTINCT areas_areas.area AS proceso " query = query + " FROM areas_area_proceso " query = query + " LEFT JOIN areas_areas ON areas_area_proceso.area_id = areas_areas.id " #query = query + " LEFT JOIN areas_personal ON areas_area_proceso.id = areas_personal.procedimiento_id " query = query + " WHERE areas_area_proceso.personal_id =%s " params = [request.session['idUsuario']] cursor.execute(query, params) rows_directorios = dictfetchall(cursor) alldirectorys = [] import os for directorios in rows_directorios: for root, dirs, files in os.walk('media/gestionDocumental'): for directory in dirs: if directory == directorios['proceso']: element = {} element['directorio'] = directory element['ruta_absoluta'] = root + '/' + directory alldirectorys.append(element) context = { 'archivos_list': alldirectorys, 'documentoForm': DocumentacionForm, 'reemplazarForm': ReemplazarForm } return render(request, 'jefeArea/directorios.html', context)
def gridProDesignados(request): #validar si existe usuario logeado if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: id_norma = request.GET['id_norma'] cursor = connection.cursor() query = " SELECT normas_procesoclausula.id, areas_areas.area, areas_procesos.proceso, " query = query + " normas_procesoclausula.id_proceso_id, normas_procesoclausula.id_area_id, normas_procesoclausula.id_norma_id, " query = query + " normas_clausulas.clausula, normas_clausulas.id AS id_clausula " query = query + " FROM normas_procesoclausula " query = query + " LEFT JOIN areas_areas ON normas_procesoclausula.id_area_id = areas_areas.id " query = query + " LEFT JOIN areas_procesos ON normas_procesoclausula.id_proceso_id = areas_procesos.id " query = query + " LEFT JOIN normas_clausulas ON normas_procesoclausula.id_clausula_id = normas_clausulas.id " query = query + " WHERE normas_procesoclausula.id_norma_id = %s " #query = query + " GROUP BY normas_procesoclausula.id_proceso_id, normas_procesoclausula.id_clausula_id " params=str(id_norma) cursor.execute(query, params) rows = dictfetchall(cursor) procesos_list=list(rows) if procesos_list: #RETORNA return JsonResponse(procesos_list, safe=False) else: #RETORNA MENSAJE DE NO EXISTEN json = { 'resultado':'no_ok', 'mensaje': 'no existen Procesos Designados', } return JsonResponse(json, safe=False)
def gridRevisionDocumentacion(request): #validar si existe usuario logeado if 'nombreUsuario' not in request.session: return render(request, 'seguridad/login.html', {}) else: id_documento = request.GET['id_documento'] cursor = connection.cursor() query = " SELECT documentos_revision.id, documentos_revision.fec_rev_director, documentos_revision.estado_rev_director, " query = query + " documentos_documento.id AS id_documento, documentos_revision.observacion_rev_director, documentos_revision.fec_rev_lider, documentos_revision.estado_rev_lider, " query = query + " documentos_revision.observacion_rev_lider, documentos_revision.fec_rev_admin, documentos_revision.estado_rev_admin, " query = query + " documentos_revision.observacion_rev_admin, personal_personal.nombre AS nombre_director, lider.nombre AS nombre_lider, " query = query + " admin.nombre AS nombre_admin, documentos_revision.director_id, documentos_revision.lider_id, documentos_revision.admin_id " query = query + " FROM documentos_revision " query = query + " LEFT JOIN documentos_documento ON documentos_revision.documento_id = documentos_documento.id " query = query + " LEFT JOIN personal_personal ON documentos_revision.director_id = personal_personal.id " query = query + " LEFT JOIN personal_personal lider ON documentos_revision.lider_id = lider.id " query = query + " LEFT JOIN personal_personal admin ON documentos_revision.admin_id = admin.id " query = query + " WHERE documentos_revision.documento_id=%s ORDER BY id DESC " params = [id_documento] cursor.execute(query, params) rows = dictfetchall(cursor) if rows: #RETORNA return JsonResponse(rows, safe=False) else: #RETORNA MENSAJE DE NO EXISTEN json = { 'resultado':'no_ok', 'mensaje': 'no existen Revisiones', } return JsonResponse(json, safe=False)