基于Python的管理系统(附源码)

0. 前言

这几天在写软件工程课设,题目是:设计一款疫苗管理系统,于是用PyQT5写GUI,MySQL做数据库写了一个demo出来。

做完之后,给我的感觉是像这种管理系统类的东西本质上就是对数据库的增删改查,界面是为了方便普通用户操作而存在的。

其实一开始前端想过用web,但后来还是偷懒用了PyQT5写GUI。下次有机会可能会尝试一下web前端(之前从来没用过)。

这次主要代码量有1200多行(不带UI界面代码),整体写的有些乱,代码复用和代码管理方面做得不太行,不过写了详细的注释。写这个博客主要为了记录和总结,同时可以互相学习交流。

1. 题目要求

先来看看课设的题目要求:
在这里插入图片描述
在这里插入图片描述

2. 要求分析

首先把题目直接说出的要求列出来,用户和需求模块如下:
在这里插入图片描述
接着做更进一步的分析,补充了一些功能,最终的大致流程如下:
在这里插入图片描述
确定了大致流程后,需要开始创建数据库了。我的代码中数据库是需要手动创建的,很简单,在第4部分“源码及其使用”中我会具体介绍。先分析需要创建的数据库(database)及表格(table):

在这里插入图片描述
在这里插入图片描述
创建的数据库和表格如下:
在这里插入图片描述

3.效果展示

先来看看代码的效果如何(所有在前端的操作都会同步到数据库更新),这里只展示部分效果,还有些错误提示什么的细节就不展示了。

3.1 主界面

在这里插入图片描述

3.2 注册界面

在这里插入图片描述

3.3 管理员

3.3.1 管理员登陆界面

在这里插入图片描述

3.3.2 管理员——疫苗信息管理界面

在这里插入图片描述

3.3.3 管理员——社区医院管理界面

在这里插入图片描述

3.4 社区医院

3.4.1 社区医院登陆界面

在这里插入图片描述

3.4.2 社区医院——医院信息管理界面

在这里插入图片描述

3.4.3 社区医院——用户预约界面

在这里插入图片描述

3.4.5 社区医院——接种信息管理界面

在这里插入图片描述

3.4.6 社区医院——不良反应反馈界面

在这里插入图片描述

3.5 普通用户

3.5.1 普通用户登陆界面

在这里插入图片描述

3.5.2 普通用户——个人信息管理界面

在这里插入图片描述

3.5.3 普通用户——家庭信息管理界面

在这里插入图片描述

3.5.4 普通用户——接种预约界面

在这里插入图片描述

3.5.5 普通用户——不良反应反馈界面

在这里插入图片描述

4. 源码及使用说明

链接:https://pan.baidu.com/s/1tRxmb6pfVRrI0JdCEDlCUg
提取码:syh1

首先看下文件结构:
在这里插入图片描述
control.py是主代码,UI文件夹里是UI文件的代码,不用管,assets里是一些图片,我本来想给界面加些背景和图标的,但后来发现一直有问题,就没加。

理论上讲只要配置好环境,按要求创建好数据库就可以运行了。

4.1 需要的环境(第三方库)

看一下我的运行环境

在这里插入图片描述
没太多额外的库,用anaconda创建虚拟环境,然后额外安装好pyqt5和pymysql库(为了和数据库相连)就行了。如何安装,百度就能解决。

4.2 创建数据库

需要首先安装好mysql数据库,安装教程有很多,不说了。

然后需要手动创建我之前说的数据库和那几个表格,具体代码如下:

(数据库和表的名字不能错,因为代码和数据库和表的名字连接)

(1)登录mysql

mysql -u root -p

(2)创建vaccine_info数据库

create database vaccine_info;

(3)创建user_info表格

create table user_info(
id varchar(20) primary key,
password varchar(20),
role varchar(1));

在这里插入图片描述
(4)在user_info表格中插入管理员

这么做是因为从安全的角度考虑,管理员这一权限最大的用户由数据库操作者手动添加最为合适。

insert into user_info (id, password, role) values ('admin1', '123456', 'A');

(5)创建commonuser_info表格

create table commonuser_info(
id varchar(20) primary key,
name varchar(20),
family_code varchar(8),
age int(3),
sex varchar(1),
phone varchar(20),
IDCard varchar(30),
is_book varchar(1),
book_time varchar(11),
is_bad_reaction varchar(1),
what_bad_reaction varchar(60));

看看commonuser_info长什么样子:
在这里插入图片描述

(6)创建vaccines_info:

create table vaccines_info(
type varchar(10),
company varchar(20),
user_type varchar(20),
user_age varchar(20),
price varchar(7));

在这里插入图片描述
(7)创建hospital_info表格:

create table hospital_info(
id varchar(20) primary key,
name varchar(20),
num varchar(10),
is_book varchar(1),
time varchar(20));

在这里插入图片描述
(8)创建 inoculate_info表格:

create table inoculate_info(
id varchar(20) primary key,
vaccine_type varchar(200),
time varchar(200));

在这里插入图片描述

至此,数据库配置完成,总共有5个表格:

在这里插入图片描述

之后直接运行control.py就可以了。

5. 总结

这次课设还是学到了一些东西的,主要是数据库的一些基本使用,以前一直不太清楚数据库到底要怎么用。

不过说实话学到的东西和花费的时间不成正比,当会用数据库操作和写界面时,之后的工作就是在重复了。当然,我写的也只是demo水平,仅供娱乐参考。

另外,部署环境和数据库配置等我已经说得比较详细了,如果配置过程出了问题相信百度就可以解决。

最后,寒假快乐!!

  • 72
    点赞
  • 423
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 50
    评论
基于Python的快递管理系统源码主要包括以下几个部分: 1. 用户管理功能:实现用户的注册、登录、修改密码等功能,并保存用户基本信息。 2. 快递录入功能:用户可以输入快递单号、收件人信息等,并保存至数据库中。 3. 快递查询功能:用户可以根据快递单号进行查询,系统会返回该快递的详细信息。 4. 快递更新状态功能:快递在不同的状态间转换,如已揽件、运输中、派送中、已签收等,用户可以更新快递状态。 5. 快递删除功能:用户可以删除已签收或取消的快递信息。 6. 数据统计功能:统计快递相关数据,如快递数量、不同状态的快递数量等。 7. 数据备份与还原功能:用户可以手动备份系统数据,以防止数据丢失,同时也可以根据需要进行数据还原。 整个系统的源码可以使用Python的Web框架来实现,如Django或Flask。数据库可以选择使用MySQL、SQLite或者PostgreSQL等。前端可以使用HTML、CSS和JavaScript进行设计和开发,也可以使用前端框架如Bootstrap进行快速开发源码中需要包含数据库的设计和创建脚本,以及相关的函数和类的定义,同时需要考虑用户输入的合法性验证,如快递单号的格式验证,用户登录的身份验证等。 该系统的源码可以提供给快递公司、物流公司或者个人使用,帮助他们更好地管理快递信息,提高工作效率和客户满意度。同时,可以根据实际需求进行定制和扩展,添加更多的功能和模块,满足不同用户的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 50
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SinHao22

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值