diff --git a/mydjangoDemo01/library/adminIndex.py b/mydjangoDemo01/library/adminIndex.py new file mode 100644 index 0000000..1d2d7e0 --- /dev/null +++ b/mydjangoDemo01/library/adminIndex.py @@ -0,0 +1,134 @@ +from django.shortcuts import render,redirect,HttpResponse +# djangp=2.1 +from .models import * +from .utils import * + + +""" +Seat Information +""" +def startend2mask(start,end): + mask="" + for i in range(24): + if i >=start and i 开放时间为:",mask," .. mask的长度为:",len(mask)) + return mask +def mask2startend(mask): + start=0 + end=0 + start=mask.find("1") + end=mask.rfind("1") + if start==-1 or end==-1: + start=0 + end=0 + return start,end + +def addSeatPage(request): + return render(request,"addseat.html") +def addSeat(request): + #从前端表单中获取数据 + Campus=request.GET.get("campus",None) + Classroom_1=request.GET.get("classroom_1",None) + Classroom_2=request.GET.get("classroom_2",None) + Classroom=str(Classroom_1)+str(Classroom_2) + Index_1=request.GET.get("index_1",None) + Index_2=request.GET.get("index_2",None) + Index=str(Index_1).zfill(3)+str(Index_2).zfill(3) + Electricity=(request.GET.get("electricity",None)=="Powered") #Powered->1 Unpowered->0 + Start=request.GET.get("start",None) + End=request.GET.get("end",None) + Maxtime=request.GET.get("maxtime",None) + State=request.GET.get("state",None) + if State=="不可用": + State=-1 + elif State=="空闲": + State=0 + elif State=="被占用": + State=1 + else: + State=None + #在 SeatInfo 表中添加记录 + SeatInfo.objects.create( + Campus=Campus, + Classroom=Classroom, + Index=Index, + Electricity=Electricity, + Mask=startend2mask(int(Start),int(End)), + MaxTime=Maxtime, + ) + #return redirect("/page/adminIndex.html") + return render(request,"adminIndex.html") + +def manageSeatPage(request): + Campus=request.GET.get("Campus",None) + Classroom=request.GET.get("Classroom",None) + Index=request.GET.get("Index",None) + Electricity=request.GET.get("Electricity",None) + seats=SeatInfo.objects.all() + # print("打印各个值:",Campus,Classroom,Index,Electricity) + if "all" not in Campus: + seats=seats.filter(Campus=Campus) + if "all" not in Classroom: + # print("发现异常") + # print(type(Classroom),"###",Classroom,"###") + seats=seats.filter(Classroom=Classroom) + if "all" not in Index : + seats=seats.filter(Index=Index) + if "all" not in Electricity : + seats=seats.filter(Electricity=Electricity) + #seats是一个list类型的数据 + # print("=> seats:",seats) + # print("seats.type:",type(seats)) + #print("=> seat.type:",type(seats[0])) + context=dict() + context["seats"]=[] + for seat in seats: + temp=dict() + temp["Id"]=seat.id + temp["Campus"]=seat.Campus + temp["Classroom"]=seat.Classroom + temp["Index"]=seat.Index + temp["Electricity"]=seat.Electricity + temp["MaxTime"]=seat.MaxTime + temp["Mask"]=seat.Mask + context["seats"].append(temp) + return render(request,"manageSeat.html",context) +def modifySeat(request): + #print("=> 测试url传参:",request.GET.get("SeatID",None)) #经测试,能够成功传参,使用get方式获取 + context=dict() + context["Id"]=request.GET.get("SeatID",None) + context["Campus"]=request.GET.get("Campus",None) + context["Classroom"]=request.GET.get("Classroom",None) + context["Index"]=request.GET.get("Index",None) + context["Electricity"]= True if "True" in request.GET.get("Electricity",None) else False + context["MaxTime"]=int(request.GET.get("MaxTime",None)) + context["Mask"]=request.GET.get("Mask",None) + context["Start"],context["End"]=mask2startend(context["Mask"]) + ''' + # print(context) + # print("=> 开始检查 各个属性的 类型 数值 ..") + # print("*****",type(context["Id"]),"*****",context["Id"],"*****") + # print("*****",type(context["Campus"]),"*****",context["Campus"],"*****") + # print("*****",type(context["Classroom"]),"*****",context["Classroom"],"*****") + # print("*****",type(context["Index"]),"*****",context["Index"],"*****") + # print("*****",type(context["Electricity"]),"*****",context["Electricity"],"*****") + # print("*****",type(context["MaxTime"]),"*****",context["MaxTime"],"*****") + # print("*****",type(context["Mask"]),"*****",context["Mask"],"*****") + # print("*****",type(context["Start"]),"*****",context["Start"],"*****") + # print("*****",type(context["End"]),"*****",context["End"],"*****") + ''' + seat=SeatInfo.objects.filter(id=int(context["Id"])) + if context["Campus"]=="None": + seat[0].delete() + seat=SeatInfo.objects.filter(id=int(context["Id"])).update( + Campus=context["Campus"], + Classroom=context["Classroom"], + Index=context["Index"], + Electricity=context["Electricity"], + Mask=startend2mask(start=context["Start"],end=context["End"]), + MaxTime=context["MaxTime"], + ) + return render(request,"adminIndex.html") diff --git a/mydjangoDemo01/library/views.py b/mydjangoDemo01/library/views.py index 8d329ab..30e66ec 100644 --- a/mydjangoDemo01/library/views.py +++ b/mydjangoDemo01/library/views.py @@ -9,6 +9,7 @@ # Create your views here. + from .apscheduler import initScheduler,seatInit initScheduler() seatInit() @@ -23,3 +24,4 @@ # Student Index from .studentIndex import reservationPage,reservation,sign +