98 lines
4.4 KiB
Python
98 lines
4.4 KiB
Python
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,Edulesson,EdulessonWatch,FileManage,FileReader,Regulations,Mgtsystem
|
|
from django.template import RequestContext
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
from django.core import serializers
|
|
import json
|
|
from uuid import UUID
|
|
import os
|
|
import time
|
|
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
|
|
from ..export import exportdoc,exportxlsx,exportyjdoc,exportsimplexlsx,exportdoc2
|
|
from ..daoru import drusers,drequipments,drrisks, makeqr_
|
|
from django.forms.models import model_to_dict
|
|
from ..safespider import getTzzs,getAqzs
|
|
#from duibiao import calsim
|
|
from django.db.models import Q
|
|
from django.core.serializers.json import DjangoJSONEncoder
|
|
from io import StringIO
|
|
import operator
|
|
import jwt
|
|
from ..views import getcompany,fenye,transjson
|
|
#法律法规
|
|
def index(req):
|
|
return render(req,'mgtindex.html')
|
|
def add(req):
|
|
return render(req,'mgtadd.html')
|
|
#上传文件,返回地址和名称
|
|
def upload(req):
|
|
username = User.objects.get(userid=req.session['userid']).username
|
|
file_name = time.strftime('%Y%m%d%H%M%S')+ '_' + req.FILES['mf'].name
|
|
user_upload_folder = os.path.join('media/mgt', 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:
|
|
f.write(req.FILES['mf'].read())
|
|
return JsonResponse({"code":1,"filename":file_name,"filepath":filepath})
|
|
#转换为combobox所用string
|
|
def transstr(obj,str1,str2):
|
|
keylist = []
|
|
for i in list(obj):
|
|
keydictstr = '{"value":"'+ str(i[str1])+'","text":"'+i[str2]+'"}'
|
|
keylist.append(keydictstr)
|
|
keystr = '['+','.join(keylist)+']'
|
|
return keystr
|
|
|
|
def getdickey(req):
|
|
userid = req.session['userid']
|
|
companyid = getcompany(userid)
|
|
dicclass=req.GET.get('dicclass')
|
|
a = Dickey.objects.filter(dicparent=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')
|
|
return HttpResponse(transstr(a,'dickeyid','dickeyname'),content_type="application/json")
|
|
|
|
def api(req):
|
|
a=req.GET.get('a')
|
|
userid = req.session['userid']
|
|
companyid = getcompany(userid)
|
|
if a == 'add':
|
|
obj = Mgtsystem()
|
|
data = json.loads(req.body.decode('utf-8'))
|
|
obj.mgtname = data['mgtname']
|
|
obj.mgtpath = data['filepath']
|
|
obj.type= Dickey.objects.get(dickeyid=data['type'])
|
|
obj.publisdate=data['publisdate']
|
|
obj.usecomp=Partment.objects.get(partid=companyid)
|
|
obj.createuser=User.objects.get(userid=userid)
|
|
obj.save()
|
|
obj.qrcode = makeqr_(
|
|
'https://safeyun.ctcshe.com/miniprogram/mgt?id='+str(obj.id))
|
|
obj.save()
|
|
return JsonResponse({"code":1})
|
|
|
|
elif a=='listall':
|
|
startnum,endnum=fenye(req)
|
|
a = Mgtsystem.objects.filter(usecomp__partid__in= [1,Partment.objects.get(partid=companyid).partid] ,deletemark=1).order_by('id')
|
|
total = a.count()
|
|
startnum,endnum=fenye(req)
|
|
a = a[startnum:endnum].values('id','mgtname','mgtpath','type__dickeyname','publisdate','createuser__name')
|
|
return HttpResponse(transjson(total,a),content_type="application/json")
|
|
|
|
elif a == 'del':
|
|
id =req.GET.get('id')
|
|
userid = req.session['userid']
|
|
user = User.objects.get(userid=userid)
|
|
a = Mgtsystem.objects.get(id=id)
|
|
if user.issuper == 1 or user==a.createuser:
|
|
a.deletemark=0
|
|
a.save()
|
|
return JsonResponse({"code":1})
|
|
else:
|
|
return JsonResponse({"code":0}) |