def makePublic(): if request.method == 'POST': return makepublic._makepublic() elif request.method == 'GET': if request.args.get('Delete',type=str)=='Delete':#删除公示信息 excelID=request.args.get('id',type=int) Excelmap.deleteExcel(excelID) return " " elif request.args.get('View',type=str)=='View':#查看公示信息 excelID=request.args.get('id',type=int) e=Excelmap.query.filter(excelID==Excelmap.id).first() filename= os.path.basename(e.filepath) return url_for('download_excel', filename = filename) elif request.args.get('Changestatus',type=str)=='Changestatus':#改变公示状态 excelID=request.args.get('id',type=int) e=Excelmap.query.filter(excelID==Excelmap.id).first() _status=request.args.get('status',type=int) e.status=_status db.session.commit() return str(_status) elif request.args.get('act',type=str)=='updateTotal':#更新总分 engine=Engine() engine.updateTotal() return " " else: #返回excel公示列表 return Excelmap.getExcelLits()#must be a jsonify object or it will return dict is not callable
def _makepublic(): _name = request.form["name"] _timestart=request.form["timestart"] _timeend=request.form["timeend"] _note=request.form["note"] _ischecked=request.form["ischecked"] _adminID=request.form["admin"]#as campID _adminName=request.form["adminNAME"] _maketime=datetime.today() _time=_maketime.strftime('%Y-%m-%d %H:%M:%S')#TODO change format? _grade=request.form["grade"] if _ischecked=="true": _status=OPEN else: _status=CLOSE #需要写进excel的info栏的内容 excelinfo={ "filename" : _name, "start" : _timestart, "end" : _timeend, "admin" : _adminName, "note":_note, "maketime":_maketime, "grade":_grade } engine=Engine() userlist=engine.getUserlist_byGrade(_grade)#得到该年级全部的學生 if len(userlist)==0: return u"不存在该年级" maker=MakeExcel(excelinfo)#创建MakeExcel对像并初始化 if maker.run(userlist,_timestart,_timeend):#开始创建excel文件,接收变量userlist filepath=__ExcelDir__+_name+"_"+_time.split(" ")[0]+"_"+_time.split(" ")[1].replace(":","_")+".xls" maker.saveAs(filepath) #把生成的excel的相关信息存放到数据库的表中 exceldb=Excelmap(Excelname=_name, creater=_adminName, creater_time=_maketime, start_time=_timestart, end_time=_timeend, filepath=filepath, status=_status, grade=_grade ) db.session.add(exceldb) db.session.commit() return "true" else : return u"0条结果,无法生成公示"
def _makepublic(): _name = request.form["name"] _timestart = request.form["timestart"] _timeend = request.form["timeend"] _note = request.form["note"] _ischecked = request.form["ischecked"] _adminID = request.form["admin"] #as campID _adminName = request.form["adminNAME"] _maketime = datetime.today() _time = _maketime.strftime('%Y-%m-%d %H:%M:%S') #TODO change format? _grade = request.form["grade"] if _ischecked == "true": _status = OPEN else: _status = CLOSE #需要写进excel的info栏的内容 excelinfo = { "filename": _name, "start": _timestart, "end": _timeend, "admin": _adminName, "note": _note, "maketime": _maketime, "grade": _grade } engine = Engine() userlist = engine.getUserlist_byGrade(_grade) #得到该年级全部的學生 if len(userlist) == 0: return u"不存在该年级" maker = MakeExcel(excelinfo) #创建MakeExcel对像并初始化 if maker.run(userlist, _timestart, _timeend): #开始创建excel文件,接收变量userlist filepath = __ExcelDir__ + _name + "_" + _time.split( " ")[0] + "_" + _time.split(" ")[1].replace(":", "_") + ".xls" maker.saveAs(filepath) #把生成的excel的相关信息存放到数据库的表中 exceldb = Excelmap(Excelname=_name, creater=_adminName, creater_time=_maketime, start_time=_timestart, end_time=_timeend, filepath=filepath, status=_status, grade=_grade) db.session.add(exceldb) db.session.commit() return "true" else: return u"0条结果,无法生成公示"
def run(self,userlist,starttime,endtime): i=self.STARTLINE _count=0 for user in userlist:#写用户总体信息 engine=Engine() result=engine.getUserDetail(user,start_time=starttime,end_time=endtime,is_jsonify=False) lines=len(result["items"]) if result is not None: _count+=1#增加一条记录 self._writedetail(i,result["items"],lines) i+=self._writeuser(i,result,lines) if _count>0: return True #至少有一个条目 else: return False #没有任何条目 return True
def getStuInfo(): engine=Engine() searchtype=request.args.get('searchtype',type=str)#按照全部或是区间 starttime=request.args.get('starttime',type=unicode)#区间起始时间 endtime=request.args.get('endtime',type=unicode)#区间截止时间 if searchtype=="bycampID": campID=request.args.get('campID',type=str) user=User.get_user(campID) return engine.getUserDetail(user,starttime,endtime) elif searchtype=="bygrade": grade=request.args.get('grade',type=unicode) engine.updateTotal()#如果按年级查询,更新数据库总分 return engine.getGradeSumary(grade,starttime,endtime) else: return u"无法找到"
def __init__(self,excelinfo=None): self.STARTLINE=1 engine=Engine() timemanager=TimeManager() self.workbook = Workbook() self.sheet = self.workbook.add_sheet(u'公示信息',cell_overwrite_ok=False) self.inforsheet=self.workbook.add_sheet(u'文档信息',cell_overwrite_ok=False) _tableTitle=[u"一卡通",u"学号",u"姓名",u"明细",u"说明",u"得分",u"总分"] #设置列宽(固定宽度) self.sheet.col(0).width=4000 self.sheet.col(1).width=4000 self.sheet.col(2).width=3000 self.sheet.col(3).width=20000 self.sheet.col(4).width=20000 self.sheet.col(5).width=2000 self.sheet.col(6).width=2000 #定义info栏的字体 # (<element>:(<attribute> <value>,)+;)+ xls_title =easyxf( 'font: name Arial,height 400,colour black;' 'pattern: pattern solid, fore_colour pale_blue;' 'alignment: horizontal center,vertical center;' ) xls_info=easyxf( 'font: name Arial,height 250,colour black;' 'pattern: pattern solid, fore_colour white;' 'alignment: horizontal center,vertical center;' 'borders:top medium,bottom medium,left medium,right medium;' ) self.xls_detail=easyxf( 'font: name Arial,height 250,colour black;' 'pattern: pattern solid, fore_colour white;' 'alignment: horizontal center,vertical center;' 'borders:top medium,bottom medium,left medium,right medium;' ) self.sumary=easyxf( 'font: name Arial,height 250,colour black;' 'pattern: pattern solid, fore_colour white;' 'alignment: horizontal center,vertical center;' 'borders:top medium,bottom medium,left medium,right medium;' ) self.details=easyxf( 'font: name Arial,height 250,colour black;' 'pattern: pattern solid, fore_colour yellow;' 'alignment: horizontal center,vertical center;' 'borders:top medium,bottom medium,left medium,right medium,bottom_colour violet;' ) self.inforsheet.write_merge(0,1,0,6,excelinfo["filename"], xls_title) self.inforsheet.write_merge(2,3,2,6,excelinfo["admin"],xls_info) self.inforsheet.write_merge(2,3,0,1,u"创建者:",xls_info) self.inforsheet.write_merge(4,5,2,6,excelinfo["grade"],xls_info) self.inforsheet.write_merge(4,5,0,1,u"公示年级:",xls_info) #self.inforsheet.write_merge(6,7,2,6,timemanager.strTime(excelinfo["maketime"]),xls_info) self.inforsheet.write_merge(6,7,0,1,u"创建时间:",xls_info) self.inforsheet.write_merge(8,9,2,6,excelinfo["start"]+u"至"+excelinfo["end"],xls_info) self.inforsheet.write_merge(8,9,0,1,u"统计区间:",xls_info) self.inforsheet.write_merge(10,11,2,6,excelinfo["note"],self.xls_detail) self.inforsheet.write_merge(10,11,0,1,u"备注:",xls_info) for i in range(len(_tableTitle)):#Make table title self.sheet.write(0,i,_tableTitle[i],self.xls_detail)
if __name__ == '__main__': excelinfo={ "filename" : "_name", "start" : "_timestart", "end" : "_timeend", "admin" : "_adminName", "note":"_note", "maketime":"_maketime", "grade":"_grade" } engine=Engine() userlist=engine.getUserlist_byGrade(u"本2013")#得到该年级全部的學生 maker=MakeExcel(excelinfo)#创建MakeExcel对像并初始化 if maker.run(userlist,"2015-03-01","2015-03-30"):#开始创建excel文件,接收变量userlist filepath=__ExcelDir__+"_name"+"_"+".xls" maker.saveAs(filepath) # x=ImportFromXls(__Add_info__+"1.xlsx") # if x.isValid(): # campID_not_unique,num,successful,unknown=x.Read2DB() # result=u"读取"+str(num)+u"条记录\n------\n"\ # +u"成功\t\t"+str(successful)+u" 条\n------\n"\ # +u"失败(学号重复)\t"+str(len(campID_not_unique))+u" 条\n------\n"\
def get_results(query): global doc2vec, model results = Engine.search(query, model, doc2vec) return jsonify(results)