Esempio n. 1
0
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
Esempio n. 2
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条结果,无法生成公示"
Esempio n. 3
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条结果,无法生成公示"
Esempio n. 4
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
Esempio n. 5
0
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"无法找到"
Esempio n. 6
0
    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)
Esempio n. 7
0




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"\
Esempio n. 8
0
def get_results(query):
    global doc2vec, model
    results = Engine.search(query, model, doc2vec)
    return jsonify(results)