From fec9589d03de136b8b4293ce47a285900e213c78 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 6 Dec 2019 17:36:05 +0800 Subject: [PATCH] operation commit --- .../migrations/0296_auto_20191206_1559.py | 21 + safesite/models.py | 1 - safesite/static/safesite/mystatic/js/util.js | 16 + safesite/templates/operation.html | 20 +- safesite/templates/operationadd.html | 310 +- safesite/urls.py | 2 +- safesite/views.py | 6070 +++++++++-------- 7 files changed, 3603 insertions(+), 2837 deletions(-) create mode 100644 safesite/migrations/0296_auto_20191206_1559.py diff --git a/safesite/migrations/0296_auto_20191206_1559.py b/safesite/migrations/0296_auto_20191206_1559.py new file mode 100644 index 00000000..0de6373e --- /dev/null +++ b/safesite/migrations/0296_auto_20191206_1559.py @@ -0,0 +1,21 @@ +# Generated by Django 2.2.8 on 2019-12-06 15:59 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('safesite', '0295_auto_20191205_1702'), + ] + + operations = [ + # migrations.RemoveField( + # model_name='companyinfo', + # name='liaison_fax', + # ), + migrations.RemoveField( + model_name='operation', + name='issimple', + ), + ] diff --git a/safesite/models.py b/safesite/models.py index 5c2fa554..d90f696c 100644 --- a/safesite/models.py +++ b/safesite/models.py @@ -471,7 +471,6 @@ class Operation(models.Model):#作业表 zyimg = models.CharField(max_length=1000,default='') zyimg2 = models.CharField(max_length=1000,default='') deletemark = models.IntegerField(default='1') - issimple = models.IntegerField(default=1) zyzt = JSONField() fxcs = models.CharField(max_length=200) todouser = models.ForeignKey(User,related_name='zyclr',on_delete=models.CASCADE,null=True,blank=True) diff --git a/safesite/static/safesite/mystatic/js/util.js b/safesite/static/safesite/mystatic/js/util.js index c921e5ca..685679b2 100644 --- a/safesite/static/safesite/mystatic/js/util.js +++ b/safesite/static/safesite/mystatic/js/util.js @@ -349,6 +349,22 @@ function choseusers(x) { }); $('#userdd').window('center'); } +function choseuser(x) { + var x = x || 'lecturer'; + var myh = screen.availHeight * 0.7; + $('#userdd').dialog({ + maximizable: true, + title: '选择人员', + width: 900, + height: myh, + closed: false, + cache: false, + href: 'getuserf?a=' + x, + modal: true, + border: false, + }); + $('#userdd').window('center'); +} //导出excel function JSONToCSVConvertor(JSONData, ReportTitle, ShowLabel) { //If JSONData is not an object then JSON.parse will parse the JSON string in an Object diff --git a/safesite/templates/operation.html b/safesite/templates/operation.html index 184e534f..937fdb5d 100644 --- a/safesite/templates/operation.html +++ b/safesite/templates/operation.html @@ -1,7 +1,7 @@
- + 申请作业(无审批) 详细筛选 删除 查看详情 @@ -74,10 +74,20 @@ border:false, columns: [[ { field: 'zyid', title: 'ID', hidden: true }, - { field: 'zynum', title: '编号', width: 120 }, - { field: 'zyzt', title: '作业状态', width: 120 ,formatter: function (value, row, index) { - return value.zyzt; - } }, + { field: 'zynum', title: '编号', width: 100 }, + { field: 'zyzt', title: '作业状态', width: 60 ,formatter: function (value, row, index) { + if(value.splc==0){ + return value.zyzt + '(无流程)' + }else{ + return value.zyzt; + } + + }, styler: function (value, row, index) { + switch (value.zyzt) { + case '已关闭': return 'background-color:green;color:white'; break; + case '待关闭': return 'background-color:orange;'; break; + } + }}, { field: 'zylx__dickeyname', title: '作业类型', width: 120 }, { field: 'zyfzr__name', title: '作业负责人', width: 120 }, { field: 'zynr', title: '作业内容', width: 200 }, diff --git a/safesite/templates/operationadd.html b/safesite/templates/operationadd.html index c3212b4a..d4aca0b0 100644 --- a/safesite/templates/operationadd.html +++ b/safesite/templates/operationadd.html @@ -6,9 +6,56 @@
+
+ +
+
+ +
- +
+
+ +
- -
-
- -
-
- + + + 选择
选择
+ +
+ +
+
+ +
+ +
+
\ No newline at end of file diff --git a/safesite/urls.py b/safesite/urls.py index 0946863c..c9b9fbee 100644 --- a/safesite/urls.py +++ b/safesite/urls.py @@ -47,7 +47,7 @@ urlpatterns = [ path('html/notice/detail//', views.noticedetail), path('html/zuoyepeizhi', views.zuoyepeizhi), path('html/operation', views.operation), - path('html/operation/add//', views.operationadd), + path('html/operation/add', views.operationadd), path('html/operation/detail//', views.operationdetail), path('html/fxcs/add', views.fxcsadd), path('html/operationspjd/add', views.operationspjdadd), diff --git a/safesite/views.py b/safesite/views.py index cc304e51..39377320 100644 --- a/safesite/views.py +++ b/safesite/views.py @@ -1,7 +1,9 @@ -from django.shortcuts import render,redirect,render_to_response -from django.http import HttpResponse, HttpResponseRedirect,JsonResponse -from .models import User,Trouble,Dickey,Partment,Dicclass,Train,Drill,TroubleAccess,Group,Yjyc,Trainuser,Drilluser,Yjsetup,Menu,Observe,Observeto,Unsafes,Miss,Socertificate,Userprofile,Suggest,Notice,Noticeto,Operation,Operzyry,Fxcs,Operationspjd,Operspxq,Question,ExamPaper,ExamTest,ExamPaperDetail,ExamTestDetail,Questioncat,Safecert,Map,Area,Missto,Suggestflow,Equipment,Inspect,Risk,RiskAct,Risktask,Riskcheck,Report,RiskActTask,Riskcheck2 +from captcha.helpers import captcha_image_url +from captcha.models import CaptchaStore +from django.shortcuts import render, redirect, render_to_response +from django.http import HttpResponse, HttpResponseRedirect, JsonResponse +from .models import User, Trouble, Dickey, Partment, Dicclass, Train, Drill, TroubleAccess, Group, Yjyc, Trainuser, Drilluser, Yjsetup, Menu, Observe, Observeto, Unsafes, Miss, Socertificate, Userprofile, Suggest, Notice, Noticeto, Operation, Operzyry, Fxcs, Operationspjd, Operspxq, Question, ExamPaper, ExamTest, ExamPaperDetail, ExamTestDetail, Questioncat, Safecert, Map, Area, Missto, Suggestflow, Equipment, Inspect, Risk, RiskAct, Risktask, Riskcheck, Report, RiskActTask, Riskcheck2 from django.template import RequestContext from django.views.decorators.csrf import csrf_exempt from django.core import serializers @@ -10,14 +12,14 @@ import json from uuid import UUID import os import time -from datetime import datetime,date,timedelta -from django.db.models import F,Count,Sum +from datetime import datetime, date, timedelta +from django.db.models import F, Count, Sum import requests -from .tasks import send_wechatmsgs,send_wechatmsg,yjjs,gettime,yjjs_px,yjjs_yl,updateTzzs,updateAqzs,yjjs_gc,yjjs_ws -from .export import exportdoc,exportxlsx,exportyjdoc,exportsimplexlsx,exportdoc2 -from .daoru import drusers,drequipments,drrisks,drquestions,cal_riskact_level,cal_area_risk_level,makeqr,makeqr_train,makeqr_riskact,makeqr_examtest,makeqr_area +from .tasks import send_wechatmsgs, send_wechatmsg, yjjs, gettime, yjjs_px, yjjs_yl, updateTzzs, updateAqzs, yjjs_gc, yjjs_ws +from .export import exportdoc, exportxlsx, exportyjdoc, exportsimplexlsx, exportdoc2 +from .daoru import drusers, drequipments, drrisks, drquestions, cal_riskact_level, cal_area_risk_level, makeqr, makeqr_train, makeqr_riskact, makeqr_examtest, makeqr_area from django.forms.models import model_to_dict -from .safespider import getTzzs,getAqzs +from .safespider import getTzzs, getAqzs from duibiao import calsim from django.db.models import Q from django.core.serializers.json import DjangoJSONEncoder @@ -33,364 +35,467 @@ import logging from django.contrib.auth.hashers import make_password, check_password logger = logging.getLogger('log') -#分页功能 -def fenye(req): - if req.GET.get('page',None) and req.GET.get('rows',None): - page=int(req.GET.get('page')) - rows=int(req.GET.get('rows')) - endnum=page*rows - startnum=endnum-rows - else: - startnum=0 - endnum=10 - return startnum,endnum +# 分页功能 + + +def fenye(req): + if req.GET.get('page', None) and req.GET.get('rows', None): + page = int(req.GET.get('page')) + rows = int(req.GET.get('rows')) + endnum = page*rows + startnum = endnum-rows + else: + startnum = 0 + endnum = 10 + return startnum, endnum + +# 特殊字符转json + -#特殊字符转json class MyEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj, datetime): return obj.strftime('%Y-%m-%d %H:%M') elif isinstance(obj, date): return obj.strftime("%Y-%m-%d") - elif isinstance(obj,decimal.Decimal): + elif isinstance(obj, decimal.Decimal): return float(obj) elif isinstance(obj, UUID): - # if the obj is uuid, we simply return the value of uuid + # if the obj is uuid, we simply return the value of uuid return obj.hex else: return json.JSONEncoder.default(self, obj) -#获取user所在公司 +# 获取user所在公司 + + def getcompany(x): - a = User.objects.get(userid = x) + a = User.objects.get(userid=x) if a.ubelongpart.iscompany == 1: return str(a.ubelongpart.partid) else: return a.ubelongpart.partlink.split(',')[1] -def getparts(partid):#获取该部门及下属部门 + +def getparts(partid): # 获取该部门及下属部门 return Partment.objects.filter(Q(partid=partid) | Q(partlink__contains=',' + str(partid) + ',')) -#转换为datagrid所用json +# 转换为datagrid所用json + + def transjson(total, obj): - a = {'total':total,'rows':list(obj),'code':1} - jsondata = json.dumps(a,cls=MyEncoder) + a = {'total': total, 'rows': list(obj), 'code': 1} + jsondata = json.dumps(a, cls=MyEncoder) return jsondata + + def transjson2(v): return json.dumps(list(v), cls=DjangoJSONEncoder) -#转换为combobox所用string -def transstr(obj,str1,str2): +# 转换为combobox所用string + + +def transstr(obj, str1, str2): keylist = [] for i in list(obj): - keydictstr = '{"value":"'+ str(i[str1])+'","text":"'+i[str2]+'"}' - keylist.append(keydictstr) + keydictstr = '{"value":"' + str(i[str1])+'","text":"'+i[str2]+'"}' + keylist.append(keydictstr) keystr = '['+','.join(keylist)+']' return keystr + def check_login(func): - def warpper(request,*args,**kwargs): + def warpper(request, *args, **kwargs): is_login = request.session.get('userid', None) if is_login: - return func(request,*args,**kwargs) + return func(request, *args, **kwargs) else: return redirect('login') return warpper + def apicheck_login(func): - def warpper(request,*args,**kwargs): + def warpper(request, *args, **kwargs): is_login = request.session.get('userid', None) if is_login: - return func(request,*args,**kwargs) + return func(request, *args, **kwargs) else: - return JsonResponse({'code':0,'msg':'login required'}) + return JsonResponse({'code': 0, 'msg': 'login required'}) return warpper -def check_session(req): - if req.session.get('userid',None): - return JsonResponse({"code":1}) - else: - return JsonResponse({"code":0}) -#存储文件 +def check_session(req): + if req.session.get('userid', None): + return JsonResponse({"code": 1}) + else: + return JsonResponse({"code": 0}) + +# 存储文件 + + def upfile(req): username = User.objects.get(userid=req.session['userid']).username - file_name = (time.strftime('%Y%m%d%H%M%S')+ '_' + req.FILES['upfile'].name).replace('#','号') + file_name = (time.strftime('%Y%m%d%H%M%S') + '_' + + req.FILES['upfile'].name).replace('#', '号') user_upload_folder = os.path.join('media', username) if not os.path.exists(user_upload_folder): os.mkdir(user_upload_folder) filepath = os.path.join(user_upload_folder, file_name) - filepath = filepath.replace('\\','/') - with open( filepath, 'wb') as f: + filepath = filepath.replace('\\', '/') + with open(filepath, 'wb') as f: f.write(req.FILES['upfile'].read()) - return JsonResponse({"code":1,"filename":file_name,"filepath":filepath}) + return JsonResponse({"code": 1, "filename": file_name, "filepath": filepath}) + +# html页面 -#html页面 def riskas(req): - return render(req,'riskas.html') + return render(req, 'riskas.html') + def reportedit(req): - return render(req,'reportedit.html',{'year':req.GET.get('year'),'month':req.GET.get('month'),'part':req.GET.get('part')}) + return render(req, 'reportedit.html', {'year': req.GET.get('year'), 'month': req.GET.get('month'), 'part': req.GET.get('part')}) -def riskedit(req,id): - return render(req,'riskedit.html',{'id':id}) -def riskcheck(req):#风险点排查记录 - return render(req,'riskactcheck.html') +def riskedit(req, id): + return render(req, 'riskedit.html', {'id': id}) + + +def riskcheck(req): # 风险点排查记录 + return render(req, 'riskactcheck.html') + def taskdo(req): - return render(req,'taskdo.html') + return render(req, 'taskdo.html') + def task(req): - return render(req,'task.html') + return render(req, 'task.html') + def riskactchose(req): area = 0 - if req.GET.get('area',None): + if req.GET.get('area', None): area = req.GET.get('area') - return render(req,'riskactchose.html',locals()) + return render(req, 'riskactchose.html', locals()) + + +def riskactedit(req, id): + return render(req, 'riskactedit.html', {'id': id}) -def riskactedit(req,id): - return render(req,'riskactedit.html',{'id':id}) def riskactadd(req): - return render(req,'riskactadd.html') + return render(req, 'riskactadd.html') + + +def riskadd(req, id): + return render(req, 'riskadd.html', {'id': id}) -def riskadd(req,id): - return render(req,'riskadd.html',{'id':id}) def risk(req): - return render(req,'risk.html') + return render(req, 'risk.html') + def inspect(req): - return render(req,'inspect.html') + return render(req, 'inspect.html') + def equipment(req): - return render(req,'equipment.html') + return render(req, 'equipment.html') + + +def areaedit(req, id): + return render(req, 'areaedit.html', {'id': id}) -def areaedit(req,id): - return render(req,'areaedit.html',{'id':id}) def areaadd(req): - return render(req,'areaadd.html') + return render(req, 'areaadd.html') + def areadetail(req): id = req.GET.get('id') - return render(req,'areadetail.html',{'id':id}) + return render(req, 'areadetail.html', {'id': id}) + def mapshow(req): - return render(req,'mapshow.html') + return render(req, 'mapshow.html') + def area(req): - return render(req,'area.html') + return render(req, 'area.html') + def personaltrain(req): - return render(req,'personaltrain.html') + return render(req, 'personaltrain.html') + def examtest(req): - return render(req,'examtest.html') + return render(req, 'examtest.html') + def safecert(req): - return render(req,'safecert.html') + return render(req, 'safecert.html') + def safecertadd(req): - return render(req,'safecertadd.html') + return render(req, 'safecertadd.html') + + +def examtestdetail(req, id): + return render(req, 'examtestdetail.html', {'id': id}) -def examtestdetail(req,id): - return render(req,'examtestdetail.html',{'id':id}) def examtestadd(req): - return render(req,'examtestadd.html') - + return render(req, 'examtestadd.html') + + def examtestadd2(req): - return render(req,'examtestadd2.html') + return render(req, 'examtestadd2.html') + def questionchoose(req): - return render(req,'questionchoose.html') + return render(req, 'questionchoose.html') + + +def exampaperedit(req, id): + return render(req, 'exampaperedit.html', {'id': id}) -def exampaperedit(req,id): - return render(req,'exampaperedit.html',{'id':id}) def exampaperadd(req): - return render(req,'exampaperadd.html') + return render(req, 'exampaperadd.html') + def exampaper(req): - return render(req,'exampaper.html') + return render(req, 'exampaper.html') + + +def examhistory(req, id): + return render(req, 'examhistory.html', {'id': id}) -def examhistory(req,id): - return render(req,'examhistory.html',{'id':id}) def questionadd(req): - return render(req,'questionadd.html') + return render(req, 'questionadd.html') + def questionadd2(req): - return render(req,'questionadd2.html') + return render(req, 'questionadd2.html') + def questionadd3(req): - return render(req,'questionadd3.html') + return render(req, 'questionadd3.html') -def questionedit(req,id): + +def questionedit(req, id): obj = Question.objects.get(id=id) - if obj.type==1: - return render(req,'questionedit.html',{'id':id}) - elif obj.type==2: - return render(req,'questionedit2.html',{'id':id}) - elif obj.type==3: - return render(req,'questionedit3.html',{'id':id}) + if obj.type == 1: + return render(req, 'questionedit.html', {'id': id}) + elif obj.type == 2: + return render(req, 'questionedit2.html', {'id': id}) + elif obj.type == 3: + return render(req, 'questionedit3.html', {'id': id}) + def question(req): - return render(req,'question.html') + return render(req, 'question.html') + def questioncatadd(req): - return render(req,'questioncatadd.html') + return render(req, 'questioncatadd.html') + + +def questioncatedit(req, id): + return render(req, 'questioncatedit.html', {'id': id}) -def questioncatedit(req,id): - return render(req,'questioncatedit.html',{'id':id}) def operationspjdadd(req): - return render(req,'operationspjdadd.html') + return render(req, 'operationspjdadd.html') + def fxcsadd(req): - return render(req,'fxcsadd.html') + return render(req, 'fxcsadd.html') -def operationadd(req,zyid): - return render(req,'operationadd.html',{'zyid':zyid}) -def operationdetail(req,zyid): - return render(req,'operationdetail.html',{'zyid':zyid}) +def operationadd(req): + return render(req, 'operationadd.html') + + +def operationdetail(req, zyid): + return render(req, 'operationdetail.html', {'zyid': zyid}) + def operation(req): - return render(req,'operation.html') + return render(req, 'operation.html') + def zuoyepeizhi(req): - return render(req,'zuoyepeizhi.html') + return render(req, 'zuoyepeizhi.html') + def notice(req): - return render(req,'notice.html') + return render(req, 'notice.html') + def noticeadd(req): - return render(req,'noticeadd.html') + return render(req, 'noticeadd.html') -def noticedetail(req,id): - return render(req,'noticedetail.html',{'id':id}) -def noticeedit(req,id): - return render(req,'noticeedit.html',{'id':id}) +def noticedetail(req, id): + return render(req, 'noticedetail.html', {'id': id}) -def suggestupdate(req,jyid): - return render(req,'suggestupdate.html',{'jyid':jyid}) -def suggestdetail(req,jyid): - return render(req,'suggestdetail.html',{'jyid':jyid}) +def noticeedit(req, id): + return render(req, 'noticeedit.html', {'id': id}) + + +def suggestupdate(req, jyid): + return render(req, 'suggestupdate.html', {'jyid': jyid}) + + +def suggestdetail(req, jyid): + return render(req, 'suggestdetail.html', {'jyid': jyid}) + def suggestadd(req): - return render(req,'suggestadd.html') + return render(req, 'suggestadd.html') + def suggest(req): - return render(req,'suggest.html') + return render(req, 'suggest.html') + def medetail(req): - return render(req,'medetail.html') + return render(req, 'medetail.html') + def socerthtml(req): - return render(req,'socert.html') + return render(req, 'socert.html') + def socertadd(req): - return render(req,'socertadd.html') + return render(req, 'socertadd.html') + def rightshtml(req): groupid = req.GET.get('groupid') - return render(req,'rights.html',{'groupid':groupid}) + return render(req, 'rights.html', {'groupid': groupid}) + def misshtml(req): - return render(req,'miss.html') + return render(req, 'miss.html') + def missadd(req): - return render(req,'missadd.html') + return render(req, 'missadd.html') + + +def missdetail(req, missid): + return render(req, 'missdetail.html', {'missid': missid}) -def missdetail(req,missid): - return render(req,'missdetail.html',{'missid':missid}) def troublehtml(req): - return render(req,'trouble.html') + return render(req, 'trouble.html') + def observehtml(req): - return render(req,'observe.html') + return render(req, 'observe.html') + def addobserve(req): - return render(req,'addobserve.html') + return render(req, 'addobserve.html') + def accesstrouble(req): - return render(req,'accesstrouble.html') + return render(req, 'accesstrouble.html') + def addtrouble(req): - return render(req,'addtrouble.html') + return render(req, 'addtrouble.html') + def dichtml(req): - return render(req,'dichtml.html') + return render(req, 'dichtml.html') + def putreehtml(req): - return render(req,'putree.html') + return render(req, 'putree.html') + def usergroup(req): - return render(req,'usergroup.html') + return render(req, 'usergroup.html') + def getuserf(req): - return render(req,'getuser.html') + return render(req, 'getuser.html') + def getusersf(req): - return render(req,'getusers.html') + return render(req, 'getusers.html') + def trainhtml(req): - return render(req,'train.html') + return render(req, 'train.html') + def abtrain(req): - return render(req,'abtrain.html') + return render(req, 'abtrain.html') + def drillhtml(req): - return render(req,'drill.html') + return render(req, 'drill.html') + def abdrill(req): - return render(req,'abdrill.html') + return render(req, 'abdrill.html') + def reporthtml(req): - return render(req,'report.html') + return render(req, 'report.html') + def troubleashtml(req): - return render(req,'troubleashtml.html') + return render(req, 'troubleashtml.html') + def userhtml(req): - return render(req,'userhtml.html') + return render(req, 'userhtml.html') + def bhrhtml(req): - return render(req,'behavior.html') + return render(req, 'behavior.html') + def trainfigure(req): - return render(req,'trainfigure.html') + return render(req, 'trainfigure.html') + def equipmentfigure(req): - return render(req,'equipmentfigure.html') + return render(req, 'equipmentfigure.html') + def mainhtml(req): - #计算一些数据 + # 计算一些数据 userid = req.session['userid'] companyid = getcompany(userid) - first_day,first_day_of_next_month=gettime() - #查询 - a = Trouble.objects.filter(usecomp__partid=companyid,deletemark=1) + first_day, first_day_of_next_month = gettime() + # 查询 + a = Trouble.objects.filter(usecomp__partid=companyid, deletemark=1) totalyh = a.count() - monthyh = a.filter(fxsj__range=(first_day, first_day_of_next_month)).count() + monthyh = a.filter(fxsj__range=( + first_day, first_day_of_next_month)).count() yhnum = a.filter(todouser__userid=userid).count() - b = Train.objects.filter(usecomp__partid=companyid,deletemark=1) - pxnum = b.filter(state=0,submituser__userid=userid).count() + b = Train.objects.filter(usecomp__partid=companyid, deletemark=1) + pxnum = b.filter(state=0, submituser__userid=userid).count() totalpx = b.count() - monthpx = b.filter(starttime__range=(first_day, first_day_of_next_month)).count() - c = Drill.objects.filter(usecomp__partid=companyid,deletemark=1) - totalyl=c.count() - ylnum =c.filter(state=0,submituser__userid=userid).count() - monthyl=c.filter(starttime__range=(first_day, first_day_of_next_month)).count() - return render(req,'main.html',{'yhnum':yhnum,'totalyh':totalyh,'monthyh':monthyh,'pxnum':pxnum,'totalpx':totalpx,'monthpx':monthpx,'ylnum':ylnum,'totalyl':totalyl,'monthyl':monthyl}) + monthpx = b.filter(starttime__range=( + first_day, first_day_of_next_month)).count() + c = Drill.objects.filter(usecomp__partid=companyid, deletemark=1) + totalyl = c.count() + ylnum = c.filter(state=0, submituser__userid=userid).count() + monthyl = c.filter(starttime__range=( + first_day, first_day_of_next_month)).count() + return render(req, 'main.html', {'yhnum': yhnum, 'totalyh': totalyh, 'monthyh': monthyh, 'pxnum': pxnum, 'totalpx': totalpx, 'monthpx': monthpx, 'ylnum': ylnum, 'totalyl': totalyl, 'monthyl': monthyl}) + + def login(req): if req.session.get('userid', None): return redirect('index') @@ -399,9 +504,9 @@ def login(req): if user_form.is_valid(): username = req.POST.get('username') password = req.POST.get('password') - user = User.objects.filter(username = username,deletemark=1) + user = User.objects.filter(username=username, deletemark=1) if user.exists(): - if check_password(password,user[0].epassword): + if check_password(password, user[0].epassword): req.session['userid'] = user[0].userid req.session.set_expiry(60*40) return redirect('index') @@ -410,29 +515,33 @@ def login(req): return render(req, 'login.html', locals()) else: msg = '用户不存在或被禁用' - return render(req,'login.html', locals()) + return render(req, 'login.html', locals()) else: msg = '验证码错误' return render(req, 'login.html', locals()) else: user_form = UserForm() - return render(req,'login.html', locals()) + return render(req, 'login.html', locals()) + def index(req): if not req.session.get('userid', None): return redirect('login') userid = req.session['userid'] - user=User.objects.get(userid=userid) + user = User.objects.get(userid=userid) companyname = user.usecomp.partname name = user.name - openid=user.openid - headimgurl=user.headimgurl - nickname=user.nickname + openid = user.openid + headimgurl = user.headimgurl + nickname = user.nickname issuper = user.issuper - return render(req, 'index.html',{'username':name,'userid':userid,'openid':openid,'headimgurl':headimgurl,'nickname':nickname,'companyname':companyname,'issuper':issuper,'token':user.token}) + return render(req, 'index.html', {'username': name, 'userid': userid, 'openid': openid, 'headimgurl': headimgurl, 'nickname': nickname, 'companyname': companyname, 'issuper': issuper, 'token': user.token}) + + def logout(req): - if req.session.get('userid',None): - logger.info('method: %s user: %s 登出' % (req.method,req.session['userid'])) + if req.session.get('userid', None): + logger.info('method: %s user: %s 登出' % + (req.method, req.session['userid'])) req.session.flush() return redirect('login') @@ -442,50 +551,58 @@ def changepwd(req): oldpassword = req.POST.get('oldpassword') newpassword = req.POST.get('newpassword') a = User.objects.get(userid=userid) - if check_password(oldpassword,a.epassword): + if check_password(oldpassword, a.epassword): a.password = newpassword a.epassword = make_password(newpassword) a.save() del req.session['userid'] - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":2}) + return JsonResponse({"code": 2}) + def mainapi(req): - #计算一些数据 + # 计算一些数据 userid = req.session['userid'] companyid = getcompany(userid) - first_day,first_day_of_next_month=gettime() - #查询 - a = Trouble.objects.filter(usecomp__partid=companyid,deletemark=1) + first_day, first_day_of_next_month = gettime() + # 查询 + a = Trouble.objects.filter(usecomp__partid=companyid, deletemark=1) totalyh = a.count() - monthyh = a.filter(fxsj__range=(first_day, first_day_of_next_month)).count() + monthyh = a.filter(fxsj__range=( + first_day, first_day_of_next_month)).count() yhnum = a.filter(todouser__userid=userid).count() - b = Train.objects.filter(usecomp__partid=companyid,deletemark=1) - pxnum = b.filter(state=0,submituser__userid=userid).count() + b = Train.objects.filter(usecomp__partid=companyid, deletemark=1) + pxnum = b.filter(state=0, submituser__userid=userid).count() totalpx = b.count() - monthpx = b.filter(starttime__range=(first_day, first_day_of_next_month)).count() + monthpx = b.filter(starttime__range=( + first_day, first_day_of_next_month)).count() - c = Drill.objects.filter(usecomp__partid=companyid,deletemark=1) - totalyl=c.count() - ylnum =c.filter(state=0,submituser__userid=userid).count() - monthyl = c.filter(starttime__range=(first_day, first_day_of_next_month)).count() + c = Drill.objects.filter(usecomp__partid=companyid, deletemark=1) + totalyl = c.count() + ylnum = c.filter(state=0, submituser__userid=userid).count() + monthyl = c.filter(starttime__range=( + first_day, first_day_of_next_month)).count() - gcobjs = Observe.objects.filter(deletemark=1,usecomp__partid=companyid) - gcnum = gcobjs.filter(looktime__range=(first_day,first_day_of_next_month)).count() - monthgc = gcobjs.filter(submittime__range=(first_day, first_day_of_next_month)).count() + gcobjs = Observe.objects.filter(deletemark=1, usecomp__partid=companyid) + gcnum = gcobjs.filter(looktime__range=( + first_day, first_day_of_next_month)).count() + monthgc = gcobjs.filter(submittime__range=( + first_day, first_day_of_next_month)).count() - wsobjs = Miss.objects.filter(deletemark=1,usecomp__partid=companyid) - monthws = wsobjs.filter(submittime__range=(first_day, first_day_of_next_month)).count() + wsobjs = Miss.objects.filter(deletemark=1, usecomp__partid=companyid) + monthws = wsobjs.filter(submittime__range=( + first_day, first_day_of_next_month)).count() - return JsonResponse({"code":1,"yhnum":yhnum,"totalyh":totalyh,"monthyh":monthyh,"pxnum":pxnum,"totalpx":totalpx,"monthpx":monthpx,"ylnum":monthyl,"totalyl":totalyl,"xwnum":monthgc,"wsnum":monthws}) + return JsonResponse({"code": 1, "yhnum": yhnum, "totalyh": totalyh, "monthyh": monthyh, "pxnum": pxnum, "totalpx": totalpx, "monthpx": monthpx, "ylnum": monthyl, "totalyl": totalyl, "xwnum": monthgc, "wsnum": monthws}) -def getpgr_ubp(userid,ubp): - a=ubp - if a.aqy!=',': + +def getpgr_ubp(userid, ubp): + a = ubp + if a.aqy != ',': if ','+str(userid)+',' in a.aqy: - if a.bmzg !=',': + if a.bmzg != ',': if ','+str(userid)+',' in a.bmzg: return False else: @@ -506,7 +623,7 @@ def getpgr_ubp(userid,ubp): todouser = User.objects.get(userid=aqylist[0]) return todouser else: - if a.bmzg !=',': + if a.bmzg != ',': if ','+str(userid)+',' in a.bmzg: return False else: @@ -518,24 +635,27 @@ def getpgr_ubp(userid,ubp): else: return False -def getpgr(userid,ubp): - currentpart=ubp + +def getpgr(userid, ubp): + currentpart = ubp if userid == 'zpbm': - return getpgr_ubp(userid,currentpart) + return getpgr_ubp(userid, currentpart) else: - a=getpgr_ubp(userid,currentpart) - while a==False: - currentpart=currentpart.parentid #已找不到上级部门 + a = getpgr_ubp(userid, currentpart) + while a == False: + currentpart = currentpart.parentid # 已找不到上级部门 if currentpart: - a=getpgr_ubp(userid,currentpart) + a = getpgr_ubp(userid, currentpart) else: return User.objects.get(userid=userid) return a -#系统智能选取评估审核人 主管 -def getpgr_ubp2(userid,ubp): - a=ubp - if a.bmzg !=',': +# 系统智能选取评估审核人 主管 + + +def getpgr_ubp2(userid, ubp): + a = ubp + if a.bmzg != ',': zgstr = a.bmzg zglist = zgstr.split(',') zglist = list(filter(None, zglist)) @@ -544,21 +664,24 @@ def getpgr_ubp2(userid,ubp): else: return False -def getpgr2(userid,ubp): - currentpart=ubp - a=getpgr_ubp2(userid,currentpart) - while a==False: - currentpart=currentpart.parentid #已找不到上级部门 + +def getpgr2(userid, ubp): + currentpart = ubp + a = getpgr_ubp2(userid, currentpart) + while a == False: + currentpart = currentpart.parentid # 已找不到上级部门 if currentpart: - a=getpgr_ubp2(userid,currentpart) + a = getpgr_ubp2(userid, currentpart) else: return User.objects.get(userid=userid) return a -#系统智能选取作业审批人 +# 系统智能选取作业审批人 + + def getspr_ubp(ubp): - a=ubp - if a.bmzg !=',': + a = ubp + if a.bmzg != ',': zgstr = a.bmzg zglist = zgstr.split(',') zglist = list(filter(None, zglist)) @@ -566,31 +689,34 @@ def getspr_ubp(ubp): else: return False + def getspr(ubp): - currentpart=ubp - a=getspr_ubp(currentpart) - while a==False: - currentpart=currentpart.parentid #已找不到上级部门 + currentpart = ubp + a = getspr_ubp(currentpart) + while a == False: + currentpart = currentpart.parentid # 已找不到上级部门 if currentpart: - a=getspr_ubp(currentpart) + a = getspr_ubp(currentpart) else: - return User.objects.get(ubelongpart=currentpart,issuper=1) + return User.objects.get(ubelongpart=currentpart, issuper=1) return a -def getsprs(userid,ubp): - currentpart=ubp - a=getsprs_ubp(userid,currentpart) - while a==False: - currentpart=currentpart.parentid #已找不到上级部门 + +def getsprs(userid, ubp): + currentpart = ubp + a = getsprs_ubp(userid, currentpart) + while a == False: + currentpart = currentpart.parentid # 已找不到上级部门 if currentpart: - a=getsprs_ubp(userid,currentpart) + a = getsprs_ubp(userid, currentpart) else: - return User.objects.get(ubelongpart=currentpart,issuper=1) + return User.objects.get(ubelongpart=currentpart, issuper=1) return a -def getsprs_ubp(userid,ubp):#主管 - a=ubp - if a.bmzg !=',': + +def getsprs_ubp(userid, ubp): # 主管 + a = ubp + if a.bmzg != ',': zgstr = a.bmzg zglist = zgstr.split(',') zglist = list(map(int, list(filter(None, zglist)))) @@ -601,20 +727,22 @@ def getsprs_ubp(userid,ubp):#主管 else: return False -def getsprs2(userid,ubp): - currentpart=ubp - a=getsprs_ubp2(userid,currentpart) - while a==False: - currentpart=currentpart.parentid #已找不到上级部门 + +def getsprs2(userid, ubp): + currentpart = ubp + a = getsprs_ubp2(userid, currentpart) + while a == False: + currentpart = currentpart.parentid # 已找不到上级部门 if currentpart: - a=getsprs_ubp2(userid,currentpart) + a = getsprs_ubp2(userid, currentpart) else: - return User.objects.get(ubelongpart=currentpart,issuper=1) + return User.objects.get(ubelongpart=currentpart, issuper=1) return a -def getsprs_ubp2(userid,ubp):#主管和被授权人员 - a=ubp - if a.bmzg !=',': + +def getsprs_ubp2(userid, ubp): # 主管和被授权人员 + a = ubp + if a.bmzg != ',': zgstr = a.bmzg zglist = zgstr.split(',') zglist = list(map(int, list(filter(None, zglist)))) @@ -633,12 +761,11 @@ def getsprs_ubp2(userid,ubp):#主管和被授权人员 return False - def menutree(req): userid = req.session['userid'] - if User.objects.get(userid=userid).issuper == 1:#如果是超管 + if User.objects.get(userid=userid).issuper == 1: # 如果是超管 companyid = getcompany(userid) - x = Group.objects.get(usecomp__partid=companyid,grouptype=0).menulink + x = Group.objects.get(usecomp__partid=companyid, grouptype=0).menulink list1 = x.split(',') else: bgroups = User.objects.get(userid=userid).userg.all() @@ -646,48 +773,54 @@ def menutree(req): for i in bgroups: x = x + ',' + i.menulink list1 = x.split(',') - #del list1[0]#删除首空字符 - menus = Menu.objects.exclude(menuid__in=[11,9]).filter(menuid__in=list(filter(None,list(set(list1)))),deletemark=1).order_by('sortnum').values('menuid','menucode','parentid','url','menuname','icon').distinct() - return HttpResponse(json.dumps(list(menus)),content_type="application/json") + # del list1[0]#删除首空字符 + menus = Menu.objects.exclude(menuid__in=[11, 9]).filter(menuid__in=list(filter(None, list(set(list1)))), deletemark=1).order_by( + 'sortnum').values('menuid', 'menucode', 'parentid', 'url', 'menuname', 'icon').distinct() + return HttpResponse(json.dumps(list(menus)), content_type="application/json") def apirights(req): a = req.GET.get('a') - if a=='detail': + if a == 'detail': groupid = req.GET.get('groupid') haverights = Group.objects.get(groupid=groupid).menulink.split(',') userid = req.session['userid'] companyid = getcompany(userid) - allrights = Group.objects.get(usecomp__partid=companyid,grouptype=0).menulink.split(',') - menus = Menu.objects.exclude(menuid__in=[11,9]).filter(menuid__in = allrights,deletemark=1).order_by('menuid').values('menuid','menucode','parentid','url','menuname','icon').distinct() + allrights = Group.objects.get( + usecomp__partid=companyid, grouptype=0).menulink.split(',') + menus = Menu.objects.exclude(menuid__in=[11, 9]).filter(menuid__in=allrights, deletemark=1).order_by( + 'menuid').values('menuid', 'menucode', 'parentid', 'url', 'menuname', 'icon').distinct() for i in menus: if str(i['menuid']) in haverights and i['url'] != None: - i['checked']=True + i['checked'] = True else: - i['checked']=False - return HttpResponse(json.dumps(list(menus)),content_type="application/json") - elif a=='edit': + i['checked'] = False + return HttpResponse(json.dumps(list(menus)), content_type="application/json") + elif a == 'edit': groupid = req.GET.get('groupid') data = req.POST.get('data') data = json.loads(data) - rlist = ['11','9'] + rlist = ['11', '9'] for i in data: rlist.append(str(i['id'])) # x = i['id'] # while Menu.objects.get(menuid=x).parentid != None: # x = Menu.objects.get(menuid=x).parentid.menuid # rlist.append(str(x)) - Group.objects.filter(groupid=groupid).update(menulink=','.join(list(set(rlist)))) - return JsonResponse({"code":1}) - elif a=='have': + Group.objects.filter(groupid=groupid).update( + menulink=','.join(list(set(rlist)))) + return JsonResponse({"code": 1}) + elif a == 'have': userid = req.session['userid'] companyid = getcompany(userid) - allrights = Group.objects.get(usecomp__partid=companyid,grouptype=0).menulink.split(',') - return JsonResponse({'code':1,'rights':allrights}) + allrights = Group.objects.get( + usecomp__partid=companyid, grouptype=0).menulink.split(',') + return JsonResponse({'code': 1, 'rights': allrights}) + def addyh(req): - userid=req.session['userid'] - user=User.objects.get(userid=userid) + userid = req.session['userid'] + user = User.objects.get(userid=userid) yhdata = json.loads(req.body.decode('utf-8')) troubleid = yhdata['troubleid'] if 'troubleid' in yhdata else '' fxsj = yhdata['fxsj'] @@ -706,327 +839,336 @@ def addyh(req): zgr = yhdata['zgr'] if 'zgr' in yhdata else '' zgqx = yhdata['zgqx'] if 'zgqx' in yhdata else '' zgms = yhdata['zgms'] if 'zgms' in yhdata else '' - sybzt=0 - if troubleid!='': + sybzt = 0 + if troubleid != '': a = Trouble.objects.get(troubleid=troubleid) else: a = Trouble() - companyid=getcompany(userid) - a.usecomp=Partment.objects.get(partid=companyid) + companyid = getcompany(userid) + a.usecomp = Partment.objects.get(partid=companyid) a.fxsj = fxsj a.fxbm = user.ubelongpart a.fxr = user a.yhdd = yhdd if 'yhqy' in yhdata: if yhdata['yhqy']: - a.yhqy = Area.objects.get(id= yhdata['yhqy']) + a.yhqy = Area.objects.get(id=yhdata['yhqy']) a.yhms = yhms a.yhtp = yhtp - a.yhnum='YH'+time.strftime('%Y%m%d%H%M%S') + a.yhnum = 'YH'+time.strftime('%Y%m%d%H%M%S') a.yyfx = yyfx a.zgcs = zgcs a.zgms = zgms - if yhdj !='': + if yhdj != '': a.yhdj = Dickey.objects.get(dickeyid=yhdj) - if yhpg !='': + if yhpg != '': a.yhpg = Dickey.objects.get(dickeyid=yhpg) - if jclx !='': + if jclx != '': a.jclx = Dickey.objects.get(dickeyid=jclx) - if yhlx !='': + if yhlx != '': a.yhlx = Dicclass.objects.get(dicid=yhlx) - if yhlb !='': + if yhlb != '': a.yhlb = Dickey.objects.get(dickeyid=yhlb) - if a.yhdj.dickeyname =='无隐患' or zgms !='': - #直接到待复查 + if a.yhdj.dickeyname == '无隐患' or zgms != '': + # 直接到待复查 a.zghtp = zghtp a.yhzt = 5 - x=getpgr(userid,user.ubelongpart) - a.todouser=x - a.fcr=x - a.zpr=user - a.pgr=user + x = getpgr(userid, user.ubelongpart) + a.todouser = x + a.fcr = x + a.zpr = user + a.pgr = user a.csqrr = user a.shr = user - a.sybzt=0 + a.sybzt = 0 if zgbm and zgr: a.zgbm = Partment.objects.get(partid=zgbm) a.zgr = User.objects.get(userid=zgr) a.save() - m=TroubleAccess(troubleid=a,clr=user,yhzt=0,action='新增隐患已整改',result=1) + m = TroubleAccess(troubleid=a, clr=user, yhzt=0, + action='新增隐患已整改', result=1) m.save() - postdict={ - 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc', - 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', - "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid) }, - 'data':{ - 'first':{ - 'value':a.yhdj.dickeyname + '待复查:' + postdict = { + 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc', + 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', + "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, + 'data': { + 'first': { + 'value': a.yhdj.dickeyname + '待复查:' }, - 'keyword1':{ - 'value':a.yhms + 'keyword1': { + 'value': a.yhms }, - 'keyword2':{ - 'value':a.fxsj + 'keyword2': { + 'value': a.fxsj }, - 'keyword3':{ - 'value':a.yhdd + 'keyword3': { + 'value': a.yhdd }, - 'remark':{ - 'value':'该隐患已完成整改,请及时复查。' + 'remark': { + 'value': '该隐患已完成整改,请及时复查。' } } } - postdict['touser']=a.todouser.openid + postdict['touser'] = a.todouser.openid send_wechatmsg.delay(postdict) yjjs.delay(companyid) - return JsonResponse({"code":1,"trouble":a.troubleid,"yhnum":a.yhnum}) - elif zgr !='' and (yyfx == '' or zgcs ==''): - #直接到整改措施待上传 - a.zgbm=Partment.objects.get(partid=zgbm) - a.zgr=User.objects.get(userid=zgr) - a.zgqx=zgqx + return JsonResponse({"code": 1, "trouble": a.troubleid, "yhnum": a.yhnum}) + elif zgr != '' and (yyfx == '' or zgcs == ''): + # 直接到整改措施待上传 + a.zgbm = Partment.objects.get(partid=zgbm) + a.zgr = User.objects.get(userid=zgr) + a.zgqx = zgqx a.yhzt = 7 a.todouser = User.objects.get(userid=zgr) if a.zgr != user: - a.fcr=user + a.fcr = user else: - a.fcr=getpgr(userid,user.ubelongpart.parentid) - a.pgr=user - a.zpr=user - a.shr=user - a.csqrr=user - a.sybzt=0 + a.fcr = getpgr(userid, user.ubelongpart.parentid) + a.pgr = user + a.zpr = user + a.shr = user + a.csqrr = user + a.sybzt = 0 a.save() - m=TroubleAccess(troubleid=a,clr=user,yhzt=0,action='新增隐患并指派整改人',result=1) + m = TroubleAccess(troubleid=a, clr=user, yhzt=0, + action='新增隐患并指派整改人', result=1) m.save() - postdict={ - 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc', - 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', - "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, - 'data':{ + postdict = { + 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc', + 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', + "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, + 'data': { - 'first':{ - 'value':a.yhdj.dickeyname + '原因分析/整改措施待上传:' + 'first': { + 'value': a.yhdj.dickeyname + '原因分析/整改措施待上传:' }, - 'keyword1':{ - 'value':a.yhms + 'keyword1': { + 'value': a.yhms }, - 'keyword2':{ - 'value':a.fxsj + 'keyword2': { + 'value': a.fxsj }, - 'keyword3':{ - 'value':a.yhdd + 'keyword3': { + 'value': a.yhdd }, - 'remark':{ - 'value':'整改期限为'+zgqx+',请您先及时填写原因分析,制定整改措施。' + 'remark': { + 'value': '整改期限为'+zgqx+',请您先及时填写原因分析,制定整改措施。' } } } - postdict['touser']=a.todouser.openid + postdict['touser'] = a.todouser.openid send_wechatmsg.delay(postdict) yjjs.delay(companyid) - return JsonResponse({"code":1,"trouble":a.troubleid,"yhnum":a.yhnum}) - elif zgr !='' and yyfx != '' and zgcs !='': - #到待整改 - a.zgbm=Partment.objects.get(partid=zgbm) - a.zgr=User.objects.get(userid=zgr) - a.zgqx=zgqx + return JsonResponse({"code": 1, "trouble": a.troubleid, "yhnum": a.yhnum}) + elif zgr != '' and yyfx != '' and zgcs != '': + # 到待整改 + a.zgbm = Partment.objects.get(partid=zgbm) + a.zgr = User.objects.get(userid=zgr) + a.zgqx = zgqx a.yhzt = 3 a.todouser = User.objects.get(userid=zgr) if a.zgr != user: - a.fcr=user + a.fcr = user else: parentpart = user.ubelongpart.parentid if parentpart: - a.fcr=getpgr(userid,user.ubelongpart.parentid) + a.fcr = getpgr(userid, user.ubelongpart.parentid) else: - a.fcr=user - a.shr=user - a.pgr=user - a.zpr=user - a.csqrr=user - a.sybzt=0 + a.fcr = user + a.shr = user + a.pgr = user + a.zpr = user + a.csqrr = user + a.sybzt = 0 a.save() - m=TroubleAccess(troubleid=a,clr=user,yhzt=0,action='新增隐患并指派整改人',result=1) + m = TroubleAccess(troubleid=a, clr=user, yhzt=0, + action='新增隐患并指派整改人', result=1) m.save() - postdict={ - 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc', - 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', - "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, - 'data':{ + postdict = { + 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc', + 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', + "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, + 'data': { - 'first':{ - 'value':a.yhdj.dickeyname + '待整改:' + 'first': { + 'value': a.yhdj.dickeyname + '待整改:' }, - 'keyword1':{ - 'value':a.yhms + 'keyword1': { + 'value': a.yhms }, - 'keyword2':{ - 'value':a.fxsj + 'keyword2': { + 'value': a.fxsj }, - 'keyword3':{ - 'value':a.yhdd + 'keyword3': { + 'value': a.yhdd }, - 'remark':{ - 'value':'整改期限为'+zgqx+',请您及时完成整改。' + 'remark': { + 'value': '整改期限为'+zgqx+',请您及时完成整改。' } } } - postdict['touser']=a.todouser.openid + postdict['touser'] = a.todouser.openid send_wechatmsg.delay(postdict) yjjs.delay(companyid) - return JsonResponse({"code":1,"trouble":a.troubleid,"yhnum":a.yhnum}) - elif zgbm!='' and zgr =='' : - #到整改部门待评估 指派部门整改 + return JsonResponse({"code": 1, "trouble": a.troubleid, "yhnum": a.yhnum}) + elif zgbm != '' and zgr == '': + # 到整改部门待评估 指派部门整改 a.yhzt = 1 - x=getpgr('zpbm',Partment.objects.get(partid=zgbm)) - if x==False: - return JsonResponse({"code":101}) - a.todouser=x - a.shr=x - a.csqrr=x - a.fcr=user - a.pgr=user - a.zgbm=Partment.objects.get(partid=zgbm) - a.sybzt=0 + x = getpgr('zpbm', Partment.objects.get(partid=zgbm)) + if x == False: + return JsonResponse({"code": 101}) + a.todouser = x + a.shr = x + a.csqrr = x + a.fcr = user + a.pgr = user + a.zgbm = Partment.objects.get(partid=zgbm) + a.sybzt = 0 a.save() - m=TroubleAccess(troubleid=a,clr=user,yhzt=0,action='新增隐患并指派整改部门',result=1) + m = TroubleAccess(troubleid=a, clr=user, yhzt=0, + action='新增隐患并指派整改部门', result=1) m.save() - postdict={ - 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc', - 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', - "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, - 'data':{ + postdict = { + 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc', + 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', + "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, + 'data': { - 'first':{ - 'value':a.yhdj.dickeyname + '待评估:' + 'first': { + 'value': a.yhdj.dickeyname + '待评估:' }, - 'keyword1':{ - 'value':a.yhms + 'keyword1': { + 'value': a.yhms }, - 'keyword2':{ - 'value':a.fxsj + 'keyword2': { + 'value': a.fxsj }, - 'keyword3':{ - 'value':a.yhdd + 'keyword3': { + 'value': a.yhdd }, - 'remark':{ - 'value':'请您及时评估并制定整改通知单。' + 'remark': { + 'value': '请您及时评估并制定整改通知单。' } } } - postdict['touser']=a.todouser.openid + postdict['touser'] = a.todouser.openid send_wechatmsg.delay(postdict) - return JsonResponse({"code":1,"trouble":a.troubleid,"yhnum":a.yhnum}) + return JsonResponse({"code": 1, "trouble": a.troubleid, "yhnum": a.yhnum}) else: - #正常流程到待评估 + # 正常流程到待评估 a.yhzt = 1 - x=getpgr(userid,user.ubelongpart) + x = getpgr(userid, user.ubelongpart) a.pgr = x - a.todouser=x - a.sybzt=0 + a.todouser = x + a.sybzt = 0 a.save() - m=TroubleAccess(troubleid=a,clr=user,yhzt=0,action='新增隐患',result=1) + m = TroubleAccess(troubleid=a, clr=user, yhzt=0, + action='新增隐患', result=1) m.save() - postdict={ - 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc', - 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', - "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, - 'data':{ + postdict = { + 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc', + 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', + "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, + 'data': { - 'first':{ - 'value':a.yhdj.dickeyname + '待评估:' + 'first': { + 'value': a.yhdj.dickeyname + '待评估:' }, - 'keyword1':{ - 'value':a.yhms + 'keyword1': { + 'value': a.yhms }, - 'keyword2':{ - 'value':a.fxsj + 'keyword2': { + 'value': a.fxsj }, - 'keyword3':{ - 'value':a.yhdd + 'keyword3': { + 'value': a.yhdd }, - 'remark':{ - 'value':'请您及时评估并制定整改通知单。' + 'remark': { + 'value': '请您及时评估并制定整改通知单。' } } } - postdict['touser']=a.todouser.openid + postdict['touser'] = a.todouser.openid send_wechatmsg.delay(postdict) - return JsonResponse({"code":1,"trouble":a.troubleid,"yhnum":a.yhnum}) + return JsonResponse({"code": 1, "trouble": a.troubleid, "yhnum": a.yhnum}) def getyh(req): if 'userid' in req.session: userid = req.session['userid'] - troubleid =req.GET.get('troubleid') - a = Trouble.objects.filter(troubleid=troubleid).values('sybzt','troubleid','fxr__userid','fxr__name','yhms','yhzt','fxsj','tbsj','yhlb__dickeyname','yhlb__dickeyid','todouser__name','yhpg__dickeyname','yhnum','yhdd','fxbm__partname','yhdj__dickeyname','yhdj__dickeyid','yhpg__dickeyname','yhpg__dickeyid','jclx__dickeyname','jclx__dickeyid','yhlx__dicname','yhlx__dicid','yyfx','zgcs','yhtp','zghtp','zgms','zgbm__partname','zgbm__partid','zgr__name','zgqx','fcr__ubelongpart__partname','fcr__name','shr__ubelongpart__partname','shr__name','pgr__ubelongpart__partname','pgr__name','zpr__ubelongpart__partname','zpr__name','csqrr__ubelongpart__partname','csqrr__name','shyj','fcyj','shresult','zgbm','zgr','pgyj')[0] - #print(a['yhtp']) - if a['yhtp']!='': + troubleid = req.GET.get('troubleid') + a = Trouble.objects.filter(troubleid=troubleid).values('sybzt', 'troubleid', 'fxr__userid', 'fxr__name', 'yhms', 'yhzt', 'fxsj', 'tbsj', 'yhlb__dickeyname', 'yhlb__dickeyid', 'todouser__name', 'yhpg__dickeyname', 'yhnum', 'yhdd', 'fxbm__partname', 'yhdj__dickeyname', 'yhdj__dickeyid', 'yhpg__dickeyname', 'yhpg__dickeyid', 'jclx__dickeyname', 'jclx__dickeyid', 'yhlx__dicname', + 'yhlx__dicid', 'yyfx', 'zgcs', 'yhtp', 'zghtp', 'zgms', 'zgbm__partname', 'zgbm__partid', 'zgr__name', 'zgqx', 'fcr__ubelongpart__partname', 'fcr__name', 'shr__ubelongpart__partname', 'shr__name', 'pgr__ubelongpart__partname', 'pgr__name', 'zpr__ubelongpart__partname', 'zpr__name', 'csqrr__ubelongpart__partname', 'csqrr__name', 'shyj', 'fcyj', 'shresult', 'zgbm', 'zgr', 'pgyj')[0] + # print(a['yhtp']) + if a['yhtp'] != '': a['yhtp'] = a['yhtp'].split('?') - if a['zghtp']!='': - a['zghtp']= a['zghtp'].split('?') + if a['zghtp'] != '': + a['zghtp'] = a['zghtp'].split('?') for key in a: if a[key] == None: a[key] = '' - #print(a['yhtp']) + # print(a['yhtp']) return JsonResponse(a) - #return JsonResponse() + # return JsonResponse() else: - return JsonResponse({"code":0}) + return JsonResponse({"code": 0}) + def accessyh(req): userid = req.session['userid'] yhdata = json.loads(req.body.decode('utf-8')) - troubleid =yhdata['troubleid'] + troubleid = yhdata['troubleid'] a = Trouble.objects.get(troubleid=troubleid) companyid = a.usecomp.partid b = User.objects.get(userid=userid) - shresult=yhdata['shresult'] - if a.yhzt==5:#待复查 - fcyj=yhdata['fcyj'] - if shresult=='reject': - a.shresult=3 - a.yhzt=3 - a.sybzt=5 + shresult = yhdata['shresult'] + if a.yhzt == 5: # 待复查 + fcyj = yhdata['fcyj'] + if shresult == 'reject': + a.shresult = 3 + a.yhzt = 3 + a.sybzt = 5 if a.zgr != None: a.todouser = a.zgr else: a.todouser = a.fxr - a.fcyj=fcyj + a.fcyj = fcyj a.save() - m=TroubleAccess(troubleid=a,clr=b,yhzt=5,action='复查未通过',opinion=fcyj,result=0) + m = TroubleAccess(troubleid=a, clr=b, yhzt=5, + action='复查未通过', opinion=fcyj, result=0) m.save() - postdict={ - 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc', - 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', - "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, - 'data':{ - 'first':{'value':a.yhdj.dickeyname + '待整改:'}, - 'keyword1':{'value':a.yhms}, - 'keyword2':{'value':a.fxsj}, - 'keyword3':{'value':a.yhdd}, - 'remark':{'value':'您提交的整改结果未通过复查,请重新整改。'} - } + postdict = { + 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc', + 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', + "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, + 'data': { + 'first': {'value': a.yhdj.dickeyname + '待整改:'}, + 'keyword1': {'value': a.yhms}, + 'keyword2': {'value': a.fxsj}, + 'keyword3': {'value': a.yhdd}, + 'remark': {'value': '您提交的整改结果未通过复查,请重新整改。'} } - postdict['touser']=a.todouser.openid + } + postdict['touser'] = a.todouser.openid send_wechatmsg.delay(postdict) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - a.yhzt=6 - a.sybzt=5 - a.todouser=None - a.fcyj=fcyj + a.yhzt = 6 + a.sybzt = 5 + a.todouser = None + a.fcyj = fcyj a.save() - m=TroubleAccess(troubleid=a,clr=b,yhzt=5,action='整改结果复查通过',opinion=fcyj,result=1) + m = TroubleAccess(troubleid=a, clr=b, yhzt=5, + action='整改结果复查通过', opinion=fcyj, result=1) m.save() objs = Inspect.objects.filter(trouble=a) if objs.exists(): obj = objs[0] - obj.equipment.state=1 + obj.equipment.state = 1 obj.equipment.save() yjjs.delay(companyid) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) # elif a.zgr==None and a.zgms=='':#无隐患 # a.yhzt=6 # a.sybzt=5 @@ -1048,62 +1190,65 @@ def accessyh(req): # yjjs.delay(companyid) # return JsonResponse({"code":1}) - elif a.yhzt==3:#提交整改后 - if a.sybzt==4 or a.sybzt== 5: - a.shresult=4 + elif a.yhzt == 3: # 提交整改后 + if a.sybzt == 4 or a.sybzt == 5: + a.shresult = 4 else: - a.shresult=1 - if a.shr==a.fcr or a.shr==None: - a.yhzt=5 - a.sybzt=3 - a.todouser=a.fcr + a.shresult = 1 + if a.shr == a.fcr or a.shr == None: + a.yhzt = 5 + a.sybzt = 3 + a.todouser = a.fcr else: - a.yhzt=4 - a.sybzt=3 - a.todouser=a.shr - a.zgms=yhdata['zgms'] - a.zghtp='?'.join(yhdata['zghtp']) - a.zgsj=datetime.now() + a.yhzt = 4 + a.sybzt = 3 + a.todouser = a.shr + a.zgms = yhdata['zgms'] + a.zghtp = '?'.join(yhdata['zghtp']) + a.zgsj = datetime.now() a.save() - m=TroubleAccess(troubleid=a,clr=b,yhzt=3,action='提交整改结果',result=1) + m = TroubleAccess(troubleid=a, clr=b, yhzt=3, + action='提交整改结果', result=1) m.save() - return JsonResponse({"code":1}) - elif a.yhzt==4:#待审核 - shyj=yhdata['shyj'] - if shresult=='reject': - a.shresult=2 - a.yhzt=3 - a.sybzt=4 - a.todouser=a.zgr - a.shyj=shyj + return JsonResponse({"code": 1}) + elif a.yhzt == 4: # 待审核 + shyj = yhdata['shyj'] + if shresult == 'reject': + a.shresult = 2 + a.yhzt = 3 + a.sybzt = 4 + a.todouser = a.zgr + a.shyj = shyj a.save() - m=TroubleAccess(troubleid=a,clr=b,yhzt=4,action='审核未通过',opinion=shyj,result=0) + m = TroubleAccess(troubleid=a, clr=b, yhzt=4, + action='审核未通过', opinion=shyj, result=0) m.save() - postdict={ - 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc', - 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', - "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, - 'data':{ - 'first':{'value':a.yhdj.dickeyname + '待整改:'}, - 'keyword1':{'value':a.yhms}, - 'keyword2':{'value':a.fxsj}, - 'keyword3':{'value':a.yhdd}, - 'remark':{'value':'您提交的整改结果未通过审核,请重新整改。'} - } - } - postdict['touser']=a.todouser.openid + postdict = { + 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc', + 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', + "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, + 'data': { + 'first': {'value': a.yhdj.dickeyname + '待整改:'}, + 'keyword1': {'value': a.yhms}, + 'keyword2': {'value': a.fxsj}, + 'keyword3': {'value': a.yhdd}, + 'remark': {'value': '您提交的整改结果未通过审核,请重新整改。'} + } + } + postdict['touser'] = a.todouser.openid send_wechatmsg.delay(postdict) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - a.yhzt=5 - a.sybzt=4 - a.todouser=a.fcr - a.shyj=shyj + a.yhzt = 5 + a.sybzt = 4 + a.todouser = a.fcr + a.shyj = shyj a.save() - m=TroubleAccess(troubleid=a,clr=b,yhzt=4,action='整改结果审核通过',opinion=shyj,result=1) + m = TroubleAccess(troubleid=a, clr=b, yhzt=4, + action='整改结果审核通过', opinion=shyj, result=1) m.save() - return JsonResponse({"code":1}) - elif a.yhzt==1: + return JsonResponse({"code": 1}) + elif a.yhzt == 1: if yhdata['shresult'] == 'reject': if 'accept' in yhdata: if yhdata['accept'] == 'no': @@ -1113,23 +1258,24 @@ def accessyh(req): a.todouser = None a.pgyj = yhdata['pgyj'] a.save() - m=TroubleAccess(troubleid=a,clr=a.pgr,yhzt=6,action='未采纳',opinion=yhdata['pgyj']) + m = TroubleAccess( + troubleid=a, clr=a.pgr, yhzt=6, action='未采纳', opinion=yhdata['pgyj']) m.save() - postdict={ - 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc', - 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', - "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, - 'data':{ - 'first':{'value':a.yhdj.dickeyname + '未被采纳:'}, - 'keyword1':{'value':a.yhms}, - 'keyword2':{'value':a.fxsj}, - 'keyword3':{'value':a.yhdd}, - 'remark':{'value':'请查看未采纳原因'} - } - } - postdict['touser']=a.fxr.openid + postdict = { + 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc', + 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', + "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, + 'data': { + 'first': {'value': a.yhdj.dickeyname + '未被采纳:'}, + 'keyword1': {'value': a.yhms}, + 'keyword2': {'value': a.fxsj}, + 'keyword3': {'value': a.yhdd}, + 'remark': {'value': '请查看未采纳原因'} + } + } + postdict['touser'] = a.fxr.openid send_wechatmsg.delay(postdict) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: a.shresult = 5 a.yhzt = 0 @@ -1137,382 +1283,400 @@ def accessyh(req): a.todouser = a.fxr a.pgyj = yhdata['pgyj'] a.save() - m=TroubleAccess(troubleid=a,clr=a.pgr,yhzt=0,action='请'+a.fxr.name+'重新填报',result=0) + m = TroubleAccess( + troubleid=a, clr=a.pgr, yhzt=0, action='请'+a.fxr.name+'重新填报', result=0) m.save() - postdict={ - 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc', - 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', - "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, - 'data':{ - 'first':{'value':a.yhdj.dickeyname + '被退回需重新上报:'}, - 'keyword1':{'value':a.yhms}, - 'keyword2':{'value':a.fxsj}, - 'keyword3':{'value':a.yhdd}, - 'remark':{'value':'请查看评估意见并修改后上传。'} - } - } - postdict['touser']=a.todouser.openid + postdict = { + 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc', + 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', + "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, + 'data': { + 'first': {'value': a.yhdj.dickeyname + '被退回需重新上报:'}, + 'keyword1': {'value': a.yhms}, + 'keyword2': {'value': a.fxsj}, + 'keyword3': {'value': a.yhdd}, + 'remark': {'value': '请查看评估意见并修改后上传。'} + } + } + postdict['touser'] = a.todouser.openid send_wechatmsg.delay(postdict) - return JsonResponse({"code":1}) - elif 'zppg' in yhdata and yhdata['zppg']=='yes': - a.yhzt=1 - a.sybzt=1 - #a.yhms=req.POST.get('yhms') + return JsonResponse({"code": 1}) + elif 'zppg' in yhdata and yhdata['zppg'] == 'yes': + a.yhzt = 1 + a.sybzt = 1 + # a.yhms=req.POST.get('yhms') a.todouser = User.objects.get(userid=yhdata['newr']) a.fcr = a.todouser a.pgr = a.todouser a.save() - m=TroubleAccess(troubleid=a,clr=b,yhzt=1,action='请'+a.fcr.name+'继续评估和复查',result=1) + m = TroubleAccess(troubleid=a, clr=b, yhzt=1, + action='请'+a.fcr.name+'继续评估和复查', result=1) m.save() - postdict={ - 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc', - 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', - "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, - 'data':{ - 'first':{'value':a.yhdj.dickeyname + '待评估:'}, - 'keyword1':{'value':a.yhms}, - 'keyword2':{'value':a.fxsj}, - 'keyword3':{'value':a.yhdd}, - 'remark':{'value':'请及时评估该隐患并制定整改通知单。'} - } - } - postdict['touser']=a.todouser.openid + postdict = { + 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc', + 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', + "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, + 'data': { + 'first': {'value': a.yhdj.dickeyname + '待评估:'}, + 'keyword1': {'value': a.yhms}, + 'keyword2': {'value': a.fxsj}, + 'keyword3': {'value': a.yhdd}, + 'remark': {'value': '请及时评估该隐患并制定整改通知单。'} + } + } + postdict['touser'] = a.todouser.openid send_wechatmsg.delay(postdict) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - #print(yhdata['zgcs']=='') - if yhdata['zgcs']!='': - a.yhzt=3 - a.sybzt=1 - a.yyfx=yhdata['yyfx'] - a.zgcs=yhdata['zgcs'] - a.yhpg=Dickey.objects.get(dickeyid=yhdata['yhpg']) - a.yhlx=Dicclass.objects.get(dicid=yhdata['yhlx']) - a.yhlb=Dickey.objects.get(dickeyid=yhdata['yhlb']) - a.zgbm=Partment.objects.get(partid=yhdata['zgbm']) - a.zgr=User.objects.get(userid=yhdata['zgr']) - a.zgqx=yhdata['zgqx'] - a.todouser=a.zgr - if a.pgr==None: - a.pgr=b - a.zpr=b + # print(yhdata['zgcs']=='') + if yhdata['zgcs'] != '': + a.yhzt = 3 + a.sybzt = 1 + a.yyfx = yhdata['yyfx'] + a.zgcs = yhdata['zgcs'] + a.yhpg = Dickey.objects.get(dickeyid=yhdata['yhpg']) + a.yhlx = Dicclass.objects.get(dicid=yhdata['yhlx']) + a.yhlb = Dickey.objects.get(dickeyid=yhdata['yhlb']) + a.zgbm = Partment.objects.get(partid=yhdata['zgbm']) + a.zgr = User.objects.get(userid=yhdata['zgr']) + a.zgqx = yhdata['zgqx'] + a.todouser = a.zgr + if a.pgr == None: + a.pgr = b + a.zpr = b if a.fcr: pass else: - a.fcr=b - a.csqrr=b - a.shr=b + a.fcr = b + a.csqrr = b + a.shr = b a.save() - m=TroubleAccess(troubleid=a,clr=b,yhzt=1,action='指派'+a.zgr.name+'整改',result=1) + m = TroubleAccess(troubleid=a, clr=b, yhzt=1, + action='指派'+a.zgr.name+'整改', result=1) m.save() - postdict={ - 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc', - 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', - "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, - 'data':{ - 'first':{'value':a.yhdj.dickeyname + '待整改:'}, - 'keyword1':{'value':a.yhms}, - 'keyword2':{'value':a.fxsj}, - 'keyword3':{'value':a.yhdd}, - 'remark':{'value':'整改期限为'+yhdata['zgqx']+',请您及时完成整改。'} - } + postdict = { + 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc', + 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', + "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, + 'data': { + 'first': {'value': a.yhdj.dickeyname + '待整改:'}, + 'keyword1': {'value': a.yhms}, + 'keyword2': {'value': a.fxsj}, + 'keyword3': {'value': a.yhdd}, + 'remark': {'value': '整改期限为'+yhdata['zgqx']+',请您及时完成整改。'} } - postdict['touser']=a.todouser.openid + } + postdict['touser'] = a.todouser.openid send_wechatmsg.delay(postdict) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - a.yhzt=7 - a.sybzt=1 - #a.yhms=req.POST.get('yhms') - #print(req.POST.get('yhms')) - a.yhpg=Dickey.objects.get(dickeyid=yhdata['yhpg']) - a.yhlx=Dicclass.objects.get(dicid=yhdata['yhlx']) - a.yhlb=Dickey.objects.get(dickeyid=yhdata['yhlb']) - a.zgbm=Partment.objects.get(partid=yhdata['zgbm']) - a.zgr=User.objects.get(userid=yhdata['zgr']) - a.zgqx=yhdata['zgqx'] - a.todouser=a.zgr - if a.pgr==None: - a.pgr=b - a.zpr=b - a.csqrr=b - a.shr=b + a.yhzt = 7 + a.sybzt = 1 + # a.yhms=req.POST.get('yhms') + # print(req.POST.get('yhms')) + a.yhpg = Dickey.objects.get(dickeyid=yhdata['yhpg']) + a.yhlx = Dicclass.objects.get(dicid=yhdata['yhlx']) + a.yhlb = Dickey.objects.get(dickeyid=yhdata['yhlb']) + a.zgbm = Partment.objects.get(partid=yhdata['zgbm']) + a.zgr = User.objects.get(userid=yhdata['zgr']) + a.zgqx = yhdata['zgqx'] + a.todouser = a.zgr + if a.pgr == None: + a.pgr = b + a.zpr = b + a.csqrr = b + a.shr = b if a.fcr: pass else: - a.fcr=b + a.fcr = b a.save() - m=TroubleAccess(troubleid=a,clr=b,yhzt=1,action='指派'+a.zgr.name+'整改',result=1) + m = TroubleAccess(troubleid=a, clr=b, yhzt=1, + action='指派'+a.zgr.name+'整改', result=1) m.save() - postdict={ - 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc', - 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', - "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, - 'data':{ - 'first':{'value':a.yhdj.dickeyname + '待整改:'}, - 'keyword1':{'value':a.yhms}, - 'keyword2':{'value':a.fxsj}, - 'keyword3':{'value':a.yhdd}, - 'remark':{'value':'整改期限为'+yhdata['zgqx']+',请您及时完成整改。'} - } + postdict = { + 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc', + 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', + "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, + 'data': { + 'first': {'value': a.yhdj.dickeyname + '待整改:'}, + 'keyword1': {'value': a.yhms}, + 'keyword2': {'value': a.fxsj}, + 'keyword3': {'value': a.yhdd}, + 'remark': {'value': '整改期限为'+yhdata['zgqx']+',请您及时完成整改。'} } - postdict['touser']=a.todouser.openid + } + postdict['touser'] = a.todouser.openid send_wechatmsg.delay(postdict) - return JsonResponse({"code":1}) - elif a.yhzt==7: - a.yhzt=2 - a.sybzt=7 - a.yyfx=yhdata['yyfx'] - a.zgcs=yhdata['zgcs'] + return JsonResponse({"code": 1}) + elif a.yhzt == 7: + a.yhzt = 2 + a.sybzt = 7 + a.yyfx = yhdata['yyfx'] + a.zgcs = yhdata['zgcs'] a.todouser = a.zpr a.save() - m=TroubleAccess(troubleid=a,clr=b,yhzt=7,action='制定整改措施/方案',result=1) + m = TroubleAccess(troubleid=a, clr=b, yhzt=7, + action='制定整改措施/方案', result=1) m.save() - postdict={ - 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc', - 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', - "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, - 'data':{ - 'first':{'value':a.yhdj.dickeyname + '待整改:'}, - 'keyword1':{'value':a.yhms}, - 'keyword2':{'value':a.fxsj}, - 'keyword3':{'value':a.yhdd}, - 'remark':{'value':'整改期限为'+a.zgqx.strftime("%Y-%m-%d %H:%M")+',请您先先制定整改措施/方案。'} - } - } - postdict['touser']=a.todouser.openid + postdict = { + 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc', + 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', + "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, + 'data': { + 'first': {'value': a.yhdj.dickeyname + '待整改:'}, + 'keyword1': {'value': a.yhms}, + 'keyword2': {'value': a.fxsj}, + 'keyword3': {'value': a.yhdd}, + 'remark': {'value': '整改期限为'+a.zgqx.strftime("%Y-%m-%d %H:%M")+',请您先先制定整改措施/方案。'} + } + } + postdict['touser'] = a.todouser.openid send_wechatmsg.delay(postdict) - return JsonResponse({"code":1}) - elif a.yhzt==0: + return JsonResponse({"code": 1}) + elif a.yhzt == 0: a.yhzt = 1 a.todouser = a.pgr - a.sybzt=0 + a.sybzt = 0 a.save() - m=TroubleAccess(troubleid=a,clr=a.fxr,yhzt=0,action='重新修改隐患',result=1) + m = TroubleAccess(troubleid=a, clr=a.fxr, yhzt=0, + action='重新修改隐患', result=1) m.save() - postdict={ - 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc', - 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', - "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, - 'data':{ + postdict = { + 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc', + 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', + "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, + 'data': { - 'first':{ - 'value':a.yhdj.dickeyname + '待评估:' + 'first': { + 'value': a.yhdj.dickeyname + '待评估:' }, - 'keyword1':{ - 'value':a.yhms + 'keyword1': { + 'value': a.yhms }, - 'keyword2':{ - 'value':a.fxsj + 'keyword2': { + 'value': a.fxsj }, - 'keyword3':{ - 'value':a.yhdd + 'keyword3': { + 'value': a.yhdd }, - 'remark':{ - 'value':'发现人重新提交隐患,请您及时评估并制定整改通知单。' + 'remark': { + 'value': '发现人重新提交隐患,请您及时评估并制定整改通知单。' } } } - postdict['touser']=a.todouser.openid + postdict['touser'] = a.todouser.openid send_wechatmsg.delay(postdict) - return JsonResponse({"code":1}) - elif a.yhzt==2: - a.yhzt=3 - a.sybzt=2 - a.yyfx=yhdata['yyfx'] - a.zgcs=yhdata['zgcs'] + return JsonResponse({"code": 1}) + elif a.yhzt == 2: + a.yhzt = 3 + a.sybzt = 2 + a.yyfx = yhdata['yyfx'] + a.zgcs = yhdata['zgcs'] a.todouser = a.zgr a.save() - m=TroubleAccess(troubleid=a,clr=a.csqrr,yhzt=2,action='确认整改措施',result=1) + m = TroubleAccess(troubleid=a, clr=a.csqrr, yhzt=2, + action='确认整改措施', result=1) m.save() - postdict={ - 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc', - 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', - "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, - 'data':{ - 'first':{'value':a.yhdj.dickeyname + '待整改:'}, - 'keyword1':{'value':a.yhms}, - 'keyword2':{'value':a.fxsj}, - 'keyword3':{'value':a.yhdd}, - 'remark':{'value':'整改措施已确认,请您及时完成整改。'} - } + postdict = { + 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc', + 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', + "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)}, + 'data': { + 'first': {'value': a.yhdj.dickeyname + '待整改:'}, + 'keyword1': {'value': a.yhms}, + 'keyword2': {'value': a.fxsj}, + 'keyword3': {'value': a.yhdd}, + 'remark': {'value': '整改措施已确认,请您及时完成整改。'} } - postdict['touser']=a.todouser.openid + } + postdict['touser'] = a.todouser.openid send_wechatmsg.delay(postdict) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) def parttree2(req): userid = req.session['userid'] companyid = getcompany(userid) - list_items = (Partment.objects.filter(partlink__contains=','+companyid+',')).annotate(id=F('partid'),parentId=F('parentid'),name=F('partname')).values('id','parentId','name') - return HttpResponse(json.dumps(list(list_items)),content_type="application/json") + list_items = (Partment.objects.filter(partlink__contains=','+companyid+',')).annotate( + id=F('partid'), parentId=F('parentid'), name=F('partname')).values('id', 'parentId', 'name') + return HttpResponse(json.dumps(list(list_items)), content_type="application/json") + def getdicclass(req): - dicid=req.GET.get('dicid') - a=Dicclass.objects.filter(parentid=dicid).values('dicid','dicname') - str = transstr(a,'dicid','dicname') - return HttpResponse(str,content_type="application/json") + dicid = req.GET.get('dicid') + a = Dicclass.objects.filter(parentid=dicid).values('dicid', 'dicname') + str = transstr(a, 'dicid', 'dicname') + return HttpResponse(str, content_type="application/json") + def getdickey(req): userid = req.session['userid'] companyid = getcompany(userid) - a = Dickey.objects.filter(dicparent=req.GET.get('dicclass'),deletemark=1) - a = (a.filter(usecomps__contains=',1,')|a.filter(usecomps__contains=','+companyid+',')).exclude(nousecomps__contains=','+companyid+',') - a = a.values('dickeyid','dicparent__dicname','dickeyname','dicparent__dicid','detail').order_by('dickeyid') - total=a.count() - if req.GET.get('a')=='combobox': - return HttpResponse(transstr(a,'dickeyid','dickeyname'),content_type="application/json") + a = Dickey.objects.filter(dicparent=req.GET.get('dicclass'), deletemark=1) + a = (a.filter(usecomps__contains=',1,') | a.filter(usecomps__contains=',' + + companyid+',')).exclude(nousecomps__contains=','+companyid+',') + a = a.values('dickeyid', 'dicparent__dicname', 'dickeyname', + 'dicparent__dicid', 'detail').order_by('dickeyid') + total = a.count() + if req.GET.get('a') == 'combobox': + return HttpResponse(transstr(a, 'dickeyid', 'dickeyname'), content_type="application/json") else: - if req.GET.get('dicclass')=='33': + if req.GET.get('dicclass') == '33': for i in a: - objs = Operationspjd.objects.filter(zylx=Dickey.objects.get(dickeyid=i['dickeyid']),usecomp=Partment.objects.get(partid=companyid)) - str='作业负责人-作业部门-属地部门' + objs = Operationspjd.objects.filter(zylx=Dickey.objects.get( + dickeyid=i['dickeyid']), usecomp=Partment.objects.get(partid=companyid)) + str = '作业负责人-作业部门-属地部门' for x in objs: str = str + '-' + x.jdmc i['splcdetail'] = str a = a - return HttpResponse(transjson(total,a),content_type="application/json") + return HttpResponse(transjson(total, a), content_type="application/json") def addtrain(req): userid = req.session['userid'] companyid = getcompany(userid) - a=Train() - a.trainname=req.POST.get('trainname') - a.trainplace=req.POST.get('trainplace') - a.starttime=req.POST.get('starttime') - a.usecomp=Partment.objects.get(partid=companyid) - a.trainlevel=Dicclass.objects.get(dicid=req.POST.get('trainlevel')) - a.traincontent=Dickey.objects.get(dickeyid=req.POST.get('traincontent')) - a.manlevel=Dickey.objects.get(dickeyid=req.POST.get('manlevel')) - a.traintype=Dickey.objects.get(dickeyid=req.POST.get('traintype')) - a.detailcontent=req.POST.get('detailcontent') - a.teacher = req.POST.get('teacher',None) - if req.POST.get('lecturer',None): + a = Train() + a.trainname = req.POST.get('trainname') + a.trainplace = req.POST.get('trainplace') + a.starttime = req.POST.get('starttime') + a.usecomp = Partment.objects.get(partid=companyid) + a.trainlevel = Dicclass.objects.get(dicid=req.POST.get('trainlevel')) + a.traincontent = Dickey.objects.get(dickeyid=req.POST.get('traincontent')) + a.manlevel = Dickey.objects.get(dickeyid=req.POST.get('manlevel')) + a.traintype = Dickey.objects.get(dickeyid=req.POST.get('traintype')) + a.detailcontent = req.POST.get('detailcontent') + a.teacher = req.POST.get('teacher', None) + if req.POST.get('lecturer', None): x = User.objects.get(userid=req.POST.get('lecturer')) a.lecturer = x a.teacher = x.name - a.state=0 - a.participantnum=req.POST.get('participantnum') - a.submituser=User.objects.get(userid=userid) - a.duration=req.POST.get('duration') - a.trainnum='PX'+time.strftime('%Y%m%d%H%M%S') - a.material= req.POST.get('upfile') + a.state = 0 + a.participantnum = req.POST.get('participantnum') + a.submituser = User.objects.get(userid=userid) + a.duration = req.POST.get('duration') + a.trainnum = 'PX'+time.strftime('%Y%m%d%H%M%S') + a.material = req.POST.get('upfile') a.save() - a.checkqr = makeqr_train('https://safeyun.ctcshe.com/miniprogram/checktrain?trainid='+str(a.trainid)) + a.checkqr = makeqr_train( + 'https://safeyun.ctcshe.com/miniprogram/checktrain?trainid='+str(a.trainid)) a.save() - plist=req.POST.getlist('trainpart') + plist = req.POST.getlist('trainpart') ustr = req.POST.get('participant') - ulist=ustr.split(',') - b=[] + ulist = ustr.split(',') + b = [] for i in ulist: - x=User.objects.get(userid=i) - m = Trainuser(train=a,participant=x) + x = User.objects.get(userid=i) + m = Trainuser(train=a, participant=x) m.save() b.append(x.openid) for i in plist: a.trainpart.add(Partment.objects.get(partid=i)) - postdict={ - 'touser':'', - 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', - 'data':{ - 'first':{ - 'value':a.trainlevel.dicname + '培训通知:' + postdict = { + 'touser': '', + 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', + 'data': { + 'first': { + 'value': a.trainlevel.dicname + '培训通知:' }, - 'keyword1':{ - 'value':a.trainname + 'keyword1': { + 'value': a.trainname }, - 'keyword2':{ - 'value':a.starttime + 'keyword2': { + 'value': a.starttime }, - 'keyword3':{ - 'value':a.trainplace + 'keyword3': { + 'value': a.trainplace }, - 'remark':{ - 'value':a.teacher+'授课,时长为'+a.duration+'小时,请您务必参加' + 'remark': { + 'value': a.teacher+'授课,时长为'+a.duration+'小时,请您务必参加' } } } - send_wechatmsgs.delay(postdict,b) - return JsonResponse({"code":1}) + send_wechatmsgs.delay(postdict, b) + return JsonResponse({"code": 1}) def adddrill(req): userid = req.session['userid'] companyid = getcompany(userid) - a=Drill() - a.drillname=req.POST.get('drillname') - a.drillplace=req.POST.get('drillplace') - a.starttime=req.POST.get('starttime') - a.usecomp=Partment.objects.get(partid=companyid) - a.drilllevel=Dicclass.objects.get(dicid=req.POST.get('drilllevel')) - a.drillcontent=Dickey.objects.get(dickeyid=req.POST.get('drillcontent')) - a.drilltype=Dickey.objects.get(dickeyid=req.POST.get('drilltype')) - a.detailcontent=req.POST.get('detailcontent') + a = Drill() + a.drillname = req.POST.get('drillname') + a.drillplace = req.POST.get('drillplace') + a.starttime = req.POST.get('starttime') + a.usecomp = Partment.objects.get(partid=companyid) + a.drilllevel = Dicclass.objects.get(dicid=req.POST.get('drilllevel')) + a.drillcontent = Dickey.objects.get(dickeyid=req.POST.get('drillcontent')) + a.drilltype = Dickey.objects.get(dickeyid=req.POST.get('drilltype')) + a.detailcontent = req.POST.get('detailcontent') if req.POST.get('chief'): - a.chief=User.objects.get(userid=req.POST.get('chief')) - a.state=0 - a.participantnum=req.POST.get('participantnum') - a.submituser=User.objects.get(userid=userid) - a.drillnum='YL'+time.strftime('%Y%m%d%H%M%S') + a.chief = User.objects.get(userid=req.POST.get('chief')) + a.state = 0 + a.participantnum = req.POST.get('participantnum') + a.submituser = User.objects.get(userid=userid) + a.drillnum = 'YL'+time.strftime('%Y%m%d%H%M%S') a.save() - plist=req.POST.getlist('drillpart') + plist = req.POST.getlist('drillpart') ustr = req.POST.get('participant') - ulist=ustr.split(',') - b=[] + ulist = ustr.split(',') + b = [] for i in ulist: - x=User.objects.get(userid=i) - m = Drilluser(drillid=a,participant=x) + x = User.objects.get(userid=i) + m = Drilluser(drillid=a, participant=x) m.save() b.append(x.openid) for i in plist: a.drillpart.add(Partment.objects.get(partid=i)) - postdict={ - 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc', - 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', - 'data':{ - 'first':{ - 'value':a.drilllevel.dicname + '演练通知:' + postdict = { + 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc', + 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', + 'data': { + 'first': { + 'value': a.drilllevel.dicname + '演练通知:' }, - 'keyword1':{ - 'value':a.drillname + 'keyword1': { + 'value': a.drillname }, - 'keyword2':{ - 'value':a.starttime + 'keyword2': { + 'value': a.starttime }, - 'keyword3':{ - 'value':a.drillplace + 'keyword3': { + 'value': a.drillplace }, - 'remark':{ - 'value':a.chief.name+'为总指挥,请务必参加!' + 'remark': { + 'value': a.chief.name+'为总指挥,请务必参加!' } } } - send_wechatmsgs.delay(postdict,b) - return JsonResponse({"code":1}) + send_wechatmsgs.delay(postdict, b) + return JsonResponse({"code": 1}) + def accesstrain(req): - userid=req.session.get('userid') + userid = req.session.get('userid') trainid = req.GET.get('trainid') detailcontent = req.POST.get('detailcontent') pxxg = req.POST.get('pxxg') knownum = req.POST.get('knownum') - duration=req.POST.get('duration') + duration = req.POST.get('duration') upfile = req.POST.get('upfile') - a=Train.objects.filter(trainid=trainid) - a.update(detailcontent=detailcontent,knownum=knownum,material=upfile,state=1,duration=duration,pxxg=pxxg) + a = Train.objects.filter(trainid=trainid) + a.update(detailcontent=detailcontent, knownum=knownum, + material=upfile, state=1, duration=duration, pxxg=pxxg) companyid = getcompany(userid) - #绑定考试 + # 绑定考试 if req.POST.get('examtest'): a.update(examtest=ExamTest.objects.get(id=req.POST.get('examtest'))) for i in Trainuser.objects.filter(train__trainid=trainid): - objs = ExamTestDetail.objects.filter(examtest__id=req.POST.get('examtest'),user=i.participant) + objs = ExamTestDetail.objects.filter( + examtest__id=req.POST.get('examtest'), user=i.participant) if objs.exists(): i.examtestdetail = objs[0] i.save() yjjs_px.delay(companyid) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) + def accessdrill(req): drillid = req.GET.get('drillid') @@ -1520,117 +1684,126 @@ def accessdrill(req): participantnum = req.POST.get('participantnum') knownum = req.POST.get('knownum') upfile = req.POST.get('upfile') - a=Drill.objects.filter(drillid=drillid) - a.update(detailcontent=detailcontent,participantnum=participantnum,knownum=knownum,material=upfile,state=1) + a = Drill.objects.filter(drillid=drillid) + a.update(detailcontent=detailcontent, participantnum=participantnum, + knownum=knownum, material=upfile, state=1) if req.POST.get('participant'): a[0].participant.clear() ustr = req.POST.get('participant') - ulist=ustr.split(',') + ulist = ustr.split(',') for i in ulist: - x=User.objects.get(userid=i) - m = Drilluser(drillid=a[0],participant=x) + x = User.objects.get(userid=i) + m = Drilluser(drillid=a[0], participant=x) m.save() - userid=req.session.get('userid') + userid = req.session.get('userid') companyid = getcompany(userid) yjjs_yl.delay(companyid) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) + def grouphandle(req): - if req.GET.get('a')=='addgrouph': - return render(req,'abgroup.html') - elif req.GET.get('a')=='delgroup': + if req.GET.get('a') == 'addgrouph': + return render(req, 'abgroup.html') + elif req.GET.get('a') == 'delgroup': userid = req.session['userid'] a = Group.objects.get(groupid=req.GET.get('groupid')) - if User.objects.get(userid = userid).issuper == 1 and a.grouptype not in [1,2,3]: - groupid=req.GET.get('groupid') + if User.objects.get(userid=userid).issuper == 1 and a.grouptype not in [1, 2, 3]: + groupid = req.GET.get('groupid') Group.objects.filter(groupid=groupid).delete() - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) - elif req.GET.get('a')=='removeuser': - groupid=req.GET.get('groupid') - userid=req.GET.get('userid') + return JsonResponse({"code": 0}) + elif req.GET.get('a') == 'removeuser': + groupid = req.GET.get('groupid') + userid = req.GET.get('userid') useridx = req.session['userid'] if User.objects.get(userid=useridx).issuper == 1: a = Group.objects.get(groupid=groupid) a.users.remove(User.objects.get(userid=userid)) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) - elif req.GET.get('a') =='addguser': - groupid=req.GET.get('groupid') + return JsonResponse({"code": 0}) + elif req.GET.get('a') == 'addguser': + groupid = req.GET.get('groupid') users = req.POST.get('users').split(',') a = Group.objects.get(groupid=groupid) for i in users: if User.objects.get(userid=int(i)) not in a.users.all(): a.users.add(User.objects.get(userid=int(i))) - return JsonResponse({"code":1}) - elif req.GET.get('a') =='list': + return JsonResponse({"code": 1}) + elif req.GET.get('a') == 'list': userid = req.session['userid'] companyid = getcompany(userid) - a=Group.objects.filter(usecomp__partid = companyid).exclude(grouptype=0).values('groupid','groupname','grouptype') - total=a.count() - return HttpResponse(transjson(total,a),content_type="application/json") - elif req.GET.get('a') =='list2':#排除全体用户组 + a = Group.objects.filter(usecomp__partid=companyid).exclude( + grouptype=0).values('groupid', 'groupname', 'grouptype') + total = a.count() + return HttpResponse(transjson(total, a), content_type="application/json") + elif req.GET.get('a') == 'list2': # 排除全体用户组 userid = req.session['userid'] companyid = getcompany(userid) - a=Group.objects.filter(usecomp__partid = companyid).exclude(grouptype=0).exclude(grouptype=3).values('groupid','groupname','grouptype') - total=a.count() - return HttpResponse(transjson(total,a),content_type="application/json") - elif req.GET.get('a') =='combobox': + a = Group.objects.filter(usecomp__partid=companyid).exclude( + grouptype=0).exclude(grouptype=3).values('groupid', 'groupname', 'grouptype') + total = a.count() + return HttpResponse(transjson(total, a), content_type="application/json") + elif req.GET.get('a') == 'combobox': userid = req.session['userid'] companyid = getcompany(userid) - a = Group.objects.filter(usecomp__partid = companyid).exclude(grouptype=0).values('groupid','groupname') - keystr=transstr(a,'groupid','groupname') - return HttpResponse(keystr,content_type="application/json") + a = Group.objects.filter(usecomp__partid=companyid).exclude( + grouptype=0).values('groupid', 'groupname') + keystr = transstr(a, 'groupid', 'groupname') + return HttpResponse(keystr, content_type="application/json") elif req.method == 'POST': data = json.loads(req.body.decode('utf-8')) userid = req.session['userid'] companyid = getcompany(userid) - if data['groupid'] =='': + if data['groupid'] == '': a = Group() a.groupname = data['groupname'] a.usecomp = Partment.objects.get(partid=companyid) a.save() - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) + return JsonResponse({"code": 0}) + def troublehandle(req): a = req.GET.get('a') if a == 'detail': troubleid = req.GET.get('troubleid') a = Trouble.objects.filter(troubleid=troubleid) - x = a.values('yhnum','fxr__name','yhms','yhzt','fxsj','tbsj','yhlb__dickeyname','yhpg__dickeyname','yhdd','fxbm__partname','yhdj__dickeyname','yhpg__dickeyname', - 'jclx__dickeyname','yhlx__dicname','yyfx','zgcs','yhtp','zghtp','zgms','zgbm__partname','zgr__name','zgqx','yhqy__name')[0] - b = TroubleAccess.objects.filter(troubleid=a[0]).order_by('accesssj').values('clr__name','opinion','action','accesssj') + x = a.values('yhnum', 'fxr__name', 'yhms', 'yhzt', 'fxsj', 'tbsj', 'yhlb__dickeyname', 'yhpg__dickeyname', 'yhdd', 'fxbm__partname', 'yhdj__dickeyname', 'yhpg__dickeyname', + 'jclx__dickeyname', 'yhlx__dicname', 'yyfx', 'zgcs', 'yhtp', 'zghtp', 'zgms', 'zgbm__partname', 'zgr__name', 'zgqx', 'yhqy__name')[0] + b = TroubleAccess.objects.filter(troubleid=a[0]).order_by( + 'accesssj').values('clr__name', 'opinion', 'action', 'accesssj') x['lcxq'] = list(b) - if x['yhtp']!='': + if x['yhtp'] != '': x['yhtp'] = x['yhtp'].split('?') else: - x['yhtp']==[] - if x['zghtp']!='': - x['zghtp']= x['zghtp'].split('?') + x['yhtp'] == [] + if x['zghtp'] != '': + x['zghtp'] = x['zghtp'].split('?') else: - x['zghtp']==[] + x['zghtp'] == [] for key in x: if x[key] == None: x[key] = '' - return HttpResponse(json.dumps(x,cls=MyEncoder),content_type="application/json") + return HttpResponse(json.dumps(x, cls=MyEncoder), content_type="application/json") elif a == 'detailhtml': troubleid = req.GET.get('troubleid') - return render(req,'troubledetail.html',{'troubleid':troubleid}) + return render(req, 'troubledetail.html', {'troubleid': troubleid}) elif a == 'todonum': - todonum = Trouble.objects.filter(todouser=User.objects.get(userid=req.session['userid'])).exclude(deletemark=0).count() - return JsonResponse({'code':1,'todonum':todonum}) + todonum = Trouble.objects.filter(todouser=User.objects.get( + userid=req.session['userid'])).exclude(deletemark=0).count() + return JsonResponse({'code': 1, 'todonum': todonum}) elif a == 'exportword': troubleid = req.GET.get('troubleid') - v = exportdoc('yh',troubleid) - return JsonResponse({"code":1,'downloadurl':v}) - elif a=='exportexcel': + v = exportdoc('yh', troubleid) + return JsonResponse({"code": 1, 'downloadurl': v}) + elif a == 'exportexcel': userid = req.session['userid'] companyid = getcompany(userid) - a = Trouble.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1) + a = Trouble.objects.filter( + usecomp=Partment.objects.get(partid=companyid), deletemark=1) yhzt = req.GET.get('yhzt') yhlx = req.GET.get('yhlx') yhlb = req.GET.get('yhlb') @@ -1640,7 +1813,7 @@ def troublehandle(req): fxr = req.GET.get('fxr') qssj = req.GET.get('qssj') jssj = req.GET.get('jssj') - if yhzt !='' and yhzt != None: + if yhzt != '' and yhzt != None: a = a.filter(yhzt=yhzt) if yhlx: a = a.filter(yhlx__dicid=yhlx) @@ -1654,56 +1827,64 @@ def troublehandle(req): if fxr: a = a.filter(fxr__userid=fxr) elif fxbm: - parts = Partment.objects.filter(partlink__contains=','+str(fxbm)+',')|Partment.objects.filter(partid=fxbm) + parts = Partment.objects.filter( + partlink__contains=','+str(fxbm)+',') | Partment.objects.filter(partid=fxbm) a = a.filter(fxbm__in=parts) if qssj: a = a.filter(fxsj__gte=qssj) if jssj: a = a.filter(fxsj__lte=jssj) - res = exportxlsx('yh',a) + res = exportxlsx('yh', a) return res - elif a=='del': + elif a == 'del': userid = req.session['userid'] - if User.objects.get(userid = userid).issuper == 1: - a = Trouble.objects.get(troubleid = req.POST.get('troubleid')) - a.deletemark=0 + if User.objects.get(userid=userid).issuper == 1: + a = Trouble.objects.get(troubleid=req.POST.get('troubleid')) + a.deletemark = 0 a.save() - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - a = Trouble.objects.get(troubleid = req.POST.get('troubleid')) - b = TroubleAccess.objects.filter(troubleid__troubleid=req.POST.get('troubleid')).count() - if b == 1 and a.fxr.userid==userid: - a.deletemark=0 + a = Trouble.objects.get(troubleid=req.POST.get('troubleid')) + b = TroubleAccess.objects.filter( + troubleid__troubleid=req.POST.get('troubleid')).count() + if b == 1 and a.fxr.userid == userid: + a.deletemark = 0 a.save() - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) - elif a=='listtodo': + return JsonResponse({"code": 0}) + elif a == 'listtodo': userid = req.session['userid'] - a = Trouble.objects.filter(todouser=User.objects.get(userid=userid)).exclude(deletemark=0) + a = Trouble.objects.filter(todouser=User.objects.get( + userid=userid)).exclude(deletemark=0) total = a.count() - startnum,endnum=fenye(req) - obj = a.order_by('-xgsj')[startnum:endnum].values('troubleid','fxr__userid','fxr__name','yhms','yhzt','fxsj','tbsj','yhlb__dickeyname','todouser__name','todouser__userid','yhpg__dickeyname','yhnum','yhdj__dickeyname','shresult','zgqx') - return HttpResponse(transjson(total,obj),content_type="application/json") - elif a=='listself': + startnum, endnum = fenye(req) + obj = a.order_by('-xgsj')[startnum:endnum].values('troubleid', 'fxr__userid', 'fxr__name', 'yhms', 'yhzt', 'fxsj', 'tbsj', + 'yhlb__dickeyname', 'todouser__name', 'todouser__userid', 'yhpg__dickeyname', 'yhnum', 'yhdj__dickeyname', 'shresult', 'zgqx') + return HttpResponse(transjson(total, obj), content_type="application/json") + elif a == 'listself': userid = req.session['userid'] - a=Trouble.objects.filter(fxr__userid=userid).exclude(deletemark=0) + a = Trouble.objects.filter(fxr__userid=userid).exclude(deletemark=0) total = a.count() - startnum,endnum=fenye(req) - obj = a.order_by('-xgsj')[startnum:endnum].values('troubleid','fxr__userid','fxr__name','yhms','yhzt','fxsj','tbsj','yhlb__dickeyname','todouser__name','todouser__userid','yhpg__dickeyname','yhnum','yhdj__dickeyname','shresult','zgqx') - return HttpResponse(transjson(total,obj),content_type="application/json") - elif a=='listall': + startnum, endnum = fenye(req) + obj = a.order_by('-xgsj')[startnum:endnum].values('troubleid', 'fxr__userid', 'fxr__name', 'yhms', 'yhzt', 'fxsj', 'tbsj', + 'yhlb__dickeyname', 'todouser__name', 'todouser__userid', 'yhpg__dickeyname', 'yhnum', 'yhdj__dickeyname', 'shresult', 'zgqx') + return HttpResponse(transjson(total, obj), content_type="application/json") + elif a == 'listall': userid = req.session['userid'] companyid = getcompany(userid) - a=Trouble.objects.filter(usecomp=Partment.objects.get(partid=companyid)).exclude(deletemark=0) + a = Trouble.objects.filter(usecomp=Partment.objects.get( + partid=companyid)).exclude(deletemark=0) total = a.count() - startnum,endnum=fenye(req) - obj = a.order_by('-xgsj')[startnum:endnum].values('troubleid','fxr__userid','fxr__name','yhms','yhzt','fxsj','tbsj','yhlb__dickeyname','todouser__name','todouser__userid','yhpg__dickeyname','yhnum','yhdj__dickeyname','shresult','zgqx') - return HttpResponse(transjson(total,obj),content_type="application/json") + startnum, endnum = fenye(req) + obj = a.order_by('-xgsj')[startnum:endnum].values('troubleid', 'fxr__userid', 'fxr__name', 'yhms', 'yhzt', 'fxsj', 'tbsj', + 'yhlb__dickeyname', 'todouser__name', 'todouser__userid', 'yhpg__dickeyname', 'yhnum', 'yhdj__dickeyname', 'shresult', 'zgqx') + return HttpResponse(transjson(total, obj), content_type="application/json") elif a == 'listsearch': userid = req.session['userid'] companyid = getcompany(userid) - a = Trouble.objects.filter(usecomp=Partment.objects.get(partid=companyid)).exclude(deletemark=0) + a = Trouble.objects.filter(usecomp=Partment.objects.get( + partid=companyid)).exclude(deletemark=0) yhzt = req.GET.get('yhzt') yhlx = req.GET.get('yhlx') yhlb = req.GET.get('yhlb') @@ -1715,7 +1896,7 @@ def troublehandle(req): jssj = req.GET.get('jssj') yhqy = req.GET.get('yhqy') zgbm = req.GET.get('zgbm') - if yhzt !='' and yhzt != None: + if yhzt != '' and yhzt != None: a = a.filter(yhzt=yhzt) if yhlx: a = a.filter(yhlx__dicid=yhlx) @@ -1729,60 +1910,69 @@ def troublehandle(req): if fxr: a = a.filter(fxr__userid=fxr) elif fxbm: - parts = Partment.objects.filter(partlink__contains=','+str(fxbm)+',')|Partment.objects.filter(partid=fxbm) + parts = Partment.objects.filter( + partlink__contains=','+str(fxbm)+',') | Partment.objects.filter(partid=fxbm) a = a.filter(fxbm__in=parts) if qssj: a = a.filter(fxsj__gte=qssj) if jssj: a = a.filter(fxsj__lte=jssj) if yhqy: - a = a.filter(yhqy__id = yhqy) + a = a.filter(yhqy__id=yhqy) if zgbm: - parts = Partment.objects.filter(partlink__contains=','+str(zgbm)+',')|Partment.objects.filter(partid=zgbm) - a = a.filter(Q(zgbm__in=parts) | Q(fxbm__in=parts,zgbm=None)) + parts = Partment.objects.filter( + partlink__contains=','+str(zgbm)+',') | Partment.objects.filter(partid=zgbm) + a = a.filter(Q(zgbm__in=parts) | Q(fxbm__in=parts, zgbm=None)) total = a.count() - startnum,endnum=fenye(req) - obj = a.order_by('-fxsj')[startnum:endnum].values('troubleid','fxr__userid','fxr__name','yhms','yhzt','fxsj','tbsj','yhlb__dickeyname','todouser__name','yhpg__dickeyname','yhnum','yhdj__dickeyname','shresult','zgqx','yhtp','zghtp','todouser__userid') - return HttpResponse(transjson(total,obj),content_type="application/json") + startnum, endnum = fenye(req) + obj = a.order_by('-fxsj')[startnum:endnum].values('troubleid', 'fxr__userid', 'fxr__name', 'yhms', 'yhzt', 'fxsj', 'tbsj', 'yhlb__dickeyname', + 'todouser__name', 'yhpg__dickeyname', 'yhnum', 'yhdj__dickeyname', 'shresult', 'zgqx', 'yhtp', 'zghtp', 'todouser__userid') + return HttpResponse(transjson(total, obj), content_type="application/json") elif a == 'listarea': userid = req.session['userid'] companyid = getcompany(userid) - a = Trouble.objects.filter(usecomp__partid=companyid,deletemark=1).exclude(yhzt=6) + a = Trouble.objects.filter( + usecomp__partid=companyid, deletemark=1).exclude(yhzt=6) yhqy = req.GET.get('yhqy') if yhqy: - a = a.filter(yhqy__id = yhqy) + a = a.filter(yhqy__id=yhqy) total = a.count() - startnum,endnum=fenye(req) - obj = a.order_by('-xgsj')[startnum:endnum].values('troubleid','fxr__userid','fxr__name','yhms','yhzt','fxsj','tbsj','yhlb__dickeyname','todouser__name','yhpg__dickeyname','yhnum','yhdj__dickeyname','shresult','zgqx','yhtp','zghtp') - return HttpResponse(transjson(total,obj),content_type="application/json") + startnum, endnum = fenye(req) + obj = a.order_by('-xgsj')[startnum:endnum].values('troubleid', 'fxr__userid', 'fxr__name', 'yhms', 'yhzt', 'fxsj', 'tbsj', + 'yhlb__dickeyname', 'todouser__name', 'yhpg__dickeyname', 'yhnum', 'yhdj__dickeyname', 'shresult', 'zgqx', 'yhtp', 'zghtp') + return HttpResponse(transjson(total, obj), content_type="application/json") + +# 图表查询 -#图表查询 def charthandle(req): userid = req.session['userid'] companyid = getcompany(userid) - if req.GET.get('a')=='yjycqst': - yjyc_vl = Yjyc.objects.filter(usecomp__partid=companyid).order_by('-buildtime')[:12].values('year','month','yjz','ycz') - return HttpResponse(transjson(yjyc_vl.count(),yjyc_vl),content_type="application/json") - elif req.GET.get('a')=='yjycz': + if req.GET.get('a') == 'yjycqst': + yjyc_vl = Yjyc.objects.filter(usecomp__partid=companyid).order_by( + '-buildtime')[:12].values('year', 'month', 'yjz', 'ycz') + return HttpResponse(transjson(yjyc_vl.count(), yjyc_vl), content_type="application/json") + elif req.GET.get('a') == 'yjycz': year = int(req.GET.get('year')) month = int(req.GET.get('month')) - objs = Yjyc.objects.filter(usecomp__partid=companyid,year=year,month=month) + objs = Yjyc.objects.filter( + usecomp__partid=companyid, year=year, month=month) if objs.exists(): nowyjz = objs[0].yjz nowycz = objs[0].ycz - return JsonResponse({'code':1,'yjz':nowyjz,'ycz':nowycz}) + return JsonResponse({'code': 1, 'yjz': nowyjz, 'ycz': nowycz}) else: - return JsonResponse({'code':0}) - elif req.GET.get('a')=='yjycznow': - first_day,first_day_of_next_month=gettime() + return JsonResponse({'code': 0}) + elif req.GET.get('a') == 'yjycznow': + first_day, first_day_of_next_month = gettime() year = first_day.year month = first_day.month - a = Yjyc.objects.get_or_create(usecomp__partid=companyid,year=year,month=month,defaults={'usecomp':Partment.objects.get(partid=companyid) ,'year':year,'month':month})[0] + a = Yjyc.objects.get_or_create(usecomp__partid=companyid, year=year, month=month, defaults={ + 'usecomp': Partment.objects.get(partid=companyid), 'year': year, 'month': month})[0] nowyjz = a.yjz nowycz = a.ycz - return JsonResponse({'code':1,'yjz':nowyjz,'ycz':nowycz}) - elif req.GET.get('a')=='yhlbt':#隐患类别图 + return JsonResponse({'code': 1, 'yjz': nowyjz, 'ycz': nowycz}) + elif req.GET.get('a') == 'yhlbt': # 隐患类别图 if req.GET.get('year'): year = int(req.GET.get('year')) month = int(req.GET.get('month')) @@ -1790,38 +1980,45 @@ def charthandle(req): partid = req.GET.get('part') else: partid = companyid - first_day,first_day_of_next_month = gettime(datetime(year,month,1)) + first_day, first_day_of_next_month = gettime( + datetime(year, month, 1)) children = [] - a = Trouble.objects.filter(deletemark=1).filter(Q(fxbm=partid) | Q(fxbm__partlink__contains=',' + str(partid) + ',')) + a = Trouble.objects.filter(deletemark=1).filter( + Q(fxbm=partid) | Q(fxbm__partlink__contains=',' + str(partid) + ',')) for i in Dickey.objects.filter(dicparent__dicid=16): - y = a.filter(yhlb=i,fxsj__range=(first_day, first_day_of_next_month)).count() - children.append({'name':i.dickeyname,'value':y}) - children2= [] + y = a.filter(yhlb=i, fxsj__range=( + first_day, first_day_of_next_month)).count() + children.append({'name': i.dickeyname, 'value': y}) + children2 = [] for i in Dickey.objects.filter(dicparent__dicid=17): - y = a.filter(yhlb=i,fxsj__range=(first_day, first_day_of_next_month)).count() - children2.append({'name':i.dickeyname,'value':y}) - value=[{'name':'现场管理','children':children},{'name':'基础管理','children':children2}] - return JsonResponse({'code':1,'value':value}) + y = a.filter(yhlb=i, fxsj__range=( + first_day, first_day_of_next_month)).count() + children2.append({'name': i.dickeyname, 'value': y}) + value = [{'name': '现场管理', 'children': children}, + {'name': '基础管理', 'children': children2}] + return JsonResponse({'code': 1, 'value': value}) else: children = [] - a = Trouble.objects.filter(usecomp__partid=companyid,deletemark=1) + a = Trouble.objects.filter(usecomp__partid=companyid, deletemark=1) if req.GET.get('qssj'): a = a.filter(fxsj__gte=req.GET.get('qssj')) if req.GET.get('jssj'): a = a.filter(fxsj__lte=req.GET.get('jssj')) if req.GET.get('fxbm'): - parts = Partment.objects.filter(partlink__contains=',' + req.GET.get('fxbm') + ',')|Partment.objects.filter(partid=req.GET.get('fxbm')) + parts = Partment.objects.filter(partlink__contains=',' + req.GET.get( + 'fxbm') + ',') | Partment.objects.filter(partid=req.GET.get('fxbm')) a = a.filter(fxbm__in=parts) for i in Dickey.objects.filter(dicparent__dicid=16): y = a.filter(yhlb=i).count() - children.append({'name':i.dickeyname,'value':y}) - children2= [] + children.append({'name': i.dickeyname, 'value': y}) + children2 = [] for i in Dickey.objects.filter(dicparent__dicid=17): y = a.filter(yhlb=i).count() - children2.append({'name':i.dickeyname,'value':y}) - value=[{'name':'现场管理','children':children},{'name':'基础管理','children':children2}] - return JsonResponse({'code':1,'value':value}) - elif req.GET.get('a')=='yhpgt': + children2.append({'name': i.dickeyname, 'value': y}) + value = [{'name': '现场管理', 'children': children}, + {'name': '基础管理', 'children': children2}] + return JsonResponse({'code': 1, 'value': value}) + elif req.GET.get('a') == 'yhpgt': if req.GET.get('year'): year = int(req.GET.get('year')) month = int(req.GET.get('month')) @@ -1829,158 +2026,177 @@ def charthandle(req): partid = req.GET.get('part') else: partid = companyid - parts = Partment.objects.filter(Q(partid=partid) | Q(partlink__contains=',' + str(partid) + ',')) - a = Trouble.objects.filter(deletemark=1,fxbm__in=parts) - value=[] - key=[] - first_day,first_day_of_next_month = gettime(datetime(year,month,1)) + parts = Partment.objects.filter(Q(partid=partid) | Q( + partlink__contains=',' + str(partid) + ',')) + a = Trouble.objects.filter(deletemark=1, fxbm__in=parts) + value = [] + key = [] + first_day, first_day_of_next_month = gettime( + datetime(year, month, 1)) for i in Dickey.objects.filter(dicparent__dicid=19): x = i.dickeyname - y = a.filter(yhpg=i,fxsj__range=(first_day, first_day_of_next_month)).count() + y = a.filter(yhpg=i, fxsj__range=( + first_day, first_day_of_next_month)).count() key.append(x) - value.append({'value':y,'name':x}) - return JsonResponse({'code':1,'key':key,'value':value}) + value.append({'value': y, 'name': x}) + return JsonResponse({'code': 1, 'key': key, 'value': value}) else: - a = Trouble.objects.filter(usecomp__partid=companyid,deletemark=1) + a = Trouble.objects.filter(usecomp__partid=companyid, deletemark=1) if req.GET.get('qssj'): a = a.filter(fxsj__gte=req.GET.get('qssj')) if req.GET.get('jssj'): a = a.filter(fxsj__lte=req.GET.get('jssj')) if req.GET.get('fxbm'): - parts = Partment.objects.filter(partlink__contains=',' + req.GET.get('fxbm') + ',')|Partment.objects.filter(partid=req.GET.get('fxbm')) + parts = Partment.objects.filter(partlink__contains=',' + req.GET.get( + 'fxbm') + ',') | Partment.objects.filter(partid=req.GET.get('fxbm')) a = a.filter(fxbm__in=parts) - value=[] - key=[] + value = [] + key = [] for i in Dickey.objects.filter(dicparent__dicid=19): x = i.dickeyname y = a.filter(yhpg=i).count() key.append(x) - value.append({'value':y,'name':x}) - return JsonResponse({'code':1,'key':key,'value':value}) - elif req.GET.get('a')=='pxjbt': + value.append({'value': y, 'name': x}) + return JsonResponse({'code': 1, 'key': key, 'value': value}) + elif req.GET.get('a') == 'pxjbt': year = int(req.GET.get('year')) month = int(req.GET.get('month')) if req.GET.get('part'): partid = req.GET.get('part') else: partid = companyid - parts = Partment.objects.filter(Q(partid=partid) | Q(partlink__contains=',' + str(partid) + ',')) - first_day,first_day_of_next_month = gettime(datetime(year,month,1)) - a = Train.objects.filter(deletemark=1,trainpart__in=parts,state=1) - value=[] - key=[] + parts = Partment.objects.filter(Q(partid=partid) | Q( + partlink__contains=',' + str(partid) + ',')) + first_day, first_day_of_next_month = gettime(datetime(year, month, 1)) + a = Train.objects.filter(deletemark=1, trainpart__in=parts, state=1) + value = [] + key = [] for i in Dicclass.objects.filter(parentid__dicid=4): x = i.dicname - y = a.filter(trainlevel=i,starttime__range=(first_day, first_day_of_next_month)).count() + y = a.filter(trainlevel=i, starttime__range=( + first_day, first_day_of_next_month)).count() key.append(x) - value.append({'value':y,'name':x}) - return JsonResponse({'code':1,'key':key,'value':value}) - elif req.GET.get('a')=='yllxt':#演练类型饼图 + value.append({'value': y, 'name': x}) + return JsonResponse({'code': 1, 'key': key, 'value': value}) + elif req.GET.get('a') == 'yllxt': # 演练类型饼图 year = int(req.GET.get('year')) month = int(req.GET.get('month')) if req.GET.get('part'): partid = req.GET.get('part') else: partid = companyid - parts = Partment.objects.filter(Q(partid=partid) | Q(partlink__contains=',' + str(partid) + ',')) - first_day,first_day_of_next_month = gettime(datetime(year,month,1)) - a = Drill.objects.filter(drillpart__in=parts,deletemark=1,state=1) - value=[] - key=[] + parts = Partment.objects.filter(Q(partid=partid) | Q( + partlink__contains=',' + str(partid) + ',')) + first_day, first_day_of_next_month = gettime(datetime(year, month, 1)) + a = Drill.objects.filter(drillpart__in=parts, deletemark=1, state=1) + value = [] + key = [] for i in Dickey.objects.filter(dicparent__dicid=12): x = i.dickeyname - y = a.filter(drilltype=i,starttime__range=(first_day, first_day_of_next_month)).count() + y = a.filter(drilltype=i, starttime__range=( + first_day, first_day_of_next_month)).count() key.append(x) - value.append({'value':y,'name':x}) - return JsonResponse({'code':1,'key':key,'value':value}) - elif req.GET.get('a')=='yjb':#某月各预警指数表 + value.append({'value': y, 'name': x}) + return JsonResponse({'code': 1, 'key': key, 'value': value}) + elif req.GET.get('a') == 'yjb': # 某月各预警指数表 year = int(req.GET.get('year')) month = int(req.GET.get('month')) - a = Yjyc.objects.filter(usecomp__partid=companyid,year=year,month=month) - data = a.values('drillvalue','trainvalue','troublevalue','observevalue','missvalue','yjz')[0] - return JsonResponse({'code':1,'data':[{'name':'预警值','score':data.pop('yjz')},{'name':'事故隐患','score':data.pop('troublevalue')},{'name':'教育培训','score':data.pop('trainvalue')},{'name':'应急演练','score':data.pop('drillvalue')},{'name':'行为观察','score':data.pop('observevalue')},{'name':'未遂事件','score':data.pop('missvalue')}]}) - elif req.GET.get('a')=='yjhbfx':#预警环比分析 + a = Yjyc.objects.filter( + usecomp__partid=companyid, year=year, month=month) + data = a.values('drillvalue', 'trainvalue', 'troublevalue', + 'observevalue', 'missvalue', 'yjz')[0] + return JsonResponse({'code': 1, 'data': [{'name': '预警值', 'score': data.pop('yjz')}, {'name': '事故隐患', 'score': data.pop('troublevalue')}, {'name': '教育培训', 'score': data.pop('trainvalue')}, {'name': '应急演练', 'score': data.pop('drillvalue')}, {'name': '行为观察', 'score': data.pop('observevalue')}, {'name': '未遂事件', 'score': data.pop('missvalue')}]}) + elif req.GET.get('a') == 'yjhbfx': # 预警环比分析 year = int(req.GET.get('year')) month = int(req.GET.get('month')) - if month-1<1: - bmonth=12 - byear=year-1 + if month-1 < 1: + bmonth = 12 + byear = year-1 else: - bmonth =month-1 - byear=year + bmonth = month-1 + byear = year a = Yjyc.objects.filter(usecomp__partid=companyid) - data={} - nmonthyjz = a.filter(year=year,month=month)[0].yjz - bmonthyjz = a.filter(year=byear,month=bmonth)[0].yjz - return JsonResponse({'code':1,'data':[{'month':month,'yjz':nmonthyjz},{'month':bmonth,'yjz':bmonthyjz}]}) - elif req.GET.get('a')=='yhfxbmb':#隐患发现部门分布表 + data = {} + nmonthyjz = a.filter(year=year, month=month)[0].yjz + bmonthyjz = a.filter(year=byear, month=bmonth)[0].yjz + return JsonResponse({'code': 1, 'data': [{'month': month, 'yjz': nmonthyjz}, {'month': bmonth, 'yjz': bmonthyjz}]}) + elif req.GET.get('a') == 'yhfxbmb': # 隐患发现部门分布表 year = int(req.GET.get('year')) month = int(req.GET.get('month')) if req.GET.get('part'): partid = req.GET.get('part') else: partid = companyid - first_day,first_day_of_next_month = gettime(datetime(year,month,1)) - alist=[] + first_day, first_day_of_next_month = gettime(datetime(year, month, 1)) + alist = [] for i in (Partment.objects.filter(Q(partid=partid) | Q(parentid__partid=partid))).order_by('partid'): objs = Trouble.objects.filter(deletemark=1) - x=(objs.filter(fxbm=i)|objs.filter(fxbm__partlink__contains=','+str(i.partid)+',')).filter(fxsj__range=(first_day, first_day_of_next_month)) - a=x.count() - b=i.partname - c=x.exclude (yhzt=6).count() - alist.append({'partname':b,'yhnum':a,'nonum':c}) - return JsonResponse({'code':1,'data':alist}) - elif req.GET.get('a')=='pxbmb':#培训部门分布表 + x = (objs.filter(fxbm=i) | objs.filter(fxbm__partlink__contains=',' + + str(i.partid)+',')).filter(fxsj__range=(first_day, first_day_of_next_month)) + a = x.count() + b = i.partname + c = x.exclude(yhzt=6).count() + alist.append({'partname': b, 'yhnum': a, 'nonum': c}) + return JsonResponse({'code': 1, 'data': alist}) + elif req.GET.get('a') == 'pxbmb': # 培训部门分布表 year = int(req.GET.get('year')) month = int(req.GET.get('month')) - first_day,first_day_of_next_month = gettime(datetime(year,month,1)) - alist=[] + first_day, first_day_of_next_month = gettime(datetime(year, month, 1)) + alist = [] if req.GET.get('part'): partid = req.GET.get('part') else: partid = companyid for i in Partment.objects.filter(Q(partid=partid) | Q(parentid__partid=partid)).order_by('partid'): - x=Train.objects.filter(trainpart=i,state=1,deletemark=1,starttime__range=(first_day, first_day_of_next_month)) - b=i.partname - c=x.count() - d=x.filter(trainlevel__dicid=5).count() - e=x.filter(trainlevel__dicid=6).count() - f=x.filter(trainlevel__dicid=7).count() - g=x.filter(trainlevel__dicid=42).count() - alist.append({'partname':b,'pxnum':c,'gsjnum':d,'cjjnum':e,'bzjnum':f,'fcjnum':g}) - return JsonResponse({'code':1,'data':alist}) - elif req.GET.get('a')=='ylbmb':#演练部门分布表 + x = Train.objects.filter(trainpart=i, state=1, deletemark=1, starttime__range=( + first_day, first_day_of_next_month)) + b = i.partname + c = x.count() + d = x.filter(trainlevel__dicid=5).count() + e = x.filter(trainlevel__dicid=6).count() + f = x.filter(trainlevel__dicid=7).count() + g = x.filter(trainlevel__dicid=42).count() + alist.append({'partname': b, 'pxnum': c, 'gsjnum': d, + 'cjjnum': e, 'bzjnum': f, 'fcjnum': g}) + return JsonResponse({'code': 1, 'data': alist}) + elif req.GET.get('a') == 'ylbmb': # 演练部门分布表 year = int(req.GET.get('year')) month = int(req.GET.get('month')) if req.GET.get('part'): partid = req.GET.get('part') else: partid = companyid - first_day,first_day_of_next_month = gettime(datetime(year,month,1)) - alist=[] + first_day, first_day_of_next_month = gettime(datetime(year, month, 1)) + alist = [] for i in Partment.objects.filter(Q(partid=partid) | Q(parentid__partid=partid)).order_by('partid'): - x=Drill.objects.filter(drillpart=i,state=1,deletemark=1,starttime__range=(first_day, first_day_of_next_month)) - b=i.partname - c=x.count() - d=x.filter(drilllevel__dicid=20).count() - e=x.filter(drilllevel__dicid=21).count() - f=x.filter(drilllevel__dicid=22).count() - alist.append({'partname':b,'ylnum':c,'gsjnum':d,'cjjnum':e,'bzjnum':f}) - return JsonResponse({'code':1,'data':alist}) - elif req.GET.get('a')=='yhqst':#隐患趋势图 - x_s = Yjyc.objects.filter(usecomp__partid=companyid).order_by('buildtime') - objs = Trouble.objects.filter(deletemark=1,usecomp__partid=companyid) + x = Drill.objects.filter(drillpart=i, state=1, deletemark=1, starttime__range=( + first_day, first_day_of_next_month)) + b = i.partname + c = x.count() + d = x.filter(drilllevel__dicid=20).count() + e = x.filter(drilllevel__dicid=21).count() + f = x.filter(drilllevel__dicid=22).count() + alist.append({'partname': b, 'ylnum': c, + 'gsjnum': d, 'cjjnum': e, 'bzjnum': f}) + return JsonResponse({'code': 1, 'data': alist}) + elif req.GET.get('a') == 'yhqst': # 隐患趋势图 + x_s = Yjyc.objects.filter( + usecomp__partid=companyid).order_by('buildtime') + objs = Trouble.objects.filter(deletemark=1, usecomp__partid=companyid) if req.GET.get('fxbm'): - parts = Partment.objects.filter(partlink__contains=',' + req.GET.get('fxbm') + ',')|Partment.objects.filter(partid=req.GET.get('fxbm')) + parts = Partment.objects.filter(partlink__contains=',' + req.GET.get( + 'fxbm') + ',') | Partment.objects.filter(partid=req.GET.get('fxbm')) objs = objs.filter(fxbm__in=parts) data = {} - data['现场管理类']=[] - data['基础管理类']=[] + data['现场管理类'] = [] + data['基础管理类'] = [] data['全部'] = [] - data['时间轴']= [] + data['时间轴'] = [] for i in x_s: - first_day,first_day_of_next_month = gettime(datetime(i.year,i.month,1)) - totalobj = objs.filter(fxsj__range=(first_day,first_day_of_next_month)) + first_day, first_day_of_next_month = gettime( + datetime(i.year, i.month, 1)) + totalobj = objs.filter(fxsj__range=( + first_day, first_day_of_next_month)) num = totalobj.count() xcglnum = totalobj.filter(yhlx__dicid=16).count() jcglnum = totalobj.filter(yhlx__dicid=17).count() @@ -1988,144 +2204,163 @@ def charthandle(req): data['现场管理类'].append(xcglnum) data['基础管理类'].append(jcglnum) data['时间轴'].append(str(i.year)+'-'+str(i.month)) - return JsonResponse(data,safe=False) - elif req.GET.get('a')=='gzbqst':#各指标趋势图 - x_s = Yjyc.objects.filter(usecomp__partid=companyid).order_by('buildtime') - yhobjs = Trouble.objects.filter(deletemark=1,usecomp__partid=companyid) - pxobjs = Train.objects.filter(deletemark=1,usecomp__partid=companyid) - ylobjs = Drill.objects.filter(deletemark=1,usecomp__partid=companyid) - gcobjs = Observe.objects.filter(deletemark=1,usecomp__partid=companyid) - wsobjs = Miss.objects.filter(deletemark=1,usecomp__partid=companyid) + return JsonResponse(data, safe=False) + elif req.GET.get('a') == 'gzbqst': # 各指标趋势图 + x_s = Yjyc.objects.filter( + usecomp__partid=companyid).order_by('buildtime') + yhobjs = Trouble.objects.filter( + deletemark=1, usecomp__partid=companyid) + pxobjs = Train.objects.filter(deletemark=1, usecomp__partid=companyid) + ylobjs = Drill.objects.filter(deletemark=1, usecomp__partid=companyid) + gcobjs = Observe.objects.filter( + deletemark=1, usecomp__partid=companyid) + wsobjs = Miss.objects.filter(deletemark=1, usecomp__partid=companyid) data = {} - data['隐患']=[] - data['培训']=[] + data['隐患'] = [] + data['培训'] = [] data['演练'] = [] data['观察'] = [] data['事件'] = [] - data['时间轴']= [] + data['时间轴'] = [] for i in x_s: - first_day,first_day_of_next_month = gettime(datetime(i.year,i.month,1)) - yhnum = yhobjs.filter(fxsj__range=(first_day,first_day_of_next_month)).count() - pxnum = pxobjs.filter(starttime__range=(first_day,first_day_of_next_month)).count() - ylnum = ylobjs.filter(starttime__range=(first_day,first_day_of_next_month)).count() - gcnum = gcobjs.filter(looktime__range=(first_day,first_day_of_next_month)).count() - wsnum = wsobjs.filter(misstime__range=(first_day,first_day_of_next_month)).count() + first_day, first_day_of_next_month = gettime( + datetime(i.year, i.month, 1)) + yhnum = yhobjs.filter(fxsj__range=( + first_day, first_day_of_next_month)).count() + pxnum = pxobjs.filter(starttime__range=( + first_day, first_day_of_next_month)).count() + ylnum = ylobjs.filter(starttime__range=( + first_day, first_day_of_next_month)).count() + gcnum = gcobjs.filter(looktime__range=( + first_day, first_day_of_next_month)).count() + wsnum = wsobjs.filter(misstime__range=( + first_day, first_day_of_next_month)).count() data['隐患'].append(yhnum) data['培训'].append(pxnum) data['演练'].append(ylnum) data['观察'].append(gcnum) data['事件'].append(wsnum) data['时间轴'].append(str(i.year)+'-'+str(i.month)) - return JsonResponse(data,safe=False) - elif req.GET.get('a')=='yhztt':#隐患状态图 - objs = Trouble.objects.filter(deletemark=1,usecomp__partid=companyid) + return JsonResponse(data, safe=False) + elif req.GET.get('a') == 'yhztt': # 隐患状态图 + objs = Trouble.objects.filter(deletemark=1, usecomp__partid=companyid) if req.GET.get('qssj'): objs = objs.filter(fxsj__gte=req.GET.get('qssj')) if req.GET.get('jssj'): objs = objs.filter(fxsj__lte=req.GET.get('jssj')) if req.GET.get('fxbm'): - parts = Partment.objects.filter(partlink__contains=',' + req.GET.get('fxbm') + ',')|Partment.objects.filter(partid=req.GET.get('fxbm')) + parts = Partment.objects.filter(partlink__contains=',' + req.GET.get( + 'fxbm') + ',') | Partment.objects.filter(partid=req.GET.get('fxbm')) objs = objs.filter(fxbm__in=parts) - ztdict = {'待新增':0,'待评估':1,'措施待提交':7,'措施待确认':2,'待整改':3,'待审核':4,'待复查':5} + ztdict = {'待新增': 0, '待评估': 1, '措施待提交': 7, + '措施待确认': 2, '待整改': 3, '待审核': 4, '待复查': 5} ztnumli = [] for key in ztdict: objnum = objs.filter(yhzt=ztdict[key]).count() - objdict = {'value':objnum,'name':key} + objdict = {'value': objnum, 'name': key} ztnumli.append(objdict) - return JsonResponse(ztnumli,safe=False) - elif req.GET.get('a')=='gcbmb':#观察部门分布表 + return JsonResponse(ztnumli, safe=False) + elif req.GET.get('a') == 'gcbmb': # 观察部门分布表 year = int(req.GET.get('year')) month = int(req.GET.get('month')) - first_day,first_day_of_next_month = gettime(datetime(year,month,1)) - a = Observe.objects.filter(deletemark=1,looktime__range=(first_day, first_day_of_next_month)) - alist=[] + first_day, first_day_of_next_month = gettime(datetime(year, month, 1)) + a = Observe.objects.filter(deletemark=1, looktime__range=( + first_day, first_day_of_next_month)) + alist = [] if req.GET.get('part'): partid = req.GET.get('part') else: partid = companyid for i in Partment.objects.filter(Q(partid=partid) | Q(parentid__partid=partid)).order_by('partid'): - y=0 - for m in Partment.objects.filter(partlink__contains=','+str(i.partid)+',')|Partment.objects.filter(partid=i.partid): + y = 0 + for m in Partment.objects.filter(partlink__contains=','+str(i.partid)+',') | Partment.objects.filter(partid=i.partid): y = y + a.filter(lookpart=m).count() - b=i.partname - c=y - alist.append({'partname':b,'gcnum':c}) - return JsonResponse({'code':1,'data':alist}) - elif req.GET.get('a')=='wsbmb':#未遂部门分布表 + b = i.partname + c = y + alist.append({'partname': b, 'gcnum': c}) + return JsonResponse({'code': 1, 'data': alist}) + elif req.GET.get('a') == 'wsbmb': # 未遂部门分布表 year = int(req.GET.get('year')) month = int(req.GET.get('month')) - first_day,first_day_of_next_month = gettime(datetime(year,month,1)) - a = Miss.objects.filter(deletemark=1,misstime__range=(first_day, first_day_of_next_month)) - alist=[] + first_day, first_day_of_next_month = gettime(datetime(year, month, 1)) + a = Miss.objects.filter(deletemark=1, misstime__range=( + first_day, first_day_of_next_month)) + alist = [] if req.GET.get('part'): partid = req.GET.get('part') else: partid = companyid for i in Partment.objects.filter(Q(partid=partid) | Q(parentid__partid=partid)).order_by('partid'): - y=0 - for m in Partment.objects.filter(partlink__contains=','+str(i.partid)+',')|Partment.objects.filter(partid=i.partid): + y = 0 + for m in Partment.objects.filter(partlink__contains=','+str(i.partid)+',') | Partment.objects.filter(partid=i.partid): y = y + a.filter(misspart=m).count() - b=i.partname - c=y - alist.append({'partname':b,'wsnum':c}) - return JsonResponse({'code':1,'data':alist}) - elif req.GET.get('a')=='gclxt':#观察类型饼图 + b = i.partname + c = y + alist.append({'partname': b, 'wsnum': c}) + return JsonResponse({'code': 1, 'data': alist}) + elif req.GET.get('a') == 'gclxt': # 观察类型饼图 year = int(req.GET.get('year')) month = int(req.GET.get('month')) - first_day,first_day_of_next_month = gettime(datetime(year,month,1)) + first_day, first_day_of_next_month = gettime(datetime(year, month, 1)) if req.GET.get('part'): partid = req.GET.get('part') else: partid = companyid - parts = Partment.objects.filter(Q(partid=partid) | Q(partlink__contains=',' + str(partid) + ',')) - a = Observe.objects.filter(lookpart__in=parts,deletemark=1,looktime__range=(first_day, first_day_of_next_month)) - value=[] - key=[] + parts = Partment.objects.filter(Q(partid=partid) | Q( + partlink__contains=',' + str(partid) + ',')) + a = Observe.objects.filter(lookpart__in=parts, deletemark=1, looktime__range=( + first_day, first_day_of_next_month)) + value = [] + key = [] for i in Dicclass.objects.filter(parentid__dicid=23): x = i.dicname - y = Unsafes.objects.filter(observe__in=a,unsafedicclass=i).count() + y = Unsafes.objects.filter(observe__in=a, unsafedicclass=i).count() key.append(x) - value.append({'value':y,'name':x}) - return JsonResponse({'code':1,'key':key,'value':value}) + value.append({'value': y, 'name': x}) + return JsonResponse({'code': 1, 'key': key, 'value': value}) + def apiriskas(req): userid = req.session['userid'] companyid = getcompany(userid) - if req.GET.get('a') == 'fxdlxt':#风险点类型图 + if req.GET.get('a') == 'fxdlxt': # 风险点类型图 objs = RiskAct.objects.filter(usecomp__partid=companyid) - if req.GET.get('zrbm',None): + if req.GET.get('zrbm', None): partid = req.GET.get('zrbm') objs = objs.filter(zrbm__partid=partid) legendData = [] seriesData = [] for i in Dickey.objects.filter(dicparent__dicid=53): legendData.append(i.dickeyname) - seriesData.append({'value':objs.filter(type=i).count(),'name':i.dickeyname}) - return JsonResponse({'code':1,'legendData':legendData,'seriesData':seriesData}) - elif req.GET.get('a') == 'fxdjbt':#风险点级别图 + seriesData.append({'value': objs.filter( + type=i).count(), 'name': i.dickeyname}) + return JsonResponse({'code': 1, 'legendData': legendData, 'seriesData': seriesData}) + elif req.GET.get('a') == 'fxdjbt': # 风险点级别图 objs = RiskAct.objects.filter(usecomp__partid=companyid) - if req.GET.get('zrbm',None): + if req.GET.get('zrbm', None): partid = req.GET.get('zrbm') objs = objs.filter(zrbm__partid=partid) - legendData = ['低风险','一般风险','较大风险','重大风险'] + legendData = ['低风险', '一般风险', '较大风险', '重大风险'] seriesData = [] for i in legendData: - seriesData.append({'value':objs.filter(level=i).count(),'name':i}) - return JsonResponse({'code':1,'legendData':legendData,'seriesData':seriesData}) - elif req.GET.get('a') == 'fxjbt':#风险级别图 + seriesData.append( + {'value': objs.filter(level=i).count(), 'name': i}) + return JsonResponse({'code': 1, 'legendData': legendData, 'seriesData': seriesData}) + elif req.GET.get('a') == 'fxjbt': # 风险级别图 objs = Risk.objects.filter(usecomp__partid=companyid) - if req.GET.get('zrbm',None): + if req.GET.get('zrbm', None): partid = req.GET.get('zrbm') objs = objs.filter(riskact__zrbm__partid=partid) - legendData = ['低风险','一般风险','较大风险','重大风险'] + legendData = ['低风险', '一般风险', '较大风险', '重大风险'] seriesData = [] for i in legendData: - seriesData.append({'value':objs.filter(level=i).count(),'name':i}) - return JsonResponse({'code':1,'legendData':legendData,'seriesData':seriesData}) - elif req.GET.get('a') == 'fxdqyt':#风险点区域图 + seriesData.append( + {'value': objs.filter(level=i).count(), 'name': i}) + return JsonResponse({'code': 1, 'legendData': legendData, 'seriesData': seriesData}) + elif req.GET.get('a') == 'fxdqyt': # 风险点区域图 objs = RiskAct.objects.filter(usecomp__partid=companyid) objs2 = Risk.objects.filter(usecomp__partid=companyid) - if req.GET.get('zrbm',None): + if req.GET.get('zrbm', None): partid = req.GET.get('zrbm') objs = objs.filter(zrbm__partid=partid) objs2 = objs2.filter(riskact__zrbm__partid=partid) @@ -2133,20 +2368,21 @@ def apiriskas(req): series = [] #areas = Area.objects.filter(usecomp__partid=companyid,deletemark=1) #riskactareas = Area.objects.filter(usecomp__partid=companyid,deletemark=1).annotate(num=Count('riskactarea')).filter(num__gt=0).order_by('-num') - riskactareas = objs.values('area').annotate(num=Count('area')).order_by('-num') + riskactareas = objs.values('area').annotate( + num=Count('area')).order_by('-num') for i in riskactareas: xAxisData.append(Area.objects.get(id=i['area']).name) data = {} - data['datariskact']=[] # 风险点总数 - data['datariskact1']=[] # 低风险点数 - data['datariskact2']=[] # 一般风险点数 - data['datariskact3']=[] # 较大风险点数 - data['datariskact4']=[] # 重大风险点数 - data['datarisk']=[] # 风险总数 - data['datarisk1']=[] # 低风险数 - data['datarisk2']=[] # 一般风险数 - data['datarisk3']=[] # 较大风险数 - data['datarisk4']=[] # 重大风险数 + data['datariskact'] = [] # 风险点总数 + data['datariskact1'] = [] # 低风险点数 + data['datariskact2'] = [] # 一般风险点数 + data['datariskact3'] = [] # 较大风险点数 + data['datariskact4'] = [] # 重大风险点数 + data['datarisk'] = [] # 风险总数 + data['datarisk1'] = [] # 低风险数 + data['datarisk2'] = [] # 一般风险数 + data['datarisk3'] = [] # 较大风险数 + data['datarisk4'] = [] # 重大风险数 for i in riskactareas: objsxx = objs.filter(area__id=i['area']) data['datariskact'].append(objsxx.count()) @@ -2160,21 +2396,25 @@ def apiriskas(req): data['datarisk2'].append(objsxx2.filter(level="一般风险").count()) data['datarisk3'].append(objsxx2.filter(level="较大风险").count()) data['datarisk4'].append(objsxx2.filter(level="重大风险").count()) - return JsonResponse({'code':1,'xAxisData':xAxisData,'seriesData':data}) + return JsonResponse({'code': 1, 'xAxisData': xAxisData, 'seriesData': data}) + + def fxhandle(req): a = req.GET.get('a') if a == 'exportyjdoc': userid = req.session['userid'] companyid = getcompany(userid) vl = json.loads(req.body.decode()) - vl['companyname']=Partment.objects.get(partid=companyid).partname + vl['companyname'] = Partment.objects.get(partid=companyid).partname v = exportyjdoc(vl) - return JsonResponse({"code":1,'downloadurl':v}) + return JsonResponse({"code": 1, 'downloadurl': v}) elif a == 'yhfxpm': userid = req.session['userid'] companyid = getcompany(userid) - partsall = Partment.objects.filter(partlink__contains=',' + companyid + ',')|Partment.objects.filter(partid=companyid) - objs = Trouble.objects.filter(fxr__ubelongpart__partid__in=partsall,deletemark=1) + partsall = Partment.objects.filter( + partlink__contains=',' + companyid + ',') | Partment.objects.filter(partid=companyid) + objs = Trouble.objects.filter( + fxr__ubelongpart__partid__in=partsall, deletemark=1) # userall = User.objects.filter(ubelongpart__in=partsall,deletemark=1) # objs=[] # for i in userall: @@ -2184,13 +2424,15 @@ def fxhandle(req): if req.GET.get('jssj'): objs = objs.filter(fxsj__lte=req.GET.get('jssj')) if req.GET.get('jclx'): - objs = objs.filter(jclx = Dickey.objects.filter(dickeyid=req.GET.get('jclx'))) + objs = objs.filter(jclx=Dickey.objects.filter( + dickeyid=req.GET.get('jclx'))) # yhnum = yhnum.count() # objs.append({'fxr__userid':i.userid,'fxr__name':i.name,'fxbm__partname':i.ubelongpart.partname,'number':yhnum}) # objs.sort(key=takeSecond,reverse=True) if req.GET.get('fxbm'): fxbm = req.GET.get('fxbm') - parts = Partment.objects.filter(partlink__contains=',' + fxbm + ',')|Partment.objects.filter(partid=fxbm) + parts = Partment.objects.filter( + partlink__contains=',' + fxbm + ',') | Partment.objects.filter(partid=fxbm) objs = objs.filter(fxbm__in=parts) # objs=[] # for i in userlist: @@ -2204,69 +2446,76 @@ def fxhandle(req): # objs.sort(key=takeSecond,reverse=True) # objs = objs.values('fxr__userid','fxr__name','fxbm__partname').annotate(number = Count('fxr')).order_by('-number') total = objs.count() - objs = objs.values('fxr__userid','fxr__name','fxbm__partname').annotate(number = Count('fxr')).order_by('-number') - return HttpResponse(transjson(total,objs),content_type="application/json") + objs = objs.values('fxr__userid', 'fxr__name', 'fxbm__partname').annotate( + number=Count('fxr')).order_by('-number') + return HttpResponse(transjson(total, objs), content_type="application/json") elif a == 'yhzgpm': userid = req.session['userid'] companyid = getcompany(userid) - objs = Trouble.objects.filter(usecomp__partid=companyid,deletemark=1) + objs = Trouble.objects.filter(usecomp__partid=companyid, deletemark=1) if req.GET.get('zgr'): objs = objs.filter(zgr__name__contains=req.GET.get('zgr')) if req.GET.get('qssj'): objs = objs.filter(fxsj__gte=req.GET.get('qssj')) if req.GET.get('jssj'): objs = objs.filter(fxsj__lte=req.GET.get('jssj')) - objs = objs.values('zgr__userid','zgr__name','zgbm__partname').annotate(number = Count('zgr')).order_by('-number') + objs = objs.values('zgr__userid', 'zgr__name', 'zgbm__partname').annotate( + number=Count('zgr')).order_by('-number') total = objs.count() - return HttpResponse(transjson(total,objs),content_type="application/json") + return HttpResponse(transjson(total, objs), content_type="application/json") # elif a == 'exportexcel': # datalist = req.POST.get('data') # downloadurl = exportsimplexlsx(datalist) # return JsonResponse({'code':1,'downloadurl':downloadurl}) + def takeSecond(elem): - return elem['number'] + return elem['number'] + def userhandle(req): - if req.GET.get('a')=='adduserh': - return render(req,'abuser.html') - elif req.GET.get('a')=='edituserh': - return render(req,'abuser.html') - elif req.GET.get('a')=='del': + if req.GET.get('a') == 'adduserh': + return render(req, 'abuser.html') + elif req.GET.get('a') == 'edituserh': + return render(req, 'abuser.html') + elif req.GET.get('a') == 'del': a = req.GET.get('userid') userid = req.session['userid'] if User.objects.get(userid=userid).issuper == 1: if User.objects.get(userid=a).issuper == 1: - return JsonResponse({"code":0}) + return JsonResponse({"code": 0}) else: User.objects.filter(userid=a).update(deletemark=0) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) - elif req.GET.get('a')=='add': - if req.POST.get('userid')!='': - a=User.objects.filter(userid = req.POST.get('userid')) + return JsonResponse({"code": 0}) + elif req.GET.get('a') == 'add': + if req.POST.get('userid') != '': + a = User.objects.filter(userid=req.POST.get('userid')) newname = req.POST.get('username') - if User.objects.filter(username = newname).exclude(username=a[0].username).count() == 0: + if User.objects.filter(username=newname).exclude(username=a[0].username).count() == 0: name = req.POST.get('name') empid = req.POST.get('empid') - ubelongpart=Partment.objects.get(partid=req.POST.get('ubelongpart')) + ubelongpart = Partment.objects.get( + partid=req.POST.get('ubelongpart')) # if req.POST.getlist('group',None): # a[0].userg.add(*req.POST.getlist('group')) - a.update(name=name,empid=empid,ubelongpart=ubelongpart,username=newname) - return JsonResponse({"code":1}) + a.update(name=name, empid=empid, + ubelongpart=ubelongpart, username=newname) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) + return JsonResponse({"code": 0}) else: - newname=req.POST.get('username') - if User.objects.filter(username = newname).count() == 0: + newname = req.POST.get('username') + if User.objects.filter(username=newname).count() == 0: a = User() a.name = req.POST.get('name') a.empid = req.POST.get('empid') - a.username=req.POST.get('username') - a.password=req.POST.get('password') + a.username = req.POST.get('username') + a.password = req.POST.get('password') a.epassword = make_password(req.POST.get('password')) - a.ubelongpart=Partment.objects.get(partid=req.POST.get('ubelongpart')) + a.ubelongpart = Partment.objects.get( + partid=req.POST.get('ubelongpart')) a.save() companyid = getcompany(a.userid) a.usecomp = Partment.objects.get(partid=companyid) @@ -2278,149 +2527,178 @@ def userhandle(req): # if i.grouptype == 1: # i.users.add(a) - Group.objects.get(usecomp__partid=companyid,grouptype=3).users.add(a) - return JsonResponse({"code":1}) + Group.objects.get(usecomp__partid=companyid, + grouptype=3).users.add(a) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) + return JsonResponse({"code": 0}) + def getuser(req): userid = req.session['userid'] if req.GET.get('partid'): partid = req.GET.get('partid') - parts=Partment.objects.filter(partlink__contains=','+partid+',')|Partment.objects.filter(partid=partid) - if req.GET.get('a')=='datagrid': - a = User.objects.filter(ubelongpart__in=parts,deletemark=1).exclude(issuper=1) + parts = Partment.objects.filter( + partlink__contains=','+partid+',') | Partment.objects.filter(partid=partid) + if req.GET.get('a') == 'datagrid': + a = User.objects.filter( + ubelongpart__in=parts, deletemark=1).exclude(issuper=1) total = a.count() - if req.GET.get('page',None): - startnum,endnum = fenye(req) + if req.GET.get('page', None): + startnum, endnum = fenye(req) a = a[startnum:endnum] - a = a.values('userid','empid','name','ubelongpart__partname','ubelongpart__partid','username','openid') - return HttpResponse(transjson(total,a),content_type="application/json") + a = a.values('userid', 'empid', 'name', 'ubelongpart__partname', + 'ubelongpart__partid', 'username', 'openid') + return HttpResponse(transjson(total, a), content_type="application/json") else: - a = User.objects.filter(ubelongpart__in=parts,deletemark=1).exclude(issuper=1).values('userid','name') - keystr=transstr(a,'userid','name') - return HttpResponse(keystr,content_type="application/json") + a = User.objects.filter(ubelongpart__in=parts, deletemark=1).exclude( + issuper=1).values('userid', 'name') + keystr = transstr(a, 'userid', 'name') + return HttpResponse(keystr, content_type="application/json") elif req.GET.get('groupid'): - groupid=req.GET.get('groupid') - a = Group.objects.get(groupid=groupid).users.filter(deletemark=1).all().values('userid','empid','name','ubelongpart__partname','ubelongpart__partid','username') - total=a.count() - return HttpResponse(transjson(total,a),content_type="application/json") + groupid = req.GET.get('groupid') + a = Group.objects.get(groupid=groupid).users.filter(deletemark=1).all().values( + 'userid', 'empid', 'name', 'ubelongpart__partname', 'ubelongpart__partid', 'username') + total = a.count() + return HttpResponse(transjson(total, a), content_type="application/json") elif req.GET.get('userid'): - a = User.objects.filter(userid=req.GET.get('userid')).values('userid','empid','name','ubelongpart__partid','username','openid','headimgurl','nickname') - b=list(a)[0] - return HttpResponse(json.dumps(b,cls=MyEncoder),content_type="application/json") + a = User.objects.filter(userid=req.GET.get('userid')).values( + 'userid', 'empid', 'name', 'ubelongpart__partid', 'username', 'openid', 'headimgurl', 'nickname') + b = list(a)[0] + return HttpResponse(json.dumps(b, cls=MyEncoder), content_type="application/json") elif req.GET.get('name'): - if req.GET.get('a')=='datagrid': - companyid=getcompany(userid) - parts=Partment.objects.filter(partlink__contains=','+companyid+',')|Partment.objects.filter(partid=companyid) - a=User.objects.filter(ubelongpart__in = parts,deletemark=1,name__contains= req.GET.get('name')).order_by('userid').values('userid','empid','name','ubelongpart__partname','ubelongpart__partid','username','openid') + if req.GET.get('a') == 'datagrid': + companyid = getcompany(userid) + parts = Partment.objects.filter( + partlink__contains=','+companyid+',') | Partment.objects.filter(partid=companyid) + a = User.objects.filter(ubelongpart__in=parts, deletemark=1, name__contains=req.GET.get('name')).order_by( + 'userid').values('userid', 'empid', 'name', 'ubelongpart__partname', 'ubelongpart__partid', 'username', 'openid') total = a.count() - return HttpResponse(transjson(total,a),content_type="application/json") + return HttpResponse(transjson(total, a), content_type="application/json") else: - companyid=getcompany(userid) - parts=Partment.objects.filter(partlink__contains=','+companyid+',')|Partment.objects.filter(partid=companyid) - if req.GET.get('a')=='combobox': - a = User.objects.filter(ubelongpart__in=parts,deletemark=1).exclude(issuper=1).values('userid','name') - keystr=transstr(a,'userid','name') - return HttpResponse(keystr,content_type="application/json") + companyid = getcompany(userid) + parts = Partment.objects.filter( + partlink__contains=','+companyid+',') | Partment.objects.filter(partid=companyid) + if req.GET.get('a') == 'combobox': + a = User.objects.filter(ubelongpart__in=parts, deletemark=1).exclude( + issuper=1).values('userid', 'name') + keystr = transstr(a, 'userid', 'name') + return HttpResponse(keystr, content_type="application/json") else: - a=User.objects.filter(ubelongpart__in = parts,deletemark=1).exclude(issuper=1) + a = User.objects.filter( + ubelongpart__in=parts, deletemark=1).exclude(issuper=1) total = a.count() - startnum,endnum = fenye(req) - a = a.order_by('userid')[startnum:endnum].values('userid','empid','name','ubelongpart__partname','ubelongpart__partid','username','openid') - return HttpResponse(transjson(total,a),content_type="application/json") + startnum, endnum = fenye(req) + a = a.order_by('userid')[startnum:endnum].values( + 'userid', 'empid', 'name', 'ubelongpart__partname', 'ubelongpart__partid', 'username', 'openid') + return HttpResponse(transjson(total, a), content_type="application/json") def parthandle(req): - if req.GET.get('a')=="addparth": - return render(req,'abpart.html') - elif req.GET.get('a')=='editparth': - return render(req,'abpart.html') - elif req.GET.get('a')=='detail': - a = Partment.objects.filter(partid=req.GET.get('partid')).values('partid','partname','parentid','iscompany') + if req.GET.get('a') == "addparth": + return render(req, 'abpart.html') + elif req.GET.get('a') == 'editparth': + return render(req, 'abpart.html') + elif req.GET.get('a') == 'detail': + a = Partment.objects.filter(partid=req.GET.get('partid')).values( + 'partid', 'partname', 'parentid', 'iscompany') b = list(a)[0] - return HttpResponse(json.dumps(b,cls=MyEncoder),content_type="application/json") - elif req.GET.get('a')=='del': + return HttpResponse(json.dumps(b, cls=MyEncoder), content_type="application/json") + elif req.GET.get('a') == 'del': a = req.POST.get('partid') if Partment.objects.filter(partlink__contains=','+a+',').exists() or User.objects.filter(ubelongpart=a).exists(): - return JsonResponse({"code":0}) + return JsonResponse({"code": 0}) else: Partment.objects.get(partid=a).delete() - return JsonResponse({"code":1}) - elif req.GET.get('a')=='addpart': + return JsonResponse({"code": 1}) + elif req.GET.get('a') == 'addpart': if req.POST.get('partid') != '': partid = req.POST.get('partid') partname = req.POST.get('partname') parentid = req.POST.get('parentid') partobj = Partment.objects.get(partid=partid) - oldpartlink = partobj.partlink + partid +',' - partlink = Partment.objects.get(partid=parentid).partlink + parentid +',' - Partment.objects.filter(partid=partid).update(partname= partname,parentid=parentid,partlink=partlink) - Partment.objects.filter(partlink__contains=oldpartlink).update(partlink= partlink + partid +',') - return JsonResponse({"code":1}) + oldpartlink = partobj.partlink + partid + ',' + partlink = Partment.objects.get( + partid=parentid).partlink + parentid + ',' + Partment.objects.filter(partid=partid).update( + partname=partname, parentid=parentid, partlink=partlink) + Partment.objects.filter(partlink__contains=oldpartlink).update( + partlink=partlink + partid + ',') + return JsonResponse({"code": 1}) else: try: - a=Partment() - a.parentid = Partment.objects.get(partid=req.POST.get('parentid')) + a = Partment() + a.parentid = Partment.objects.get( + partid=req.POST.get('parentid')) a.partname = req.POST.get('partname') - a.partlink = Partment.objects.get(partid=req.POST.get('parentid')).partlink + str(req.POST.get('parentid')) + ',' + a.partlink = Partment.objects.get(partid=req.POST.get( + 'parentid')).partlink + str(req.POST.get('parentid')) + ',' a.save() - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) except: - return JsonResponse({"code":0}) - elif req.GET.get('a')=='tree': + return JsonResponse({"code": 0}) + elif req.GET.get('a') == 'tree': userid = req.session['userid'] companyid = getcompany(userid) - list_items = (Partment.objects.filter(partlink__contains=','+companyid+',')|Partment.objects.filter(partid=companyid)).annotate(id=F('partid'),parentId=F('parentid'),name=F('partname')).values('id','parentId','name') - return HttpResponse(json.dumps(list(list_items)),content_type="application/json") - elif req.GET.get('a')=='tree2': + list_items = (Partment.objects.filter(partlink__contains=','+companyid+',') | Partment.objects.filter(partid=companyid) + ).annotate(id=F('partid'), parentId=F('parentid'), name=F('partname')).values('id', 'parentId', 'name') + return HttpResponse(json.dumps(list(list_items)), content_type="application/json") + elif req.GET.get('a') == 'tree2': userid = req.session['userid'] companyid = getcompany(userid) - list_items = (Partment.objects.filter(partlink__contains=','+companyid+',')).annotate(id=F('partid'),parentId=F('parentid'),name=F('partname')).values('id','parentId','name','iscompany') - return HttpResponse(json.dumps(list(list_items)),content_type="application/json") - elif req.GET.get('a')=='tree3':#能够指派的部门,包括自己所在的部门 + list_items = (Partment.objects.filter(partlink__contains=','+companyid+',')).annotate(id=F('partid'), + parentId=F('parentid'), name=F('partname')).values('id', 'parentId', 'name', 'iscompany') + return HttpResponse(json.dumps(list(list_items)), content_type="application/json") + elif req.GET.get('a') == 'tree3': # 能够指派的部门,包括自己所在的部门 userid = req.session['userid'] - parts = Partment.objects.filter(Q(aqy__contains = ','+str(userid)+',')|Q(bmzg__contains = ','+str(userid)+',')|Q(bsq__contains = ','+str(userid)+',')) + parts = Partment.objects.filter(Q(aqy__contains=','+str(userid)+',') | Q( + bmzg__contains=','+str(userid)+',') | Q(bsq__contains=','+str(userid)+',')) for i in parts: - parts = parts|Partment.objects.filter(partlink__contains=','+str(i.partid)+',') - parts = parts|Partment.objects.filter(partid=User.objects.get(userid=userid).ubelongpart.partid) - list_items = parts.annotate(id=F('partid'),parentId=F('parentid'),name=F('partname')).values('id','parentId','name','iscompany') - return HttpResponse(json.dumps(list(list_items)),content_type="application/json") - elif req.GET.get('a')=='getzgdatagrid': + parts = parts | Partment.objects.filter( + partlink__contains=','+str(i.partid)+',') + parts = parts | Partment.objects.filter( + partid=User.objects.get(userid=userid).ubelongpart.partid) + list_items = parts.annotate(id=F('partid'), parentId=F('parentid'), name=F( + 'partname')).values('id', 'parentId', 'name', 'iscompany') + return HttpResponse(json.dumps(list(list_items)), content_type="application/json") + elif req.GET.get('a') == 'getzgdatagrid': partid = req.GET.get('partid') zgstr = Partment.objects.get(partid=partid).bmzg - if zgstr ==',': - return HttpResponse(json.dumps([]),content_type="application/json") + if zgstr == ',': + return HttpResponse(json.dumps([]), content_type="application/json") else: zglist = zgstr.split(',') zglist = list(filter(None, zglist)) orderlist = [] for i in zglist: - orderlist.extend(list(User.objects.filter(userid=i).values('userid','name'))) - return HttpResponse(json.dumps(orderlist),content_type="application/json") - elif req.GET.get('a')=='getaqydatagrid': + orderlist.extend(list(User.objects.filter( + userid=i).values('userid', 'name'))) + return HttpResponse(json.dumps(orderlist), content_type="application/json") + elif req.GET.get('a') == 'getaqydatagrid': partid = req.GET.get('partid') aqystr = Partment.objects.get(partid=partid).aqy - if aqystr ==',': - return HttpResponse(json.dumps([]),content_type="application/json") + if aqystr == ',': + return HttpResponse(json.dumps([]), content_type="application/json") else: aqylist = aqystr.split(',') aqylist = list(filter(None, aqylist)) orderlist = [] for i in aqylist: - orderlist.extend(list(User.objects.filter(userid=i).values('userid','name'))) - return HttpResponse(json.dumps(orderlist),content_type="application/json") - elif req.GET.get('a')=='getbsqdatagrid': + orderlist.extend(list(User.objects.filter( + userid=i).values('userid', 'name'))) + return HttpResponse(json.dumps(orderlist), content_type="application/json") + elif req.GET.get('a') == 'getbsqdatagrid': partid = req.GET.get('partid') bsqstr = Partment.objects.get(partid=partid).bsq - if bsqstr ==',': - return HttpResponse(json.dumps([]),content_type="application/json") + if bsqstr == ',': + return HttpResponse(json.dumps([]), content_type="application/json") else: bsqlist = bsqstr.split(',') bsqlist = list(filter(None, bsqlist)) - items = User.objects.filter(userid__in=bsqlist).values('userid','name') - return HttpResponse(json.dumps(list(items)),content_type="application/json") - elif req.GET.get('a')=='addzg': + items = User.objects.filter( + userid__in=bsqlist).values('userid', 'name') + return HttpResponse(json.dumps(list(items)), content_type="application/json") + elif req.GET.get('a') == 'addzg': partid = req.GET.get('partid') users = req.POST.get('users') try: @@ -2431,18 +2709,19 @@ def parthandle(req): zglist = list(filter(None, zglist)) zglist.extend(userlist) addo = list(set(zglist)) - addo.sort(key = zglist.index) + addo.sort(key=zglist.index) zgstr = ','+','.join(addo)+',' - obj.bmzg=zgstr + obj.bmzg = zgstr obj.save() - a = Group.objects.get(grouptype=2,usecomp=Partment.objects.get(partid=getcompany(req.session['userid']))) + a = Group.objects.get(grouptype=2, usecomp=Partment.objects.get( + partid=getcompany(req.session['userid']))) for i in userlist: if User.objects.get(userid=int(i)) not in a.users.all(): a.users.add(User.objects.get(userid=int(i))) except: pass - return JsonResponse({"code":1}) - elif req.GET.get('a')=='addaqy': + return JsonResponse({"code": 1}) + elif req.GET.get('a') == 'addaqy': partid = req.GET.get('partid') users = req.POST.get('users') try: @@ -2453,18 +2732,19 @@ def parthandle(req): aqylist = list(filter(None, aqylist)) aqylist.extend(userlist) addo = list(set(aqylist)) - addo.sort(key = aqylist.index) + addo.sort(key=aqylist.index) aqystr = ','+','.join(addo)+',' - obj.aqy=aqystr + obj.aqy = aqystr obj.save() - a = Group.objects.get(grouptype=1,usecomp=Partment.objects.get(partid=getcompany(req.session['userid']))) + a = Group.objects.get(grouptype=1, usecomp=Partment.objects.get( + partid=getcompany(req.session['userid']))) for i in userlist: if User.objects.get(userid=int(i)) not in a.users.all(): a.users.add(User.objects.get(userid=int(i))) except: pass - return JsonResponse({"code":1}) - elif req.GET.get('a')=='addbsq': + return JsonResponse({"code": 1}) + elif req.GET.get('a') == 'addbsq': partid = req.GET.get('partid') users = req.POST.get('users') try: @@ -2475,56 +2755,59 @@ def parthandle(req): bsqlist = list(filter(None, bsqlist)) bsqlist.extend(userlist) addo = list(set(bsqlist)) - addo.sort(key = bsqlist.index) + addo.sort(key=bsqlist.index) bsqstr = ','+','.join(bsqlist)+',' - obj.bsq=bsqstr + obj.bsq = bsqstr obj.save() except: pass - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) elif req.GET.get('a') == 'removezg': partid = req.GET.get('partid') userid = req.GET.get('userid') - obj= Partment.objects.get(partid=partid) + obj = Partment.objects.get(partid=partid) zgstr = obj.bmzg - zgstr = zgstr.replace(','+userid+',',',') + zgstr = zgstr.replace(','+userid+',', ',') obj.bmzg = zgstr obj.save() - a = Group.objects.get(grouptype=2,usecomp=Partment.objects.get(partid=getcompany(req.session['userid']))) + a = Group.objects.get(grouptype=2, usecomp=Partment.objects.get( + partid=getcompany(req.session['userid']))) a.users.remove(User.objects.get(userid=userid)) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) elif req.GET.get('a') == 'removeaqy': partid = req.GET.get('partid') userid = req.GET.get('userid') - obj= Partment.objects.get(partid=partid) + obj = Partment.objects.get(partid=partid) aqystr = obj.aqy - aqystr = aqystr.replace(','+userid+',',',') + aqystr = aqystr.replace(','+userid+',', ',') obj.aqy = aqystr obj.save() - a = Group.objects.get(grouptype=1,usecomp=Partment.objects.get(partid=getcompany(req.session['userid']))) + a = Group.objects.get(grouptype=1, usecomp=Partment.objects.get( + partid=getcompany(req.session['userid']))) a.users.remove(User.objects.get(userid=userid)) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) elif req.GET.get('a') == 'removebsq': partid = req.GET.get('partid') userid = req.GET.get('userid') - obj= Partment.objects.get(partid=partid) + obj = Partment.objects.get(partid=partid) bsqstr = obj.bsq - bsqstr = bsqstr.replace(','+userid+',',',') + bsqstr = bsqstr.replace(','+userid+',', ',') obj.bsq = bsqstr obj.save() - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) + def dicthandle(req): - if req.GET.get('a')=='adddicth': - return render(req,'abdict.html') - elif req.GET.get('a')=='deldict': + if req.GET.get('a') == 'adddicth': + return render(req, 'abdict.html') + elif req.GET.get('a') == 'deldict': userid = req.session['userid'] dickeyid = req.GET.get('dickeyid') a = Dickey.objects.get(dickeyid=dickeyid) if userid == 8: - a.deletemark=0 + a.deletemark = 0 a.save() - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) elif User.objects.get(userid=userid).issuper == 1: companyid = getcompany(userid) nl = a.nousecomps.split(',') @@ -2532,53 +2815,55 @@ def dicthandle(req): nl = ','+','.join(list(filter(None, nl)))+',' a.nousecomps = nl a.save() - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) - elif req.GET.get('a')=='editdicth': - return render(req,'abdict.html') - elif req.GET.get('a')=='canedit': + return JsonResponse({"code": 0}) + elif req.GET.get('a') == 'editdicth': + return render(req, 'abdict.html') + elif req.GET.get('a') == 'canedit': userid = req.session['userid'] companyid = getcompany(userid) dickeyid = req.GET.get('dickeyid') a = Dickey.objects.get(dickeyid=dickeyid) if userid == 8: - return JsonResponse({"code":1}) - elif a.usecomps == ','+str(companyid)+',' and a.nousecomps == '' and User.objects.get(userid=userid).issuper==1: - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) + elif a.usecomps == ','+str(companyid)+',' and a.nousecomps == '' and User.objects.get(userid=userid).issuper == 1: + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) + return JsonResponse({"code": 0}) elif req.method == 'POST': userid = req.session['userid'] companyid = getcompany(userid) data = json.loads(req.body.decode('utf-8')) dickeyid = data['dickeyid'] - dickeyname=data['dickeyname'] - dicparent=data['dicparent'] + dickeyname = data['dickeyname'] + dicparent = data['dicparent'] detail = data['detail'] if dickeyid != '': a = Dickey.objects.get(dickeyid=dickeyid) if ',1,' in a.usecomps and companyid != '1': - return JsonResponse({"code":0}) + return JsonResponse({"code": 0}) else: a.dickeyname = dickeyname a.dicparent = Dicclass.objects.get(dicid=dicparent) a.detail = detail a.save() - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - Dickey.objects.create(dickeyname=dickeyname,dicparent=Dicclass.objects.get(dicid=dicparent),usecomps=','+companyid+',',detail=detail) - return JsonResponse({"code":1}) + Dickey.objects.create(dickeyname=dickeyname, dicparent=Dicclass.objects.get( + dicid=dicparent), usecomps=','+companyid+',', detail=detail) + return JsonResponse({"code": 1}) def pxhandle(req): - if req.GET.get('a')=='listsearch': + if req.GET.get('a') == 'listsearch': userid = req.session['userid'] companyid = getcompany(userid) - a = Train.objects.filter(usecomp=Partment.objects.get(partid=companyid)).exclude(deletemark=0) + a = Train.objects.filter(usecomp=Partment.objects.get( + partid=companyid)).exclude(deletemark=0) qssj = req.GET.get('qssj') jssj = req.GET.get('jssj') - pxbm= req.GET.get('trainpart') + pxbm = req.GET.get('trainpart') pxjb = req.GET.get('trainlevel') pxnr = req.GET.get('traincontent') if pxjb: @@ -2591,85 +2876,98 @@ def pxhandle(req): a = a.filter(starttime__gte=qssj) if jssj: a = a.filter(starttime__lte=jssj) - total=a.count() - startnum,endnum=fenye(req) - obj=a.order_by('-starttime')[startnum:endnum].values('trainnum','trainid','state','trainplace','starttime','trainname','traintype__dickeyname','teacher','lecturer__name','submituser__name','submituser__userid') - return HttpResponse(transjson(total,obj),content_type="application/json") - elif req.GET.get('a')=='detailhtml': - trainid = req.GET.get('trainid') - return render(req,'traindetail.html',{'trainid':trainid}) - elif req.GET.get('a')=='listall': - userid = req.session['userid'] - companyid = getcompany(userid) - a=Train.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1).order_by('-modifytime') - total=a.count() - startnum,endnum=fenye(req) - a=a[startnum:endnum].values('trainnum','trainid','state','trainplace','starttime','trainname','traintype__dickeyname','teacher','lecturer__name','submituser__name','submituser__userid') - return HttpResponse(transjson(total,a),content_type="application/json") - elif req.GET.get('a')=='listtodo': - userid = req.session['userid'] - companyid = getcompany(userid) - a=Train.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1,state=0,submituser__userid=userid).order_by('-modifytime') - total=a.count() - startnum,endnum=fenye(req) - a=a[startnum:endnum].values('trainnum','trainid','state','trainplace','starttime','trainname','traintype__dickeyname','teacher','lecturer__name','submituser__name','submituser__userid') - return HttpResponse(transjson(total,a),content_type="application/json") - elif req.GET.get('a')=='listcj': - userid = req.session['userid'] - companyid = getcompany(userid) - a = Trainuser.objects.filter(participant=User.objects.get(userid=userid),train__deletemark=1).order_by('-train__modifytime') total = a.count() - startnum,endnum = fenye(req) - a = a[startnum:endnum].values('train__trainnum','train__trainid','train__state','train__trainplace','train__starttime','train__trainname','checked','train__teacher','train__lecturer__name') - return HttpResponse(transjson(total,a),content_type="application/json") - elif req.GET.get('a')=='dqdnum': + startnum, endnum = fenye(req) + obj = a.order_by('-starttime')[startnum:endnum].values('trainnum', 'trainid', 'state', 'trainplace', 'starttime', + 'trainname', 'traintype__dickeyname', 'teacher', 'lecturer__name', 'submituser__name', 'submituser__userid') + return HttpResponse(transjson(total, obj), content_type="application/json") + elif req.GET.get('a') == 'detailhtml': + trainid = req.GET.get('trainid') + return render(req, 'traindetail.html', {'trainid': trainid}) + elif req.GET.get('a') == 'listall': userid = req.session['userid'] companyid = getcompany(userid) - dqdnum = Trainuser.objects.filter(participant=User.objects.get(userid=userid),checked=0,train__deletemark=1).count() - return JsonResponse({'code':1,'dqdnum':dqdnum}) - elif req.GET.get('a')=='detail': + a = Train.objects.filter(usecomp=Partment.objects.get( + partid=companyid), deletemark=1).order_by('-modifytime') + total = a.count() + startnum, endnum = fenye(req) + a = a[startnum:endnum].values('trainnum', 'trainid', 'state', 'trainplace', 'starttime', 'trainname', + 'traintype__dickeyname', 'teacher', 'lecturer__name', 'submituser__name', 'submituser__userid') + return HttpResponse(transjson(total, a), content_type="application/json") + elif req.GET.get('a') == 'listtodo': + userid = req.session['userid'] + companyid = getcompany(userid) + a = Train.objects.filter(usecomp=Partment.objects.get( + partid=companyid), deletemark=1, state=0, submituser__userid=userid).order_by('-modifytime') + total = a.count() + startnum, endnum = fenye(req) + a = a[startnum:endnum].values('trainnum', 'trainid', 'state', 'trainplace', 'starttime', 'trainname', + 'traintype__dickeyname', 'teacher', 'lecturer__name', 'submituser__name', 'submituser__userid') + return HttpResponse(transjson(total, a), content_type="application/json") + elif req.GET.get('a') == 'listcj': + userid = req.session['userid'] + companyid = getcompany(userid) + a = Trainuser.objects.filter(participant=User.objects.get( + userid=userid), train__deletemark=1).order_by('-train__modifytime') + total = a.count() + startnum, endnum = fenye(req) + a = a[startnum:endnum].values('train__trainnum', 'train__trainid', 'train__state', 'train__trainplace', + 'train__starttime', 'train__trainname', 'checked', 'train__teacher', 'train__lecturer__name') + return HttpResponse(transjson(total, a), content_type="application/json") + elif req.GET.get('a') == 'dqdnum': + userid = req.session['userid'] + companyid = getcompany(userid) + dqdnum = Trainuser.objects.filter(participant=User.objects.get( + userid=userid), checked=0, train__deletemark=1).count() + return JsonResponse({'code': 1, 'dqdnum': dqdnum}) + elif req.GET.get('a') == 'detail': trainid = req.GET.get('trainid') a = Train.objects.filter(trainid=trainid) - x = a.values('trainid','trainnum','state','trainplace','starttime','trainname','traintype__dickeyname','teacher','lecturer__name','submituser__name','submittime','trainlevel__dicname','traincontent__dickeyname','manlevel__dickeyname','detailcontent','participantnum','knownum','duration','material','checkqr','examtest__num','examtest__name')[0] + x = a.values('trainid', 'trainnum', 'state', 'trainplace', 'starttime', 'trainname', 'traintype__dickeyname', 'teacher', 'lecturer__name', 'submituser__name', 'submittime', 'trainlevel__dicname', + 'traincontent__dickeyname', 'manlevel__dickeyname', 'detailcontent', 'participantnum', 'knownum', 'duration', 'material', 'checkqr', 'examtest__num', 'examtest__name')[0] for key in x: if x[key] == None: x[key] = '' x['material'] = x['material'].split('?') - #对many字段单独处理 - str1=[] + # 对many字段单独处理 + str1 = [] for i in a.values('trainpart__partname'): str1.append(i['trainpart__partname']) - x['trainpart']=','.join(str1) - str2=[] + x['trainpart'] = ','.join(str1) + str2 = [] objs = Trainuser.objects.filter(train=a[0]) - detailobjs = objs.order_by('checked').values('participant__name','participant__ubelongpart__partname','checked','qdsj','isnew') + detailobjs = objs.order_by('checked').values( + 'participant__name', 'participant__ubelongpart__partname', 'checked', 'qdsj', 'isnew') for i in objs.filter(checked=1): str2.append(i.participant.name) x['participantname'] = ','.join(str2) x['participantnum'] = objs.filter(checked=1).count() x['cjrydetail'] = list(detailobjs) - return HttpResponse(json.dumps(x,cls=MyEncoder),content_type="application/json") + return HttpResponse(json.dumps(x, cls=MyEncoder), content_type="application/json") elif req.GET.get('a') == 'check': userid = req.session['userid'] trainid = req.GET.get('trainid') - obj = Trainuser.objects.filter(train=Train.objects.get(trainid=trainid),participant=User.objects.get(userid=userid)) + obj = Trainuser.objects.filter(train=Train.objects.get( + trainid=trainid), participant=User.objects.get(userid=userid)) if obj.exists(): - obj.update(checked=1,qdsj=datetime.now()) + obj.update(checked=1, qdsj=datetime.now()) else: - Trainuser.objects.create(train=Train.objects.get(trainid=trainid),participant=User.objects.get(userid=userid),checked=1,qdsj=datetime.now(),isnew=1) - return JsonResponse({"code":1}) - elif req.GET.get('a')=='exportword': + Trainuser.objects.create(train=Train.objects.get(trainid=trainid), participant=User.objects.get( + userid=userid), checked=1, qdsj=datetime.now(), isnew=1) + return JsonResponse({"code": 1}) + elif req.GET.get('a') == 'exportword': trainid = req.GET.get('trainid') - v = exportdoc('px',trainid) - return JsonResponse({"code":1,'downloadurl':v}) - elif req.GET.get('a')=='exportexcel': - #pxids=json.loads(req.body.decode())['pxids'] + v = exportdoc('px', trainid) + return JsonResponse({"code": 1, 'downloadurl': v}) + elif req.GET.get('a') == 'exportexcel': + # pxids=json.loads(req.body.decode())['pxids'] userid = req.session['userid'] companyid = getcompany(userid) - a = Train.objects.filter(usecomp=Partment.objects.get(partid=companyid)).exclude(deletemark=0) + a = Train.objects.filter(usecomp=Partment.objects.get( + partid=companyid)).exclude(deletemark=0) qssj = req.GET.get('qssj') jssj = req.GET.get('jssj') - pxbm= req.GET.get('trainpart') + pxbm = req.GET.get('trainpart') pxjb = req.GET.get('trainlevel') pxnr = req.GET.get('traincontent') if pxjb: @@ -2682,74 +2980,81 @@ def pxhandle(req): a = a.filter(starttime__gte=qssj) if jssj: a = a.filter(starttime__lte=jssj) - v = exportxlsx('px',a) - return JsonResponse({"code":1,'downloadurl':v}) - elif req.GET.get('a')=='del': - trainid=req.GET.get('trainid') + v = exportxlsx('px', a) + return JsonResponse({"code": 1, 'downloadurl': v}) + elif req.GET.get('a') == 'del': + trainid = req.GET.get('trainid') userid = req.session['userid'] a = Train.objects.get(trainid=trainid) - if User.objects.get(userid = userid).issuper == 1: - a.deletemark=0 + if User.objects.get(userid=userid).issuper == 1: + a.deletemark = 0 a.save() - return JsonResponse({"code":1}) - elif a.submituser.userid == userid and a.state==0: - a.deletemark=0 + return JsonResponse({"code": 1}) + elif a.submituser.userid == userid and a.state == 0: + a.deletemark = 0 a.save() - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) + return JsonResponse({"code": 0}) + def ylhandle(req): - if req.GET.get('a')=='listall': + if req.GET.get('a') == 'listall': userid = req.session['userid'] companyid = getcompany(userid) - startnum,endnum=fenye(req) - a=Drill.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1).order_by('-starttime') + startnum, endnum = fenye(req) + a = Drill.objects.filter(usecomp=Partment.objects.get( + partid=companyid), deletemark=1).order_by('-starttime') total = a.count() - startnum,endnum=fenye(req) - a=a[startnum:endnum].values('drillnum','drillid','state','drillplace','starttime','drillname','drilltype__dickeyname','chief__name','submituser__name','submituser__userid') - return HttpResponse(transjson(total,a),content_type="application/json") - elif req.GET.get('a')=='listtodo': + startnum, endnum = fenye(req) + a = a[startnum:endnum].values('drillnum', 'drillid', 'state', 'drillplace', 'starttime', + 'drillname', 'drilltype__dickeyname', 'chief__name', 'submituser__name', 'submituser__userid') + return HttpResponse(transjson(total, a), content_type="application/json") + elif req.GET.get('a') == 'listtodo': userid = req.session['userid'] companyid = getcompany(userid) - a=Drill.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1,submituser__userid=userid,state=0).order_by('-starttime') + a = Drill.objects.filter(usecomp=Partment.objects.get( + partid=companyid), deletemark=1, submituser__userid=userid, state=0).order_by('-starttime') total = a.count() - startnum,endnum=fenye(req) - a=a[startnum:endnum].values('drillnum','drillid','state','drillplace','starttime','drillname','drilltype__dickeyname','chief__name','submituser__name','submituser__userid') - total=a.count() - return HttpResponse(transjson(total,a),content_type="application/json") - elif req.GET.get('a')=='detailhtml': - drillid=req.GET.get('drillid') - return render(req,'drilldetail.html',{'drillid':drillid}) - elif req.GET.get('a')=='detail': - drillid=req.GET.get('drillid') + startnum, endnum = fenye(req) + a = a[startnum:endnum].values('drillnum', 'drillid', 'state', 'drillplace', 'starttime', + 'drillname', 'drilltype__dickeyname', 'chief__name', 'submituser__name', 'submituser__userid') + total = a.count() + return HttpResponse(transjson(total, a), content_type="application/json") + elif req.GET.get('a') == 'detailhtml': + drillid = req.GET.get('drillid') + return render(req, 'drilldetail.html', {'drillid': drillid}) + elif req.GET.get('a') == 'detail': + drillid = req.GET.get('drillid') a = Drill.objects.filter(drillid=drillid) - x = a.values('drillid','drillnum','state','drillplace','starttime','drilllevel__dicname','drillname','drilltype__dickeyname','chief__name','submituser__name','submittime','drillcontent__dickeyname','detailcontent','participantnum','knownum','material')[0] + x = a.values('drillid', 'drillnum', 'state', 'drillplace', 'starttime', 'drilllevel__dicname', 'drillname', 'drilltype__dickeyname', + 'chief__name', 'submituser__name', 'submittime', 'drillcontent__dickeyname', 'detailcontent', 'participantnum', 'knownum', 'material')[0] for key in x: if x[key] == None: x[key] = '' x['material'] = x['material'].split('?') - #对many字段单独处理 - str1=[] + # 对many字段单独处理 + str1 = [] for i in a.values('drillpart__partname'): str1.append(i['drillpart__partname']) - x['drillpart']=','.join(str1) - str2=[] + x['drillpart'] = ','.join(str1) + str2 = [] for i in a.values('participant__name'): str2.append(i['participant__name']) - x['participantname']=','.join(str2) + x['participantname'] = ','.join(str2) return JsonResponse(x) - elif req.GET.get('a')=='exportword': + elif req.GET.get('a') == 'exportword': drillid = req.GET.get('drillid') - v = exportdoc('yl',drillid) - return JsonResponse({"code":1,'downloadurl':v}) - elif req.GET.get('a')=='exportexcel': + v = exportdoc('yl', drillid) + return JsonResponse({"code": 1, 'downloadurl': v}) + elif req.GET.get('a') == 'exportexcel': userid = req.session['userid'] companyid = getcompany(userid) - a = Drill.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1) + a = Drill.objects.filter(usecomp=Partment.objects.get( + partid=companyid), deletemark=1) qssj = req.GET.get('qssj') jssj = req.GET.get('jssj') - ylbm= req.GET.get('drillpart') + ylbm = req.GET.get('drillpart') yljb = req.GET.get('drilllevel') ylnr = req.GET.get('drillcontent') if yljb: @@ -2762,29 +3067,30 @@ def ylhandle(req): a = a.filter(starttime__gte=qssj) if jssj: a = a.filter(starttime__lte=jssj) - v = exportxlsx('yl',a) - return JsonResponse({"code":1,'downloadurl':v}) - elif req.GET.get('a')=='del': - drillid=req.GET.get('drillid') + v = exportxlsx('yl', a) + return JsonResponse({"code": 1, 'downloadurl': v}) + elif req.GET.get('a') == 'del': + drillid = req.GET.get('drillid') userid = req.session['userid'] a = Drill.objects.get(drillid=drillid) - if User.objects.get(userid = userid).issuper == 1: - a.deletemark=0 + if User.objects.get(userid=userid).issuper == 1: + a.deletemark = 0 a.save() - return JsonResponse({"code":1}) - elif a.submituser.userid == userid and a.state==0: - a.deletemark=0 + return JsonResponse({"code": 1}) + elif a.submituser.userid == userid and a.state == 0: + a.deletemark = 0 a.save() - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) - elif req.GET.get('a')=='listsearch': + return JsonResponse({"code": 0}) + elif req.GET.get('a') == 'listsearch': userid = req.session['userid'] companyid = getcompany(userid) - a = Drill.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1) + a = Drill.objects.filter(usecomp=Partment.objects.get( + partid=companyid), deletemark=1) qssj = req.GET.get('qssj') jssj = req.GET.get('jssj') - ylbm= req.GET.get('drillpart') + ylbm = req.GET.get('drillpart') yljb = req.GET.get('drilllevel') ylnr = req.GET.get('drillcontent') if yljb: @@ -2797,10 +3103,12 @@ def ylhandle(req): a = a.filter(starttime__gte=qssj) if jssj: a = a.filter(starttime__lte=jssj) - total=a.count() - startnum,endnum=fenye(req) - obj=a.order_by('-starttime')[startnum:endnum].values('drillnum','drillid','state','drillplace','starttime','drillname','drilltype__dickeyname','chief__name','submituser__name','submituser__userid') - return HttpResponse(transjson(total,a),content_type="application/json") + total = a.count() + startnum, endnum = fenye(req) + obj = a.order_by('-starttime')[startnum:endnum].values('drillnum', 'drillid', 'state', 'drillplace', + 'starttime', 'drillname', 'drilltype__dickeyname', 'chief__name', 'submituser__name', 'submituser__userid') + return HttpResponse(transjson(total, a), content_type="application/json") + def gchandle(req): a = req.GET.get('a') @@ -2823,303 +3131,355 @@ def gchandle(req): obj.otherunsafe = gcdata['otherunsafe'] if 'safecontent' in gcdata: obj.safecontent = gcdata['safecontent'] - obj.looknum='GC'+time.strftime('%Y%m%d%H%M%S') + obj.looknum = 'GC'+time.strftime('%Y%m%d%H%M%S') obj.usecomp = Partment.objects.get(partid=companyid) if 'lookimg' in gcdata: obj.lookimg = '?'.join(gcdata['lookimg']) obj.save() if 'lookers' in gcdata: - ulist=gcdata['lookers'].split(',') + ulist = gcdata['lookers'].split(',') for i in ulist: - x=User.objects.get(userid=i) + x = User.objects.get(userid=i) obj.lookers.add(x) if 'unsafe' in gcdata: olist = gcdata['unsafe'] for i in olist: if i != 0: dickey = Dickey.objects.get(dickeyid=i) - m = Unsafes(observe = obj,unsafedickey=dickey,unsafedicclass=dickey.dicparent) + m = Unsafes(observe=obj, unsafedickey=dickey, + unsafedicclass=dickey.dicparent) m.save() yjjs_gc.delay(companyid) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) elif a == 'listall': - startnum,endnum=fenye(req) - a = Observe.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1).order_by('-looktime') + startnum, endnum = fenye(req) + a = Observe.objects.filter(usecomp=Partment.objects.get( + partid=companyid), deletemark=1).order_by('-looktime') total = a.count() - a = a[startnum:endnum].values('lookid','looknum','lookplace','actname','looktime','looker__name','lookeder','otherunsafe') + a = a[startnum:endnum].values('lookid', 'looknum', 'lookplace', + 'actname', 'looktime', 'looker__name', 'lookeder', 'otherunsafe') for i in a: - objs = Observeto.objects.filter(observe__lookid=i['lookid'],user__userid = userid) + objs = Observeto.objects.filter( + observe__lookid=i['lookid'], user__userid=userid) if objs.exists(): - i['read']=1 + i['read'] = 1 i['readtime'] = objs[0].submittime else: - i['read']=0 - return HttpResponse(transjson(total,a),content_type="application/json") + i['read'] = 0 + return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'listself': - startnum,endnum=fenye(req) - a = Observe.objects.filter(looker__userid=userid,deletemark=1).order_by('-looktime') + startnum, endnum = fenye(req) + a = Observe.objects.filter( + looker__userid=userid, deletemark=1).order_by('-looktime') total = a.count() - a = a[startnum:endnum].values('lookid','looknum','lookplace','actname','looktime','looker__name','lookeder','otherunsafe') - return HttpResponse(transjson(total,a),content_type="application/json") + a = a[startnum:endnum].values('lookid', 'looknum', 'lookplace', + 'actname', 'looktime', 'looker__name', 'lookeder', 'otherunsafe') + return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'del': - lookid =req.GET.get('lookid') + lookid = req.GET.get('lookid') a = Observe.objects.get(lookid=lookid) - if User.objects.get(userid = userid).issuper == 1: - a.deletemark=0 + if User.objects.get(userid=userid).issuper == 1: + a.deletemark = 0 a.save() yjjs_gc.delay(companyid) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) + return JsonResponse({"code": 0}) elif a == 'listsearch': - startnum,endnum=fenye(req) - a = Observe.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1) - #print(req.GET.get('qssj')) + startnum, endnum = fenye(req) + a = Observe.objects.filter( + usecomp=Partment.objects.get(partid=companyid), deletemark=1) + # print(req.GET.get('qssj')) if req.GET.get('gcr'): a = a.filter(looker__userid=req.GET.get('gcr')) if req.GET.get('gcbm'): - parts = Partment.objects.filter(partlink__contains=','+req.GET.get('gcbm')+',')|Partment.objects.filter(partid=req.GET.get('gcbm')) - a = a.filter(lookpart__in = parts) + parts = Partment.objects.filter(partlink__contains=','+req.GET.get( + 'gcbm')+',') | Partment.objects.filter(partid=req.GET.get('gcbm')) + a = a.filter(lookpart__in=parts) if req.GET.get('qssj'): a = a.filter(looktime__gte=req.GET.get('qssj')) if req.GET.get('jssj'): a = a.filter(looktime__lte=req.GET.get('jssj')) total = a.count() - startnum,endnum=fenye(req) - a = a.order_by('-looktime')[startnum:endnum].values('lookid','looknum','lookplace','actname','looktime','looker__name','lookeder') - return HttpResponse(transjson(total,a),content_type="application/json") + startnum, endnum = fenye(req) + a = a.order_by('-looktime')[startnum:endnum].values('lookid', 'looknum', + 'lookplace', 'actname', 'looktime', 'looker__name', 'lookeder') + return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'exportexcel': - a = Observe.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1) + a = Observe.objects.filter( + usecomp=Partment.objects.get(partid=companyid), deletemark=1) if req.GET.get('gcr'): a = a.filter(looker__userid=req.GET.get('gcr')) if req.GET.get('gcbm'): - parts = Partment.objects.filter(partlink__contains=','+req.GET.get('gcbm')+',')|Partment.objects.filter(partid=req.GET.get('gcbm')) - a = a.filter(lookpart__in = parts) + parts = Partment.objects.filter(partlink__contains=','+req.GET.get( + 'gcbm')+',') | Partment.objects.filter(partid=req.GET.get('gcbm')) + a = a.filter(lookpart__in=parts) if req.GET.get('qssj'): a = a.filter(looktime__gte=req.GET.get('qssj')) if req.GET.get('jssj'): a = a.filter(looktime__lte=req.GET.get('jssj')) - res = exportxlsx('gc',a) + res = exportxlsx('gc', a) return res elif a == 'detailhtml': - return render(req,'observedetail.html',{'lookid':req.GET.get('lookid')}) + return render(req, 'observedetail.html', {'lookid': req.GET.get('lookid')}) elif a == 'detail': - lookid=req.GET.get('lookid') + lookid = req.GET.get('lookid') a = Observe.objects.filter(lookid=lookid) - x = a.values('lookid','looknum','lookplace','actname','looktime','looker__name','lookeder','otherunsafe','safecontent','lookpart__partname','submittime','lookimg','looktime2')[0] - b = Unsafes.objects.filter(observe=a[0]).values('unsafedicclass__dicname','unsafedickey__dickeyname') + x = a.values('lookid', 'looknum', 'lookplace', 'actname', 'looktime', 'looker__name', 'lookeder', + 'otherunsafe', 'safecontent', 'lookpart__partname', 'submittime', 'lookimg', 'looktime2')[0] + b = Unsafes.objects.filter(observe=a[0]).values( + 'unsafedicclass__dicname', 'unsafedickey__dickeyname') x['gcnr'] = list(b) if x['lookimg']: x['lookimg'] = x['lookimg'].split('?') else: - x['lookimg']=[] - x['lookers']=[] + x['lookimg'] = [] + x['lookers'] = [] for i in a[0].lookers.all(): x['lookers'].append(i.name) - x['lookers']=','.join(x['lookers']) - Observeto.objects.get_or_create(observe=a[0], user=User.objects.get(userid=req.session['userid']),defaults={'read': 1}) - return HttpResponse(json.dumps(x,cls=MyEncoder),content_type="application/json") + x['lookers'] = ','.join(x['lookers']) + Observeto.objects.get_or_create(observe=a[0], user=User.objects.get( + userid=req.session['userid']), defaults={'read': 1}) + return HttpResponse(json.dumps(x, cls=MyEncoder), content_type="application/json") elif a == 'getdics': - gcdict={} - gclist=[] - objs = Dicclass.objects.filter(parentid=23).order_by('dicid') #行为观察字典集合 + gcdict = {} + gclist = [] + objs = Dicclass.objects.filter( + parentid=23).order_by('dicid') # 行为观察字典集合 for i in objs: - x={'value':i.dicid,'text':i.dicname} - obj = Dickey.objects.filter(dicparent=i.dicid,deletemark=1) - obj = (obj.filter(usecomps__contains=',1,')|obj.filter(usecomps__contains=','+companyid+',')).exclude(nousecomps__contains=','+companyid+',').order_by('dickeyid') - x0= [] + x = {'value': i.dicid, 'text': i.dicname} + obj = Dickey.objects.filter(dicparent=i.dicid, deletemark=1) + obj = (obj.filter(usecomps__contains=',1,') | obj.filter(usecomps__contains=',' + + companyid+',')).exclude(nousecomps__contains=','+companyid+',').order_by('dickeyid') + x0 = [] for i in obj: - x0.append({'value':i.dickeyid,'text':i.dickeyname}) - x['child']=x0 + x0.append({'value': i.dickeyid, 'text': i.dickeyname}) + x['child'] = x0 gclist.append(x) - gcdict['data']=gclist + gcdict['data'] = gclist return JsonResponse(gcdict) elif a == 'noreadnum': - a = Observe.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1).count() - b = Observeto.objects.filter(user__userid=userid,observe__deletemark=1).count() + a = Observe.objects.filter(usecomp=Partment.objects.get( + partid=companyid), deletemark=1).count() + b = Observeto.objects.filter( + user__userid=userid, observe__deletemark=1).count() noread = a-b - return JsonResponse({'noread':noread}) + return JsonResponse({'noread': noread}) elif a == 'exportword': data = json.loads(req.body.decode('utf-8')) - url = exportdoc2('gc',data) - return JsonResponse({"code":1,"downloadurl":url}) + url = exportdoc2('gc', data) + return JsonResponse({"code": 1, "downloadurl": url}) + def observepic(req): - userid = req.session['userid'] - companyid = getcompany(userid) + userid = req.session['userid'] + companyid = getcompany(userid) - if req.GET.get('a')=='gclxt':#观察类型饼图 + if req.GET.get('a') == 'gclxt': # 观察类型饼图 year = int(req.GET.get('year')) month = int(req.GET.get('month')) - first_day,first_day_of_next_month = gettime(datetime(year,month,1)) + first_day, first_day_of_next_month = gettime(datetime(year, month, 1)) if req.GET.get('part'): partid = req.GET.get('part') else: partid = companyid - parts = Partment.objects.filter(Q(partid=partid) | Q(partlink__contains=',' + str(partid) + ',')) - a = Observe.objects.filter(lookpart__in=parts,deletemark=1,looktime__range=(first_day, first_day_of_next_month)) - value=[] - key=[] + parts = Partment.objects.filter(Q(partid=partid) | Q( + partlink__contains=',' + str(partid) + ',')) + a = Observe.objects.filter(lookpart__in=parts, deletemark=1, looktime__range=( + first_day, first_day_of_next_month)) + value = [] + key = [] for i in Dicclass.objects.filter(parentid__dicid=23): x = i.dicname - y = Unsafes.objects.filter(observe__in=a,unsafedicclass=i).count() + y = Unsafes.objects.filter(observe__in=a, unsafedicclass=i).count() key.append(x) - value.append({'value':y,'name':x}) - return JsonResponse({'code':1,'key':key,'value':value}) - elif req.GET.get('a')=='gclzx':#观察类型折线图 - year = int(req.GET.get('year')) - months = [1,2,3,4,5,6,7,8,9,10,11,12] - userfy=[]#人员反映 - userwz=[]#员工的位置 - grfh=[]#个人防护装备 - gjhsb=[]#工具和设备 - cxhbz=[]#程序和标准 - rtgcx=[]#人体工程学 - hjzj=[]#环境整洁 + value.append({'value': y, 'name': x}) + return JsonResponse({'code': 1, 'key': key, 'value': value}) + elif req.GET.get('a') == 'gclzx': # 观察类型折线图 + year = int(req.GET.get('year')) + months = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + userfy = [] # 人员反映 + userwz = [] # 员工的位置 + grfh = [] # 个人防护装备 + gjhsb = [] # 工具和设备 + cxhbz = [] # 程序和标准 + rtgcx = [] # 人体工程学 + hjzj = [] # 环境整洁 - for month in months: - first_day,first_day_of_next_month = gettime(datetime(year,month,1)) - if req.GET.get('part'): + for month in months: + first_day, first_day_of_next_month = gettime( + datetime(year, month, 1)) + if req.GET.get('part'): partid = req.GET.get('part') - else: - partid = companyid - parts = Partment.objects.filter(Q(partid=partid) | Q(partlink__contains=',' + str(partid) + ',')) - a = Observe.objects.filter(lookpart__in=parts,deletemark=1,looktime__range=(first_day, first_day_of_next_month)) - for i in Dicclass.objects.filter(parentid__dicid=23): - if i.dicid==24: - userfy.append(Unsafes.objects.filter(observe__in=a,unsafedicclass=i).count()) - elif i.dicid==25: - userwz.append(Unsafes.objects.filter(observe__in=a,unsafedicclass=i).count()) - elif i.dicid==26: - grfh.append(Unsafes.objects.filter(observe__in=a,unsafedicclass=i).count()) - elif i.dicid==27: - gjhsb.append(Unsafes.objects.filter(observe__in=a,unsafedicclass=i).count()) - elif i.dicid==28: - cxhbz.append(Unsafes.objects.filter(observe__in=a,unsafedicclass=i).count()) - elif i.dicid==29: - rtgcx.append(Unsafes.objects.filter(observe__in=a,unsafedicclass=i).count()) - elif i.dicid==30: - hjzj.append(Unsafes.objects.filter(observe__in=a,unsafedicclass=i).count()) + else: + partid = companyid + parts = Partment.objects.filter(Q(partid=partid) | Q( + partlink__contains=',' + str(partid) + ',')) + a = Observe.objects.filter(lookpart__in=parts, deletemark=1, looktime__range=( + first_day, first_day_of_next_month)) + for i in Dicclass.objects.filter(parentid__dicid=23): + if i.dicid == 24: + userfy.append(Unsafes.objects.filter( + observe__in=a, unsafedicclass=i).count()) + elif i.dicid == 25: + userwz.append(Unsafes.objects.filter( + observe__in=a, unsafedicclass=i).count()) + elif i.dicid == 26: + grfh.append(Unsafes.objects.filter( + observe__in=a, unsafedicclass=i).count()) + elif i.dicid == 27: + gjhsb.append(Unsafes.objects.filter( + observe__in=a, unsafedicclass=i).count()) + elif i.dicid == 28: + cxhbz.append(Unsafes.objects.filter( + observe__in=a, unsafedicclass=i).count()) + elif i.dicid == 29: + rtgcx.append(Unsafes.objects.filter( + observe__in=a, unsafedicclass=i).count()) + elif i.dicid == 30: + hjzj.append(Unsafes.objects.filter( + observe__in=a, unsafedicclass=i).count()) + return JsonResponse({'code': 1, 'months': months, 'userfy': userfy, 'userwz': userwz, 'grfh': grfh, 'gjhsb': gjhsb, 'cxhbz': cxhbz, 'rtgcx': rtgcx, 'hjzj': hjzj, }) + elif req.GET.get('a') == 'gclxbg': + userid = req.session['userid'] + companyid = getcompany(userid) + a = Observe.objects.filter( + usecomp=Partment.objects.get(partid=companyid), deletemark=1) - return JsonResponse({'code':1,'months':months,'userfy':userfy,'userwz':userwz,'grfh':grfh,'gjhsb':gjhsb,'cxhbz':cxhbz,'rtgcx':rtgcx,'hjzj':hjzj,}) - elif req.GET.get('a')=='gclxbg': - userid = req.session['userid'] - companyid = getcompany(userid) - a = Observe.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1) - - if req.GET.get('qssj'):#开始时间 + if req.GET.get('qssj'): # 开始时间 a = a.filter(looktime__gte=req.GET.get('qssj')) - if req.GET.get('jssj'):#结束时间 + if req.GET.get('jssj'): # 结束时间 a = a.filter(looktime__lte=req.GET.get('jssj')) - if req.GET.get('fxbm'): + if req.GET.get('fxbm'): gcbm = req.GET.get('fxbm') - parts = Partment.objects.filter(partlink__contains=',' + gcbm + ',')|Partment.objects.filter(partid=gcbm) + parts = Partment.objects.filter( + partlink__contains=',' + gcbm + ',') | Partment.objects.filter(partid=gcbm) a = a.filter(lookpart__in=parts) - total = a.count() - objs = a.values('looker__userid','looker__name','lookpart__partname').annotate(number = Count('looker')).order_by('-number') - return HttpResponse(transjson(total,objs),content_type="application/json") - + total = a.count() + objs = a.values('looker__userid', 'looker__name', 'lookpart__partname').annotate( + number=Count('looker')).order_by('-number') + return HttpResponse(transjson(total, objs), content_type="application/json") def dicchandle(req): a = req.GET.get('a') if a == 'tree': - a=Dicclass.objects.exclude(dicid=1).order_by('dicid').annotate(id=F('dicid'),parentId=F('parentid'),name=F('dicname')).values('id','parentId','name') - return HttpResponse(json.dumps(list(a)),content_type="application/json") + a = Dicclass.objects.exclude(dicid=1).order_by('dicid').annotate(id=F( + 'dicid'), parentId=F('parentid'), name=F('dicname')).values('id', 'parentId', 'name') + return HttpResponse(json.dumps(list(a)), content_type="application/json") + def bwlogin2(req): if req.method == 'GET': try: code = req.GET.get('code') except: - return render(req,'bindwechat2.html',{'msg':'还未绑定公众号!'})#还未关注公众号 - content = requests.get('https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx4d75244c1b980b5b&secret=edf7d23a457fb4df5ad47eeb9d4b7a39&code='+code+'&grant_type=authorization_code').content.decode('utf-8') + # 还未关注公众号 + return render(req, 'bindwechat2.html', {'msg': '还未绑定公众号!'}) + content = requests.get('https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx4d75244c1b980b5b&secret=edf7d23a457fb4df5ad47eeb9d4b7a39&code=' + + code+'&grant_type=authorization_code').content.decode('utf-8') tokendict = json.loads(content) openid = tokendict['openid'] access_token = tokendict['access_token'] - userinfo = requests.get('https://api.weixin.qq.com/sns/userinfo?access_token='+access_token+'&openid='+openid+'&lang=zh_CN').content.decode('utf-8')#拉取用户信息 + userinfo = requests.get('https://api.weixin.qq.com/sns/userinfo?access_token=' + + access_token+'&openid='+openid+'&lang=zh_CN').content.decode('utf-8') # 拉取用户信息 userinfo = json.loads(userinfo) nickname = userinfo['nickname'] headimgurl = userinfo['headimgurl'] - return render(req,'bwlogin2.html',{'openid':openid,'nickname':nickname,'headimgurl':headimgurl}) + return render(req, 'bwlogin2.html', {'openid': openid, 'nickname': nickname, 'headimgurl': headimgurl}) else: username = req.POST.get('username') password = req.POST.get('password') openid = req.POST.get('openid') nickname = req.POST.get('nickname') headimgurl = req.POST.get('headimgurl') - user = User.objects.filter(username= username,deletemark=1) + user = User.objects.filter(username=username, deletemark=1) if user.exists(): - if check_password(password,user[0].epassword): - mpuser = User.objects.filter(openid=openid).exclude(username = username) + if check_password(password, user[0].epassword): + mpuser = User.objects.filter( + openid=openid).exclude(username=username) if mpuser.exists(): - return render(req,'bindwechat.html',{'msg':'您的微信已绑定平台下'+mpuser[0].username+'账号,不可重复绑定,请先至pc端解绑!','code':0}) #已绑定其他账号 + # 已绑定其他账号 + return render(req, 'bindwechat.html', {'msg': '您的微信已绑定平台下'+mpuser[0].username+'账号,不可重复绑定,请先至pc端解绑!', 'code': 0}) else: if user[0].openid == '0' or user[0].openid == None or user[0].openid == '': - user.update(openid=openid,headimgurl=headimgurl,nickname=nickname) - return render(req,'bindwechat.html',{'msg':'绑定成功,请刷新电脑端浏览器!','code':1}) + user.update(openid=openid, + headimgurl=headimgurl, nickname=nickname) + return render(req, 'bindwechat.html', {'msg': '绑定成功,请刷新电脑端浏览器!', 'code': 1}) else: if user[0].openid == openid: - return render(req,'bindwechat.html',{'msg':'绑定成功,请刷新电脑端浏览器!','code':1}) + return render(req, 'bindwechat.html', {'msg': '绑定成功,请刷新电脑端浏览器!', 'code': 1}) else: - return render(req,'bindwechat.html',{'msg':'该平台账号已绑定昵称为'+user[0].nickname+'的微信,不可重复绑定,请先至pc端解绑!','code':0}) #已绑定其他账号 + # 已绑定其他账号 + return render(req, 'bindwechat.html', {'msg': '该平台账号已绑定昵称为'+user[0].nickname+'的微信,不可重复绑定,请先至pc端解绑!', 'code': 0}) else: - return render(req,'bwlogin.html',{'msg':'密码错误'}) + return render(req, 'bwlogin.html', {'msg': '密码错误'}) else: - return render(req,'bwlogin.html',{'msg':'用户不存在或已禁用'}) + return render(req, 'bwlogin.html', {'msg': '用户不存在或已禁用'}) + def bwlogin(req): if req.method == 'GET': try: code = req.GET.get('code') except: - return render(req,'bindwechat.html',{'msg':'还未绑定公众号!'})#还未关注公众号 - content = requests.get('https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx4d75244c1b980b5b&secret=edf7d23a457fb4df5ad47eeb9d4b7a39&code='+code+'&grant_type=authorization_code').content.decode('utf-8') + # 还未关注公众号 + return render(req, 'bindwechat.html', {'msg': '还未绑定公众号!'}) + content = requests.get('https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx4d75244c1b980b5b&secret=edf7d23a457fb4df5ad47eeb9d4b7a39&code=' + + code+'&grant_type=authorization_code').content.decode('utf-8') tokendict = json.loads(content) openid = tokendict['openid'] access_token = tokendict['access_token'] mpuser = User.objects.filter(openid=openid) if mpuser.exists(): - return render(req,'bindwechat.html',{'msg':'您的微信已绑定平台下'+mpuser[0].username+'账号,不可重复绑定,可先至pc端解绑!','code':0}) #已绑定账号 - userinfo = requests.get('https://api.weixin.qq.com/sns/userinfo?access_token='+access_token+'&openid='+openid+'&lang=zh_CN').content.decode('utf-8')#拉取用户信息 + # 已绑定账号 + return render(req, 'bindwechat.html', {'msg': '您的微信已绑定平台下'+mpuser[0].username+'账号,不可重复绑定,可先至pc端解绑!', 'code': 0}) + userinfo = requests.get('https://api.weixin.qq.com/sns/userinfo?access_token=' + + access_token+'&openid='+openid+'&lang=zh_CN').content.decode('utf-8') # 拉取用户信息 userinfo = json.loads(userinfo) nickname = userinfo['nickname'] headimgurl = userinfo['headimgurl'] - return render(req,'bwlogin.html',{'openid':openid,'nickname':nickname,'headimgurl':headimgurl}) + return render(req, 'bwlogin.html', {'openid': openid, 'nickname': nickname, 'headimgurl': headimgurl}) else: username = req.POST.get('username') password = req.POST.get('password') openid = req.POST.get('openid') nickname = req.POST.get('nickname') headimgurl = req.POST.get('headimgurl') - user = User.objects.filter(username = username,deletemark=1) + user = User.objects.filter(username=username, deletemark=1) if user.exists(): - if check_password(password,user[0].epassword): - User.objects.filter(openid=openid).update(openid=None,headimgurl=None,nickname=None) - user.update(openid=openid,headimgurl=headimgurl,nickname=nickname) - return render(req,'bindwechat.html',{'msg':'绑定成功,请刷新电脑端浏览器!','code':1}) + if check_password(password, user[0].epassword): + User.objects.filter(openid=openid).update( + openid=None, headimgurl=None, nickname=None) + user.update(openid=openid, headimgurl=headimgurl, + nickname=nickname) + return render(req, 'bindwechat.html', {'msg': '绑定成功,请刷新电脑端浏览器!', 'code': 1}) else: - return render(req,'bwlogin.html',{'msg':'密码错误'}) + return render(req, 'bwlogin.html', {'msg': '密码错误'}) else: - return render(req,'bwlogin.html',{'msg':'用户不存在或已禁用'}) - + return render(req, 'bwlogin.html', {'msg': '用户不存在或已禁用'}) def unbindwechat(req): - userid=req.session['userid'] - User.objects.filter(userid=userid).update(openid=None,headimgurl=None,nickname=None,mpopenid=None) - return JsonResponse({"code":1}) + userid = req.session['userid'] + User.objects.filter(userid=userid).update( + openid=None, headimgurl=None, nickname=None, mpopenid=None) + return JsonResponse({"code": 1}) + def unbindmp(req): - userid=req.session['userid'] - User.objects.filter(userid=userid).update(openid=None,headimgurl=None,nickname=None,mpopenid=None) - return JsonResponse({"code":1}) + userid = req.session['userid'] + User.objects.filter(userid=userid).update( + openid=None, headimgurl=None, nickname=None, mpopenid=None) + return JsonResponse({"code": 1}) + def vewechat(req): return HttpResponse('201810170853050zbwtyaxirqeb757umcehktirlemh2ib10kcdovka13hchyf4s', content_type="text/plain") + def minip_px(req): f = StringIO() f.write('86beeba7de3c84c26244f19287f49a03') @@ -3128,13 +3488,15 @@ def minip_px(req): res.write(f.getvalue()) return res + def mplogin(req): res = req.body.decode('utf-8') try: code = req.POST.get('code') except: code = json.loads(res)['code'] - info = requests.get('https://api.weixin.qq.com/sns/jscode2session?appid=wx5c39b569f01c27db&secret=68762892f8df2b4a0b1940c5250a8dc0&js_code='+code+'&grant_type=authorization_code').content.decode('utf-8') + info = requests.get('https://api.weixin.qq.com/sns/jscode2session?appid=wx5c39b569f01c27db&secret=68762892f8df2b4a0b1940c5250a8dc0&js_code=' + + code+'&grant_type=authorization_code').content.decode('utf-8') info = json.loads(info) mpopenid = info['openid'] session_key = info['session_key'] @@ -3144,35 +3506,37 @@ def mplogin(req): username = a.username req.session['userid'] = userid # print(req.session,req.COOKIES) - return JsonResponse({"code":1,'userid':userid,'username':username,'mpopenid':mpopenid}) + return JsonResponse({"code": 1, 'userid': userid, 'username': username, 'mpopenid': mpopenid}) else: - return JsonResponse({"code":0,'mpopenid':mpopenid}) + return JsonResponse({"code": 0, 'mpopenid': mpopenid}) + def bindmp(req): username = req.POST.get('username') password = req.POST.get('password') mpopenid = req.POST.get('mpopenid') - #print(username,password,mpopenid) - user = User.objects.filter(username = username,deletemark=1) + # print(username,password,mpopenid) + user = User.objects.filter(username=username, deletemark=1) if user.exists(): - if check_password(password,user[0].epassword): + if check_password(password, user[0].epassword): user.update(mpopenid=mpopenid) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) + return JsonResponse({"code": 0}) else: - return JsonResponse({"code":0}) + return JsonResponse({"code": 0}) + def setup(req): if req.GET.get('a') == 'setuph': userid = req.session['userid'] companyid = getcompany(userid) - obj = Yjsetup.objects.filter(usecomp__partid = companyid).values() - return render(req,'setup.html',obj[0]) + obj = Yjsetup.objects.filter(usecomp__partid=companyid).values() + return render(req, 'setup.html', obj[0]) elif req.GET.get('a') == 'setup': userid = req.session['userid'] companyid = getcompany(userid) - obj = Yjsetup.objects.filter(usecomp__partid = companyid).values() + obj = Yjsetup.objects.filter(usecomp__partid=companyid).values() #a = {'total':total,'rows':list(obj),'code':1} #jsondata = json.dumps(a,cls=MyEncoder) return JsonResponse(obj[0]) @@ -3193,30 +3557,34 @@ def setup(req): pxxgqz = req.POST.get('pxxgqz') yldjqz = req.POST.get('yldjqz') ylxgqz = req.POST.get('ylxgqz') - Yjsetup.objects.filter(yjsetupid=yjsetupid).update(monthyhavg=monthyhavg,safev=safev,warnv=warnv,alertv=alertv,maxv=maxv, - yhpgqz=yhpgqz,yhdjqz=yhdjqz,yhsblqz=yhsblqz,yhzglqz=yhzglqz,pxdjqz=pxdjqz,pxxgqz=pxxgqz,yldjqz=yldjqz,ylxgqz=ylxgqz - ) - return JsonResponse({"code":1}) + Yjsetup.objects.filter(yjsetupid=yjsetupid).update(monthyhavg=monthyhavg, safev=safev, warnv=warnv, alertv=alertv, maxv=maxv, + yhpgqz=yhpgqz, yhdjqz=yhdjqz, yhsblqz=yhsblqz, yhzglqz=yhzglqz, pxdjqz=pxdjqz, pxxgqz=pxxgqz, yldjqz=yldjqz, ylxgqz=ylxgqz + ) + return JsonResponse({"code": 1}) + + def test(req): print(req.body) print(json.loads(req.body.decode('utf-8'))['yhtp']) + def importusers(req): companyid = req.GET.get('companyid') drusers(companyid) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) + @apicheck_login def apicompany(req): - if int(req.session.get('userid'))==8: + if int(req.session.get('userid')) == 8: a = req.GET.get('a') - menurights = '11,1,2,3,4,5,6,7,8,9,10,12,13,15,16,17,18,19,20,21,22,23,24,28,29,32,36,46,47,48,50'#菜单编码 - if a=='add': + menurights = '11,1,2,3,4,5,6,7,8,9,10,12,13,15,16,17,18,19,20,21,22,23,24,28,29,32,36,46,47,48,50' # 菜单编码 + if a == 'add': admin = req.GET.get('admin') company = req.GET.get('company') y = Partment() if Partment.objects.filter(partname=company).exists(): - return JsonResponse({'code':0}) + return JsonResponse({'code': 0}) else: y.partname = company y.partlink = ',' @@ -3234,17 +3602,24 @@ def apicompany(req): y.bmzg = ','+str(x.userid)+',' y.save() part = Partment.objects.get(partid=y.partid) - Group.objects.create(groupname='超管',grouptype=0,usecomp=part,menulink=menurights) - Group.objects.create(groupname='安全员',grouptype=1,usecomp=part,menulink=menurights) - Group.objects.create(groupname='全体用户',grouptype=3,usecomp=part,menulink=menurights) - z = Group(groupname='主管',grouptype=2,usecomp=part,menulink=menurights) + Group.objects.create( + groupname='超管', grouptype=0, usecomp=part, menulink=menurights) + Group.objects.create( + groupname='安全员', grouptype=1, usecomp=part, menulink=menurights) + Group.objects.create( + groupname='全体用户', grouptype=3, usecomp=part, menulink=menurights) + z = Group(groupname='主管', grouptype=2, + usecomp=part, menulink=menurights) z.save() z.users.add(x) - Yjsetup.objects.create(monthyhavg=100,safev=50,warnv=75,alertv=100,maxv=200,yhpgqz=4,yhdjqz=4,yhsblqz=1,yhzglqz=4,pxdjqz=3,pxxgqz=4,yldjqz=3,ylxgqz=3,usecomp=y) - Map.objects.create(name='默认地图',pic='/static/safesite/mystatic/images/snc.jpg',usecomp=y,default=1) - return JsonResponse({'code':1,'companyid':y.partid}) + Yjsetup.objects.create(monthyhavg=100, safev=50, warnv=75, alertv=100, maxv=200, yhpgqz=4, + yhdjqz=4, yhsblqz=1, yhzglqz=4, pxdjqz=3, pxxgqz=4, yldjqz=3, ylxgqz=3, usecomp=y) + Map.objects.create( + name='默认地图', pic='/static/safesite/mystatic/images/snc.jpg', usecomp=y, default=1) + return JsonResponse({'code': 1, 'companyid': y.partid}) else: - return JsonResponse({'code':0,'msg':'no right!'}) + return JsonResponse({'code': 0, 'msg': 'no right!'}) + def drapi(req): a = req.GET.get('a') @@ -3256,10 +3631,10 @@ def drapi(req): if not os.path.exists(upload_folder): os.mkdir(upload_folder) filepath = os.path.join(upload_folder, file_name) - filepath = filepath.replace('\\','/') - with open( filepath, 'wb') as f: + filepath = filepath.replace('\\', '/') + with open(filepath, 'wb') as f: f.write(req.FILES['upfile'].read()) - return JsonResponse(drusers(companyid,filepath)) + return JsonResponse(drusers(companyid, filepath)) elif a == 'equipment': userid = req.session['userid'] companyid = getcompany(userid) @@ -3268,15 +3643,15 @@ def drapi(req): if not os.path.exists(upload_folder): os.mkdir(upload_folder) filepath = os.path.join(upload_folder, file_name) - filepath = filepath.replace('\\','/') - with open( filepath, 'wb') as f: + filepath = filepath.replace('\\', '/') + with open(filepath, 'wb') as f: f.write(req.FILES['upfile'].read()) # try: - equipmentdict = drequipments(companyid,filepath) + equipmentdict = drequipments(companyid, filepath) if equipmentdict: - return JsonResponse({"code":2,"equipmentdict":equipmentdict}) + return JsonResponse({"code": 2, "equipmentdict": equipmentdict}) else: - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) elif a == 'risk': userid = req.session['userid'] companyid = getcompany(userid) @@ -3285,17 +3660,17 @@ def drapi(req): if not os.path.exists(upload_folder): os.mkdir(upload_folder) filepath = os.path.join(upload_folder, file_name) - filepath = filepath.replace('\\','/') - with open( filepath, 'wb') as f: + filepath = filepath.replace('\\', '/') + with open(filepath, 'wb') as f: f.write(req.FILES['upfile'].read()) try: - risks = drrisks(companyid,filepath) + risks = drrisks(companyid, filepath) if risks: - return JsonResponse({"code":2,"risks":risks}) + return JsonResponse({"code": 2, "risks": risks}) else: - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) except: - return JsonResponse({"code":0}) + return JsonResponse({"code": 0}) elif a == 'question': userid = req.session['userid'] companyid = getcompany(userid) @@ -3304,16 +3679,14 @@ def drapi(req): if not os.path.exists(upload_folder): os.mkdir(upload_folder) filepath = os.path.join(upload_folder, file_name) - filepath = filepath.replace('\\','/') - with open( filepath, 'wb') as f: + filepath = filepath.replace('\\', '/') + with open(filepath, 'wb') as f: f.write(req.FILES['upfile'].read()) - msg = drquestions(companyid,filepath,userid) + msg = drquestions(companyid, filepath, userid) if msg: - return JsonResponse({"code":2,"msg":msg}) + return JsonResponse({"code": 2, "msg": msg}) else: - return JsonResponse({"code":1}) - - + return JsonResponse({"code": 1}) def apimiss(req): @@ -3335,153 +3708,173 @@ def apimiss(req): obj.prevent = data['prevent'] if 'lesson' in data: obj.lesson = data['lesson'] - obj.missnum='WS'+time.strftime('%Y%m%d%H%M%S') + obj.missnum = 'WS'+time.strftime('%Y%m%d%H%M%S') obj.usecomp = Partment.objects.get(partid=companyid) if 'missimg' in data: obj.missimg = '?'.join(data['missimg']) obj.save() yjjs_ws.delay(companyid) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) elif a == 'listall': - startnum,endnum=fenye(req) - a = Miss.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1) + startnum, endnum = fenye(req) + a = Miss.objects.filter(usecomp=Partment.objects.get( + partid=companyid), deletemark=1) if req.GET.get('missqy'): - a = a.filter(missqy__id=req.GET.get('missqy')) + a = a.filter(missqy__id=req.GET.get('missqy')) a = a.order_by('-misstime') total = a.count() - startnum,endnum=fenye(req) - a = a[startnum:endnum].values('missid','missnum','missplace','description','misstime','misser__name','missimg') + startnum, endnum = fenye(req) + a = a[startnum:endnum].values( + 'missid', 'missnum', 'missplace', 'description', 'misstime', 'misser__name', 'missimg') for i in a: - if Missto.objects.filter(miss__missid=i['missid'],user__userid = userid).exists(): - i['read']=1 - i['readtime'] = Missto.objects.filter(miss__missid=i['missid'],user__userid = userid)[0].submittime + if Missto.objects.filter(miss__missid=i['missid'], user__userid=userid).exists(): + i['read'] = 1 + i['readtime'] = Missto.objects.filter( + miss__missid=i['missid'], user__userid=userid)[0].submittime else: - i['read']=0 - return HttpResponse(transjson(total,a),content_type="application/json") + i['read'] = 0 + return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'listself': - startnum,endnum=fenye(req) - a = Miss.objects.filter(misser__userid=userid,deletemark=1).order_by('-misstime') + startnum, endnum = fenye(req) + a = Miss.objects.filter(misser__userid=userid, + deletemark=1).order_by('-misstime') total = a.count() - startnum,endnum=fenye(req) - a = a[startnum:endnum].values('missid','missnum','missplace','description','misstime','misser__name') - return HttpResponse(transjson(total,a),content_type="application/json") + startnum, endnum = fenye(req) + a = a[startnum:endnum].values( + 'missid', 'missnum', 'missplace', 'description', 'misstime', 'misser__name') + return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'detail': - missid=req.GET.get('missid') + missid = req.GET.get('missid') a = Miss.objects.filter(missid=missid) - x = a.values('missid','missnum','missplace','misstime','misser__name','description','prevent','misspart__partname','submittime','missimg','lesson')[0] + x = a.values('missid', 'missnum', 'missplace', 'misstime', 'misser__name', 'description', + 'prevent', 'misspart__partname', 'submittime', 'missimg', 'lesson')[0] if x['missimg']: x['missimg'] = x['missimg'].split('?') else: - x['missimg']=[] + x['missimg'] = [] for key in x: if x[key] == None: x[key] = '' - Missto.objects.get_or_create(miss=a[0], user=User.objects.get(userid=req.session['userid']),defaults={'read': 1}) - return HttpResponse(json.dumps(x,cls=MyEncoder),content_type="application/json") + Missto.objects.get_or_create(miss=a[0], user=User.objects.get( + userid=req.session['userid']), defaults={'read': 1}) + return HttpResponse(json.dumps(x, cls=MyEncoder), content_type="application/json") elif a == 'del': - missid =req.GET.get('missid') + missid = req.GET.get('missid') a = Miss.objects.get(missid=missid) - if User.objects.get(userid = userid).issuper == 1: - a.deletemark=0 + if User.objects.get(userid=userid).issuper == 1: + a.deletemark = 0 a.save() yjjs_ws.delay(companyid) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) + return JsonResponse({"code": 0}) elif a == 'listsearch': - startnum,endnum=fenye(req) - a = Miss.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1) + startnum, endnum = fenye(req) + a = Miss.objects.filter(usecomp=Partment.objects.get( + partid=companyid), deletemark=1) if req.GET.get('fsbm'): - parts = Partment.objects.filter(partlink__contains=','+req.GET.get('fsbm')+',')|Partment.objects.filter(partid=req.GET.get('fsbm')) - a = a.filter(misspart__in = parts) + parts = Partment.objects.filter(partlink__contains=','+req.GET.get( + 'fsbm')+',') | Partment.objects.filter(partid=req.GET.get('fsbm')) + a = a.filter(misspart__in=parts) if req.GET.get('qssj'): a = a.filter(misstime__gte=req.GET.get('qssj')) if req.GET.get('jssj'): a = a.filter(misstime__lte=req.GET.get('jssj')) total = a.count() - a = a.order_by('-misstime')[startnum:endnum].values('missid','missnum','missplace','description','misstime') - return HttpResponse(transjson(total,a),content_type="application/json") + a = a.order_by('-misstime')[startnum:endnum].values('missid', + 'missnum', 'missplace', 'description', 'misstime') + return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'exportexcel': - a = Miss.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1) + a = Miss.objects.filter(usecomp=Partment.objects.get( + partid=companyid), deletemark=1) if req.GET.get('fsbm'): - parts = Partment.objects.filter(partlink__contains=','+req.GET.get('fsbm')+',')|Partment.objects.filter(partid=req.GET.get('fsbm')) - a = a.filter(misspart__in = parts) + parts = Partment.objects.filter(partlink__contains=','+req.GET.get( + 'fsbm')+',') | Partment.objects.filter(partid=req.GET.get('fsbm')) + a = a.filter(misspart__in=parts) if req.GET.get('qssj'): a = a.filter(misstime__gte=req.GET.get('qssj')) if req.GET.get('jssj'): a = a.filter(misstime__lte=req.GET.get('jssj')) - res = exportxlsx('ws',a) + res = exportxlsx('ws', a) return res elif a == 'exportword': id = req.GET.get('id') - res = exportdoc('ws',id) + res = exportdoc('ws', id) return res elif a == 'noreadnum': - a = Miss.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1).count() - b = Missto.objects.filter(user__userid=userid,miss__deletemark=1).count() + a = Miss.objects.filter(usecomp=Partment.objects.get( + partid=companyid), deletemark=1).count() + b = Missto.objects.filter( + user__userid=userid, miss__deletemark=1).count() noread = a-b - return JsonResponse({'noread':noread}) + return JsonResponse({'noread': noread}) + def apisocert(req): a = req.GET.get('a') - if a=='listall': + if a == 'listall': userid = req.session['userid'] companyid = getcompany(userid) - startnum,endnum=fenye(req) - a = Socertificate.objects.filter(usecomp=Partment.objects.get(partid=companyid)).order_by('id')#无deletemark + startnum, endnum = fenye(req) + a = Socertificate.objects.filter(usecomp=Partment.objects.get( + partid=companyid)).order_by('id') # 无deletemark total = a.count() - startnum,endnum=fenye(req) + startnum, endnum = fenye(req) if req.GET.get('sort'): a = a.order_by(req.GET.get('sort')) - a = a[startnum:endnum].values('id','realname','gender','zylb','czxm','fzjg','ccfzrq','yfsrq','yxqkssj','yxqjssj','sjfssj','zszt','url') - return HttpResponse(transjson(total,a),content_type="application/json") - elif a=='listself': + a = a[startnum:endnum].values('id', 'realname', 'gender', 'zylb', 'czxm', + 'fzjg', 'ccfzrq', 'yfsrq', 'yxqkssj', 'yxqjssj', 'sjfssj', 'zszt', 'url') + return HttpResponse(transjson(total, a), content_type="application/json") + elif a == 'listself': userid = req.session['userid'] cardnum = Userprofile.objects.get(user__userid=userid).cardnum - a = Socertificate.objects.filter(cardnum=cardnum).order_by('id')#无deletemark + a = Socertificate.objects.filter( + cardnum=cardnum).order_by('id') # 无deletemark total = a.count() if req.GET.get('sort'): a = a.order_by(req.GET.get('sort')) - a = a.values('id','realname','gender','zylb','czxm','fzjg','ccfzrq','yfsrq','yxqkssj','yxqjssj','sjfssj','zszt','url') - return HttpResponse(transjson(total,a),content_type="application/json") + a = a.values('id', 'realname', 'gender', 'zylb', 'czxm', 'fzjg', + 'ccfzrq', 'yfsrq', 'yxqkssj', 'yxqjssj', 'sjfssj', 'zszt', 'url') + return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'addspider': postdata = json.loads(req.body.decode('utf-8')) userid = postdata['userid'] realname = postdata['realname'] cardnum = postdata['cardnum'] companyid = getcompany(userid) - data = getTzzs(cardnum,realname) + data = getTzzs(cardnum, realname) data1 = [] - gender='' + gender = '' if data: for i in data: if i['操作项目'] not in data1: - updated_values={ - 'user':User.objects.get(userid=userid), - 'usecomp':Partment.objects.get(partid=companyid), - 'realname':i['姓名'], - 'gender':i['性别'], - 'zylb':i['作业类别'], - 'czxm':i['操作项目'], - 'fzjg':i['发证机关'], - 'ccfzrq':i['初次发证日期'] if i['初次发证日期'] else None, - 'yfsrq':i['应复审日期'] if i['应复审日期'] else None, - 'yxqkssj':i['有效期开始时间'] if i['有效期开始时间'] else None, - 'yxqjssj':i['有效期结束时间'] if i['有效期结束时间'] else None, - 'sjfssj':i['实际复审时间'] if i['实际复审时间'] else None, - 'url':i['url'], + updated_values = { + 'user': User.objects.get(userid=userid), + 'usecomp': Partment.objects.get(partid=companyid), + 'realname': i['姓名'], + 'gender': i['性别'], + 'zylb': i['作业类别'], + 'czxm': i['操作项目'], + 'fzjg': i['发证机关'], + 'ccfzrq': i['初次发证日期'] if i['初次发证日期'] else None, + 'yfsrq': i['应复审日期'] if i['应复审日期'] else None, + 'yxqkssj': i['有效期开始时间'] if i['有效期开始时间'] else None, + 'yxqjssj': i['有效期结束时间'] if i['有效期结束时间'] else None, + 'sjfssj': i['实际复审时间'] if i['实际复审时间'] else None, + 'url': i['url'], } try: updated_values['zszt'] = guoqi(i['应复审日期']) except: pass obj, created = Socertificate.objects.update_or_create( - cardnum=cardnum, czxm=i['操作项目'], defaults=updated_values) + cardnum=cardnum, czxm=i['操作项目'], defaults=updated_values) data1.append(i['操作项目']) gender = i['性别'] else: - obj = Socertificate.objects.get(cardnum=cardnum, czxm=i['操作项目']) - if obj.yxqjssj.strftime('%Y-%m-%d') now1: + if datetime.strptime(x, '%Y-%m-%d') > now1: return 1 - elif now1 > datetime.strptime(x,'%Y-%m-%d') > now: + elif now1 > datetime.strptime(x, '%Y-%m-%d') > now: return 2 else: return 3 + + def apisafecert(req): a = req.GET.get('a') - if a=='listall': + if a == 'listall': userid = req.session['userid'] companyid = getcompany(userid) - startnum,endnum=fenye(req) - a = Safecert.objects.filter(usecomp=Partment.objects.get(partid=companyid)).order_by('id')#无deletemark + startnum, endnum = fenye(req) + a = Safecert.objects.filter(usecomp=Partment.objects.get( + partid=companyid)).order_by('id') # 无deletemark total = a.count() - startnum,endnum=fenye(req) + startnum, endnum = fenye(req) if req.GET.get('sort'): a = a.order_by(req.GET.get('sort')) - a = a[startnum:endnum].values('id','realname','gender','zglx','dwlx','fzjg','yfsrq','yxqkssj','yxqjssj','zszt','url') - return HttpResponse(transjson(total,a),content_type="application/json") - elif a=='listself': + a = a[startnum:endnum].values('id', 'realname', 'gender', 'zglx', + 'dwlx', 'fzjg', 'yfsrq', 'yxqkssj', 'yxqjssj', 'zszt', 'url') + return HttpResponse(transjson(total, a), content_type="application/json") + elif a == 'listself': userid = req.session['userid'] cardnum = Userprofile.objects.get(user__userid=userid).cardnum - a = Safecert.objects.filter(cardnum=cardnum).order_by('id')#无deletemark + a = Safecert.objects.filter( + cardnum=cardnum).order_by('id') # 无deletemark total = a.count() if req.GET.get('sort'): a = a.order_by(req.GET.get('sort')) - a = a.values('id','realname','gender','zglx','dwlx','fzjg','yfsrq','yxqkssj','yxqjssj','zszt','url') - return HttpResponse(transjson(total,a),content_type="application/json") + a = a.values('id', 'realname', 'gender', 'zglx', 'dwlx', + 'fzjg', 'yfsrq', 'yxqkssj', 'yxqjssj', 'zszt', 'url') + return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'addspider': postdata = json.loads(req.body.decode('utf-8')) userid = postdata['userid'] realname = postdata['realname'] cardnum = postdata['cardnum'] companyid = getcompany(userid) - data = getAqzs(cardnum,realname) + data = getAqzs(cardnum, realname) data1 = [] - gender='' + gender = '' if data: for i in data: if i['资格类型'] not in data1: - updated_values={ - 'user':User.objects.get(userid=userid), - 'usecomp':Partment.objects.get(partid=companyid), - 'realname':i['姓名'], - 'gender':i['性别'], - 'zglx':i['资格类型'], - 'dwlx':i['单位类型'], - 'fzjg':i['发证机关'], - 'yfsrq':i['应复审日期'] if i['应复审日期'] else None, - 'yxqkssj':i['有效期开始时间'] if i['有效期开始时间'] else None, - 'yxqjssj':i['有效期结束时间'] if i['有效期结束时间'] else None, - 'url':i['url'], + updated_values = { + 'user': User.objects.get(userid=userid), + 'usecomp': Partment.objects.get(partid=companyid), + 'realname': i['姓名'], + 'gender': i['性别'], + 'zglx': i['资格类型'], + 'dwlx': i['单位类型'], + 'fzjg': i['发证机关'], + 'yfsrq': i['应复审日期'] if i['应复审日期'] else None, + 'yxqkssj': i['有效期开始时间'] if i['有效期开始时间'] else None, + 'yxqjssj': i['有效期结束时间'] if i['有效期结束时间'] else None, + 'url': i['url'], } try: updated_values['zszt'] = guoqi(i['应复审日期']) except: pass obj, created = Safecert.objects.update_or_create( - cardnum=cardnum, zglx=i['资格类型'],defaults=updated_values) + cardnum=cardnum, zglx=i['资格类型'], defaults=updated_values) data1.append(i['资格类型']) gender = i['性别'] else: - obj = Safecert.objects.get(cardnum=cardnum,zglx=i['资格类型']) - if obj.yxqjssj.strftime('%Y-%m-%d')0: + questionobjs = Question.objects.filter( + questioncat__id__in=data['tmfls']) + if dxnum > 0: qobjs = questionobjs.filter(type=1).order_by('?')[:dxnum] for i in qobjs: - ExamPaperDetail.objects.create(exampaper=objpaper,question=i,score=dxs) - if duoxnum>0: + ExamPaperDetail.objects.create( + exampaper=objpaper, question=i, score=dxs) + if duoxnum > 0: qobjs = questionobjs.filter(type=2).order_by('?')[:duoxnum] for i in qobjs: - ExamPaperDetail.objects.create(exampaper=objpaper,question=i,score=duoxs) - if pdnum>0: + ExamPaperDetail.objects.create( + exampaper=objpaper, question=i, score=duoxs) + if pdnum > 0: qobjs = questionobjs.filter(type=3).order_by('?')[:pdnum] for i in qobjs: - ExamPaperDetail.objects.create(exampaper=objpaper,question=i,score=pds) - #结束 + ExamPaperDetail.objects.create( + exampaper=objpaper, question=i, score=pds) + # 结束 obj.exampaper = objpaper if 'starttime' in data: if data['starttime']: @@ -5202,117 +5741,126 @@ def apiexamtest(req): obj.passscore = data['passscore'] obj.duration = data['duration'] obj.createuser = User.objects.get(userid=userid) - obj.qrcode = makeqr_examtest('https://safeyun.ctcshe.com/miniprogram/examtest?id='+str(obj.id)) + obj.qrcode = makeqr_examtest( + 'https://safeyun.ctcshe.com/miniprogram/examtest?id='+str(obj.id)) obj.save() ksry = data['participant'].split(',') b = [] for i in ksry: uobj = User.objects.get(userid=i) - ExamTestDetail.objects.create(examtest=obj,user=uobj) + ExamTestDetail.objects.create(examtest=obj, user=uobj) b.append(uobj.openid) - postdict={ - 'touser':'', - 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', - "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/examtest/index"}, - 'data':{ - 'first':{ - 'value': '小程序考试通知:' + postdict = { + 'touser': '', + 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0', + "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/examtest/index"}, + 'data': { + 'first': { + 'value': '小程序考试通知:' }, - 'keyword1':{ - 'value':data['name'] + 'keyword1': { + 'value': data['name'] }, - 'keyword2':{ - 'value':'满分'+ str(obj.totalscore) + 'keyword2': { + 'value': '满分' + str(obj.totalscore) }, - 'remark':{ - 'value':'用时限制为'+data['duration']+'分钟,注意把握时间' + 'remark': { + 'value': '用时限制为'+data['duration']+'分钟,注意把握时间' } } } - send_wechatmsgs.delay(postdict,b) - return JsonResponse({"code":1}) + send_wechatmsgs.delay(postdict, b) + return JsonResponse({"code": 1}) elif a == 'del': id = req.GET.get('id') user = User.objects.get(userid=userid) a = ExamTest.objects.get(id=id) - if user.issuper==1 or a.createuser==user: + if user.issuper == 1 or a.createuser == user: ExamTestDetail.objects.filter(examtest=a).delete() a.delete() - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) + return JsonResponse({"code": 0}) elif a == 'close': id = req.GET.get('id') user = User.objects.get(userid=userid) a = ExamTest.objects.get(id=id) - if user.issuper==1 or a.createuser==user: + if user.issuper == 1 or a.createuser == user: a.state = 0 a.save() - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) + return JsonResponse({"code": 0}) elif a == 'detail': id = req.GET.get('id') - a = ExamTest.objects.filter(id=id).values('id','num','name','starttime','endtime','duration','totalscore','passscore','exampaper__total','createtime','state','exampaper__name','createuser__name','type','qrcode')[0] - objs = ExamTestDetail.objects.filter(examtest__id=id).order_by('-score').values('id','user__name','user__ubelongpart__partname','took','score','ison','passcode') + a = ExamTest.objects.filter(id=id).values('id', 'num', 'name', 'starttime', 'endtime', 'duration', 'totalscore', + 'passscore', 'exampaper__total', 'createtime', 'state', 'exampaper__name', 'createuser__name', 'type', 'qrcode')[0] + objs = ExamTestDetail.objects.filter(examtest__id=id).order_by('-score').values( + 'id', 'user__name', 'user__ubelongpart__partname', 'took', 'score', 'ison', 'passcode') a['cjrydetail'] = list(objs) - return HttpResponse(json.dumps(a,cls=MyEncoder),content_type="application/json") + return HttpResponse(json.dumps(a, cls=MyEncoder), content_type="application/json") elif a == 'detailtm': id = req.GET.get('id') test = ExamTest.objects.get(id=id) - objs = ExamPaperDetail.objects.filter(exampaper=test.exampaper).values('id','question__id','score','question__title','question__type','question__answer','question__right','question__resolution') + objs = ExamPaperDetail.objects.filter(exampaper=test.exampaper).values( + 'id', 'question__id', 'score', 'question__title', 'question__type', 'question__answer', 'question__right', 'question__resolution') duration = test.duration - data = {'duration':duration,'tms':list(objs)} + data = {'duration': duration, 'tms': list(objs)} return JsonResponse(data) elif a == 'exportword': data = json.loads(req.body.decode('utf-8')) - url = exportdoc2('ks',data) - return JsonResponse({"code":1,"downloadurl":url}) + url = exportdoc2('ks', data) + return JsonResponse({"code": 1, "downloadurl": url}) def apiexamtestdetail(req): a = req.GET.get('a') userid = req.session['userid'] companyid = getcompany(userid) - if a=='dknum': + if a == 'dknum': a = ExamTestDetail.objects - a = a.filter(user__userid=userid,examtest__state=1,ison=0,examtest__endtime__gte=datetime.now()) + a = a.filter(user__userid=userid, examtest__state=1, + ison=0, examtest__endtime__gte=datetime.now()) dknum = a.count() - return JsonResponse({"code":1,"dknum":dknum}) - elif a=='listdk': + return JsonResponse({"code": 1, "dknum": dknum}) + elif a == 'listdk': a = ExamTestDetail.objects - a = a.filter(user__userid=userid,examtest__state=1,ison=0).order_by('-id') + a = a.filter(user__userid=userid, examtest__state=1, + ison=0).order_by('-id') total = a.count() - startnum,endnum=fenye(req) - a = a[startnum:endnum].values('id','examtest__id','examtest__name','examtest__starttime','examtest__endtime','examtest__passscore','examtest__state','examtest__duration') + startnum, endnum = fenye(req) + a = a[startnum:endnum].values('id', 'examtest__id', 'examtest__name', 'examtest__starttime', + 'examtest__endtime', 'examtest__passscore', 'examtest__state', 'examtest__duration') for i in a: if i['examtest__endtime']: - if i['examtest__endtime']>datetime.now(): + if i['examtest__endtime'] > datetime.now(): i['isActive'] = True else: i['isActive'] = False else: i['isActive'] = True - return HttpResponse(transjson(total,a),content_type="application/json") - elif a=='listyk': + return HttpResponse(transjson(total, a), content_type="application/json") + elif a == 'listyk': a = ExamTestDetail.objects a = a.filter(user__userid=userid).exclude(ison=0).order_by('-id') total = a.count() - startnum,endnum=fenye(req) - a = a[startnum:endnum].values('id','examtest__id','examtest__name','starttime','examtest__passscore','examtest__state','ison','examtest__duration','took','score','passcode') - return HttpResponse(transjson(total,a),content_type="application/json") + startnum, endnum = fenye(req) + a = a[startnum:endnum].values('id', 'examtest__id', 'examtest__name', 'starttime', 'examtest__passscore', + 'examtest__state', 'ison', 'examtest__duration', 'took', 'score', 'passcode') + return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'handtest': data = json.loads(req.body.decode('utf-8')) testid = data['testid'] starttime = data['starttime'] endtime = data['endtime'] - took = round((datetime.strptime(endtime, '%Y-%m-%d %H:%M:%S')-datetime.strptime(starttime, '%Y-%m-%d %H:%M:%S')).total_seconds()/60) + took = round((datetime.strptime(endtime, '%Y-%m-%d %H:%M:%S') - + datetime.strptime(starttime, '%Y-%m-%d %H:%M:%S')).total_seconds()/60) testdetail = data['sheet'] score = 0 rights = 0 tms = [] wrongs = [] - for i in testdetail:#判卷 + for i in testdetail: # 判卷 iscore = 0 if i['question__type'] == 2: if 'userchecked' in i: @@ -5339,7 +5887,8 @@ def apiexamtestdetail(req): i['iscore'] = iscore score = score + iscore tms.append(str(i['question__id'])) - obj = ExamTestDetail.objects.get(examtest__id=testid,user__userid=userid) + obj = ExamTestDetail.objects.get( + examtest__id=testid, user__userid=userid) obj.testnum = obj.testnum + 1 obj.starttime = starttime obj.endtime = endtime @@ -5362,56 +5911,64 @@ def apiexamtestdetail(req): obj.wrongs = ','+','.join(wrongs)+',' obj.save() tmnum = len(testdetail) - objs = ExamTestDetail.objects.filter(examtest__id=testid,ison=0) + objs = ExamTestDetail.objects.filter(examtest__id=testid, passcode=0) # 如果全部考完并通过,关闭考试 if objs.exists(): pass else: ExamTest.objects.filter(id=testid).update(state=0) - return JsonResponse({'code':1,'data':{'passcode':passcode,'score':score,'totalscore':totalscore,'rights':rights,'tmnum':tmnum,'examtestdetailid':obj.id}}) + return JsonResponse({'code': 1, 'data': {'passcode': passcode, 'score': score, 'totalscore': totalscore, 'rights': rights, 'tmnum': tmnum, 'examtestdetailid': obj.id}}) elif a == 'detail': id = req.GET.get('id') obj = ExamTestDetail.objects.filter(id=id) - data = obj.values('id','starttime','took','score','passcode','testdetail','examtest__name','user__headimgurl','user__name')[0] + data = obj.values('id', 'starttime', 'took', 'score', 'passcode', + 'testdetail', 'examtest__name', 'user__headimgurl', 'user__name')[0] return JsonResponse(data) - elif a=='updateison': - id = req.GET.get('id') - examdlid = req.GET.get('examdlid') - user = User.objects.get(userid=userid) - a = ExamTest.objects.get(id=id) - if a.createuser==user: - objss = ExamTestDetail.objects.get(id=examdlid) - objss.ison=0 - objss.testnum=objss.testnum+1 - objss.save() - return JsonResponse({"code":1,"message":"发布成功!"}) - else: - return JsonResponse({"code":2,"message":"您没有发布权限!"}) + elif a == 'updateison': + id = req.GET.get('id') + examdlid = req.GET.get('examdlid') + user = User.objects.get(userid=userid) + a = ExamTest.objects.get(id=id) + if a.createuser == user: + objss = ExamTestDetail.objects.get(id=examdlid) + objss.ison = 0 + objss.testnum = objss.testnum+1 + objss.save() + return JsonResponse({"code": 1, "message": "发布成功!"}) + else: + return JsonResponse({"code": 2, "message": "您没有发布权限!"}) + + def apitrain(req): - if req.GET.get('a')=='listjoin': + if req.GET.get('a') == 'listjoin': userid = req.session['userid'] objs = Trainuser.objects.filter(train__deletemark=1) if req.GET.get('sry'): objs = objs.filter(participant__userid=req.GET.get('sry')) else: objs = objs.filter(participant__userid=userid) - total= objs.count() - startnum,endnum=fenye(req) - objs=objs[startnum:endnum].values('train__trainnum','train__trainid','train__state','train__trainplace','train__starttime','train__trainname','train__teacher','train__lecturer__name','participant__name','participant__name','checked','train__duration','examtestdetail') - return HttpResponse(transjson(total,objs),content_type="application/json") + total = objs.count() + startnum, endnum = fenye(req) + objs = objs[startnum:endnum].values('train__trainnum', 'train__trainid', 'train__state', 'train__trainplace', 'train__starttime', 'train__trainname', + 'train__teacher', 'train__lecturer__name', 'participant__name', 'participant__name', 'checked', 'train__duration', 'examtestdetail') + return HttpResponse(transjson(total, objs), content_type="application/json") + def apiquestioncat(req): a = req.GET.get('a') userid = req.session['userid'] companyid = getcompany(userid) if a == 'tree1': - list_items = (Questioncat.objects.filter(usecomp__partid=1,deletemark=1)).annotate(parentId=F('parent__id')).values('id','parentId','name') - return HttpResponse(json.dumps(list(list_items)),content_type="application/json") + list_items = (Questioncat.objects.filter(usecomp__partid=1, deletemark=1)).annotate( + parentId=F('parent__id')).values('id', 'parentId', 'name') + return HttpResponse(json.dumps(list(list_items)), content_type="application/json") elif a == 'tree2': - list_items = (Questioncat.objects.filter(usecomp__partid=companyid,deletemark=1)).annotate(parentId=F('parent__id')).values('id','parentId','name') - return HttpResponse(json.dumps(list(list_items)),content_type="application/json") + list_items = (Questioncat.objects.filter(usecomp__partid=companyid, deletemark=1)).annotate( + parentId=F('parent__id')).values('id', 'parentId', 'name') + return HttpResponse(json.dumps(list(list_items)), content_type="application/json") elif a == 'tree': - list_items = (Questioncat.objects.filter(usecomp__partid=1,deletemark=1)|Questioncat.objects.filter(usecomp__partid=companyid,deletemark=1)).annotate(parentId=F('parent__id')).values('id','parentId','name') - return HttpResponse(json.dumps(list(list_items)),content_type="application/json") + list_items = (Questioncat.objects.filter(usecomp__partid=1, deletemark=1) | Questioncat.objects.filter( + usecomp__partid=companyid, deletemark=1)).annotate(parentId=F('parent__id')).values('id', 'parentId', 'name') + return HttpResponse(json.dumps(list(list_items)), content_type="application/json") elif a == 'add': data = json.loads(req.body.decode('utf-8')) obj = Questioncat() @@ -5425,20 +5982,21 @@ def apiquestioncat(req): obj.link = parentobj.link + str(data['parent']) + ',' obj.usecomp = Partment.objects.get(partid=companyid) obj.save() - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) elif a == 'del': id = req.GET.get('id') user = User.objects.get(userid=userid) a = Questioncat.objects.get(id=id) - if user.issuper==1 or a.usecomp.partid == companyid: - Questioncat.objects.filter(id = id).update(deletemark=0) - return JsonResponse({"code":1}) + if user.issuper == 1 or a.usecomp.partid == companyid: + Questioncat.objects.filter(id=id).update(deletemark=0) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) - return JsonResponse({"code":1}) + return JsonResponse({"code": 0}) + return JsonResponse({"code": 1}) elif a == 'detail': id = req.GET.get('id') - a = Questioncat.objects.filter(id=id).values('id','name','parent__id')[0] + a = Questioncat.objects.filter(id=id).values( + 'id', 'name', 'parent__id')[0] return JsonResponse(a) elif a == 'edit': data = json.loads(req.body.decode('utf-8')) @@ -5451,106 +6009,124 @@ def apiquestioncat(req): a.parent = parent oldlink = a.link a.link = parent.link + str(parent.id) + ',' - Questioncat.objects.filter(link__contains = oldlink + str(id) + ',').update(link= a.link + str(id) +',' ) + Questioncat.objects.filter( + link__contains=oldlink + str(id) + ',').update(link=a.link + str(id) + ',') a.save() - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) + def apimap(req): a = req.GET.get('a') userid = req.session['userid'] companyid = getcompany(userid) if a == 'tree': - list_items = (Map.objects.filter(usecomp__partid=companyid,deletemark=1)).annotate(parentId=F('parent__id')).values('id','parentId','name','pic') - return HttpResponse(json.dumps(list(list_items)),content_type="application/json") + list_items = (Map.objects.filter(usecomp__partid=companyid, deletemark=1)).annotate( + parentId=F('parent__id')).values('id', 'parentId', 'name', 'pic') + return HttpResponse(json.dumps(list(list_items)), content_type="application/json") elif a == 'default': - obj = Map.objects.filter(usecomp__partid=companyid,deletemark=1,default=1).values('id','name','pic') + obj = Map.objects.filter( + usecomp__partid=companyid, deletemark=1, default=1).values('id', 'name', 'pic') return JsonResponse(obj[0]) elif a == 'update': id = req.POST.get('id') Map.objects.filter(id=id).update(pic=req.POST.get('pic')) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) + def apiarea(req): a = req.GET.get('a') userid = req.session['userid'] companyid = getcompany(userid) - if a=='listall': - a = Area.objects.filter(deletemark=1,belongmap__id=req.GET.get('map')) + if a == 'listall': + a = Area.objects.filter(deletemark=1, belongmap__id=req.GET.get('map')) total = a.count() - a = a.order_by('order').values('id','name','polygon','order','belongmap__id') - return HttpResponse(transjson(total,a),content_type="application/json") - elif a=='bind': + a = a.order_by('order').values( + 'id', 'name', 'polygon', 'order', 'belongmap__id') + return HttpResponse(transjson(total, a), content_type="application/json") + elif a == 'bind': data = json.loads(req.body.decode('utf-8')) Area.objects.filter(id=data['id']).update(polygon=data['polygon']) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) elif a == 'tree': - mapobj = Map.objects.filter(usecomp__partid=companyid,deletemark=1) - if mapobj.count()==1: - objs = Area.objects.filter(belongmap=mapobj[0],deletemark=1).order_by('order').values('id','name') - return HttpResponse(json.dumps(list(objs)),content_type="application/json") + mapobj = Map.objects.filter(usecomp__partid=companyid, deletemark=1) + if mapobj.count() == 1: + objs = Area.objects.filter(belongmap=mapobj[0], deletemark=1).order_by( + 'order').values('id', 'name') + return HttpResponse(json.dumps(list(objs)), content_type="application/json") elif a == 'add': data = json.loads(req.body.decode('utf-8')) name = data['name'] - if Area.objects.filter(usecomp__partid=companyid,name=name,deletemark=1).exists(): - return JsonResponse({"code":0}) + if Area.objects.filter(usecomp__partid=companyid, name=name, deletemark=1).exists(): + return JsonResponse({"code": 0}) map = data['map'] order = data['order'] - obj = Area.objects.create(name = name,order=order,belongmap=Map.objects.get(id=map),usecomp=Partment.objects.get(partid=companyid)) - makeqr_area('https://safeyun.ctcshe.com/miniprogram/area?id='+str(obj.id)) - return JsonResponse({"code":1}) + obj = Area.objects.create(name=name, order=order, belongmap=Map.objects.get( + id=map), usecomp=Partment.objects.get(partid=companyid)) + makeqr_area( + 'https://safeyun.ctcshe.com/miniprogram/area?id='+str(obj.id)) + return JsonResponse({"code": 1}) elif a == 'del': - if User.objects.get(userid=userid).issuper==1: + if User.objects.get(userid=userid).issuper == 1: Area.objects.filter(id=req.GET.get('id')).update(deletemark=0) - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) + return JsonResponse({"code": 0}) elif a == 'detail': - obj = Area.objects.filter(deletemark=1,id=req.GET.get('id')).values('id','name','polygon','order','qrcode')[0] + obj = Area.objects.filter(deletemark=1, id=req.GET.get('id')).values( + 'id', 'name', 'polygon', 'order', 'qrcode')[0] return JsonResponse(obj) elif a == 'edit': data = json.loads(req.body.decode('utf-8')) name = data['name'] order = data['order'] - Area.objects.filter(id=data['id']).update(name = name,order=order) - return JsonResponse({"code":1}) + Area.objects.filter(id=data['id']).update(name=name, order=order) + return JsonResponse({"code": 1}) + def apimapshow(req): a = req.GET.get('a') userid = req.session['userid'] companyid = getcompany(userid) - if a=='trouble': - objs = Trouble.objects.filter(usecomp__partid = companyid,deletemark=1).exclude(yhzt=6).exclude(yhqy=None).exclude(yhqy__deletemark=0).values('yhqy__id','yhqy__name','yhqy__polygon').annotate(num=Count('yhqy')) - return HttpResponse(json.dumps(list(objs)),content_type="application/json") - elif a=='miss': + if a == 'trouble': + objs = Trouble.objects.filter(usecomp__partid=companyid, deletemark=1).exclude(yhzt=6).exclude(yhqy=None).exclude( + yhqy__deletemark=0).values('yhqy__id', 'yhqy__name', 'yhqy__polygon').annotate(num=Count('yhqy')) + return HttpResponse(json.dumps(list(objs)), content_type="application/json") + elif a == 'miss': date1 = datetime.now() - timedelta(days=30) - objs = Miss.objects.filter(usecomp__partid = companyid,deletemark=1,submittime__gte = date1).exclude(missqy=None).values('missqy__id','missqy__name','missqy__polygon').annotate(num=Count('missqy')) - return HttpResponse(json.dumps(list(objs)),content_type="application/json") - elif a=='risk': - objs = Area.objects.filter(usecomp__partid = companyid,deletemark=1).exclude(risklevel=None).values('id','name','polygon','risklevel')#缺少deletemark - return HttpResponse(json.dumps(list(objs)),content_type="application/json") - elif a=='operation': - objs = Operation.objects.filter(usecomp__partid = companyid,deletemark=1).exclude(zyqy=None).exclude(zyzt__zyzt='已关闭') - objs=objs.values('zyqy__id','zyqy__name','zyqy__polygon').annotate(num=Count('zyqy')) - return HttpResponse(json.dumps(list(objs)),content_type="application/json") - elif a=='all': + objs = Miss.objects.filter(usecomp__partid=companyid, deletemark=1, submittime__gte=date1).exclude( + missqy=None).values('missqy__id', 'missqy__name', 'missqy__polygon').annotate(num=Count('missqy')) + return HttpResponse(json.dumps(list(objs)), content_type="application/json") + elif a == 'risk': + objs = Area.objects.filter(usecomp__partid=companyid, deletemark=1).exclude( + risklevel=None).values('id', 'name', 'polygon', 'risklevel') # 缺少deletemark + return HttpResponse(json.dumps(list(objs)), content_type="application/json") + elif a == 'operation': + objs = Operation.objects.filter(usecomp__partid=companyid, deletemark=1).exclude( + zyqy=None).exclude(zyzt__zyzt='已关闭') + objs = objs.values('zyqy__id', 'zyqy__name', + 'zyqy__polygon').annotate(num=Count('zyqy')) + return HttpResponse(json.dumps(list(objs)), content_type="application/json") + elif a == 'all': date1 = datetime.now() - timedelta(days=30) - yh = Trouble.objects.filter(usecomp__partid = companyid,deletemark=1).exclude(yhzt=6).exclude(yhqy=None).exclude(yhqy__deletemark=0).values('yhqy__id','yhqy__name','yhqy__polygon').annotate(num=Count('yhqy')) - ws = Miss.objects.filter(usecomp__partid = companyid,deletemark=1,submittime__gte = date1).exclude(missqy=None).values('missqy__id','missqy__name','missqy__polygon').annotate(num=Count('missqy')) - zy = Operation.objects.filter(usecomp__partid = companyid,deletemark=1).exclude(zyqy=None).exclude(zyzt__zyzt='已关闭').values('zyqy__id','zyqy__name','zyqy__polygon').annotate(num=Count('zyqy')) - fx = Area.objects.filter(usecomp__partid = companyid).exclude(risklevel=None).values('id','name','polygon','risklevel') - return JsonResponse({'code':1,'data':{'yh':list(yh),'ws':list(ws),'zy':list(zy),'fx':list(fx)}}) - - - + yh = Trouble.objects.filter(usecomp__partid=companyid, deletemark=1).exclude(yhzt=6).exclude(yhqy=None).exclude( + yhqy__deletemark=0).values('yhqy__id', 'yhqy__name', 'yhqy__polygon').annotate(num=Count('yhqy')) + ws = Miss.objects.filter(usecomp__partid=companyid, deletemark=1, submittime__gte=date1).exclude( + missqy=None).values('missqy__id', 'missqy__name', 'missqy__polygon').annotate(num=Count('missqy')) + zy = Operation.objects.filter(usecomp__partid=companyid, deletemark=1).exclude(zyqy=None).exclude( + zyzt__zyzt='已关闭').values('zyqy__id', 'zyqy__name', 'zyqy__polygon').annotate(num=Count('zyqy')) + fx = Area.objects.filter(usecomp__partid=companyid).exclude( + risklevel=None).values('id', 'name', 'polygon', 'risklevel') + return JsonResponse({'code': 1, 'data': {'yh': list(yh), 'ws': list(ws), 'zy': list(zy), 'fx': list(fx)}}) def apiequipment(req): a = req.GET.get('a') userid = req.session['userid'] companyid = getcompany(userid) - if a=='listall': - objs = Equipment.objects.filter(deletemark=1,usecomp__partid=companyid) - if req.GET.get('area',False): + if a == 'listall': + objs = Equipment.objects.filter( + deletemark=1, usecomp__partid=companyid) + if req.GET.get('area', False): objs = objs.filter(area__id=req.GET.get('area')) if req.GET.get('cate'): objs = objs.filter(cate__dickeyid=req.GET.get('cate')) @@ -5558,13 +6134,14 @@ def apiequipment(req): objs = objs.filter(state=req.GET.get('state')) if req.GET.get('name'): objs = objs.filter(name__contains=req.GET.get('name')) - if req.GET.get('b',None) == 'exportexcel': - res = exportxlsx('equipment',objs)#导出设备列表 + if req.GET.get('b', None) == 'exportexcel': + res = exportxlsx('equipment', objs) # 导出设备列表 return res total = objs.count() - startnum,endnum=fenye(req) - objs = objs.order_by('num')[startnum:endnum].values('id','num','name','type','oem','udate','place','istz','iskey','state','cate__dickeyname','area__name') - return HttpResponse(transjson(total,objs),content_type="application/json") + startnum, endnum = fenye(req) + objs = objs.order_by('num')[startnum:endnum].values( + 'id', 'num', 'name', 'type', 'oem', 'udate', 'place', 'istz', 'iskey', 'state', 'cate__dickeyname', 'area__name') + return HttpResponse(transjson(total, objs), content_type="application/json") elif a == 'update': data = json.loads(req.body.decode('utf-8')) id = data['id'] @@ -5589,27 +6166,29 @@ def apiequipment(req): if data['zrbm']: obj.zrbm = Partment.objects.get(partid=data['zrbm']) if data['zrr']: - obj.zrr = User.objects.get(userid=data['zrr'] ) + obj.zrr = User.objects.get(userid=data['zrr']) if data['riskact']: obj.riskact = RiskAct.objects.get(id=data['riskact']) obj.parameter = data['parameter'] - obj.usecomp=Partment.objects.get(partid=companyid) + obj.usecomp = Partment.objects.get(partid=companyid) obj.save() - obj.qrcode = makeqr('https://safeyun.ctcshe.com/miniprogram/equipment?id='+str(obj.id)) + obj.qrcode = makeqr( + 'https://safeyun.ctcshe.com/miniprogram/equipment?id='+str(obj.id)) obj.save() - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) elif a == 'del': id = req.GET.get('id') user = User.objects.get(userid=userid) a = Equipment.objects.get(id=id) - if user.issuper==1: + if user.issuper == 1: a.delete() - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) + return JsonResponse({"code": 0}) elif a == 'detail': id = req.GET.get('id') - a = Equipment.objects.filter(id=id).values('id','num','name','type','oem','udate','fdate','fnum','place','istz','iskey','state','cate__dickeyname','cate__dickeyid','parameter','img','area__name','area__id','zrbm__partid','zrr__userid','zrbm__partname','zrr__name','qrcode','riskact__name','riskact__id') + a = Equipment.objects.filter(id=id).values('id', 'num', 'name', 'type', 'oem', 'udate', 'fdate', 'fnum', 'place', 'istz', 'iskey', 'state', 'cate__dickeyname', + 'cate__dickeyid', 'parameter', 'img', 'area__name', 'area__id', 'zrbm__partid', 'zrr__userid', 'zrbm__partname', 'zrr__name', 'qrcode', 'riskact__name', 'riskact__id') return JsonResponse(a[0]) @@ -5617,63 +6196,69 @@ def apiinspect(req): a = req.GET.get('a') userid = req.session['userid'] companyid = getcompany(userid) - if a=='listall': + if a == 'listall': a = Inspect.objects.filter(usecomp__partid=companyid) total = a.count() - startnum,endnum=fenye(req) - a = a.order_by('-id')[startnum:endnum].values('id','state','content','creattime','equipment__num','equipment__name','equipment__area__name','user__name','user__ubelongpart__partname','trouble__yhzt','trouble__yhnum','trouble__yhms') - return HttpResponse(transjson(total,a),content_type="application/json") + startnum, endnum = fenye(req) + a = a.order_by('-id')[startnum:endnum].values('id', 'state', 'content', 'creattime', 'equipment__num', 'equipment__name', + 'equipment__area__name', 'user__name', 'user__ubelongpart__partname', 'trouble__yhzt', 'trouble__yhnum', 'trouble__yhms') + return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'listself': - a = Inspect.objects.filter(usecomp__partid=companyid,user__userid=userid) + a = Inspect.objects.filter( + usecomp__partid=companyid, user__userid=userid) total = a.count() - startnum,endnum=fenye(req) - a = a.order_by('-id')[startnum:endnum].values('id','state','content','creattime','equipment__num','equipment__name','equipment__area__name','user__name','user__ubelongpart__partname','trouble__yhzt','trouble__yhnum','trouble__yhms') - return HttpResponse(transjson(total,a),content_type="application/json") + startnum, endnum = fenye(req) + a = a.order_by('-id')[startnum:endnum].values('id', 'state', 'content', 'creattime', 'equipment__num', 'equipment__name', + 'equipment__area__name', 'user__name', 'user__ubelongpart__partname', 'trouble__yhzt', 'trouble__yhnum', 'trouble__yhms') + return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'listsearch': a = Inspect.objects.filter(usecomp__partid=companyid) qssj = req.GET.get('qssj') jssj = req.GET.get('jssj') - xjbm= req.GET.get('xjbm') + xjbm = req.GET.get('xjbm') xjr = req.GET.get('xjr') state = req.GET.get('state') if xjbm or xjr: if xjr: a = a.filter(user__userid=xjr) else: - parts = Partment.objects.filter(partid=xjbm)|Partment.objects.filter(partlink__contains=','+xjbm+',') - a = a.filter(user__ubelongpart__in = parts) + parts = Partment.objects.filter(partid=xjbm) | Partment.objects.filter( + partlink__contains=','+xjbm+',') + a = a.filter(user__ubelongpart__in=parts) if qssj: a = a.filter(creattime__gte=qssj) if jssj: a = a.filter(creattime__lte=jssj) if state: a = a.filter(state=state) - total=a.count() - startnum,endnum=fenye(req) - a = a.order_by('-creattime')[startnum:endnum].values('id','state','content','creattime','equipment__num','equipment__name','equipment__area__name','user__name','user__ubelongpart__partname','trouble__yhzt','trouble__yhnum','trouble__yhms') - return HttpResponse(transjson(total,a),content_type="application/json") + total = a.count() + startnum, endnum = fenye(req) + a = a.order_by('-creattime')[startnum:endnum].values('id', 'state', 'content', 'creattime', 'equipment__num', 'equipment__name', + 'equipment__area__name', 'user__name', 'user__ubelongpart__partname', 'trouble__yhzt', 'trouble__yhnum', 'trouble__yhms') + return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'exportexcel': objs = Inspect.objects.filter(usecomp__partid=companyid) qssj = req.GET.get('qssj') jssj = req.GET.get('jssj') - xjbm= req.GET.get('xjbm') + xjbm = req.GET.get('xjbm') xjr = req.GET.get('xjr') state = req.GET.get('state') if xjbm or xjr: if xjr: objs = objs.filter(user__userid=xjr) else: - parts = Partment.objects.filter(partid=xjbm)|Partment.objects.filter(partlink__contains=','+xjbm+',') - objs = objs.filter(user__ubelongpart__in = parts) + parts = Partment.objects.filter(partid=xjbm) | Partment.objects.filter( + partlink__contains=','+xjbm+',') + objs = objs.filter(user__ubelongpart__in=parts) if qssj: objs = objs.filter(creattime__gte=qssj) if jssj: objs = objs.filter(creattime__lte=jssj) if state: objs = objs.filter(state=state) - res = exportxlsx('xj',objs) + res = exportxlsx('xj', objs) return res - elif a=='add': + elif a == 'add': data = json.loads(req.body.decode('utf-8')) a = Inspect() equipment = data['equipment'] @@ -5681,65 +6266,70 @@ def apiinspect(req): if 'content' in data: if data['content']: content = data['content'] - a.content=content + a.content = content if 'trouble' in data: if data['trouble']: a.trouble = Trouble.objects.get(troubleid=data['trouble']) x = Equipment.objects.get(id=equipment) a.equipment = x a.state = state - x.state=state + x.state = state x.save() a.usecomp = Partment.objects.get(partid=companyid) a.user = User.objects.get(userid=userid) a.save() - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) elif a == 'del': id = req.GET.get('id') user = User.objects.get(userid=userid) obj = Inspect.objects.get(id=id) - if user.issuper==1 or obj.user==user: + if user.issuper == 1 or obj.user == user: obj.delete() - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) + return JsonResponse({"code": 0}) elif a == 'detail': id = req.GET.get('id') - a = Inspect.objects.filter(id=id).values('id','state','content','creattime','equipment__num','equipment__id','equipment__name','equipment__area__name','user__name','user__ubelongpart__partname','trouble__yhzt','trouble__yhnum','trouble__yhms','trouble__troubleid') + a = Inspect.objects.filter(id=id).values('id', 'state', 'content', 'creattime', 'equipment__num', 'equipment__id', 'equipment__name', + 'equipment__area__name', 'user__name', 'user__ubelongpart__partname', 'trouble__yhzt', 'trouble__yhnum', 'trouble__yhms', 'trouble__troubleid') return JsonResponse(a[0]) + def apiriskact(req): a = req.GET.get('a') userid = req.session['userid'] companyid = getcompany(userid) - if a=='listall': + if a == 'listall': a = RiskAct.objects.filter(usecomp__partid=companyid) - if int(req.GET.get('area',0)): - a = a.filter(area__id = req.GET.get('area')) - if int(req.GET.get('type',0)): + if int(req.GET.get('area', 0)): + a = a.filter(area__id=req.GET.get('area')) + if int(req.GET.get('type', 0)): a = a.filter(type__dickeyid=req.GET.get('type')) total = a.count() - startnum,endnum=fenye(req) - a = a.order_by('area')[startnum:endnum].values('id','area__name','type__dickeyname','name','level','qrcode','group__groupname','zrbm__partname','zrr__name','gkcj') - return HttpResponse(transjson(total,a),content_type="application/json") - elif a=='listall2': + startnum, endnum = fenye(req) + a = a.order_by('area')[startnum:endnum].values('id', 'area__name', 'type__dickeyname', + 'name', 'level', 'qrcode', 'group__groupname', 'zrbm__partname', 'zrr__name', 'gkcj') + return HttpResponse(transjson(total, a), content_type="application/json") + elif a == 'listall2': a = RiskAct.objects if req.GET.get('area'): - a = a.filter(area__id = req.GET.get('area')) + a = a.filter(area__id=req.GET.get('area')) total = a.count() - a = a.values('id','area__name','type__dickeyname','name','level','qrcode','group__groupname','zrbm__partname','zrr__name','gkcj') - return HttpResponse(transjson(total,a),content_type="application/json") - elif a=='listself': + a = a.values('id', 'area__name', 'type__dickeyname', 'name', 'level', + 'qrcode', 'group__groupname', 'zrbm__partname', 'zrr__name', 'gkcj') + return HttpResponse(transjson(total, a), content_type="application/json") + elif a == 'listself': groups = Group.objects.filter(users=User.objects.get(userid=userid)) objs = RiskAct.objects.filter(group__in=groups) if req.GET.get('area'): - objs = objs.filter(area__id = req.GET.get('area')) + objs = objs.filter(area__id=req.GET.get('area')) if req.GET.get('type'): objs = objs.filter(type__dickeyid=req.GET.get('type')) total = objs.count() - startnum,endnum=fenye(req) - objs = objs.order_by('area')[startnum:endnum].values('id','area__name','type__dickeyname','name','level','qrcode','group__groupname','zrbm__partname','zrr__name','gkcj') - return HttpResponse(transjson(total,objs),content_type="application/json") + startnum, endnum = fenye(req) + objs = objs.order_by('area')[startnum:endnum].values('id', 'area__name', 'type__dickeyname', + 'name', 'level', 'qrcode', 'group__groupname', 'zrbm__partname', 'zrr__name', 'gkcj') + return HttpResponse(transjson(total, objs), content_type="application/json") elif a == 'add': data = json.loads(req.body.decode('utf-8')) obj = RiskAct() @@ -5753,9 +6343,10 @@ def apiriskact(req): obj.zrr = User.objects.get(userid=data['zrr']) obj.group = Group.objects.get(groupid=data['group']) obj.save() - obj.qrcode = makeqr_riskact('https://safeyun.ctcshe.com/miniprogram/riskact?id='+str(obj.id)) + obj.qrcode = makeqr_riskact( + 'https://safeyun.ctcshe.com/miniprogram/riskact?id='+str(obj.id)) obj.save() - return JsonResponse({'code':1}) + return JsonResponse({'code': 1}) elif a == 'edit': data = json.loads(req.body.decode('utf-8')) obj = RiskAct.objects.get(id=data['id']) @@ -5769,39 +6360,42 @@ def apiriskact(req): obj.zrr = User.objects.get(userid=data['zrr']) obj.group = Group.objects.get(groupid=data['group']) obj.save() - return JsonResponse({'code':1}) + return JsonResponse({'code': 1}) elif a == 'detail': obj = RiskAct.objects.filter(id=req.GET.get('id')) num = Risk.objects.filter(riskact=obj[0]).count() - obj = obj.values('id','area__id','place','type__dickeyid','name','type__dickeyname','area__name','level','qrcode','gkcj','group__groupid','zrbm__partid','zrr__userid','group__groupname','zrbm__partname','zrr__name')[0] - obj['num']=num - return JsonResponse({'code':1,'data':obj}) + obj = obj.values('id', 'area__id', 'place', 'type__dickeyid', 'name', 'type__dickeyname', 'area__name', 'level', 'qrcode', + 'gkcj', 'group__groupid', 'zrbm__partid', 'zrr__userid', 'group__groupname', 'zrbm__partname', 'zrr__name')[0] + obj['num'] = num + return JsonResponse({'code': 1, 'data': obj}) elif a == 'del': id = req.GET.get('id') user = User.objects.get(userid=userid) - if user.issuper==1: + if user.issuper == 1: obj = RiskAct.objects.get(id=id) obj.delete() try: cal_area_risk_level(obj.area) except: pass - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) else: - return JsonResponse({"code":0}) - elif a=='listalltask': - a = RiskAct.objects.filter(usecomp__partid=companyid,type__dickeyid=396) + return JsonResponse({"code": 0}) + elif a == 'listalltask': + a = RiskAct.objects.filter( + usecomp__partid=companyid, type__dickeyid=396) total = a.count() - startnum,endnum=fenye(req) - a = a.order_by('-tasktype','group')[startnum:endnum].values('group__groupname','area__name','type__dickeyname','id','group__groupid','name','tasktype','tasktime') - return HttpResponse(transjson(total,a),content_type="application/json") + startnum, endnum = fenye(req) + a = a.order_by('-tasktype', 'group')[startnum:endnum].values('group__groupname', + 'area__name', 'type__dickeyname', 'id', 'group__groupid', 'name', 'tasktype', 'tasktime') + return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'updatetask': tasktype = int(req.POST.get('tasktype')) riskacts = json.loads(req.POST.get('riskacts')) firsttime = req.POST.get('firsttime') if firsttime: firsttime = datetime.strptime(str(firsttime), '%Y-%m-%d %H:%M') - tasktime=datetime.now()#任务开始时间 + tasktime = datetime.now() # 任务开始时间 if firsttime: tasktime = firsttime for x in riskacts: @@ -5809,44 +6403,54 @@ def apiriskact(req): obj.tasktype = tasktype obj.tasktime = tasktime obj.save() - RiskActTask.objects.filter(riskact=obj,usable=1,istask=1).update(usable=2) + RiskActTask.objects.filter( + riskact=obj, usable=1, istask=1).update(usable=2) if tasktype == 1: - RiskActTask.objects.create(riskact=obj,taskadd=tasktime,taskexpire = tasktime + timedelta(hours=8),istask=1) + RiskActTask.objects.create( + riskact=obj, taskadd=tasktime, taskexpire=tasktime + timedelta(hours=8), istask=1) elif tasktype == 2: - RiskActTask.objects.create(riskact=obj,taskadd=tasktime,taskexpire = tasktime + timedelta(days=1),istask=1) + RiskActTask.objects.create( + riskact=obj, taskadd=tasktime, taskexpire=tasktime + timedelta(days=1), istask=1) elif tasktype == 3: - RiskActTask.objects.create(riskact=obj,taskadd=tasktime,taskexpire = tasktime + timedelta(days=7),istask=1) - return JsonResponse({"code":1}) + RiskActTask.objects.create( + riskact=obj, taskadd=tasktime, taskexpire=tasktime + timedelta(days=7), istask=1) + return JsonResponse({"code": 1}) + def apirisk(req): a = req.GET.get('a') userid = req.session['userid'] companyid = getcompany(userid) - if a=='listall': + if a == 'listall': a = Risk.objects.filter(usecomp__partid=companyid) if req.GET.get('riskact'): a = a.filter(riskact__id=req.GET.get('riskact')) total = a.count() else: - startnum,endnum=fenye(req) + startnum, endnum = fenye(req) total = a.count() a = a[startnum:endnum] - a = a.values('id','step','hazard','result','level','riskl','riske','riskc','riskd','measure1','measure2','measure3','measure4','measure5','riskact__name','riskact__area__name','riskact__area__id','riskact__place') - return HttpResponse(transjson(total,a),content_type="application/json") - elif a=='listall2':#按风险点聚合 - a = Risk.objects.filter(usecomp__partid=companyid,riskact__type__dickeyid=396)#设备设施类 + a = a.values('id', 'step', 'hazard', 'result', 'level', 'riskl', 'riske', 'riskc', 'riskd', 'measure1', 'measure2', + 'measure3', 'measure4', 'measure5', 'riskact__name', 'riskact__area__name', 'riskact__area__id', 'riskact__place') + return HttpResponse(transjson(total, a), content_type="application/json") + elif a == 'listall2': # 按风险点聚合 + a = Risk.objects.filter(usecomp__partid=companyid, + riskact__type__dickeyid=396) # 设备设施类 total = a.count() - startnum,endnum=fenye(req) - a = a.order_by('-tasktype','group__groupid')[startnum:endnum].values('group__groupname','riskact__area__name','riskact__type__dickeyname','riskact__id','group__groupid','riskact__name','tasktype','tasktime').annotate(num = Count('group')) - return HttpResponse(transjson(total,a),content_type="application/json") + startnum, endnum = fenye(req) + a = a.order_by('-tasktype', 'group__groupid')[startnum:endnum].values('group__groupname', 'riskact__area__name', + 'riskact__type__dickeyname', 'riskact__id', 'group__groupid', 'riskact__name', 'tasktype', 'tasktime').annotate(num=Count('group')) + return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'listself': groups = Group.objects.filter(users=User.objects.get(userid=userid)) - a = Risk.objects.filter(group__in=groups).values('id','step','level','riskact__id','riskact__name','riskact__area__name','riskact__area__id').order_by('riskact__id','id') + a = Risk.objects.filter(group__in=groups).values('id', 'step', 'level', 'riskact__id', + 'riskact__name', 'riskact__area__name', 'riskact__area__id').order_by('riskact__id', 'id') total = a.count() - return HttpResponse(transjson(total,a),content_type="application/json") + return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'detail': obj = Risk.objects.filter(id=req.GET.get('id')) - data = obj.values('id','riskact__name','riskact__area__name','riskact__type__dickeyname','step','hazard','level','result','measure1','measure2','measure3','measure4','measure5','riskl','riske','riskc','riskd','riskact__group__groupname','riskact__zrbm__partname','riskact__zrr__name','riskact__gkcj') + data = obj.values('id', 'riskact__name', 'riskact__area__name', 'riskact__type__dickeyname', 'step', 'hazard', 'level', 'result', 'measure1', 'measure2', 'measure3', + 'measure4', 'measure5', 'riskl', 'riske', 'riskc', 'riskd', 'riskact__group__groupname', 'riskact__zrbm__partname', 'riskact__zrr__name', 'riskact__gkcj') return JsonResponse(data[0]) elif a == 'steps': data = json.loads(req.body.decode('utf-8')) @@ -5856,14 +6460,15 @@ def apirisk(req): equipmentname = data['name'] objs = Risk.objects.filter(usecomp__partid=companyid) equipment = Equipment.objects.get(id=equipmentid) - if equipment.riskact:#如果该设备存在绑定的风险 + if equipment.riskact: # 如果该设备存在绑定的风险 objs = objs.filter(riskact=equipment.riskact) else: - objs = objs.filter(riskact__area__id=areaid,riskact__name__contains=equipmentname) + objs = objs.filter(riskact__area__id=areaid, + riskact__name__contains=equipmentname) if objs.exists(): - return JsonResponse({'code':1,'steps':list(objs.values('id','step','hazard','result','level','riskact__group__groupname','riskact__zrbm__partname','riskact__zrr__name'))}) + return JsonResponse({'code': 1, 'steps': list(objs.values('id', 'step', 'hazard', 'result', 'level', 'riskact__group__groupname', 'riskact__zrbm__partname', 'riskact__zrr__name'))}) else: - return JsonResponse({'code':0}) + return JsonResponse({'code': 0}) elif a == 'del': id = req.GET.get('id') user = User.objects.get(userid=userid) @@ -5873,7 +6478,7 @@ def apirisk(req): cal_riskact_level(obj.riskact) except: pass - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) elif a == 'add': data = json.loads(req.body.decode('utf-8')) obj = Risk() @@ -5892,21 +6497,21 @@ def apirisk(req): obj.riskc = data['riskc'] riskd = float(data['riskl'])*float(data['riske'])*float(data['riskc']) obj.riskd = riskd - if riskd>=320: - obj.level='重大风险' - elif 320>riskd>=160: - obj.level='较大风险' - elif 160>riskd>=70: - obj.level='一般风险' + if riskd >= 320: + obj.level = '重大风险' + elif 320 > riskd >= 160: + obj.level = '较大风险' + elif 160 > riskd >= 70: + obj.level = '一般风险' else: - obj.level='低风险' + obj.level = '低风险' obj.usecomp = Partment.objects.get(partid=companyid) obj.save() try: cal_riskact_level(obj.riskact) except: pass - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) elif a == 'update': data = json.loads(req.body.decode('utf-8')) obj = Risk.objects.get(id=data['id']) @@ -5924,21 +6529,21 @@ def apirisk(req): obj.riskc = data['riskc'] riskd = float(data['riskl'])*float(data['riske'])*float(data['riskc']) obj.riskd = riskd - if riskd>=320: - obj.level='重大风险' - elif 320>riskd>=160: - obj.level='较大风险' - elif 160>riskd>=70: - obj.level='一般风险' + if riskd >= 320: + obj.level = '重大风险' + elif 320 > riskd >= 160: + obj.level = '较大风险' + elif 160 > riskd >= 70: + obj.level = '一般风险' else: - obj.level='低风险' + obj.level = '低风险' obj.usecomp = Partment.objects.get(partid=companyid) obj.save() try: cal_riskact_level(obj.riskact) except: pass - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) elif a == 'update': data = json.loads(req.body.decode('utf-8')) obj = Risk.objects.get(id=data['id']) @@ -5956,21 +6561,22 @@ def apirisk(req): obj.riskc = data['riskc'] riskd = float(data['riskl'])*float(data['riske'])*float(data['riskc']) obj.riskd = riskd - if riskd>=320: - obj.level='重大风险' - elif 320>riskd>=160: - obj.level='较大风险' - elif 160>riskd>=70: - obj.level='一般风险' + if riskd >= 320: + obj.level = '重大风险' + elif 320 > riskd >= 160: + obj.level = '较大风险' + elif 160 > riskd >= 70: + obj.level = '一般风险' else: - obj.level='低风险' + obj.level = '低风险' obj.usecomp = Partment.objects.get(partid=companyid) obj.save() try: cal_riskact_level(obj.riskact) except: pass - return JsonResponse({"code":1}) + return JsonResponse({"code": 1}) + def apirisktask(req): a = req.GET.get('a') @@ -5983,8 +6589,9 @@ def apirisktask(req): if firsttime: firsttime = datetime.strptime(str(firsttime), '%Y-%m-%d %H:%M') for i in risks: - objs = Risk.objects.filter(riskact__id=i['riskact__id'],group__groupid=i['group__groupid']) - tasktime=datetime.now()#任务开始时间 + objs = Risk.objects.filter( + riskact__id=i['riskact__id'], group__groupid=i['group__groupid']) + tasktime = datetime.now() # 任务开始时间 if firsttime: tasktime = firsttime # if tasktype == 1:#每班 @@ -5995,92 +6602,109 @@ def apirisktask(req): # tasktime = firsttime + timedelta(weeks=1) # elif tasktype == 4:#每月 # tasktime = firsttime - timedelta(weeks=4) - objs.update(tasktype=tasktype,tasktime=tasktime) + objs.update(tasktype=tasktype, tasktime=tasktime) for x in objs: - Risktask.objects.filter(risk=x,usable=1).update(usable=2) + Risktask.objects.filter(risk=x, usable=1).update(usable=2) if tasktype == 1: - Risktask.objects.create(risk=x,group=x.group,taskadd=tasktime,taskexpire = tasktime + timedelta(hours=8)) + Risktask.objects.create( + risk=x, group=x.group, taskadd=tasktime, taskexpire=tasktime + timedelta(hours=8)) elif tasktype == 2: - Risktask.objects.create(risk=x,group=x.group,taskadd=tasktime,taskexpire = tasktime + timedelta(days=1)) + Risktask.objects.create( + risk=x, group=x.group, taskadd=tasktime, taskexpire=tasktime + timedelta(days=1)) elif tasktype == 3: - Risktask.objects.create(risk=x,group=x.group,taskadd=tasktime,taskexpire = tasktime + timedelta(days=7)) - return JsonResponse({"code":1}) + Risktask.objects.create( + risk=x, group=x.group, taskadd=tasktime, taskexpire=tasktime + timedelta(days=7)) + return JsonResponse({"code": 1}) elif a == 'list2todo': groups = Group.objects.filter(users__userid=userid) - objs = Risktask.objects.filter(group__in=groups,usable=1).values('risk__group__groupname','risk__riskact__area__name','risk__riskact__type__dickeyname','risk__riskact__id','risk__group__groupid','risk__riskact__name','risk__riskact__level','risk__tasktype','taskadd','taskexpire','user__userid').annotate(num = Count('risk__group')) + objs = Risktask.objects.filter(group__in=groups, usable=1).values('risk__group__groupname', 'risk__riskact__area__name', 'risk__riskact__type__dickeyname', 'risk__riskact__id', + 'risk__group__groupid', 'risk__riskact__name', 'risk__riskact__level', 'risk__tasktype', 'taskadd', 'taskexpire', 'user__userid').annotate(num=Count('risk__group')) total = objs.count() - startnum,endnum=fenye(req) + startnum, endnum = fenye(req) objs = objs[startnum:endnum] - return HttpResponse(transjson(total,objs),content_type="application/json") + return HttpResponse(transjson(total, objs), content_type="application/json") elif a == 'todonum': groups = Group.objects.filter(users__userid=userid) - objs = Risktask.objects.filter(group__in=groups,usable=1,user=None).annotate(num = Count('risk__group')) + objs = Risktask.objects.filter( + group__in=groups, usable=1, user=None).annotate(num=Count('risk__group')) total = objs.count() - return JsonResponse({"code":1,"todonum":total}) + return JsonResponse({"code": 1, "todonum": total}) elif a == 'list2done': groups = Group.objects.filter(users__userid=userid) - objs = Risktask.objects.filter(Q(group__in=groups)|Q(user__userid=userid),usable__in=[0,2]).values('risk__group__groupname','risk__riskact__area__name','risk__riskact__type__dickeyname','risk__riskact__id','risk__tasktype','taskadd','taskexpire','user__userid','usable').annotate(num = Count('risk__group')) + objs = Risktask.objects.filter(Q(group__in=groups) | Q(user__userid=userid), usable__in=[0, 2]).values( + 'risk__group__groupname', 'risk__riskact__area__name', 'risk__riskact__type__dickeyname', 'risk__riskact__id', 'risk__tasktype', 'taskadd', 'taskexpire', 'user__userid', 'usable').annotate(num=Count('risk__group')) total = objs.count() - startnum,endnum=fenye(req) + startnum, endnum = fenye(req) objs = objs[startnum:endnum] - return HttpResponse(transjson(total,objs),content_type="application/json") - elif a == 'listalltodo': #全厂待办 + return HttpResponse(transjson(total, objs), content_type="application/json") + elif a == 'listalltodo': # 全厂待办 groups = Group.objects.filter(usecomp__partid=companyid) - objs = Risktask.objects.filter(group__in=groups,usable=1).values('risk__group__groupname','risk__riskact__area__name','risk__riskact__type__dickeyname','risk__riskact__id','risk__group__groupid','risk__riskact__name','risk__riskact__level','risk__tasktype','taskadd','taskexpire','user__userid').annotate(num = Count('risk__group')) + objs = Risktask.objects.filter(group__in=groups, usable=1).values('risk__group__groupname', 'risk__riskact__area__name', 'risk__riskact__type__dickeyname', 'risk__riskact__id', + 'risk__group__groupid', 'risk__riskact__name', 'risk__riskact__level', 'risk__tasktype', 'taskadd', 'taskexpire', 'user__userid').annotate(num=Count('risk__group')) total = objs.count() - startnum,endnum=fenye(req) + startnum, endnum = fenye(req) objs = objs[startnum:endnum] - return HttpResponse(transjson(total,objs),content_type="application/json") - elif a == 'listall': #全厂任务聚合 + return HttpResponse(transjson(total, objs), content_type="application/json") + elif a == 'listall': # 全厂任务聚合 groups = Group.objects.filter(usecomp__partid=companyid) - objs = Risktask.objects.filter(group__in=groups).order_by('-usable','risk__group__groupid').values('risk__group__groupname','risk__riskact__area__name','risk__riskact__type__dickeyname','risk__riskact__id','risk__group__groupid','risk__riskact__name','risk__riskact__level','risk__tasktype','taskadd','taskexpire','user__userid','usable').annotate(num = Count('risk__group')) + objs = Risktask.objects.filter(group__in=groups).order_by('-usable', 'risk__group__groupid').values('risk__group__groupname', 'risk__riskact__area__name', 'risk__riskact__type__dickeyname', + 'risk__riskact__id', 'risk__group__groupid', 'risk__riskact__name', 'risk__riskact__level', 'risk__tasktype', 'taskadd', 'taskexpire', 'user__userid', 'usable').annotate(num=Count('risk__group')) total = objs.count() - startnum,endnum=fenye(req) + startnum, endnum = fenye(req) objs = objs[startnum:endnum] - return HttpResponse(transjson(total,objs),content_type="application/json") + return HttpResponse(transjson(total, objs), content_type="application/json") elif a == 'listtask': - objs = Risktask.objects.filter(usable=1,risk__riskact__usecomp__partid=companyid) + objs = Risktask.objects.filter( + usable=1, risk__riskact__usecomp__partid=companyid) if req.GET.get('riskact'): objs = objs.filter(risk__riskact__id=req.GET.get('riskact')) if req.GET.get('group'): objs = objs.filter(group__groupid=req.GET.get('group')) total = objs.count() - startnum,endnum=fenye(req) - objs = objs[startnum:endnum].values('id','risk__id','risk__step','risk__hazard','risk__level','risk__result','risk__measure1','risk__measure2','risk__measure3','risk__measure4','risk__measure5','risk__riskact__area__name','risk__riskact__area__id','risk__riskact__place','trouble__yhnum','user__userid','user__name','user__ubelongpart__partname','taskdo') - return HttpResponse(transjson(total,objs),content_type="application/json") - elif a == 'checktrouble':#发现隐患 + startnum, endnum = fenye(req) + objs = objs[startnum:endnum].values('id', 'risk__id', 'risk__step', 'risk__hazard', 'risk__level', 'risk__result', 'risk__measure1', 'risk__measure2', 'risk__measure3', 'risk__measure4', + 'risk__measure5', 'risk__riskact__area__name', 'risk__riskact__area__id', 'risk__riskact__place', 'trouble__yhnum', 'user__userid', 'user__name', 'user__ubelongpart__partname', 'taskdo') + return HttpResponse(transjson(total, objs), content_type="application/json") + elif a == 'checktrouble': # 发现隐患 data = json.loads(req.body.decode('utf-8')) trouble = data['trouble'] risktask = data['risktask'] - Risktask.objects.filter(id=risktask).update(trouble=Trouble.objects.get(troubleid=trouble)) + Risktask.objects.filter(id=risktask).update( + trouble=Trouble.objects.get(troubleid=trouble)) obj = Risktask.objects.get(id=risktask) - Riskcheck.objects.create(risk=obj.risk,user=User.objects.get(userid=userid),risktask=obj,trouble=Trouble.objects.get(troubleid=trouble)) - return JsonResponse({'code':1}) - elif a == 'update': #风险点检查更新 + Riskcheck.objects.create(risk=obj.risk, user=User.objects.get( + userid=userid), risktask=obj, trouble=Trouble.objects.get(troubleid=trouble)) + return JsonResponse({'code': 1}) + elif a == 'update': # 风险点检查更新 data = json.loads(req.body.decode('utf-8')) nowtime = datetime.now() - Risktask.objects.filter(id__in=data['tasks']).update(user=User.objects.get(userid=userid),taskdo=nowtime) + Risktask.objects.filter(id__in=data['tasks']).update( + user=User.objects.get(userid=userid), taskdo=nowtime) for i in data['tasks']: objs = Riskcheck.objects.filter(risktask__id=i) if objs.exists(): objs.update(dotime=nowtime) else: obj = Risktask.objects.get(id=i) - Riskcheck.objects.create(risk=obj.risk,user=User.objects.get(userid=userid),risktask=obj,dotime=nowtime) - return JsonResponse({'code':1}) + Riskcheck.objects.create(risk=obj.risk, user=User.objects.get( + userid=userid), risktask=obj, dotime=nowtime) + return JsonResponse({'code': 1}) + def apiriskacttask(req): a = req.GET.get('a') userid = req.session['userid'] companyid = getcompany(userid) - if a == 'listalltask': #全厂任务 - objs = RiskActTask.objects.filter(riskact__usecomp__partid=companyid,istask=1).order_by('-usable','riskact__group__groupid').values('riskact__group__groupname','riskact__area__name','riskact__type__dickeyname','riskact__id','riskact__group__groupid','riskact__name','riskact__level','riskact__tasktype','taskadd','taskexpire','user__userid','usable','taskdo','user__name') + if a == 'listalltask': # 全厂任务 + objs = RiskActTask.objects.filter(riskact__usecomp__partid=companyid, istask=1).order_by('-usable', 'riskact__group__groupid').values('riskact__group__groupname', 'riskact__area__name', + 'riskact__type__dickeyname', 'riskact__id', 'riskact__group__groupid', 'riskact__name', 'riskact__level', 'riskact__tasktype', 'taskadd', 'taskexpire', 'user__userid', 'usable', 'taskdo', 'user__name') total = objs.count() - startnum,endnum=fenye(req) + startnum, endnum = fenye(req) objs = objs[startnum:endnum] - return HttpResponse(transjson(total,objs),content_type="application/json") - elif a == 'listall': #全厂排查记录 - objs = RiskActTask.objects.filter(riskact__usecomp__partid=companyid).exclude(user=None) + return HttpResponse(transjson(total, objs), content_type="application/json") + elif a == 'listall': # 全厂排查记录 + objs = RiskActTask.objects.filter( + riskact__usecomp__partid=companyid).exclude(user=None) if req.GET.get('pcbm'): parts = getparts(req.GET.get('pcbm')) objs = objs.filter(user__ubelongpart__in=parts) @@ -6089,33 +6713,40 @@ def apiriskacttask(req): if req.GET.get('jssj'): objs = objs.filter(taskdo__lte=req.GET.get('jssj')) total = objs.count() - startnum,endnum=fenye(req) - objs = objs[startnum:endnum].values('id','riskact__name','riskact__area__name','riskact__place','taskdo','state','user__ubelongpart__partname','user__name','taskdo') - return HttpResponse(transjson(total,objs),content_type="application/json") - elif a == 'listalltodo': #全厂待办任务 - objs = RiskActTask.objects.filter(riskact__usecomp__partid=companyid,istask=1,user=None) + startnum, endnum = fenye(req) + objs = objs[startnum:endnum].values('id', 'riskact__name', 'riskact__area__name', 'riskact__place', + 'taskdo', 'state', 'user__ubelongpart__partname', 'user__name', 'taskdo') + return HttpResponse(transjson(total, objs), content_type="application/json") + elif a == 'listalltodo': # 全厂待办任务 + objs = RiskActTask.objects.filter( + riskact__usecomp__partid=companyid, istask=1, user=None) total = objs.count() - startnum,endnum=fenye(req) - objs = objs[startnum:endnum].values('id','riskact__group__groupname','riskact__area__name','riskact__type__dickeyname','riskact__id','riskact__group__groupid','riskact__name','riskact__level','riskact__tasktype','taskadd','taskexpire','user__userid','usable') - return HttpResponse(transjson(total,objs),content_type="application/json") - elif a == 'listself':#排查记录 + startnum, endnum = fenye(req) + objs = objs[startnum:endnum].values('id', 'riskact__group__groupname', 'riskact__area__name', 'riskact__type__dickeyname', 'riskact__id', + 'riskact__group__groupid', 'riskact__name', 'riskact__level', 'riskact__tasktype', 'taskadd', 'taskexpire', 'user__userid', 'usable') + return HttpResponse(transjson(total, objs), content_type="application/json") + elif a == 'listself': # 排查记录 a = RiskActTask.objects.filter(user__userid=userid) total = a.count() - startnum,endnum=fenye(req) - a = a.order_by('-id')[startnum:endnum].values('id','riskact__level','riskact__name','riskact__area__name','riskact__place','taskdo','state','usable','riskact__group__groupname','taskadd','taskexpire','user__userid','riskact__id') - return HttpResponse(transjson(total,a),content_type="application/json") - elif a == 'listmytodo':#待办 + startnum, endnum = fenye(req) + a = a.order_by('-id')[startnum:endnum].values('id', 'riskact__level', 'riskact__name', 'riskact__area__name', 'riskact__place', + 'taskdo', 'state', 'usable', 'riskact__group__groupname', 'taskadd', 'taskexpire', 'user__userid', 'riskact__id') + return HttpResponse(transjson(total, a), content_type="application/json") + elif a == 'listmytodo': # 待办 groups = Group.objects.filter(users__userid=userid) - objs = RiskActTask.objects.filter(riskact__group__in=groups,usable=1,istask=1,user=None) + objs = RiskActTask.objects.filter( + riskact__group__in=groups, usable=1, istask=1, user=None) total = objs.count() - startnum,endnum=fenye(req) - objs = objs[startnum:endnum].values('id','riskact__group__groupname','riskact__area__name','riskact__type__dickeyname','riskact__id','riskact__group__groupid','riskact__name','riskact__level','riskact__tasktype','taskadd','taskexpire','user__userid') - return HttpResponse(transjson(total,objs),content_type="application/json") + startnum, endnum = fenye(req) + objs = objs[startnum:endnum].values('id', 'riskact__group__groupname', 'riskact__area__name', 'riskact__type__dickeyname', 'riskact__id', + 'riskact__group__groupid', 'riskact__name', 'riskact__level', 'riskact__tasktype', 'taskadd', 'taskexpire', 'user__userid') + return HttpResponse(transjson(total, objs), content_type="application/json") elif a == 'todonum': groups = Group.objects.filter(users__userid=userid) - objs = RiskActTask.objects.filter(riskact__group__in=groups,usable=1,user=None) + objs = RiskActTask.objects.filter( + riskact__group__in=groups, usable=1, user=None) total = objs.count() - return JsonResponse({"code":1,"todonum":total}) + return JsonResponse({"code": 1, "todonum": total}) # elif a == 'listmydone': # groups = Group.objects.filter(users__userid=userid) # objs = Risktask.objects.filter(Q(group__in=groups)|Q(user__userid=userid),usable__in=[0,2]).values('risk__group__groupname','risk__riskact__area__name','risk__riskact__type__dickeyname','risk__riskact__id','risk__tasktype','taskadd','taskexpire','user__userid','usable').annotate(num = Count('risk__group')) @@ -6124,6 +6755,7 @@ def apiriskacttask(req): # objs = objs[startnum:endnum] # return HttpResponse(transjson(total,objs),content_type="application/json") + def apiriskcheck2(req): a = req.GET.get('a') userid = req.session['userid'] @@ -6133,36 +6765,41 @@ def apiriskcheck2(req): data = json.loads(req.body.decode('utf-8')) checkrisks = data['checks'] user = User.objects.get(userid=userid) - objs = RiskActTask.objects.filter(riskact__id=data['riskact'],usable=1,user=None,istask=1)#匹配未处理的任务 + objs = RiskActTask.objects.filter( + riskact__id=data['riskact'], usable=1, user=None, istask=1) # 匹配未处理的任务 if objs.exists(): - obj=objs[0] - obj.user=user - obj.taskdo=nowtime + obj = objs[0] + obj.user = user + obj.taskdo = nowtime obj.save() else: obj = RiskActTask() obj.riskact = RiskAct.objects.get(id=data['riskact']) - obj.user=user - obj.istask=0 - obj.taskdo=nowtime + obj.user = user + obj.istask = 0 + obj.taskdo = nowtime obj.save() for i in checkrisks: risk = Risk.objects.get(id=i['id']) if 'trouble' in i: - Riskcheck2.objects.create(risk=risk,riskacttask=obj,trouble=Trouble.objects.get(troubleid=i['trouble']),dotime=nowtime) - obj.state=0 + Riskcheck2.objects.create(risk=risk, riskacttask=obj, trouble=Trouble.objects.get( + troubleid=i['trouble']), dotime=nowtime) + obj.state = 0 obj.save() else: - Riskcheck2.objects.create(risk=risk,riskacttask=obj,dotime=nowtime) - return JsonResponse({'code':1}) + Riskcheck2.objects.create( + risk=risk, riskacttask=obj, dotime=nowtime) + return JsonResponse({'code': 1}) elif a == 'listall': objs = Riskcheck2.objects.filter(risk__usecomp__partid=companyid) if req.GET.get('riskacttask'): objs = objs.filter(riskacttask__id=req.GET.get('riskacttask')) total = objs.count() - startnum,endnum=fenye(req) - objs = objs.order_by('-id')[startnum:endnum].values('id','risk__step','risk__level','trouble__yhnum','risk__hazard','risk__result','risk__measure1','risk__measure2','risk__measure3','risk__measure4','risk__measure5') - return HttpResponse(transjson(total,objs),content_type="application/json") + startnum, endnum = fenye(req) + objs = objs.order_by('-id')[startnum:endnum].values('id', 'risk__step', 'risk__level', 'trouble__yhnum', 'risk__hazard', + 'risk__result', 'risk__measure1', 'risk__measure2', 'risk__measure3', 'risk__measure4', 'risk__measure5') + return HttpResponse(transjson(total, objs), content_type="application/json") + def apiriskcheck(req): a = req.GET.get('a') @@ -6174,22 +6811,27 @@ def apiriskcheck(req): for i in data: risk = Risk.objects.get(id=i['id']) if 'trouble' in i: - Riskcheck.objects.create(risk=risk,user=User.objects.get(userid=userid),trouble=Trouble.objects.get(troubleid=i['trouble']),dotime=nowtime) - objs = Risktask.objects.filter(risk=risk,usable=1,user=None) + Riskcheck.objects.create(risk=risk, user=User.objects.get( + userid=userid), trouble=Trouble.objects.get(troubleid=i['trouble']), dotime=nowtime) + objs = Risktask.objects.filter(risk=risk, usable=1, user=None) if objs.exists(): - objs.update(user=User.objects.get(userid=userid),taskdo=nowtime,trouble=Trouble.objects.get(troubleid=i['trouble'])) + objs.update(user=User.objects.get(userid=userid), taskdo=nowtime, + trouble=Trouble.objects.get(troubleid=i['trouble'])) else: - Riskcheck.objects.create(risk=risk,dotime=nowtime,user=User.objects.get(userid=userid)) - objs = Risktask.objects.filter(risk=risk,usable=1,user=None) + Riskcheck.objects.create( + risk=risk, dotime=nowtime, user=User.objects.get(userid=userid)) + objs = Risktask.objects.filter(risk=risk, usable=1, user=None) if objs.exists(): - objs.update(user=User.objects.get(userid=userid),taskdo=nowtime) - return JsonResponse({'code':1}) + objs.update(user=User.objects.get( + userid=userid), taskdo=nowtime) + return JsonResponse({'code': 1}) elif a == 'listself': a = Riskcheck.objects.filter(user__userid=userid) total = a.count() - startnum,endnum=fenye(req) - a = a.order_by('-id')[startnum:endnum].values('id','risk__step','risk__level','risk__riskact__name','risk__riskact__area__name','risk__riskact__place','dotime','trouble__yhnum') - return HttpResponse(transjson(total,a),content_type="application/json") + startnum, endnum = fenye(req) + a = a.order_by('-id')[startnum:endnum].values('id', 'risk__step', 'risk__level', 'risk__riskact__name', + 'risk__riskact__area__name', 'risk__riskact__place', 'dotime', 'trouble__yhnum') + return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'listall': objs = Riskcheck.objects.filter(user__usecomp__partid=companyid) if req.GET.get('pcbm'): @@ -6200,9 +6842,11 @@ def apiriskcheck(req): if req.GET.get('jssj'): objs = objs.filter(dotime__lte=req.GET.get('jssj')) total = objs.count() - startnum,endnum=fenye(req) - objs = objs.order_by('-id')[startnum:endnum].values('id','risk__step','risk__level','risk__riskact__name','risk__riskact__area__name','risk__riskact__place','dotime','trouble__yhnum','user__ubelongpart__partname','user__name') - return HttpResponse(transjson(total,objs),content_type="application/json") + startnum, endnum = fenye(req) + objs = objs.order_by('-id')[startnum:endnum].values('id', 'risk__step', 'risk__level', 'risk__riskact__name', + 'risk__riskact__area__name', 'risk__riskact__place', 'dotime', 'trouble__yhnum', 'user__ubelongpart__partname', 'user__name') + return HttpResponse(transjson(total, objs), content_type="application/json") + def apireport(req): a = req.GET.get('a') @@ -6211,49 +6855,52 @@ def apireport(req): year = req.GET.get('year') month = req.GET.get('month') part = req.GET.get('part') - objs = Report.objects.filter(year=year,month=month) - if part and part !='undefined': + objs = Report.objects.filter(year=year, month=month) + if part and part != 'undefined': objs = objs.filter(part__partid=part) else: objs = objs.filter(part=User.objects.get(userid=userid).usecomp) if objs.exists(): - return JsonResponse({'code':1,'data':objs.values('id','cause','suggest')[0]}) + return JsonResponse({'code': 1, 'data': objs.values('id', 'cause', 'suggest')[0]}) else: - return JsonResponse({'code':0,'data':''}) + return JsonResponse({'code': 0, 'data': ''}) elif a == 'add': data = json.loads(req.body.decode('utf-8')) year = req.GET.get('year') month = req.GET.get('month') part = req.GET.get('part') if part: - objs = Report.objects.filter(year=year,month=month,part__partid=part) + objs = Report.objects.filter( + year=year, month=month, part__partid=part) else: - objs = Report.objects.filter(year=year,month=month,part=User.objects.get(userid=userid).usecomp) + objs = Report.objects.filter( + year=year, month=month, part=User.objects.get(userid=userid).usecomp) if objs.exists(): obj = objs[0] else: obj = Report() - obj.year =year + obj.year = year obj.month = month if part: - obj.part=Partment.objects.get(partid=part) + obj.part = Partment.objects.get(partid=part) else: obj.part = User.objects.get(userid=userid).usecomp obj.cause = data['cause'] obj.suggest = data['suggest'] obj.save() - return JsonResponse({'code':1}) + return JsonResponse({'code': 1}) -#公司信息展示 +# 公司信息展示 def companyinfo(req): - message='' + message = '' try: user = User.objects.filter(pk=req.session['userid']) companyid = getcompany(req.session['userid']) companyname = Partment.objects.get(partid=companyid).partname # 生成CompanyInof的model对象 - companyinfo = CompanyInfo.objects.get_or_create(partment_id=companyid)[0] + companyinfo = CompanyInfo.objects.get_or_create( + partment_id=companyid)[0] except Exception as e: raise # message='操作错误' @@ -6265,37 +6912,45 @@ def companyinfo(req): companyinfo.name = companyinfo_form.cleaned_data.get('name') companyinfo.address = companyinfo_form.cleaned_data.get('address') companyinfo.nature = companyinfo_form.cleaned_data.get('nature') - companyinfo.fixed_assets = companyinfo_form.cleaned_data.get('fixed_assets') - companyinfo.introduce = companyinfo_form.cleaned_data.get('introduce') - companyinfo.legalperson = companyinfo_form.cleaned_data.get('legalperson') - companyinfo.legalperson_phone = companyinfo_form.cleaned_data.get('legalperson_phone') + companyinfo.fixed_assets = companyinfo_form.cleaned_data.get( + 'fixed_assets') + companyinfo.introduce = companyinfo_form.cleaned_data.get( + 'introduce') + companyinfo.legalperson = companyinfo_form.cleaned_data.get( + 'legalperson') + companyinfo.legalperson_phone = companyinfo_form.cleaned_data.get( + 'legalperson_phone') companyinfo.liaison = companyinfo_form.cleaned_data.get('liaison') - companyinfo.liaison_fax = companyinfo_form.cleaned_data.get('liaison_fax') - companyinfo.liaison_phone = companyinfo_form.cleaned_data.get('liaison_phone') - companyinfo.peoplenum = companyinfo_form.cleaned_data.get('peoplenum') + companyinfo.liaison_fax = companyinfo_form.cleaned_data.get( + 'liaison_fax') + companyinfo.liaison_phone = companyinfo_form.cleaned_data.get( + 'liaison_phone') + companyinfo.peoplenum = companyinfo_form.cleaned_data.get( + 'peoplenum') companyinfo.website = companyinfo_form.cleaned_data.get('website') companyinfo.save() #html = 'companyinfo.html' - #return redirect('/withmenu/', html="companyinfo.html") - #return HttpResponseRedirect("/withmenu/?html=companyinfo.html") - return JsonResponse({'code':1}) + # return redirect('/withmenu/', html="companyinfo.html") + # return HttpResponseRedirect("/withmenu/?html=companyinfo.html") + return JsonResponse({'code': 1}) from django.forms import model_to_dict companyinfo_form = forms.CompanyInfoForm(model_to_dict(companyinfo)) return render(req, 'companyinfo.html', {'companyinfo': companyinfo_form}) -import json -from captcha.models import CaptchaStore -from captcha.helpers import captcha_image_url + def refresh_captcha(request): hashkey = CaptchaStore.generate_key() image_url = captcha_image_url(hashkey) return HttpResponse(json.dumps({'key': hashkey, 'image_url': image_url}), content_type='application/json') + def dump(obj): print('\n'.join(['%s:%s' % item for item in obj.__dict__.items()])) -#教育培训统计图 +# 教育培训统计图 + + def trainfg(req): a = req.GET.get('a') userid = req.session['userid'] @@ -6303,21 +6958,23 @@ def trainfg(req): if a == 'trainfig': year = int(req.GET.get('year')) - months = [1,2,3,4,5,6,7,8,9,10,11,12] - companylevel=[]#公司级 - workshoplevel=[]#车间/工段级 - teamlevel=[]#班组级 - departmentlevel =[]#部门分厂级 + months = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + companylevel = [] # 公司级 + workshoplevel = [] # 车间/工段级 + teamlevel = [] # 班组级 + departmentlevel = [] # 部门分厂级 for month in months: - first_day,first_day_of_next_month = gettime(datetime(year,month,1)) + first_day, first_day_of_next_month = gettime( + datetime(year, month, 1)) - a = Train.objects.filter(usecomp__partid=companyid,deletemark=1,starttime__range=(first_day, first_day_of_next_month)) + a = Train.objects.filter(usecomp__partid=companyid, deletemark=1, starttime__range=( + first_day, first_day_of_next_month)) companylevel.append(a.filter(trainlevel__dicid=5).count()) workshoplevel.append(a.filter(trainlevel__dicid=6).count()) teamlevel.append(a.filter(trainlevel__dicid=7).count()) departmentlevel.append(a.filter(trainlevel__dicid=42).count()) - return JsonResponse({'code':1,'companylevel':companylevel,'workshoplevel':workshoplevel,'teamlevel':teamlevel,'departmentlevel':departmentlevel}) - elif a=='trainuser': + return JsonResponse({'code': 1, 'companylevel': companylevel, 'workshoplevel': workshoplevel, 'teamlevel': teamlevel, 'departmentlevel': departmentlevel}) + elif a == 'trainuser': a = Trainuser.objects.filter(participant__usecomp__partid=companyid) if req.GET.get('qssj'): a = a.filter(train__submittime__gte=req.GET.get('qssj')) @@ -6325,39 +6982,44 @@ def trainfg(req): a = a.filter(train__submittime__lte=req.GET.get('jssj')) if req.GET.get('fxbm'): fxbm = req.GET.get('fxbm') - parts = Partment.objects.filter(partlink__contains=',' + fxbm + ',')|Partment.objects.filter(partid=fxbm) + parts = Partment.objects.filter( + partlink__contains=',' + fxbm + ',') | Partment.objects.filter(partid=fxbm) a = a.filter(participant__ubelongpart__in=parts) total = a.count() - objs = a.values('participant__name','participant__username').annotate(count=Count('participant__userid')) - return HttpResponse(transjson(total,objs),content_type="application/json") - elif a=='traintype': + objs = a.values('participant__name', 'participant__username').annotate( + count=Count('participant__userid')) + return HttpResponse(transjson(total, objs), content_type="application/json") + elif a == 'traintype': year = int(req.GET.get('year')) month = int(req.GET.get('month')) - traintypelist=[] - - first_day,first_day_of_next_month = gettime(datetime(year,month,1)) - a = Train.objects.filter(usecomp__partid=companyid,deletemark=1,starttime__range=(first_day, first_day_of_next_month)) - for i in Dickey.objects.filter(Q(usecomps__contains=',1,' )|Q(usecomps__contains=','+str(companyid)+','),dicparent_id=8): - count=a.filter(traintype__dickeyid=i.dickeyid).count() - dickeyname=i.dickeyname - traintypelist.append({'value':count,'name':dickeyname}) - return HttpResponse(json.dumps({'code':1,'data':{'traintypelist':list(traintypelist)}}), content_type='application/json') -#设备统计图 + traintypelist = [] + + first_day, first_day_of_next_month = gettime(datetime(year, month, 1)) + a = Train.objects.filter(usecomp__partid=companyid, deletemark=1, starttime__range=( + first_day, first_day_of_next_month)) + for i in Dickey.objects.filter(Q(usecomps__contains=',1,') | Q(usecomps__contains=','+str(companyid)+','), dicparent_id=8): + count = a.filter(traintype__dickeyid=i.dickeyid).count() + dickeyname = i.dickeyname + traintypelist.append({'value': count, 'name': dickeyname}) + return HttpResponse(json.dumps({'code': 1, 'data': {'traintypelist': list(traintypelist)}}), content_type='application/json') +# 设备统计图 + def equipmentfig(req): a = req.GET.get('a') userid = req.session['userid'] companyid = getcompany(userid) - - if a=='state': - # year = int(req.GET.get('year')) - # month = int(req.GET.get('month')) - # first_day,first_day_of_next_month = gettime(datetime(year,month,1)) - a = Equipment.objects.filter(usecomp__partid=companyid,deletemark=1) - normal = a.filter(state=1).count()#正常 - abnormal = a.filter(state=0).count()#异常 - return JsonResponse({"code":1,"normal":normal,"abnormal":abnormal}) - elif a=='eqmcount': - eqmlist=Equipment.objects.filter(usecomp__partid=companyid,deletemark=1).values('area__name').annotate(num = Count('area')) - return HttpResponse(json.dumps({'code':1,'data':{'eqmlist':list(eqmlist)}}), content_type='application/json') + if a == 'state': + # year = int(req.GET.get('year')) + # month = int(req.GET.get('month')) + # first_day,first_day_of_next_month = gettime(datetime(year,month,1)) + a = Equipment.objects.filter(usecomp__partid=companyid, deletemark=1) + normal = a.filter(state=1).count() # 正常 + abnormal = a.filter(state=0).count() # 异常 + return JsonResponse({"code": 1, "normal": normal, "abnormal": abnormal}) + elif a == 'eqmcount': + eqmlist = Equipment.objects.filter(usecomp__partid=companyid, deletemark=1).values( + 'area__name').annotate(num=Count('area')) + + return HttpResponse(json.dumps({'code': 1, 'data': {'eqmlist': list(eqmlist)}}), content_type='application/json')