177 lines
7.9 KiB
Python
177 lines
7.9 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
|
|
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
|
|
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,'lawsindex.html')
|
|
#添加法律法规分类
|
|
def lawsadd(req):
|
|
return render(req,'lawstypeadd.html')
|
|
#添加法律法规
|
|
def addlaws(req):
|
|
return render(req,'lawsadd.html')
|
|
def lawsdit(req,id):
|
|
return render(req,'lawsedit.html',{'id':id})
|
|
#选中一行编辑法律法规分类
|
|
def lawstypeedit(req,id):
|
|
return render(req,'lawstypeedit.html',{'id':id})
|
|
#上传文件,返回地址和名称
|
|
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/laws', 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})
|
|
def lawstype(req):
|
|
a=req.GET.get('a')
|
|
userid = req.session['userid']
|
|
companyid = getcompany(userid)
|
|
#index展示数据
|
|
if a=='listall':
|
|
x = FileManage.objects.filter(deletemark=1)
|
|
startnum,endnum=fenye(req)
|
|
a = x.filter(usecomp__partid__in= [1,Partment.objects.get(partid=companyid).partid],deletemark=1 ).order_by('id')#无deletemark
|
|
if req.GET.get('typeID'):
|
|
typeID = req.GET.get('typeID')
|
|
a = x.filter(maragetype=Regulations.objects.get(id=typeID))
|
|
|
|
total = a.count()
|
|
startnum,endnum=fenye(req)
|
|
a = a[startnum:endnum].values('id','maragename','readernum','maragetype__typename','publisdate','versionnum','maragestate','actualizedata','maragepath')
|
|
return HttpResponse(transjson(total,a),content_type="application/json")
|
|
#index展示的tree
|
|
elif a=='tree1':
|
|
list_items = (Regulations.objects.filter(usecomp__partid=1,deletemark=1)).annotate(parentId=F('parent__id'),name=F('typename')).values('id','parentId','name')
|
|
return HttpResponse(json.dumps(list(list_items)),content_type="application/json")
|
|
#编辑的时候展示的tree
|
|
elif a == 'tree2':
|
|
list_items = (Regulations.objects.filter(usecomp__partid=companyid,deletemark=1)).annotate(parentId=F('parent__id'),name=F('typename')).values('id','parentId','name')
|
|
return HttpResponse(json.dumps(list(list_items)),content_type="application/json")
|
|
elif a == 'tree':
|
|
list_items = (Regulations.objects.filter(usecomp__partid=1,deletemark=1)|Regulations.objects.filter(usecomp__partid=companyid,deletemark=1)).annotate(parentId=F('parent__id'),name=F('typename')).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 = Regulations()
|
|
name = data['name']
|
|
obj.typename = name
|
|
if 'parent' in data:
|
|
if data['parent']:
|
|
parent = data['parent']
|
|
parentobj = Regulations.objects.get(id=parent)
|
|
obj.parent = parentobj
|
|
obj.usecomp = Partment.objects.get(partid=companyid)
|
|
obj.createuser=User.objects.get(userid=userid)
|
|
obj.save()
|
|
return JsonResponse({"code":1})
|
|
#编辑法律法规分类(修改)
|
|
elif a == 'edit':
|
|
data = json.loads(req.body.decode('utf-8'))
|
|
id = data['id']
|
|
a = Regulations.objects.get(id=id)
|
|
a.typename = data['name']
|
|
if 'parent' in data:
|
|
if data['parent']:
|
|
parent = Regulations.objects.get(id=data['parent'])
|
|
a.parent = parent
|
|
|
|
a.save()
|
|
return JsonResponse({"code":1})
|
|
|
|
elif a == 'detail':
|
|
id = req.GET.get('id')
|
|
a = Regulations.objects.filter(id=id).values('id','typename','parent__id')[0]
|
|
return JsonResponse(a)
|
|
elif a == 'addlaws':
|
|
obj = FileManage()
|
|
data = json.loads(req.body.decode('utf-8'))
|
|
obj.maragename = data['maragename']
|
|
obj.versionnum = data['versionnum']
|
|
obj.maragetype= Regulations.objects.get(id=data['maragetype'])
|
|
obj.publisdate=data['publisdate']
|
|
obj.maragestate=data['maragestate']
|
|
obj.actualizedata=data['actualizedata']
|
|
obj.maragepath=data['url']
|
|
obj.usecomp=Partment.objects.get(partid=companyid)
|
|
obj.createuser=User.objects.get(userid=userid)
|
|
|
|
obj.save()
|
|
return JsonResponse({"code":1})
|
|
#删除分类
|
|
elif a == 'del':
|
|
id = req.GET.get('id')
|
|
user = User.objects.get(userid=userid)
|
|
a = Regulations.objects.get(id=id)
|
|
if a.usecomp==Partment.objects.get(partid=companyid):
|
|
Regulations.objects.filter(id = id).update(deletemark=0)
|
|
return JsonResponse({"code":1})
|
|
else:
|
|
return JsonResponse({"code":0})
|
|
return JsonResponse({"code":1})
|
|
#删除数据,判断是否是自己建的
|
|
elif a == 'canedit':
|
|
id = req.GET.get('id')
|
|
a = Regulations.objects.get(id=id)
|
|
if a.usecomp==Partment.objects.get(partid=companyid):
|
|
return JsonResponse({'code':1})
|
|
else:
|
|
return JsonResponse({"code":0})
|
|
#编辑法律法规,显数据示
|
|
elif a == 'detaillaws':
|
|
id = req.GET.get('id')
|
|
a = FileManage.objects.filter(id=id).values('maragename','readernum','maragetype','publisdate','versionnum','maragestate','actualizedata','maragepath')
|
|
return JsonResponse(a[0])
|
|
#修改法律法规
|
|
elif a == 'editlaws':
|
|
data = json.loads(req.body.decode('utf-8'))
|
|
obj = FileManage.objects.get(id=data['id'])
|
|
obj.maragename = data['maragename']
|
|
obj.maragetype = Regulations.objects.get(id=data['maragetype'])
|
|
obj.publisdate=data['publisdate']
|
|
obj.maragestate=data['maragestate']
|
|
obj.actualizedata=data['actualizedata']
|
|
obj.maragepath=data['url']
|
|
obj.usecomp=Partment.objects.get(partid=companyid)
|
|
obj.createuser=User.objects.get(userid=userid)
|
|
|
|
obj.save()
|
|
|
|
return JsonResponse({"code":1})
|
|
#删除法律法规
|
|
elif a == 'dellaws':
|
|
id =req.GET.get('id')
|
|
userid = req.session['userid']
|
|
a = FileManage.objects.get(id=id)
|
|
if a.usecomp==Partment.objects.get(partid=companyid):
|
|
a.deletemark=0
|
|
a.save()
|
|
return JsonResponse({"code":1})
|
|
else:
|
|
return JsonResponse({"code":0}) |