Ejemplo n.º 1
0
def edit_user(uid):
	data = request.get_data()
	j_data =  json.loads(data)
	user=db.session.query(Admin).filter_by(admin=j_data['admin']).filter(Admin.id != uid).first()
	if user is not None:
		return r({},0,'',{'admin':'账号已存在'})
	#修改账号表
	user = db.session.query(Admin).filter_by(id=uid).first()
	user.name = j_data['name']
	if 'status' in j_data:
		if j_data['status']:
			user.status = 1
		else:
			user.status = 0
	if 'password' in j_data and j_data['password'] != '':#提交了修改密码
		local_salt=app.config.get("SALT")
		salt=hashlib.md5(str(time.time()).encode(encoding='UTF-8')).hexdigest()
		temp=j_data['password']+local_salt+salt
		user.password=hashlib.md5(temp.encode(encoding='UTF-8')).hexdigest()
		user.salt=salt
	#修改教师表
	tc = db.session.query(Teacher).filter_by(a_id=uid).first()
	tc.name=j_data['name']
	tc.cid=j_data['cid']
	tc.in_time=j_data['in_time']
	tc.out_time=j_data['out_time']
	tc.oa_time=j_data['oa_time']
	tc.info=j_data['info']
	db.session.commit()
	return r({},0,'修改成功')
Ejemplo n.º 2
0
def edit_user(cid):
    data = request.get_data()
    j_data = json.loads(data)
    user = db.session.query(Student).filter_by(cid=j_data['cid']).filter(
        Student.id != cid).first()
    if user is not None:
        return r({}, 0, '', {'cid': '身份证已经存在'})
    tc = db.session.query(Student).filter_by(id=cid).first()
    old_class_id = 0
    flag = False
    if tc.class_id != j_data['class_id']:
        old_class_id = tc.class_id
        flag = True
        pass
    tc.name = j_data['name'],
    tc.class_id = j_data['class_id'],
    tc.code = j_data['code'],
    tc.cid = j_data['cid'],
    tc.in_time = j_data['in_time'],
    tc.out_time = j_data['out_time'],
    tc.l_name = j_data['l_name'],
    tc.l_phone = j_data['l_phone'],
    tc.l2_name = j_data['l2_name'],
    tc.l2_phone = j_data['l2_phone'],
    tc.add = j_data['add'],
    tc.info = j_data['info'],
    db.session.commit()
    if flag:
        set_class_count(j_data['class_id'])
        if old_class_id > 0:
            set_class_count(old_class_id)
    return r({}, 0, '修改成功')
Ejemplo n.º 3
0
def add_class():
    data = request.get_data()
    j_data = json.loads(data)
    user = db.session.query(Class).filter_by(name=j_data['name']).first()
    if user is not None:
        return r({}, 0, '', {'admin': '名称已存在'})

    cl = Class(j_data['t_id'], j_data['name'], int(time.time()), 0)
    db.session.add(cl)
    db.session.commit()
    return r({}, 0, '添加成功')
Ejemplo n.º 4
0
def edit_class(cid):
    data = request.get_data()
    j_data = json.loads(data)
    cl = db.session.query(Class).filter_by(name=j_data['name']).filter(
        Class.id != cid).first()
    if cl is not None:
        return r({}, 1, '班级已经存在')
    cl = db.session.query(Class).filter_by(id=cid).first()
    if 'name' in j_data:
        cl.name = j_data['name']
    if 't_id' in j_data:
        cl.t_id = j_data['t_id']
    db.session.commit()
    return r({}, 0, '修改成功')
Ejemplo n.º 5
0
def get_minlist():
    data = db.session.query(Class.id,
                            Class.name).order_by(Class.id.desc()).all()
    re = []
    for x in data:
        re.append({'label': x[1], 'value': x[0]})
    return r({'options': re})
Ejemplo n.º 6
0
def edit_user(cid):
    data = request.get_data()
    j_data = json.loads(data)
    tc = db.session.query(Score).filter_by(id=cid).first()
    tc.score = j_data['score'],
    db.session.commit()
    return r({}, 0, '修改成功')
Ejemplo n.º 7
0
def add_class():
    class_id = request.values.get('class_id')
    kskc = request.values.get('kskc')
    k_time = request.values.get('k_time')
    file = request.files['file']
    if not file:
        return r({}, 1, '没有上传文件')
    file_contents = file.stream.read().decode("utf-8", "ignore")
    li = file_contents.split("\n")
    del li[0]
    for x in li:
        data = x.split(',')
        if isinstance(data, list) and is_number(data[0]) and len(data) == 5:
            uid = int(data[0])
            sc = float(data[4])
            db.session.add(Score(uid, sc, k_time, kskc))
    db.session.commit()
    return r({}, 0, '成功')
Ejemplo n.º 8
0
def editpwd():
    if request.method == 'GET':
        return render_template('/account/editpwd.html')
    data = request.get_data()
    j_data = json.loads(data)
    if j_data['pwd'] != j_data['pwd2']:
        return r({}, 1, '两次输入的密码不一致')
    local_salt = app.config.get("SALT")
    salt = hashlib.md5(str(time.time()).encode(encoding='UTF-8')).hexdigest()
    temp = j_data['pwd'] + local_salt + salt
    pwd = hashlib.md5(temp.encode(encoding='UTF-8')).hexdigest()
    db.session.query(Admin).filter(Admin.id == session['uid']).update({
        "salt":
        salt,
        'password':
        pwd
    })
    status = db.session.commit()
    return r({'salt': salt, 'status': status}, 0)
Ejemplo n.º 9
0
def add_class():
    data = request.get_data()
    j_data = json.loads(data)
    user = db.session.query(Student).filter_by(cid=j_data['cid']).first()
    if user is not None:
        return r({}, 0, '', {'cid': '身份证已经存在'})

    j_data.setdefault('l2_name', '')
    j_data.setdefault('l2_phone', '')
    j_data.setdefault('add', '')
    j_data.setdefault('code', '')
    j_data.setdefault('info', '')
    cl = Student(j_data['class_id'], j_data['name'], j_data['code'],
                 j_data['cid'], j_data['in_time'], 0, j_data['info'],
                 j_data['l_name'], j_data['l_phone'], j_data['l2_name'],
                 j_data['l2_phone'], j_data['add'])
    db.session.add(cl)
    db.session.commit()
    set_class_count(j_data['class_id'])
    return r({}, 0, '添加成功')
Ejemplo n.º 10
0
def repwd_user(uid):
	#重置密码为123456
	user = db.session.query(Admin).filter_by(id=uid).first()
	local_salt=app.config.get("SALT")
	salt=hashlib.md5(str(time.time()).encode(encoding='UTF-8')).hexdigest()
	temp='123456'+local_salt+salt
	pwd=hashlib.md5(temp.encode(encoding='UTF-8')).hexdigest()
	user.password=pwd
	user.salt=salt
	db.session.commit()
	return r({},0,'重置成功')
Ejemplo n.º 11
0
def login():
    if request.method == 'GET':
        data = {}
        return render_template('login.html', **data)
    data = request.get_data()
    j_data = json.loads(data)
    user = db.session.query(Admin).filter_by(admin=j_data['admin']).first()
    if user is not None:
        if user.status == 0:
            return r({}, 1, '账号已锁定')
        local_salt = app.config.get("SALT")
        db_salt = user.salt
        temp = j_data['pwd'] + local_salt + db_salt
        jmd5 = hashlib.md5(temp.encode(encoding='UTF-8')).hexdigest()
        if jmd5 == user.password:
            session['uid'] = user.id
            session['name'] = user.name
            session['level'] = user.level
            session['logged_in'] = True
            return r({'is_login': 0}, 0, '欢迎登录:' + (user.name))
    return r({}, 1, '账号密码错误')
Ejemplo n.º 12
0
def add_user():
	data = request.get_data()
	j_data =  json.loads(data)
	user=db.session.query(Admin).filter_by(admin=j_data['admin']).first()
	if user is not None:
		return r({},0,'',{'admin':'账号已存在'})
	# admin, password,salt,level,name,status
	local_salt=app.config.get("SALT")
	salt=hashlib.md5(str(time.time()).encode(encoding='UTF-8')).hexdigest()
	temp=j_data['password']+local_salt+salt
	pwd=hashlib.md5(temp.encode(encoding='UTF-8')).hexdigest()
	admin = Admin(j_data['admin'], pwd,salt,2,j_data['name'],1)
	db.session.add(admin)
	db.session.flush()
	j_data.setdefault('in_time',0)
	j_data.setdefault('oa_time',0)
	j_data.setdefault('out_time',0)
	j_data.setdefault('info','')
	tc = Teacher(admin.id, j_data['name'], j_data['cid'], j_data['in_time'], j_data['out_time'], j_data['oa_time'], j_data['info'])
	db.session.add(tc)
	db.session.commit()
	return r({},0,'添加成功')
Ejemplo n.º 13
0
def get_class():
    perPage = int(request.values.get('perPage'))
    page = int(request.values.get('page'))
    name = request.values.get('name')
    t_id = request.values.get('t_id')
    addtime = request.values.get('addtime')
    orderBy = request.values.get('orderBy')
    orderDir = request.values.get('orderDir')

    count = db.session.query(Class).count()
    db_tc = db.session.query(Class)
    offset = ((page - 1) * perPage)
    rt = {}
    ids = []
    temp = []
    order = Class.id.desc()
    if orderBy and orderDir:  #排序
        temp1 = getattr(Class, orderBy)
        order = getattr(temp1, orderDir)()
    where = [Class.id > 0]
    if name:
        where.append(Class.name.like("%" + name + "%"))
    if t_id:
        where.append(Class.t_id == t_id)
    if addtime:
        temptime = addtime.split(',')
        where.append(Class.addtime >= temptime[0])
        where.append(Class.addtime <= temptime[1])
    tc = db_tc.order_by(order).filter(*where).limit(perPage).offset(
        offset)  #.all()
    print(tc)
    for t in tc:
        temp.append({
            'id': t.id,
            'name': t.name,
            'addtime': t.addtime,
            'user_count': t.user_count,
            't_id': t.t_id,
        })

    rt['count'] = count
    rt['rows'] = temp
    # rt['hasNext']=1
    return r(rt)
    pass
Ejemplo n.º 14
0
def userdata():
	perPage=int(request.values.get('perPage'))
	page=int(request.values.get('page'))
	orderBy=request.values.get('orderBy')
	orderDir=request.values.get('orderDir')
	name=request.values.get('name')
	cid=request.values.get('cid')

	in_time=request.values.get('in_time')
	oa_time=request.values.get('oa_time')

	count=db.session.query(Teacher).count()
	db_tc=db.session.query(Teacher)
	offset=((page-1)*perPage)
	rt={}
	ids=[]
	temp=[]
	order=Teacher.id.desc()
	if orderBy and orderDir:#排序
		temp1=getattr(Teacher,orderBy)
		order=getattr(temp1,orderDir)()
	db_tc.order_by(order)
	where=[Teacher.id>0]
	if name :
		where.append(Teacher.name.like("%" + name + "%"))
	if cid :
		where.append(Teacher.cid.like("%" + cid + "%"))
	if in_time :
		temptime=in_time.split(',')
		where.append(Teacher.in_time>=temptime[0])
		where.append(Teacher.in_time<=temptime[1])
	if oa_time :
		temptime=oa_time.split(',')
		where.append(Teacher.oa_time>=temptime[0])
		where.append(Teacher.oa_time<=temptime[1])
	tc = db_tc.filter(*where).limit(perPage).offset(offset).all()
	# print(tc)
	for t in tc:
		ids.append(t.a_id)
	user = db.session.query(Admin).filter(Admin.id.in_(ids)).all()

	for t in tc:
		for u in user:
			if u.id==t.a_id:
				temp.append({
					'id':u.id,
					'name':u.name,
					'admin':u.admin,
					'level':u.level,
					'status':u.status,
					'cid':t.cid,
					'in_time':t.in_time,
					'out_time':t.out_time,
					'oa_time':t.oa_time,
					'info':t.info,
					})

	rt['count']=count
	rt['rows']=temp
	# rt['hasNext']=1
	return r(rt)
Ejemplo n.º 15
0
def delete_user(uid):
	sql=db.session.query(Admin).filter_by(id=uid).filter(Admin.level != 1).delete()
	sql2=db.session.query(Teacher).filter_by(a_id=uid).delete()
	db.session.commit()
	return r({},0,'删除成功')
Ejemplo n.º 16
0
def delete_class(cid):
    sql2 = db.session.query(Class).filter_by(id=cid).delete()
    db.session.commit()
    return r({}, 0, '删除成功')
Ejemplo n.º 17
0
def delete_user(cid):
    sql2 = db.session.query(Score).filter_by(id=cid).delete()
    db.session.commit()
    return r({}, 0, '删除成功')
Ejemplo n.º 18
0
def get_score():
    perPage = int(request.values.get('perPage'))
    page = int(request.values.get('page'))
    k_time = request.values.get('k_time')
    score = request.values.get('score')
    stu_search = {}
    stu_search['name'] = request.values.get('name')
    stu_search['code'] = request.values.get('code')
    stu_search['c_id'] = request.values.get('c_id')
    sco_search = {}
    sco_search['kskc'] = request.values.get('kskc')
    class_id = request.values.get('class_id')

    orderBy = request.values.get('orderBy')
    orderDir = request.values.get('orderDir')

    count = db.session.query(Score).count()
    offset = ((page - 1) * perPage)
    rt = {}
    ids = []
    temp = []
    order = Score.id.desc()
    if orderBy and orderDir:  #排序
        temp1 = getattr(Score, orderBy)
        order = getattr(temp1, orderDir)()
    where = [Score.id > 0]
    for k, v in sco_search.items():
        if v:
            temp1 = getattr(Score, k).like("%" + v + "%")
            where.append(temp1)
    #搜索了学生 start
    stu_where = []
    for k, v in stu_search.items():
        if v:
            temp1 = getattr(Student, k).like("%" + v + "%")
            stu_where.append(temp1)
    if len(stu_where) > 0:
        sids = db.session.query(Student.id).filter(*stu_where).all()
        tempsid = []
        for x in sids:
            tempsid.append(x[0])
            pass
        where.append(Score.uid.in_(tempsid))
    #搜索了学生 end
    #搜索了班级 start
    if class_id:
        sids = db.session.query(
            Student.id).filter(Student.class_id == class_id).all()
        tempsid = []
        for x in sids:
            tempsid.append(x[0])
            pass
        where.append(Score.uid.in_(tempsid))
        pass
    #搜索了班级 end

    db_tc = db.session.query(Score)
    if k_time:
        temptime = k_time.split(',')
        where.append(Score.k_time >= temptime[0])
        where.append(Score.k_time <= temptime[1])
    if score:
        temptime = score.split(',')
        where.append(Score.score >= temptime[0])
        where.append(Score.score <= temptime[1])
    tc = db_tc.order_by(order).filter(
        *where).limit(perPage).offset(offset).all()
    ids = []
    for t in tc:
        ids.append(t.uid)
    stu = db.session.query(Student).filter(Student.id.in_(ids)).all()

    data = db.session.query(Class.id,
                            Class.name).order_by(Class.id.desc()).all()
    re = {}
    for x in data:
        re[x[0]] = x[1]

    for t in tc:
        for u in stu:
            if u.id == t.uid:
                temp.append({
                    'id': t.id,
                    'uid': t.uid,
                    'k_time': t.k_time,
                    'score': t.score,
                    'kskc': t.kskc,
                    'name': u.name,
                    'cid': u.cid,
                    'code': u.code,
                    'class_id': re[u.class_id],
                })
    rt['count'] = count
    rt['rows'] = temp
    # print(rt)
    return r(rt, 0, '删除成功')
Ejemplo n.º 19
0
def get_student():
    perPage = int(request.values.get('perPage'))
    page = int(request.values.get('page'))
    in_time = request.values.get('in_time')
    search = {}
    search['name'] = request.values.get('name')
    search['t_id'] = request.values.get('t_id')
    search['code'] = request.values.get('code')
    search['cid'] = request.values.get('cid')
    search['l_name'] = request.values.get('l_name')
    search['l_phone'] = request.values.get('l_phone')
    search['l2_name'] = request.values.get('l2_name')
    search['l2_phone'] = request.values.get('l2_phone')
    search['add'] = request.values.get('add')
    orderBy = request.values.get('orderBy')
    orderDir = request.values.get('orderDir')

    count = db.session.query(Student).count()
    db_tc = db.session.query(Student)
    offset = ((page - 1) * perPage)
    rt = {}
    ids = []
    temp = []
    order = Student.id.desc()
    if orderBy and orderDir:  #排序
        temp1 = getattr(Student, orderBy)
        order = getattr(temp1, orderDir)()
    where = [Student.id > 0]
    for k, v in search.items():
        if v:
            temp1 = getattr(Student, k).like("%" + v + "%")
            where.append(temp1)

    if in_time:
        temptime = in_time.split(',')
        where.append(Student.in_time >= temptime[0])
        where.append(Student.in_time <= temptime[1])
    tc = db_tc.order_by(order).filter(*where).limit(perPage).offset(
        offset)  #.all()
    print(tc)
    for t in tc:
        temp.append({
            'id': t.id,
            'class_id': t.class_id,
            'name': t.name,
            'code': t.code,
            'cid': t.cid,
            'in_time': t.in_time,
            'out_time': t.out_time,
            'info': t.info,
            'l_name': t.l_name,
            'l_phone': t.l_phone,
            'l2_name': t.l2_name,
            'l2_phone': t.l2_phone,
            'add': t.add
        })

    rt['count'] = count
    rt['rows'] = temp
    # rt['hasNext']=1
    return r(rt)
    pass
Ejemplo n.º 20
0
def delete_user(cid):
    tc = db.session.query(Student).filter_by(id=cid).first()
    sql2 = db.session.query(Student).filter_by(id=cid).delete()
    db.session.commit()
    set_class_count(tc.class_id)
    return r({}, 0, '删除成功')