Example #1
0
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>"
Example #2
0
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([])
Example #3
0
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)
Example #4
0
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)
Example #5
0
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)
Example #6
0
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 ""
Example #7
0
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]
Example #8
0
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"
Example #9
0
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
Example #10
0
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
Example #11
0
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 ""
Example #12
0
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 ""
Example #13
0
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 ""
Example #14
0
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
Example #15
0
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 ""
Example #16
0
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
Example #17
0
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
Example #18
0
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 ""
Example #19
0
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 ""
Example #20
0
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 ""
Example #21
0
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
Example #22
0
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 ""
Example #23
0
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"
Example #24
0
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
Example #25
0
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 ""
Example #26
0
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)
Example #27
0
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]
Example #28
0
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 ""
Example #29
0
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('/')
Example #30
0
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')