def saleOnToday(): # 判断用户是否登录 user_id = session.get('user_id') if user_id: user = User.query.filter(User.id == user_id).first() if user: cur = datetime.datetime.now() acs = db.session.query(Account.drugId, Account.userId, Account.time, func.count('*').label('count')) \ .filter(db.and_(extract('year', Account.time) == cur.year, extract('month', Account.time) == cur.month, extract('day', Account.time) == cur.day)) \ .group_by(Account.time, Account.drugNum).all() accounts = [] for a in acs: account = {} drug = Drug.query.filter(Drug.id == a.drugId).first() user = User.query.filter(User.id == a.userId).first() account['name'] = drug.name account['stockPrice'] = drug.stockPrice account['count'] = a.count account['time'] = a.time account['money'] = a.count * drug.stockPrice account['username'] = user.username accounts.append(account) return render_template('saleOnToday.html', accounts=accounts) return redirect(url_for('login'))
def saleOnToday(): # 判断用户是否登录 user_id = session.get('user_id') if user_id: user = User.query.filter(User.id == user_id).first() if user: cur = datetime.datetime.now() ats = Account.query.filter( db.and_( extract('year', Account.time) == cur.year, extract('month', Account.time) == cur.month, extract('day', Account.time) == cur.day)).all() accounts = [] for a in ats: account = {} account['accountId'] = a.id account['username'] = a.user.username account['accountMoney'] = a.accountMoney account['time'] = a.time # 遍历选购表 ss = Sale.query.filter(Sale.accountId == a.id).all() sales = [] for sale in ss: s = {} s['name'] = sale.drug.name s['price'] = sale.drug.price s['count'] = sale.saleCount s['money'] = sale.saleMoney sales.append(s) account['details'] = sales accounts.append(account) return render_template('saleOnToday.html', accounts=accounts) return redirect(url_for('login'))
def saleDrug(drugId): # 判断用户是否登录 user_id = session.get('user_id') if user_id: user = User.query.filter(User.id == user_id).first() if user: # 判断是否是POST if request.method == 'GET': count = 0 drug = Drug.query.filter(Drug.id == drugId).first() # 查找选购表 药品的选购数量 s = db.session.query(func.sum(Sale.saleCount).label('count')).\ filter(db.and_(Sale.userId == user_id, Sale.drugId == drug.id, Sale.accountId == None)).group_by(Sale.drugId).first() if s: count = s.count return render_template('saleDrug.html', drug=drug, count=int(drug.count) - count) else: nowTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) id = request.form.get('id') price = request.form.get('price') saleCount = request.form.get('saleCount') sale = Sale(time=nowTime, userId=user.id, saleCount=saleCount, saleMoney=int(saleCount) * float(price), drugId=id) db.session.add(sale) db.session.commit() return redirect(url_for('showSaleDrug')) return redirect(url_for('login'))
def account(): # 判断用户是否登录 user_id = session.get('user_id') if user_id: user = User.query.filter(User.id == user_id).first() if user: nowDate = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) # 查出当前管理员所有的选购药品进行结账 sales = db.session.query(Sale.drugNum, Sale.userId, func.count('*').label('count')).filter( Sale.userId == user_id).group_by( Sale.drugNum).all() for sale in sales: # 结账之前,查询一下库存量是否充足(之间选购已经判断过了) drugs = Drug.query.filter( db.and_(Drug.num == sale.drugNum, Drug.isSale == False)).all() for i in range(len(drugs)): if i > sale.count - 1: break drug = drugs[i] Drug.query.filter(Drug.id == drug.id).update({ Drug.isSale: True, Drug.saleDate: nowDate }) account = Account(drugId=drug.id, userId=user_id, drugNum=drug.num, time=nowDate) db.session.add(account) db.session.commit() # 删除选购表数据 salesFromDb = Sale.query.filter( db.and_(Sale.drugNum == sale.drugNum, Sale.userId == user_id)).all() for i in range(len(salesFromDb)): db.session.delete(salesFromDb[i]) db.session.flush() db.session.commit() return redirect(url_for('saleManageHome')) return redirect(url_for('login'))
def saleDrug(drugNum): # 判断用户是否登录 user_id = session.get('user_id') if user_id: user = User.query.filter(User.id == user_id).first() if user: # 判断是否是POST if request.method == 'GET': count = 0 drug = {} # 查找药品编号 卖出价格 数量 drugsfromDb = db.session.query( Drug.num, Drug.name, Drug.stockPrice, func.count('*').label('count')).filter( db.and_(Drug.num == drugNum, Drug.isSale == False)).first() salesfromDb = db.session.query( func.count('*').label('count')).filter( db.and_(Sale.drugNum == drugNum, Sale.userId == user_id)).first() drug['name'] = drugsfromDb.name drug['num'] = drugsfromDb.num drug['stockPrice'] = drugsfromDb.stockPrice if drugsfromDb.count - salesfromDb.count >= 0: count = drugsfromDb.count - salesfromDb.count drug['count'] = count return render_template('saleDrug.html', drug=drug) else: num = request.form.get('num') saleCount = request.form.get('saleCount') for index in range(int(saleCount)): nowTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) sale = Sale(time=nowTime, userId=user.id, drugNum=num) sale.user = user db.session.add(sale) db.session.commit() return redirect(url_for('showSaleDrug')) return redirect(url_for('login'))
def post_detail(post_id): post = PostModel.query.get(post_id) if not post: abort(404) comments = CommentModel.query.filter( db.and_(CommentModel.post_id == post.id, CommentModel.is_display == 1)).all() content = {'post': post, 'comments': comments} return render_template('front/front_pdetail.html', **content)
def saleSearchByDay(): # 判断用户是否登录 user_id = session.get('user_id') if user_id: user = User.query.filter(User.id == user_id).first() if user: if request.method == 'GET': # 查询今日的明细 cur = datetime.datetime.now() acs = db.session.query(Account.drugId, Account.userId, Account.time, func.count('*').label('count')) \ .filter( db.and_(extract('year', Account.time) == cur.year, extract('month', Account.time) == cur.month, extract('day', Account.time) == cur.day)) \ .group_by(Account.time, Account.drugNum).all() accounts = [] for a in acs: account = {} drug = Drug.query.filter(Drug.id == a.drugId).first() user = User.query.filter(User.id == a.userId).first() account['name'] = drug.name account['stockPrice'] = drug.stockPrice account['count'] = a.count account['time'] = a.time account['money'] = a.count * drug.stockPrice account['username'] = user.username accounts.append(account) return render_template('saleSearchByDay.html', accounts=accounts, startTime=cur.strftime("%Y-%m-%d"), endTime=cur.strftime("%Y-%m-%d")) else: startTime = request.form.get('startTime') endTime = request.form.get('endTime') acs = db.session.query(Account.drugId, Account.userId, Account.time, func.count('*').label('count')) \ .filter(Account.time.between(startTime, endTime)).group_by(Account.time, Account.drugNum).all() accounts = [] for a in acs: account = {} drug = Drug.query.filter(Drug.id == a.drugId).first() user = User.query.filter(User.id == a.userId).first() account['name'] = drug.name account['stockPrice'] = drug.stockPrice account['count'] = a.count account['time'] = a.time account['money'] = a.count * drug.stockPrice account['username'] = user.username accounts.append(account) return render_template('saleSearchByDay.html', accounts=accounts, startTime=startTime, endTime=endTime) return redirect(url_for('login'))
def deleteSale(num): # 判断用户是否登录 user_id = session.get('user_id') if user_id: user = User.query.filter(User.id == user_id).first() if user: sales = Sale.query.filter( db.and_(Sale.drugNum == num, Sale.userId == user_id)).all() for sale in sales: db.session.delete(sale) db.session.commit() return redirect(url_for('showSaleDrug')) return redirect(url_for('login'))
def backStock(drugNum, stockDate): # 判断用户是否登录 user_id = session.get('user_id') if user_id: user = User.query.filter(User.id == user_id).first() if user: drugsfromDb = Drug.query.filter( db.and_(Drug.num == drugNum, Drug.stockDate == stockDate)).all() # 从数据库查到列表 for drug in drugsfromDb: db.session.delete(drug) db.session.commit() return redirect(url_for('addStocHistory')) return redirect(url_for('login'))
def showSaleDrug(): # 判断用户是否登录 user_id = session.get('user_id') if user_id: user = User.query.filter(User.id == user_id).first() if user: saleMoney = 0 # 还未结账 accountId=None sales = Sale.query.filter( db.and_(Sale.userId == user_id, Sale.accountId == None)).all() for sale in sales: saleMoney = saleMoney + sale.saleMoney return render_template('showSaleDrug.html', sales=sales, saleMoney=saleMoney) return redirect(url_for('login'))
def login(): if request.method == 'GET': return render_template('login.html') else: user = request.form.get('username') passwd = request.form.get('passwd') code = request.form.get('code') #try: q1 = db.session.query(Demo_Login_Users).filter( db.and_(Demo_Login_Users.name == user, Demo_Login_Users.password == passwd)).first() with open('temp.json', 'r') as f: temp = f.read() #print(type(q1)) #print(q1 != None) if q1 != None and code.lower() == json.loads(temp): return 'success' else: return redirect(url_for('login'))
def drugType(drugTypeId): # 判断用户是否登录 user_id = session.get('user_id') if user_id: user = User.query.filter(User.id == user_id).first() if user: drugs = [] # 获取数据列表 drugTypes = DrugType.query.all() # 获取所有药品 drugsfromDb = db.session.query(Drug.num, Drug.name, func.count('*').label('count'))\ .filter(db.and_(Drug.drugTypeId == drugTypeId,Drug.isSale == False)).group_by(Drug.num).order_by(Drug.id) # 从数据库查到列表 for drug in drugsfromDb: drugs.append(drug) return render_template('home.html', drugTypes=drugTypes, drugs=drugs, drugTypeId=drugTypeId) return redirect(url_for('login'))
def saleSearchByDay(): # 判断用户是否登录 user_id = session.get('user_id') if user_id: user = User.query.filter(User.id == user_id).first() if user: if request.method == 'GET': # 查询今日的明细 cur = datetime.datetime.now() ats = Account.query.filter( db.and_( extract('year', Account.time) == cur.year, extract('month', Account.time) == cur.month, extract('day', Account.time) == cur.day)).all() accounts = [] for a in ats: account = {} account['accountId'] = a.id account['username'] = a.user.username account['accountMoney'] = a.accountMoney account['time'] = a.time # 遍历选购表 ss = Sale.query.filter(Sale.accountId == a.id).all() sales = [] for sale in ss: s = {} s['name'] = sale.drug.name s['price'] = sale.drug.price s['count'] = sale.saleCount s['money'] = sale.saleMoney sales.append(s) account['details'] = sales accounts.append(account) return render_template( 'saleSearchByDay.html', accounts=accounts, startTime=cur.strftime("%Y-%m-%d"), endTime=(cur + datetime.timedelta(days=1)).strftime("%Y-%m-%d")) else: startTime = request.form.get('startTime') endTime = request.form.get('endTime') ats = Account.query.filter( Account.time.between(startTime, endTime)).all() accounts = [] for a in ats: account = {} account['accountId'] = a.id account['username'] = a.user.username account['accountMoney'] = a.accountMoney account['time'] = a.time # 遍历选购表 ss = Sale.query.filter(Sale.accountId == a.id).all() sales = [] for sale in ss: s = {} s['name'] = sale.drug.name s['price'] = sale.drug.price s['count'] = sale.saleCount s['money'] = sale.saleMoney sales.append(s) account['details'] = sales accounts.append(account) return render_template('saleSearchByDay.html', accounts=accounts, startTime=startTime, endTime=endTime) return redirect(url_for('login'))