def chat(): hospt_id = session["hospital_id"] pet_id = request.args.get('pet') q = "SELECT * FROM `pet` join `chat_room` on pet.PET_ID = chat_room.PET_ID and pet.HOSPITAL_ID = chat_room.HOSPITAL_ID WHERE pet.HOSPITAL_ID = %s" result = query(q, True, False, False, hospt_id) if result: room_id = None for i in result: last = query( "SELECT * FROM `chat` WHERE `ROOM_ID` = %s ORDER BY `CHAT_DATETIME` DESC LIMIT 1", True, True, False, i["ROOM_ID"]) i["LAST"] = last["CHAT_MESSAGE"] if last else "" if last: if last["CHAT_SEND"] == "0": i["NEW"] = False elif last["CHAT_READ"] == "1": i["NEW"] = True else: i["NEW"] = False else: i["NEW"] = False if i["PET_ID"] == pet_id: room_id = i["ROOM_ID"] return render_template('chat.html', hospt_id=session["hospital_id"], rooms=result, room_id=room_id) else: return "<h1>Wrong Pet ID</h1>"
def allPerson(): hospt_id = request.form.get('hospt_id') page = request.form.get('page') search = request.form.get('search') if search: search = search.encode('utf-8') if page is None: page = 0 elif type(page) != type(1): page = int(page) - 1 page = page * 12 qs = "" if search is not None: qs = "(b.`PET_NAME` LIKE %s OR b.`PET_PERSON` LIKE %s OR b.`PET_SPEC` LIKE %s) AND " print(qs) print(search) if request.form.get('ltype') == "in": q = "SELECT * FROM `diagnosis` a, `pet` b WHERE " + qs + "a.`HOSPITAL_ID` = %s AND b.`HOSPITAL_ID` = %s AND b.`PET_ID` = a.`PET_ID` AND b.`PET_ADMS`=1 ORDER BY `DIAGN_DATE` DESC LIMIT %s, 12" else: q = "SELECT * FROM `diagnosis` a, `pet` b WHERE " + qs + "a.`HOSPITAL_ID` = %s AND b.`HOSPITAL_ID` = %s AND b.`PET_ID` = a.`PET_ID` ORDER BY `DIAGN_DATE` DESC LIMIT %s, 12" if search is not None: diags = query(q, True, False, False, "%{}%".format(search), "%{}%".format(search), "%{}%".format(search), hospt_id, hospt_id, page) else: diags = query(q, True, False, False, hospt_id, hospt_id, page) if diags: # if request.form.get('num'): # size = len(query("SELECT * FROM `diagnosis` WHERE `HOSPITAL_ID` = %s", True, False, False, hospt_id)) # contents.append(size) return json.dumps(diags) return json.dumps([])
def index(cate_id=None): if cate_id is not None: try: cate_id = int(cate_id) except: return "No this Cate" result = query("select * from category").fetchall() categories = [dict(row.items()) for row in result] if (cate_id is None): sql = "select * from product" else: sql = f"select * from product where cate_id = {cate_id}" result = query(sql).fetchall() products = [dict(row.items()) for row in result] if cate_id is not None: category = [cate for cate in categories if cate['id'] == cate_id] for cate in category: return render_template('shop/product/list.html', category=cate, categories=categories, products=products) return render_template('shop/product/list.html', category={'slug': cate_id}, categories=categories, products=products)
def message(data): q = "INSERT INTO `chat`(`ROOM_ID`, `CHAT_SEND`, `CHAT_TYPE`, `CHAT_MESSAGE`, `CHAT_DATETIME`) VALUES (%s, %s, %s, %s, now())" room_id = data["room_id"] sender = 0 if data["sender"] == 'hospt' else 1 text = 0 if data["type"] == 'text' else 1 query(q, False, False, False, room_id, sender, text, data["message"]) if sender == 0: emit('received', data, room=room_id, broadcast=True) else: emit('received', data, broadcast=True)
def on_join(data): room = data['room_id'] receive = 1 if data["sender"] == "hospt" else 0 print(room) print(receive) last = query( "SELECT `CHAT_DATETIME` FROM `chat` WHERE `CHAT_SEND` = %s AND `ROOM_ID` = %s ORDER BY `CHAT_DATETIME` DESC LIMIT 1", True, True, False, receive, room) if last: query("UPDATE `chat` SET `CHAT_READ` = 0 WHERE `ROOM_ID` = %s AND `CHAT_DATETIME` <= %s", False, False, False, room, last["CHAT_DATETIME"]) join_room(room)
def petMedicineApp(): pet_id = request.form.get('pet_id') medicine_name = request.form.get('medicine_name') morning = request.form.get('medicine_morning') lunch = request.form.get('medicine_lunch') dinner = request.form.get('medicine_dinner') date = request.form.get('medicine_date') q = "INSERT INTO `pet_medicine`(`PET_ID`, `MEDICINE_NAME`, `MEDICINE_DATE`, `MEDICINE_MORNING`, `MEDICINE_LUNCH`, `MEDICINE_DINNER`) VALUES (%s, %s, DATE(NOW() + INTERVAL {0} DAY), %s, %s, %s)".format( int(date) + 1) query(q, False, False, False, pet_id, medicine_name, morning, lunch, dinner) return ""
def load_order_items(order_id): sql = text('select * from order_ where id = :id') result = query(sql, {'id': order_id}).fetchone() if result is None: return [] order = dict(result) sql = text('select product.cate_id, product.id, product.name,o.price,o.num from order_items o ' 'left join product on o.product = product.id where o.id = :id') result = query(sql, {'id': order_id}).fetchall() if result is None: return [] return order, [dict(row.items()) for row in result]
def insertPet(): ks = [] vs = [] for k in request.form: ks.append("`" + k + "`") vs.append(request.form.get(k)) ks = ",".join(ks) q = "INSERT INTO `pet`({}) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)".format(ks) pet_id = query(q, False, False, False, *tuple(vs)) q = "INSERT INTO `chat_room`(`HOSPITAL_ID`, `PET_ID`) VALUES (%s, %s)" chat_room = query(q, False, False, False, vs[9], pet_id) return "success"
def petLoginAPP(): user_id = request.form.get("id").encode('utf-8') user_pw = request.form.get("pw").encode('utf-8') q = "SELECT * FROM `user` WHERE USER_ID = %s AND USER_PW = %s" result = query(q, True, True, False, user_id, user_pw) if not result: q = "SELECT * FROM `doctor` WHERE DOCTOR_ID = %s AND DOCTOR_PW = %s" result = query(q, True, True, False, user_id, user_pw) if not result: return "error" else: return "0" pet_id = result["PET_ID"] return pet_id
def load_categoris(): sql = text('select * from category') result = query(sql).fetchall() if result is not None: return [dict(row.items()) for row in result] else: return None
def insertMemo(): title = request.form.get("title").encode('utf-8') type = request.form.get("type").encode('utf-8') content = request.form.get("content").encode('utf-8') q = "INSERT INTO `stock`(`STOCK_TYPE`, `STOCK_NAME`, `STOCK_PRICE`, `STOCK_TIME`) VALUES (%s, %s, %s, DATE(NOW()))" diag_id = query(q, False, False, False, type, title, content) return ""
def searchDisease(): word = request.form.get('search') result = query("SELECT * FROM disease WHERE `DISEASE_NAME` LIKE %s", True, False, True, "%{}%".format(word)) if result: return result return ""
def medicineID(): iid = request.form.get('iid') result = query("SELECT * FROM medicine WHERE MEDI_ID = %s", True, True, True, iid) return result if result else ""
def load_category(cate_id): sql = text('select * from category where id = :cate') row = query(sql, {'cate': cate_id}).fetchone() if row is not None: return dict(row.items()) else: return None
def searchMedicine(): word = request.form.get('search') result = query("SELECT * FROM medicine WHERE `MEDI_NAME` LIKE %s", True, False, True, "%{}%".format(word)) if result: return result return ""
def getChat(): room_id = request.form.get('room_id') q = "SELECT * FROM `chat` WHERE `ROOM_ID` = %s ORDER BY `CHAT_DATETIME`" result = query(q, True, False, True, room_id) if result: return result, 200 else: return "", 404
def petGetMediApp(): pet_id = request.form.get('pet_id') q = "SELECT * FROM `pet_medicine` WHERE PET_ID = %s" result = query(q, True, False, True, pet_id) if result: return result, 200 else: return "", 404
def getChatSearched(): hospt_id = session["hospital_id"] search = request.form.get('keyword') if search: search = search.encode('utf-8') q = "SELECT * FROM `pet` join `chat_room` on pet.PET_ID = chat_room.PET_ID and pet.HOSPITAL_ID = chat_room.HOSPITAL_ID WHERE pet.HOSPITAL_ID = %s AND (pet.PET_NAME LIKE %s or pet.PET_PERSON LIKE %s)" result = query(q, True, False, True, hospt_id, "%{}%".format(search), "%{}%".format(search)) return result if result else ""
def updateMemo(): iid = request.form.get("iid") title = request.form.get("title").encode('utf-8') type = request.form.get("type").encode('utf-8') content = request.form.get("content").encode('utf-8') q = "UPDATE `stock` SET `STOCK_TYPE`=%s, `STOCK_NAME`=%s, `STOCK_PRICE`=%s, `STOCK_TIME`=DATE(NOW()) WHERE `STOCK_ID`=%s" diag_id = query(q, False, False, False, type, title, content, iid) return ""
def disease(): s = set() words2 = request.form.getlist('word2[]') if len(words2) > 0: for word in words2: result = query("SELECT * FROM disease_symptom WHERE `SYMPTOME_NAME` LIKE %s", True, False, False, "%{}%".format(word)) if result: if len(s) > 0: s = s.intersection({r["DISEASE_ID"] for r in result}) else: s = {r["DISEASE_ID"] for r in result} else: continue result = query("SELECT * FROM disease WHERE DISEASE_ID = %s" + " OR DISEASE_ID = %s" * (len(s) - 1), True, False, True, *tuple(s)) return result if result else "" return ""
def load_cart(username): sql = text('select * from cart join product p on cart.product = p.id where username = :name') result = query(sql, {"name": username}).fetchall() if result is None: return [] products = {} for product in [dict(row.items()) for row in result]: products[str(product['id'])] = {'num': product['num'], 'price': str(product['price'])} return products
def petChatApp(): pet_id = request.form.get('pet_id') result = query("SELECT `PET_ID` FROM `chat_room` WHERE ROOM_ID = %s", True, True, False, pet_id) if result: pet_id = result["PET_ID"] else: return "6", 200 q = "UPDATE `pet` SET PET_CHAT = PET_CHAT + 1 WHERE PET_ID = %s" query(q, False, False, False, pet_id) q = "SELECT PET_CHAT FROM `pet` WHERE PET_ID = %s" result = query(q, True, True, False, pet_id) if result: return result["PET_CHAT"], 200 else: return "6", 200 return ""
def login(): user_id = request.form.get('username').encode('utf-8') user_pw = request.form.get('password').encode('utf-8') q = "SELECT * FROM `hospital` WHERE `HOSPITAL_USER_ID` = %s AND `HOSPITAL_USER_PW` = %s" data = query(q, True, True, False, user_id, user_pw) if data: session['hospital_id'] = data["HOSPITAL_ID"] return "true" else: return "false"
def petLogin(): pet_id = request.form.get('pet_id') q = "SELECT ROOM_ID FROM `pet` join `chat_room` on pet.PET_ID = chat_room.PET_ID and pet.HOSPITAL_ID = chat_room.HOSPITAL_ID WHERE pet.PET_ID = %s" result = query(q, True, True, False, pet_id) if result: return result["ROOM_ID"], 200 elif int(pet_id) == 0: return "0", 200 return "", 404
def medicine(): s = set() words1 = request.form.getlist('word1[]') if len(words1) > 0: for word in words1: print(word) result = query("SELECT * FROM disease_medicine WHERE `DISEASE_ID` = %s", True, False, False, word) if result: if len(s) > 0: s = s.union({r["MEDI_ID"] for r in result}) else: s = {r["MEDI_ID"] for r in result} else: continue result = query("SELECT * FROM medicine WHERE MEDI_ID = %s" + " OR MEDI_ID = %s" * (len(s) - 1), True, False, True, *tuple(s)) return result if result else "" return ""
def load_user(username: str = None): if username is None: username = session.get('user_id') if not username: return None sql = text("select * from user where username = :username") row = query(sql, {"username": username}).fetchone() if row is None: return None user = dict(row.items()) return User(user)
def load_order(): username = session.get('user_id') if not username: return None if current_user.is_admin: sql = text('select * from orders left join order_ on orders.order_id = order_.id') else: sql = text('select * from orders left join order_ on orders.order_id = order_.id where username = :username') result = query(sql, {'username': username}) if result is None: return [] return [dict(row.items()) for row in result]
def insertDiagn(): ks = [] vs = [] for k in request.form: ks.append("`" + k + "`") vs.append(request.form.get(k).encode('utf-8')) ks.append("`DIAGN_DATE`") ks = ",".join(ks) q = "INSERT INTO `diagnosis`({}) VALUES (%s, %s, %s, %s, %s, NOW())".format( ks) diag_id = query(q, False, False, False, *tuple(vs)) return ""
def diag(): if "hospital_id" in session: hospt_id = session["hospital_id"]; q = "SELECT * FROM `hospital` WHERE `HOSPITAL_ID` = %s"; data = query(q, True, True, False, hospt_id) if data: hospt_name = data["HOSPITAL_NAME"] pet_id = request.args.get('pet') return render_template('diag.html', hospt_name=hospt_name, pet_id=pet_id, hospt_id=hospt_id) return redirect('/')
def memo(): iid = request.args.get('id') if iid != '0': result = query('SELECT * FROM stock WHERE `STOCK_ID` = %s', True, True, False, iid) return render_template('memo.html', iid=iid, title=result["STOCK_NAME"], content=result["STOCK_PRICE"], types=result["STOCK_TYPE"]) else: return render_template('memo.html')