美国上市教育机构

400-111-8989

热门课程

Java培优学员作品-充电桩管理系统

  • 发布:IT培训
  • 来源:学员作品
  • 时间:2019-06-26 17:27

本项目旨在为充电站提供一套方便操作的管理系统,随着电动汽车节能时代的到来,新能源汽车越来越普及,充电站的普及已成为不可阻挡的趋势,因此设计出了方便管理车辆、充电桩、客户信息等的一套完整的项目。

该项目是B/S架构项目,应用了SSM框架整合以及Shiro安全框架做权限处理,对于普通用户、企业、管理员可以给予不同的权限。结合硬件部打包发来的数据,实时统计充电桩的状态,让管理员可以时刻监测到充电桩的状态,可针对性的提前做处理。

本项目分为三大模块:

1. 控制台:

1.1 充电监测

针对充电中的状态进行实时监测

1.2 车辆状态

监测车辆的状态信息,检查是否有异常项

2. 设备管理:

2.1车辆管理

录入车辆信息,方面统计及后期维护

2.2电池箱管理

管理电池箱,电池箱的状态,及时更换或维修

2.3充电桩管理

管理充电桩,充电桩的状态,及时更换或维修

3. 系统管理:

3.1用户管理

记录用户信息,显示机构树,模糊搜索,状态管理

3.2角色管理

权限分配,给不同的用户或公司分配不同的权限

3.3资源管理

自定义添加权限资源,包括按钮、菜单、字段

3.4机构管理

管理公司信息,总公司、分公司、子公司、部门等

数据库设计:

DROP DATABASE pcm;

CREATE DATABASE pcm CHARACTER SET utf8;

USE pcm;

-- 机构表

CREATE TABLE base_organization(

id INT NOT NULL AUTO_INCREMENT,-- 编号

name VARCHAR(128) NOT NULL,-- 机构名称

sort INT DEFAULT 0,-- 排序

status TINYINT DEFAULT 1,-- 状态 1.启用 2.禁用

description varchar(255) DEFAULT NULL, -- 描述

level INT DEFAULT 0,-- 机构等级

parentId INT NOT NULL DEFAULT 0,-- 父级编号(0默认为顶级机构)

createTime TIMESTAMP DEFAULT '0000-00-00 00:00:00',

lastModifiedTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

PRIMARY KEY(id)

);

-- 角色表

CREATE TABLE base_role(

id INT NOT NULL AUTO_INCREMENT,-- 编号

name VARCHAR(64) NOT NULL,-- 角色名称

sort INT DEFAULT 0,-- 排序

status TINYINT DEFAULT 1,-- 状态 1.启用 2.禁用

description varchar(255) DEFAULT NULL, -- 描述

createTime TIMESTAMP DEFAULT '0000-00-00 00:00:00',

lastModifiedTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

PRIMARY KEY(id)

);

-- 用户表

CREATE TABLE base_user(

id INT NOT NULL AUTO_INCREMENT,-- 编号

userName VARCHAR(64) NOT NULL,-- 用户名

password VARCHAR(255) NOT NULL,-- 密码

realName VARCHAR(255),-- 用户真实姓名

email VARCHAR(32),-- 电子邮件

phone VARCHAR(64),-- 联系电话

description VARCHAR(255),-- 备注

sort INT DEFAULT 0,-- 排序

status TINYINT DEFAULT 1,-- 状态 1.启用 2.禁用

roleId INT NOT NULL, -- 所属角色

orgId INT NOT NULL, -- 所属机构

createTime TIMESTAMP DEFAULT '0000-00-00 00:00:00',

lastModifiedTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

PRIMARY KEY(id),

FOREIGN KEY(orgId) REFERENCES base_organization(id),

FOREIGN KEY(roleId) REFERENCES base_role(id)

);

CREATE UNIQUE INDEX userName ON base_user(userName);

-- 资源表

CREATE TABLE base_resource(

id INT NOT NULL AUTO_INCREMENT,-- 编号

name VARCHAR(64) NOT NULL,-- 资源名称

parentId INT DEFAULT 0,-- 父级编号

resKey VARCHAR(64),-- 资源Key

resUrl VARCHAR(255),-- 资源Url

resType TINYINT NOT NULL,-- 资源类型 1.菜单 2.按钮 3.字段

status TINYINT DEFAULT 1,-- 资源状态 1.启用 2.禁用

belong TINYINT NOT NULL,-- 所属系统 1.后台 2.前台

sort INT DEFAULT 0,-- 排序

description VARCHAR(255),-- 备注

createTime TIMESTAMP DEFAULT '0000-00-00 00:00:00',

lastModifiedTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

PRIMARY KEY(id)

);

-- 用户角色关系表

CREATE TABLE base_user_role(

id INT NOT NULL AUTO_INCREMENT,-- 编号

userId INT NOT NULL,-- 用户编号

roleId INT NOT NULL,-- 角色编号

PRIMARY KEY(id),

FOREIGN KEY(userId) REFERENCES base_user(id),

FOREIGN KEY(roleId) REFERENCES base_role(id)

);

-- 角色资源关系表

CREATE TABLE base_role_resource(

id INT NOT NULL AUTO_INCREMENT,-- 编号

roleId INT NOT NULL,-- 角色编号

resId INT NOT NULL,-- 资源编号

PRIMARY KEY(id),

FOREIGN KEY(resId) REFERENCES base_resource(id),

FOREIGN KEY(roleId) REFERENCES base_role(id)

);

-- 日志表

CREATE TABLE base_log(

id INT NOT NULL AUTO_INCREMENT,-- 编号

logType INT NOT NULL,-- 日志类型 1.成功 2.警告 3.失败

logContent VARCHAR(4096),-- 日志内容

excuteResult VARCHAR(255),-- 执行结果

userName VARCHAR(64),-- 操作用户

loginIp VARCHAR(64),-- 操作ip

createTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

PRIMARY KEY(id),

FOREIGN KEY(userName) REFERENCES base_user(userName)

);

-- 车辆表

CREATE TABLE t_car(

id BIGINT NOT NULL AUTO_INCREMENT, -- 编号

carNumber BIGINT NOT NULL UNIQUE, -- 车辆编号

carType INT(1) NOT NULL, -- 车辆类型 1-人车, 2-料车

plateNo VARCHAR(32) NOT NULL, -- 车牌号

orgId INT NOT NULL,-- 所属机构/部门

driver VARCHAR(32), -- 司机

driverPhone VARCHAR(32), -- 司机电话

sort INT DEFAULT 0,-- 排序

status TINYINT DEFAULT 1,-- 状态 1.启用 2.禁用

description varchar(255) DEFAULT NULL, -- 描述

createTime TIMESTAMP DEFAULT '0000-00-00 00:00:00',

lastModifiedTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

PRIMARY KEY(ID),

FOREIGN KEY(orgId) REFERENCES base_organization(id)

);

-- 电池箱表

CREATE TABLE t_battery(

id BIGINT NOT NULL AUTO_INCREMENT, -- 编号

batteryNumber BIGINT NOT NULL UNIQUE, -- 电池箱编号

sort INT DEFAULT 0,-- 排序

status TINYINT DEFAULT 1,-- 状态 1.未使用 2.已使用

description varchar(255) DEFAULT NULL, -- 描述

createTime TIMESTAMP DEFAULT '0000-00-00 00:00:00',

lastModifiedTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

PRIMARY KEY(ID)

);

-- 车辆电池箱关系表

CREATE TABLE t_car_battery(

id INT NOT NULL AUTO_INCREMENT,-- id

carNumber INT NOT NULL,-- 车辆编号

batterySerial INT NOT NULL, -- 电池箱序列号-1,2,3,4,5,6

batteryNumber INT NOT NULL,-- 电池箱编号

PRIMARY KEY(id),

FOREIGN KEY(carNumber) REFERENCES t_car(carNumber),

FOREIGN KEY(batteryNumber) REFERENCES t_battery(batteryNumber)

);

-- 充电桩表

CREATE TABLE t_charge_pile(

id BIGINT NOT NULL AUTO_INCREMENT, -- 编号

chargePileNumber BIGINT NOT NULL UNIQUE, -- 充电桩编号

sort INT DEFAULT 0,-- 排序

status TINYINT DEFAULT 1,-- 状态 1.启用 2.禁用

description varchar(255) DEFAULT NULL, -- 描述

createTime TIMESTAMP DEFAULT '0000-00-00 00:00:00',

lastModifiedTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

PRIMARY KEY(ID)

);

-- 监控模块表

CREATE TABLE t_module(

id INT NOT NULL AUTO_INCREMENT, -- 模块编号

moduleName VARCHAR(256) NOT NULL, -- 模块名称

createTime TIMESTAMP DEFAULT '0000-00-00 00:00:00',

lastModifiedTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

PRIMARY KEY(ID)

);

-- 属性表

CREATE TABLE t_attr(

id BIGINT NOT NULL AUTO_INCREMENT, -- 编号

attrName VARCHAR(128) NOT NULL, -- 属性名称

sort INT DEFAULT 0, -- 排序

moduleId INT NOT NULL, -- 模块编号

createTime TIMESTAMP DEFAULT '0000-00-00 00:00:00',

lastModifiedTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

PRIMARY KEY(ID)

);

-- hchange: high change; lchange: low change

-- 车辆监控数据

CREATE TABLE t_car_monitor_hchange(

id BIGINT NOT NULL AUTO_INCREMENT, -- 编号

-- 行车状态指示

qdxh TINYINT(1), -- 启动信号1 有效

qdlx TINYINT(1), -- 驱动类型0 两驱, 1 四驱

qjxh TINYINT(1), -- 前进信号1 有效

htxh TINYINT(1), -- 后退信号1 有效

kdxh TINYINT(1), -- 空档信号1 有效

qyxh TINYINT(1), -- 牵引信号1 有效

zdxh TINYINT(1), -- 制动信号1 有效

mkgxh TINYINT(1), -- 门开关信号1 有效

ygxh TINYINT(1), -- 雨刮信号1 有效

jwbjxh TINYINT(1), -- 甲烷报警信号1 有效

zcgztcxh TINYINT(1), -- 整车故障停车信号1 有效

dcgzbj TINYINT(1), -- 电池故障报警1 有效

dqgzbj TINYINT(1), -- 电驱故障报警1 有效

zczbh TINYINT(1), -- 整车准备好1 有效

-- 电池组工作状态

zdyclgz TINYINT(1), -- 总电压测量故障 0:正常 1:报警

zdlcl TINYINT(1), -- 总电流测量 0:正常1:报警

dyclgz TINYINT(1), -- 24V 电压测量故障 0:正常 1:报警

dlclgz TINYINT(1), -- 24V 电流测量故障 0:正常 1:报警

zkzqwdgggz TINYINT(1), -- 主控制器温度过高故障 0:正常 1:报警

ywjcgz TINYINT(1), -- 烟雾检测故障 0:正常 1:报警

socgd TINYINT(1), -- 总SOC值过低 0:正常 1:报警

dczzt TINYINT(1), -- 电池组状态 0:待机1:放电

b1ljgz TINYINT(1), -- 1号电池箱连接故障 0:正常1:故障

b2ljgz TINYINT(1), -- 2号电池箱连接故障 0:正常1:故障

b3ljgz TINYINT(1), -- 3号电池箱连接故障 0:正常1:故障

b4ljgz TINYINT(1), -- 4号电池箱连接故障 0:正常1:故障

b5ljgz TINYINT(1), -- 5号电池箱连接故障 0:正常1:故障

b6ljgz TINYINT(1), -- 6号电池箱连接故障 0:正常1:故障

xtsjgz TINYINT(1), -- 系统时间故障 0:正常 1:故障

ccqgz TINYINT(1), -- 存储器故障 0:正常 1:故障

b1fdsn TINYINT(1), -- 电池箱一放电使能1 有效

b2fdsn TINYINT(1), -- 电池箱二放电使能1 有效

b3fdsn TINYINT(1), -- 电池箱三放电使能1 有效

b4fdsn TINYINT(1), -- 电池箱四放电使能1 有效

b5fdsn TINYINT(1), -- 电池箱五放电使能1 有效

b6fdsn TINYINT(1), -- 电池箱六放电使能1 有效

b1zdcdsn TINYINT(1), -- 电池箱一制动充电使能1 有效

b2zdcdsn TINYINT(1), -- 电池箱二制动充电使能1 有效

b3zdcdsn TINYINT(1), -- 电池箱三制动充电使能1 有效

b4zdcdsn TINYINT(1), -- 电池箱四制动充电使能1 有效

b5zdcdsn TINYINT(1), -- 电池箱五制动充电使能1 有效

b6zdcdsn TINYINT(1), -- 电池箱六制动充电使能1 有效

b1fwsn TINYINT(1), -- 电池箱一复位使能1 有效

b2fwsn TINYINT(1), -- 电池箱二复位使能1 有效

b3fwsn TINYINT(1), -- 电池箱三复位使能1 有效

b4fwsn TINYINT(1), -- 电池箱四复位使能1 有效

b5fwsn TINYINT(1), -- 电池箱五复位使能1 有效

b6fwsn TINYINT(1), -- 电池箱六复位使能1 有效

-- 监测

zcgz TINYINT(1), -- 工作正常

jxgz TINYINT(1), -- 接线故障

gyzddzx TINYINT(1), -- 高压正对地绝缘电阻小

gyfddzx TINYINT(1), -- 高压负对地绝缘电阻小

sbgz TINYINT(1), -- 设备故障

zc TINYINT(1), -- 正常

ejjg TINYINT(1), -- 二级警告

yjjg TINYINT(1), -- 一级警告

receiveTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 服务端接收时间

collectTime TIMESTAMP, -- 客户端采集时间

PRIMARY KEY(id)

);

CREATE TABLE t_car_monitor_lchange(

id BIGINT NOT NULL AUTO_INCREMENT, -- 编号

-- 行车状态指示

ymtbkd INT, -- 油门踏板开度0-100 1=1%

zdtbkd INT, -- 制动踏板开度0-100 1=1%

speed INT, -- 车速0-1000 1=0.1km/h

xszlc INT, -- 行驶总里程0-65535 1=1km

-- 电池组工作状态

dczmxdy INT, -- 电池组母线电压0-10000 1= 0.1V

dczmxdl INT, -- 电池组母线电流0-5000 1= 0.1A

zkzqwd INT, -- 主控制器温度0-250 -40 ~ 210, 1℃ /bit,偏移量: -40

zkzqxdsd INT, -- 主控制器相对湿度0-100 1=1%

dczdy INT, -- 电池组24V 电压0-300 1= 0.1V

dczdl INT, -- 电池组24V 电流0-250 1= 0.1A

dczsoc INT, -- 电池组总SOC 0-1000 1= 0.1%

-- 监测

jydz INT, -- 绝缘电阻0-65535 1= 1K

dcdy INT, -- 电池电压1=1V

receiveTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 服务端接收时间

collectTime TIMESTAMP, -- 客户端采集时间

PRIMARY KEY(id)

);

-- 车辆电机数据

CREATE TABLE t_car_emachine_hchange(

id BIGINT NOT NULL AUTO_INCREMENT, -- 编号

machineType INT NOT NULL, -- 电机类型 1-FR电机 2-FL电机 3-RR电机 4-RL电机 5-液压泵电机

kzsn TINYINT(1), -- 控制使能1 有效

ljms TINYINT(1), -- 力矩模式1 有效

sdms TINYINT(1), -- 速度模式1 有效

lssd TINYINT(1), -- 零速锁定1 有效

qyms TINYINT(1), -- 牵引模式1 有效

zdms TINYINT(1), -- 制动模式1 有效

xtfw TINYINT(1), -- 系统复位1 有效

zddztr TINYINT(1), -- 制动电阻投入1 有效

zzxh TINYINT(1), -- 正转信号1 有效

fzxh TINYINT(1), -- 反转信号1 有效

kzxh TINYINT(1), -- 空转信号1 有效

kzljcw TINYINT(1), -- 控制逻辑错误1 有效

gzxh TINYINT(1), -- 故障信号1 有效

yhgqbj TINYINT(1), --

djwzcgqgz TINYINT(1), --

kzsn TINYINT(1), --

kzsn TINYINT(1), --

kzsn TINYINT(1), --

receiveTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 服务端接收时间

collectTime TIMESTAMP, -- 客户端采集时间

PRIMARY KEY(id)

);

CREATE TABLE t_car_emachine_lchange(

id BIGINT NOT NULL AUTO_INCREMENT, -- 编号

-- 电机

djdqzj INT, -- 电机当前转矩0-400 1= 1Nm/液压泵当前功率

djdqzs INT, -- 电机当前转速0-5000 1= 1rpm

djrzwd INT, -- 电机绕组温度0-250 -40 ~ 210, 1℃ /bit,偏移量: -40

djkzqwd INT, -- 电机控制器温度0-250 -40 ~ 210, 1℃ /bit,偏移量: -40

djdqgzdy INT, -- 电机当前工作电压0-10000 1= 0.1V

djdqgzdl INT, -- 电机当前工作电流0-2000 1= 0.1A

zdhldl INT, --制动回路电流0-2000 1= 0.1A

djkzqsx INT, -- 电机控制器时序0-65535 每发送一次,数值加1 , 0 - 65535 循环

djzjzl INT, -- 电机转矩指令0-400 1= 1NM

-- 液压泵电机

yybdjzs INT, -- 液压泵电机转速指令0-2560 1=10rpm

dclc INT, -- 单次里程0-65535 1= 2m

receiveTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 服务端接收时间

collectTime TIMESTAMP, -- 客户端采集时间

PRIMARY KEY(id)

);

  • 为Ta点赞
  • 人已赞
选择城市和中心
贵州省

广西省

海南省