汽车进销存管理系统
角色
本项目主要包含以下角色:
- 超级管理员:拥有系统所有管理权限,负责系统的全面配置、用户管理、权限分配及监控等核心操作。
- 普通角色 :拥有基础操作权限,具体功能权限由超级管理员根据业务需求进行精细化配置。
技术栈
- 后端框架:SpringBoot
- 前端框架:Vue.js, Element UI
- 数据库:MySQL
- 持久层框架:MyBatis
- 项目管理:Maven
- 基础框架:RuoYi (若依)
核心功能
这是一个基于RuoYi框架,采用SpringBoot和Vue.js技术栈构建的汽车进销存管理系统。系统旨在为企业提供全面的汽车销售与库存管理解决方案,涵盖了车辆入库、出库、销售订单管理、库存监控以及系统配置等核心业务流程。通过精细化的权限控制,系统确保不同角色用户能够高效、安全地执行各自职责,从而优化内部运营效率。
功能介绍
超级管理员
超级管理员拥有对系统所有模块的访问和管理权限,主要功能包括:
1.系统管理:
- 用户管理:对系统用户进行全面的增、删、改、查操作,并可重置用户密码、分配角色和部门。
- 角色管理:管理系统角色,包括角色的创建、编辑、删除,以及为角色配置详细的功能权限和数据权限。
- 菜单管理:维护系统导航菜单的层级结构、显示名称、路由路径、组件路径及权限标识,确保用户界面与功能访问的准确性。
- 部门管理:管理公司的组织架构,对部门信息进行增、删、改、查。
- 岗位管理:管理员工的岗位信息,包括岗位的创建、编辑和删除。
- 字典管理:维护系统所需的各类字典数据,如车辆类型、颜色、状态等,支持数据的增、删、改、查。
- 参数设置:配置和管理系统运行的各项全局参数。
- 通知公告:发布、编辑和管理系统内部的通知与公告信息。
- 日志管理:查看详细的操作日志和登录日志,以便进行行为审计和问题追溯。
2.系统监控:
- 在线用户:实时查看当前登录系统的用户列表,并支持对异常用户进行强制下线操作。
- 定时任务:管理和监控系统中的后台定时任务,包括任务的启动、停止、修改和日志查看。
- 数据监控:通过Druid监控工具,实时查看数据库连接池的状态、SQL执行情况等,确保数据库性能。
- 服务监控:监控服务器的各项资源使用情况,如CPU、内存、磁盘和JVM等,保障系统运行的稳定性。
- 缓存监控:监控Redis缓存的使用情况,包括键值数量、内存占用等,并可查看缓存列表。
3.系统工具:
- 表单构建:提供可视化界面,用于快速设计和生成各类业务表单。
- 代码生成:根据数据库表结构,自动生成前后端代码,提高开发效率。
- 系统接口:通过Swagger自动生成并展示系统API接口文档,便于接口调试和对接。
4.业务管理:
- 车辆管理 :车辆信息增删改查
- 分类管理:对汽车分类的管理
- 仓库区域:对停车仓库区域的管理
- 库存管理:对汽车的库存进行管理
- 申请出入库:包含车辆出入库操作
- 出入库记录:查看、删除车辆的出入库记录
- 订单管理:销售订单的创建、查询、修改、审核
- 库存统计:对库存数据的统计
- 厂家管理 :汽车厂家信息进行管理
- 出入库统计:对汽车的出入库记录数据进行可视化统计
普通角色
普通角色用户的功能权限是根据其所属角色由超级管理员灵活配置的:
1.个人信息管理:用户可以修改自己的个人资料和登录密码。
2.业务操作:根据分配的权限,执行特定的业务功能,如车辆信息的查询、销售订单的创建与管理、库存状态的查看等。具体权限范围由管理员通过角色配置进行严格控制。
3.(测试员)业务管理:
- 车辆管理 :车辆信息增删改查
- 分类管理:对汽车分类的管理
- 仓库区域:对停车仓库区域的管理
- 库存管理:对汽车的库存进行管理
- 申请出入库:包含车辆出入库操作
- 出入库记录:查看、删除车辆的出入库记录
- 订单管理:销售订单的创建、查询、修改、审核
- 库存统计:对库存数据的统计
数据字典
sys_dept (部门表)
字段名 | 类型 | 备注 |
---|---|---|
dept_id | bigint(20) | 部门ID,主键,自增 |
parent_id | bigint(20) | 父部门ID,顶级部门为0 |
ancestors | varchar(50) | 祖级列表,记录从根节点到当前节点的路径 |
dept_name | varchar(30) | 部门名称 |
order_num | int(4) | 显示顺序,用于排序 |
leader | varchar(20) | 部门负责人姓名 |
phone | varchar(11) | 负责人联系电话 |
varchar(50) | 负责人邮箱 | |
status | char(1) | 部门状态(0正常 1停用) |
del_flag | char(1) | 删除标志(0代表存在 2代表删除) |
create_by | varchar(64) | 创建者用户名 |
create_time | datetime | 记录创建时间 |
update_by | varchar(64) | 更新者用户名 |
update_time | datetime | 记录最后更新时间 |
sys_user (用户信息表)
字段名 | 类型 | 备注 |
---|---|---|
user_id | bigint(20) | 用户ID,主键,自增 |
dept_id | bigint(20) | 所属部门ID,关联sys_dept表 |
user_name | varchar(30) | 用户登录账号 |
nick_name | varchar(30) | 用户昵称或真实姓名 |
user_type | varchar(2) | 用户类型(00系统用户) |
varchar(50) | 用户电子邮箱 | |
phonenumber | varchar(11) | 用户手机号码 |
sex | char(1) | 用户性别(0男 1女 2未知) |
avatar | varchar(100) | 用户头像图片的URL地址 |
password | varchar(100) | 加密后的用户登录密码 |
status | char(1) | 帐号状态(0正常 1停用) |
del_flag | char(1) | 删除标志(0代表存在 2代表删除) |
login_ip | varchar(128) | 用户最后一次登录的IP地址 |
login_date | datetime | 用户最后一次登录的时间 |
create_by | varchar(64) | 创建该用户的管理员账号 |
create_time | datetime | 记录创建时间 |
update_by | varchar(64) | 最后一次修改该用户的管理员账号 |
update_time | datetime | 记录最后更新时间 |
remark | varchar(500) | 关于该用户的备注信息 |
sys_post (岗位信息表)
字段名 | 类型 | 备注 |
---|---|---|
post_id | bigint(20) | 岗位ID,主键,自增 |
post_code | varchar(64) | 岗位编码,唯一标识 |
post_name | varchar(50) | 岗位名称 |
post_sort | int(4) | 显示顺序,用于排序 |
status | char(1) | 状态(0正常 1停用) |
create_by | varchar(64) | 创建者用户名 |
create_time | datetime | 记录创建时间 |
update_by | varchar(64) | 更新者用户名 |
update_time | datetime | 记录最后更新时间 |
remark | varchar(500) | 关于该岗位的备注信息 |
sys_role (角色信息表)
字段名 | 类型 | 备注 |
---|---|---|
role_id | bigint(20) | 角色ID,主键,自增 |
role_name | varchar(30) | 角色名称 |
role_key | varchar(100) | 角色权限字符串,如'admin' |
role_sort | int(4) | 显示顺序,用于排序 |
data_scope | char(1) | 数据范围(1全部 2自定义 3本部门 4本部门及以下) |
menu_check_strictly | tinyint(1) | 菜单树选择项是否关联显示 |
dept_check_strictly | tinyint(1) | 部门树选择项是否关联显示 |
status | char(1) | 角色状态(0正常 1停用) |
del_flag | char(1) | 删除标志(0代表存在 2代表删除) |
create_by | varchar(64) | 创建者用户名 |
create_time | datetime | 记录创建时间 |
update_by | varchar(64) | 更新者用户名 |
update_time | datetime | 记录最后更新时间 |
remark | varchar(500) | 关于该角色的备注信息 |
sys_menu (菜单权限表)
字段名 | 类型 | 备注 |
---|---|---|
menu_id | bigint(20) | 菜单ID,主键,自增 |
menu_name | varchar(50) | 菜单名称 |
parent_id | bigint(20) | 父菜单ID,顶级菜单为0 |
order_num | int(4) | 显示顺序,用于排序 |
path | varchar(200) | 路由地址,用于前端路由 |
component | varchar(255) | 组件路径,用于前端组件加载 |
query | varchar(255) | 路由参数,传递给页面的参数 |
route_name | varchar(50) | 路由名称,用于前端路由命名 |
is_frame | int(1) | 是否为外链(0是 1否) |
is_cache | int(1) | 是否缓存(0缓存 1不缓存) |
menu_type | char(1) | 菜单类型(M目录 C菜单 F按钮) |
visible | char(1) | 菜单状态(0显示 1隐藏) |
status | char(1) | 菜单状态(0正常 1停用) |
perms | varchar(100) | 权限标识,用于后端权限控制 |
icon | varchar(100) | 菜单图标的标识符 |
create_by | varchar(64) | 创建者用户名 |
create_time | datetime | 记录创建时间 |
update_by | varchar(64) | 更新者用户名 |
update_time | datetime | 记录最后更新时间 |
remark | varchar(500) | 关于该菜单的备注信息 |
sys_config (参数配置表)
字段名 | 类型 | 备注 |
---|---|---|
config_id | int(5) | 参数主键,自增 |
config_name | varchar(100) | 参数名称,方便理解 |
config_key | varchar(100) | 参数键名,程序中通过此键获取值 |
config_value | varchar(500) | 参数键值,配置的具体内容 |
config_type | char(1) | 系统内置(Y是 N否),内置参数不可删除 |
create_by | varchar(64) | 创建者用户名 |
create_time | datetime | 记录创建时间 |
update_by | varchar(64) | 更新者用户名 |
update_time | datetime | 记录最后更新时间 |
remark | varchar(500) | 关于该参数的备注信息 |
sys_logininfor (系统访问记录)
字段名 | 类型 | 备注 |
---|---|---|
info_id | bigint(20) | 访问ID,主键,自增 |
user_name | varchar(50) | 登录的用户账号 |
ipaddr | varchar(128) | 登录IP地址 |
login_location | varchar(255) | 根据IP地址解析的登录地点 |
browser | varchar(50) | 使用的浏览器类型 |
os | varchar(50) | 使用的操作系统 |
status | char(1) | 登录状态(0成功 1失败) |
msg | varchar(255) | 提示消息,如登录成功或密码错误 |
login_time | datetime | 访问时间,即登录时间 |
sys_job (定时任务调度表)
字段名 | 类型 | 备注 |
---|---|---|
job_id | bigint(20) | 任务ID,主键,自增 |
job_name | varchar(64) | 任务名称 |
job_group | varchar(64) | 任务组名,用于任务分组 |
invoke_target | varchar(500) | 调用目标字符串,指定执行的方法 |
cron_expression | varchar(255) | cron执行表达式,定义执行周期 |
misfire_policy | varchar(20) | 计划执行错误策略(1立即执行 2执行一次 3放弃执行) |
concurrent | char(1) | 是否并发执行(0允许 1禁止) |
status | char(1) | 状态(0正常 1暂停) |
create_by | varchar(64) | 创建者用户名 |
create_time | datetime | 记录创建时间 |
update_by | varchar(64) | 更新者用户名 |
update_time | datetime | 记录最后更新时间 |
remark | varchar(500) | 关于该任务的备注信息 |
sys_job_log (定时任务调度日志表)
字段名 | 类型 | 备注 |
---|---|---|
job_log_id | bigint(20) | 任务日志ID,主键,自增 |
job_name | varchar(64) | 任务名称 |
job_group | varchar(64) | 任务组名 |
invoke_target | varchar(500) | 调用目标字符串 |
job_message | varchar(500) | 日志信息,记录任务执行的输出 |
status | char(1) | 执行状态(0正常 1失败) |
exception_info | varchar(2000) | 异常信息,记录任务执行失败时的错误堆栈 |
create_time | datetime | 记录创建时间 |
sys_notice (通知公告表)
字段名 | 类型 | 备注 |
---|---|---|
notice_id | int(4) | 公告ID,主键,自增 |
notice_title | varchar(50) | 公告标题 |
notice_type | char(1) | 公告类型(1通知 2公告) |
notice_content | longblob | 公告内容,存储富文本或长文本 |
status | char(1) | 公告状态(0正常 1关闭) |
create_by | varchar(64) | 创建者用户名 |
create_time | datetime | 记录创建时间 |
update_by | varchar(64) | 更新者用户名 |
update_time | datetime | 记录最后更新时间 |
remark | varchar(255) | 关于该公告的备注信息 |
gen_table (代码生成业务表)
字段名 | 类型 | 备注 |
---|---|---|
table_id | bigint(20) | 编号,主键,自增 |
table_name | varchar(200) | 数据库中的表名称 |
table_comment | varchar(500) | 表的中文描述或注释 |
sub_table_name | varchar(64) | 关联子表的表名,用于主子表生成 |
sub_table_fk_name | varchar(64) | 子表关联的外键名,用于主子表生成 |
class_name | varchar(100) | 生成的实体类名称 |
tpl_category | varchar(200) | 使用的模板(crud单表操作 tree树表操作) |
tpl_web_type | varchar(30) | 前端模板类型(如element-ui) |
package_name | varchar(100) | 生成的Java代码包路径 |
module_name | varchar(30) | 生成的模块名,如'system' |
business_name | varchar(30) | 生成的业务名,如'user' |
function_name | varchar(50) | 生成的功能名,如'用户管理' |
function_author | varchar(50) | 生成功能代码的作者 |
gen_type | char(1) | 生成代码方式(0 zip压缩包 1 自定义路径) |
gen_path | varchar(200) | 生成路径(不填默认项目路径) |
options | varchar(1000) | 其它生成选项的JSON字符串 |
create_by | varchar(64) | 创建者用户名 |
create_time | datetime | 记录创建时间 |
update_by | varchar(64) | 更新者用户名 |
update_time | datetime | 记录最后更新时间 |
remark | varchar(500) | 关于该代码生成配置的备注信息 |
gen_table_column (代码生成业务表字段)
字段名 | 类型 | 备注 |
---|---|---|
column_id | bigint(20) | 编号,主键,自增 |
table_id | bigint(20) | 归属的表编号,关联gen_table表 |
column_name | varchar(200) | 数据库中的列名称 |
column_comment | varchar(500) | 列的中文描述或注释 |
column_type | varchar(100) | 列的数据库类型,如'varchar(255)' |
java_type | varchar(500) | 映射的Java类型,如'String' |
java_field | varchar(200) | 映射的Java实体类字段名 |
is_pk | char(1) | 是否主键(1是) |
is_increment | char(1) | 是否自增(1是) |
is_required | char(1) | 是否必填(1是),用于前端校验 |
is_insert | char(1) | 是否为插入字段(1是) |
is_edit | char(1) | 是否为编辑字段(1是) |
is_list | char(1) | 是否在列表页显示(1是) |
is_query | char(1) | 是否为查询条件字段(1是) |
query_type | varchar(200) | 查询方式(等于、不等于、大于、小于、范围) |
html_type | varchar(200) | 前端页面显示类型(文本框、下拉框等) |
dict_type | varchar(200) | 关联的字典类型,用于下拉框等组件 |
sort | int | 字段在页面上的显示排序 |
create_by | varchar(64) | 创建者用户名 |
create_time | datetime | 记录创建时间 |
update_by | varchar(64) | 更新者用户名 |
update_time | datetime | 记录最后更新时间 |
部分截图