174 lines
7.3 KiB
Python
174 lines
7.3 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,Questioncat,Equipment,Inspect,Risk,RiskAct,Edulesson,EdulessonWatch
|
|
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 apicheck_login, getcompany,fenye,transjson,upfile
|
|
|
|
def index(req):
|
|
return render(req,'edulessonindex.html')
|
|
def showvideo(req):
|
|
return render(req,'eduvideoshow.html')
|
|
def add(req):
|
|
return render(req,'edulessonadd.html')
|
|
def addwj(req):
|
|
return render(req,'edulessonaddwj.html')
|
|
#观看历史
|
|
def edulessondetail(req,jyid):
|
|
return render(req,'edulessondetail.html',{'jyid':jyid})
|
|
|
|
def edulessonedit(req,id):
|
|
return render(req,'edulessonedit.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/', 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 selectDate(req):
|
|
a = req.GET.get('a')
|
|
userid = req.session['userid']
|
|
userobj = User.objects.get(userid=userid)
|
|
companyid = getcompany(userid)
|
|
a = Edulesson.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1)
|
|
if req.GET.get('type',None):
|
|
a = a.filter(type=req.GET.get('type'))
|
|
total = a.count()
|
|
startnum,endnum=fenye(req)
|
|
a = a.order_by('-submittime')[startnum:endnum].values('id','num','title','user__name','desciption','submittime','type','cate__name','url','downnum')
|
|
return HttpResponse(transjson(total,a),content_type="application/json")
|
|
|
|
@apicheck_login
|
|
def api(req):
|
|
a = req.GET.get('a')
|
|
#首页列表
|
|
if a=='listall':
|
|
userid = req.session['userid']
|
|
companyid = getcompany(userid)
|
|
startnum,endnum=fenye(req)
|
|
a = Edulesson.objects.filter(usecomp__partid__in= [1,Partment.objects.get(partid=companyid).partid] ,deletemark=1)#无deletemark
|
|
if req.GET.get('search',None):
|
|
search = req.GET.get('search')
|
|
a = a.filter(Q(title__contains=search)|Q(desciption__contains=search)|Q(cate__name__contains=search))
|
|
total = a.count()
|
|
startnum,endnum=fenye(req)
|
|
a = a.order_by('-downnum','-modifytime')[startnum:endnum].values('id','num','title','user__name','user__ubelongpart__partname','desciption','submittime','type','cate__name','url','downnum','modifytime')
|
|
return HttpResponse(transjson(total,a),content_type="application/json")
|
|
elif a == 'detail':
|
|
id = req.GET.get('id')
|
|
obj = Edulesson.objects.filter(id=id).values('id','num','title','user__name','user__ubelongpart__partname','desciption','submittime','type','cate__name','url','downnum','modifytime')
|
|
return JsonResponse(list(obj)[0])
|
|
#视频
|
|
elif a=='add':
|
|
userid = req.session['userid']#用户ID
|
|
companyid = getcompany(userid)#公司ID
|
|
obj = Edulesson()
|
|
data = json.loads(req.body.decode('utf-8'))
|
|
obj.title = data['title']
|
|
obj.num='XXZL'+time.strftime('%Y%m%d%H%M%S')
|
|
if 'submittime' in data and data['submittime']:
|
|
obj.submittime=data['submittime']
|
|
else:
|
|
obj.submittime=datetime.now()
|
|
obj.desciption=data['desciption']
|
|
obj.type=1
|
|
obj.deletemark=1
|
|
obj.url=data['url']
|
|
obj.downnum=0
|
|
obj.cate= Questioncat.objects.get(id=data['cate'])
|
|
obj.usecomp=Partment.objects.get(partid=companyid)
|
|
obj.user=User.objects.get(userid=userid)
|
|
obj.save()
|
|
return JsonResponse({"code":1})
|
|
#文件
|
|
elif a=='addwj':
|
|
userid = req.session['userid']#用户ID
|
|
companyid = getcompany(userid)#公司ID
|
|
obj = Edulesson()
|
|
data = json.loads(req.body.decode('utf-8'))
|
|
obj.title = data['title']
|
|
obj.num='ZXJY'+time.strftime('%Y%m%d%H%M%S')
|
|
if 'submittime' in data and data['submittime']:
|
|
obj.submittime=data['submittime']
|
|
else:
|
|
obj.submittime=datetime.now()
|
|
obj.desciption=data['desciption']
|
|
obj.deletemark=1
|
|
obj.url=data['url']
|
|
fileurl = data['url']
|
|
if fileurl.endswith('.mp4'):
|
|
obj.type = 1
|
|
elif fileurl.endswith('.doc') or fileurl.endswith('.docx'):
|
|
obj.type = 2
|
|
elif fileurl.endswith('.ppt') or fileurl.endswith('.pptx'):
|
|
obj.type = 3
|
|
elif fileurl.endswith('.pdf'):
|
|
obj.type = 4
|
|
elif fileurl.endswith('.xls') or fileurl.endswith('.xlsx'):
|
|
obj.type = 5
|
|
elif fileurl.endswith('.zip') or fileurl.endswith('.rar'):
|
|
obj.type = 6
|
|
else:
|
|
obj.type = 7 #其他
|
|
obj.downnum=0
|
|
obj.cate= Questioncat.objects.get(id=data['cate'])
|
|
obj.usecomp=Partment.objects.get(partid=companyid)
|
|
obj.user=User.objects.get(userid=userid)
|
|
obj.save()
|
|
return JsonResponse({"code":1})
|
|
#删除
|
|
elif a == 'del':
|
|
id =req.GET.get('id')
|
|
userid = req.session['userid']
|
|
companyid = getcompany(userid)#公司ID
|
|
a = Edulesson.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})
|
|
#点击下载
|
|
elif a=='downfile':
|
|
id =req.GET.get('id')
|
|
userid = req.session['userid']
|
|
a = Edulesson.objects.get(id=id)
|
|
a.downnum=a.downnum+1
|
|
a.save()
|
|
obj = EdulessonWatch()
|
|
obj.edulesson=a
|
|
obj.user=User.objects.get(userid=userid)
|
|
obj.save()
|
|
return JsonResponse({"code":1,"url": a.url})
|
|
#观看详情
|
|
elif a=='detail':
|
|
id=req.GET.get('zrid')
|
|
a = EdulessonWatch.objects.filter(edulesson=id).values('id','user__name','submittime')
|
|
total = a.count()
|
|
return HttpResponse(transjson(total,a),content_type="application/json") |