1. 程式人生 > 資料庫 >mysql實現體溫管理系統

mysql實現體溫管理系統

體溫管理系統
目標:根據頁面設計系統功能
設計專案資料庫
程式碼實現

專案介紹:登入學生每天的低溫資訊並記錄異常情況
頁面介紹
首頁:生成每個學生當天的體溫名單,按照日期查詢
體溫狀態修改頁面:實現修改某個人的體溫狀態
展示
1.所有資訊
2.統計功能(正常多少人,異常多少人,特殊因為什麼特殊)

專案功能需求分析:登入,註冊,展示首頁,生成今日體溫記錄(id,學生id,名字,日期,異常狀態,說明),根據名字和日期修改體溫記錄情況,根據日期統計體溫正常或者異常

資料庫設計
核心物件
1.使用者物件
2.學生物件
3.記錄物件

1.使用者表
2.學生表
3.****學生記錄表
物件/表之間的關係

實現表

from my_d import MysqlHelper   #匯入第三方模組
import datetime       #匯入time模組

current_day = datetime.date.today()
db = MysqlHelper('localhost',13306,'root','root','students')    #建立連線

def login_menu(): #登陸選單
    print('##########歡迎使用北網體溫管理系統###########')
    print('1. 登陸')
    print('2. 註冊')
    print('##########################################')

def login(name,pwd):   #登入
    sql ="select * from users where uname =%s and pwd =%s"   
    params =[name,pwd]
    result =db.get_one(sql,params)
    return result

def sys_menu():       #登入裡面的列表選單
    print('**************************************')
    print('1. 生成今日體溫記錄')
    print('2. 根據名字修改體溫記錄')
    print('3.根據日期查詢統計')
    print('*************************************')

    num = int(input('請選擇選單:'))
    if num==1:
        gener_jilu()
    elif num==2:
        update_jilu()
    elif num==3:
        mycount()
    else:
        print('輸入錯誤!')

def  gener_jilu():                  #生成體溫記錄
    print(f'生成:{current_day}體溫記錄!')
    db = MysqlHelper('localhost', 13306, 'root', 'root', 'students')
    result = db.get_one('select * from  flag where create_time=%s', (current_day))
    if result is None:
        try:
            students = db.get_all("select * from students", None)
            list_jilu = []
            for stu in students:
                jilu = (stu[0], current_day, 1, '正常')  # 記錄
                list_jilu.append(jilu)
            sql = "insert into jilu(sid,create_time,status,shuoming,temp) values(%s,%s,%s,%s,36.1)"
            db.my_execute(sql, list_jilu)
            db.my_execute('insert into flag(create_time,flag) values(%s,%s)', (current_day, 1))
            print('無錯誤生成成功!!')
        except Exception as e:
            print(e)
    else:
        print('今日已生成!')

def update_jilu():            #修改體溫記錄
    print('根據名字修改記錄資料')
    name = input('請輸入體溫異常人名字:')
    status = input('輸入體溫狀態(1正常2,異常3缺失):')
    shuoming = input('請輸入說明:')
    temp = input('請輸入體溫:')

    try:
        sql = 'select id from students where name = %s'
        result = db.get_one(sql,[name])
        sid = result[0]
        sql2 = 'update jilu set status =%s, shuoming = %s,temp=%s where sid=%s and create_time =%s'
        params =(status,shuoming,temp,sid,current_day)
        db.my_execute(sql2,params)
        print('修改成功')
    except Exception as e:
        print(e)


def mycount():            #統計體溫記錄
    print('統計,')
    current_day = input('請輸入日期(xxxx-xx-xx):')
    sql ='select status,count(*) from jilu where create_time=%s group by status'
    result = db.get_all(sql,(current_day))
    print(f'日期:{current_day}')
    print('狀態1:正常  2.異常 3缺失!')
    for item in result:
        print(f'狀態:{item[0]}\t,人數:{item[1]}')


if __name__ == '__main__':
    # 1. 顯示選單

    login_menu()
    num =int( input("請選擇選單:"))
    if num==1:
        name = input('請輸入名字:')
        pwd = input('請輸入密碼:')
        if login(name, pwd) is not None:
            print('登陸成功;')
            sys_menu()
        else:
            print('使用者名稱或密碼錯誤!')
    elif num==2:
        print('註冊功能')

    else:
        print('輸入有誤!')