def POST(self): web.header("Access-Control-Allow-Origin", "*") params = web.input() exam = model.Exam_model() must_params = exam.__notnull__ if (util.paramsok(must_params, params) == 2): response = util.Response(status=util.Status.__params_not_ok__) return util.objtojson(response) else: exam = model.Exam_model(**params) if exam.insert(): result = exam.query("select max(ex_id) from exam") lastExamId = int(result[0]['max(ex_id)']) # 获取教务班学生id stuHasClass = model.Student_has_class_model() classId = params['class_cl_id'].encode('utf-8') classId = classId.split(',') for k in range(1, len(classId) - 1): listStuid = stuHasClass.getByArgs(class_cl_id=classId[k]) for stuID in listStuid: informationArgs = dict( student_st_id=stuID.student_st_id, exam_ex_id=lastExamId, class_cl_id=classId[k], sg_id=exam.strategy_sg_id) information = model.Information_model( **informationArgs) information.insert() response = util.Response(status=util.Status.__success__) return util.objtojson(response) else: response = util.Response(status=util.Status.__error__) return util.objtojson(response)
def POST(self): web.header("Access-Control-Allow-Origin", "*") params = web.input() exam = model.Exam_model() must_params = exam.__notnull__ if (util.paramsok(must_params, params) == 2): response = util.Response(status=util.Status.__params_not_ok__) return util.objtojson(response) else: exam = model.Exam_model(**params) if exam.update(): # 获取教务班学生id stuHasClass = model.Student_has_class_model() classId = params['add_class_cl_id'].encode('utf-8') classId = classId.split(',') print 'add_class_cl_id' print classId for k in range(1, len(classId) - 1): print 1234567 print classId[k] listStuid = stuHasClass.getByArgs(class_cl_id=classId[k]) for stuID in listStuid: informationArgs = dict( student_st_id=stuID.student_st_id, exam_ex_id=exam.ex_id, class_cl_id=classId[k], sg_id=exam.strategy_sg_id) information = model.Information_model( **informationArgs) information.insert() delete_classId = params['delete_class_cl_id'].encode('utf-8') delete_classId = delete_classId.split(',') print 'delete_class_cl_id' print delete_classId for k in range(1, len(delete_classId) - 1): listStuid = stuHasClass.getByArgs( class_cl_id=delete_classId[k]) for stuID in listStuid: # informationArgs = dict(student_st_id=stuID.student_st_id, exam_ex_id=exam.ex_id, # class_cl_id=delete_classId[k]) # information = model.Information_model() # information_id = information.getByArgs(informationArgs) # information.in_id = information_id[0]['in_id'] # information.delete() db.delete('information', where="student_st_id = $student_st_id \ and exam_ex_id = $exam_ex_id", vars={ 'student_st_id': stuID.student_st_id, 'exam_ex_id': exam.ex_id }) response = util.Response(status=util.Status.__success__) return util.objtojson(response) else: response = util.Response(status=util.Status.__error__) return util.objtojson(response)
def POST(self): web.header("Access-Control-Allow-Origin", "*") params = web.input() examId = params['ex_id'] examStatus = dict(ex_state=1, ex_id=examId) exam = model.Exam_model(**examStatus) exam.update()
def POST(self): web.header("Access-Control-Allow-Origin", "*") # 接收参数 params = web.input() count = model.Exam_model.count() currentPage = int(params.currentPage) - 1 lists = model.Exam_model.query( 'select * from exam order by ex_time_end desc limit %s,%s' % (currentPage * 10, 10)) lists = [model.Exam_model(**item) for item in lists] for list in lists: start_time = list['ex_time_start'].strftime('%Y-%m-%d %H:%M:%S') end_time = list['ex_time_end'].strftime('%Y-%m-%d %H:%M:%S') del list['ex_time_start'] del list['ex_time_end'] list.setdefault('ex_time_start', start_time) list.setdefault('ex_time_end', end_time) page = util.Page(data=lists, totalRow=count, currentPage=int(params.currentPage), pageSize=10, status=util.Status.__success__, message="未知") response = util.Response(status=util.Status.__success__, body=page) return util.objtojson(response)
def upExamStatusStop(delay): while (1): # print threadName time.sleep(delay) startExam = dict(ex_state=1) examModel = model.Exam_model() # 正在考试的考试 exams = examModel.getByArgs(**startExam) for exam in exams: # 可能变成2,3,4 # 练习模式考试直接出成绩 if exam.ex_type == '0': if exam['ex_time_end'] < datetime.datetime.now(): exam['ex_state'] = '4' exam.update() else: # 正式考试,自动判卷,转到正在阅卷 if exam.ex_auto == '1': if exam['ex_time_end'] < datetime.datetime.now(): exam['ex_state'] = '3' thread.start_new(upExamStatusFour, (1, exam.ex_id)) exam.update() else: # 正式考试,非自动判卷,转到结束考试但成绩未出 if exam['ex_time_end'] < datetime.datetime.now(): exam['ex_state'] = '2' exam.update()
def POST(self): web.header("Access-Control-Allow-Origin", "*") # 接收参数 params = web.input() lists = model.Exam_model.query('select * from exam where ex_state = 1') lists = [model.Exam_model(**item) for item in lists] response = util.Response(status=util.Status.__success__, body=lists) return util.objtojson(response)
def GET(self): web.header("Access-Control-Allow-Origin", "*") cl = model.Class_model() exam = model.Exam_model() cl_data = cl.getByArgs() exam_data = exam.getByArgs() data = [] data.append(cl_data) data.append(exam_data) response = util.Response(status=util.Status.__success__, body=data) return util.objtojson(response)
def POST(self): web.header("Access-Control-Allow-Origin", "*") # 接收参数 params = web.input() exam = model.Exam_model(**params) exam.delete() if exam.getByArgs(**params): response = util.Response(status=util.Status.__error__) return util.objtojson(response) else: response = util.Response(status=util.Status.__success__) return util.objtojson(response)
def upExamStatusStop(threadName, delay): while (1): print threadName time.sleep(delay) startExam = dict(ex_state=1) examModel = model.Exam_model() # 未开始的考试 exams = examModel.getByArgs(**startExam) for exam in exams: if exam['ex_time_end'] < datetime.datetime.now(): exam['ex_state'] = '2' exam.update()
def POST(self): web.header("Access-Control-Allow-Origin", "*") # 接收参数 params = web.input() exam = model.Exam_model() data = exam.getByArgs(**params) start_time = data[0]['ex_time_start'].strftime('%Y-%m-%d %H:%M:%S') end_time = data[0]['ex_time_end'].strftime('%Y-%m-%d %H:%M:%S') del data[0]['ex_time_start'] del data[0]['ex_time_end'] data[0].setdefault('ex_time_start', start_time) data[0].setdefault('ex_time_end', end_time) return util.objtojson(data)
def POST(self): web.header("Access-Control-Allow-Origin", "*") # 接收参数 params = web.input() currentPage = int(params.currentPage) - 1 print(params) if params.ex_name == '': if params.ex_time_end == '' and params.ex_time_start != '': params.ex_time_end = '2200-12-12T12:12' if params.ex_time_end != '' and params.ex_time_start == '': params.ex_time_start = '2000-12-12T12:12' if params.ex_time_end == '' and params.ex_time_start == '': params.ex_time_start = '2000-12-12T12:12' params.ex_time_end = '2200-12-12T12:12' lists = model.Exam_model.query('select * from exam where ex_time_start >= %s \ and ex_time_end <= %s order by ex_time_start desc limit %s,%s' \ % ("'" + params.ex_time_start + "'", "'" + params.ex_time_end + "'", currentPage * 10, 10)) result = model.Exam_model.query('select count(*) from exam where ex_time_start \ >= %s and ex_time_end <= %s' % ("'" + params.ex_time_start + "'", "'" + params.ex_time_end + "'",)) elif params.ex_time_start == '': lists = model.Exam_model.query('select * from exam where ex_name like \ \'%%%s%%\' order by ex_time_start desc limit %s,%s' % (params.ex_name, currentPage * 10, 10)) result = model.Exam_model.query('select count(*) from exam where ex_name like \ \'%%%s%%\' ' % (params.ex_name)) else: if params.ex_time_end == '': params.ex_time_end = '2200-12-12T12:12' lists = model.Exam_model.query('select * from exam where ex_name like \ \'%%%s%%\' and ex_time_start >= %s and ex_time_end <= %s order by \ ex_time_start desc limit %s,%s' % ( params.ex_name, "'" + params.ex_time_start + "'", "'" + params.ex_time_end + "'", \ currentPage * 10, 10)) result = model.Exam_model.query('select count(*) from exam where ex_name like \ \'%%%s%%\' and ex_time_start >= %s and ex_time_end <= %s' \ % (params.ex_name, "'" + params.ex_time_start + "'", "'" + params.ex_time_end + "'",)) count = result[0]['count(*)'] lists = [model.Exam_model(**item) for item in lists] print(lists) for list in lists: start_time = list['ex_time_start'].strftime('%Y-%m-%d %H:%M:%S') end_time = list['ex_time_end'].strftime('%Y-%m-%d %H:%M:%S') del list['ex_time_start'] del list['ex_time_end'] list.setdefault('ex_time_start', start_time) list.setdefault('ex_time_end', end_time) page = util.Page(data=lists, totalRow=count, currentPage=int(params.currentPage), pageSize=10, status=util.Status.__success__, message="未知") response = util.Response(status=util.Status.__success__, body=page) return util.objtojson(response)
def POST(self): web.header("Access-Control-Allow-Origin", "*") # 接收参数 params = web.input() exam = model.Exam_model() data = exam.getByPK(int(params.ex_id)) start_time = data['ex_time_start'].strftime('%Y-%m-%dT%H:%M') end_time = data['ex_time_end'].strftime('%Y-%m-%dT%H:%M') del data['ex_time_start'] del data['ex_time_end'] data.setdefault('ex_time_start', start_time) data.setdefault('ex_time_end', end_time) response = util.Response(status=util.Status.__success__, body=data) return util.objtojson(response)
def POST(self): web.header("Access-Control-Allow-Origin", "*") # 接收参数 params = web.input() lists = model.Exam_model.query('select * from exam order by ex_time_start desc') lists = [model.Exam_model(**item) for item in lists] for list in lists: start_time = list['ex_time_start'].strftime('%Y-%m-%d %H:%M:%S') end_time = list['ex_time_end'].strftime('%Y-%m-%d %H:%M:%S') del list['ex_time_start'] del list['ex_time_end'] list.setdefault('ex_time_start', start_time) list.setdefault('ex_time_end', end_time) response = util.Response(status=util.Status.__success__, body=lists) return util.objtojson(response)
def POST(self): web.header("Access-Control-Allow-Origin", "*") mydata = web.input() cl = model.Class_model() exam = model.Exam_model() information = model.Information_model() student = model.Student_model() information_data = orm.db.query( 'select * from information where exam_ex_id = %s and class_cl_id = %s' % (mydata.ex_id, mydata.cl_id)) # information_data = orm.db.query('select * from information where exam_ex_id = %s'%(mydata.ex_id)) information_data = [ model.Information_model(**item) for item in information_data ] student_data = [] examquestion_data = [] for k in information_data: result = student.getByArgs(st_id=k.student_st_id) student_data.append(result) k['in_state'] = util.in_state[int(k.in_state)] if k['in_score'] == -1: k['in_score'] = u'未出分' result = model.Exam_question_model.getByArgs( information_in_id=k.in_id) for question in result: if question.eq_get_score < 0: question.eq_get_score = u'未出分' examquestion_data.append(result) data = [] data.append(information_data) data.append(student_data) data.append(examquestion_data) page = util.Page(data=data, totalRow=len(student_data), currentPage=int(mydata.currentPage), pageSize=10, status=util.Status.__success__, message="未知") response = util.Response(status=util.Status.__success__, body=page) return util.objtojson(response)