当前位置: 首页 > 新闻资讯  > 宿舍管理系统

大学里的员工宿舍管理系统设计与实现

本文介绍了一个用于大学员工宿舍管理系统的简单设计和实现。通过Python编程语言结合SQLite数据库,实现了宿舍信息管理、入住登记等功能。

嘿,大家好!今天我要跟大家分享一个关于大学员工宿舍管理系统的小项目。这个系统可以帮助大学更好地管理员工的宿舍分配和日常事务。咱们从头开始讲起,一步步来,看看怎么用Python和SQLite数据库来搭建这样一个系统。

 

员工宿舍管理

首先,我们要安装Python环境,如果你还不知道怎么安装的话,可以去官网下载最新版本的Python。然后,我们需要安装SQLite数据库,它是个轻量级的数据库,非常适合我们的小项目。

 

### 安装依赖

 

pip install sqlite3

 

这里用的是Python自带的`sqlite3`库,所以不需要额外安装。

 

### 创建数据库

 

import sqlite3

def create_db():
    conn = sqlite3.connect('staff_dormitory.db')
    c = conn.cursor()
    
    # 创建宿舍表
    c.execute('''CREATE TABLE IF NOT EXISTS dormitories (
                    id INTEGER PRIMARY KEY,
                    room_number TEXT NOT NULL,
                    capacity INTEGER NOT NULL,
                    current_occupancy INTEGER NOT NULL)''')

    # 创建员工表
    c.execute('''CREATE TABLE IF NOT EXISTS staffs (
                    id INTEGER PRIMARY KEY,
                    name TEXT NOT NULL,
                    department TEXT NOT NULL,
                    assigned_room TEXT)''')

    conn.commit()
    conn.close()

create_db()

 

这段代码创建了两个表:一个是存储宿舍信息的`dormitories`,另一个是存储员工信息的`staffs`。每个表都有几个字段,比如宿舍号、容量、当前占用人数等。

 

### 添加宿舍和员工信息

 

def add_dormitory(room_number, capacity):
    conn = sqlite3.connect('staff_dormitory.db')
    c = conn.cursor()
    c.execute("INSERT INTO dormitories (room_number, capacity, current_occupancy) VALUES (?, ?, ?)", 
              (room_number, capacity, 0))
    conn.commit()
    conn.close()

def assign_staff_to_dorm(room_number, staff_name, department):
    conn = sqlite3.connect('staff_dormitory.db')
    c = conn.cursor()
    # 先检查是否有空位
    c.execute("SELECT current_occupancy FROM dormitories WHERE room_number=?", (room_number,))
    occupancy = c.fetchone()[0]
    
    if occupancy < 4:  # 假设每个宿舍最多容纳4人
        c.execute("UPDATE dormitories SET current_occupancy=current_occupancy+1 WHERE room_number=?", (room_number,))
        c.execute("INSERT INTO staffs (name, department, assigned_room) VALUES (?, ?, ?)", 
                  (staff_name, department, room_number))
        conn.commit()
        print(f"{staff_name} has been assigned to room {room_number}.")
    else:
        print(f"Room {room_number} is full.")
    conn.close()

 

这些函数允许我们添加新的宿舍信息,并将员工分配到有空位的宿舍中。

 

好了,这就是我们的员工宿舍管理系统的基本框架。你可以根据需要扩展更多功能,比如查询特定员工的信息或查看某个宿舍的状态。希望这篇分享对你有所帮助!

相关资讯

    暂无相关的数据...