xiaohuo 12 months ago
commit 173f94abd5
  1. 2
      ALOps_sys_fe/alops-ui/.env.development
  2. 2
      ALOps_sys_fe/alops-ui/.env.production
  3. 2
      ALOps_sys_fe/alops-ui/.env.staging
  4. 2
      ALOps_sys_fe/alops-ui/package.json
  5. 122
      ALOps_sys_fe/alops-ui/src/api/device/deviceInformation.js
  6. 118
      ALOps_sys_fe/alops-ui/src/api/device/deviceManufacturer.js
  7. 118
      ALOps_sys_fe/alops-ui/src/api/device/deviceType.js
  8. 118
      ALOps_sys_fe/alops-ui/src/api/device/files.js
  9. 69
      ALOps_sys_fe/alops-ui/src/api/inMonitoring/devicesState.js
  10. 1
      ALOps_sys_fe/alops-ui/src/assets/styles/index.scss
  11. 19
      ALOps_sys_fe/alops-ui/src/assets/styles/ruoyi.scss
  12. 12
      ALOps_sys_fe/alops-ui/src/layout/components/Navbar.vue
  13. 14
      ALOps_sys_fe/alops-ui/src/router/index.js
  14. 4
      ALOps_sys_fe/alops-ui/src/views/device/deviceInformation/index.vue
  15. 140
      ALOps_sys_fe/alops-ui/src/views/device/deviceManufacturer/index.vue
  16. 119
      ALOps_sys_fe/alops-ui/src/views/device/deviceType/index.vue
  17. 215
      ALOps_sys_fe/alops-ui/src/views/device/files/index.vue
  18. 132
      ALOps_sys_fe/alops-ui/src/views/inMonitoring/devicesState/LineChart.vue
  19. 8
      ALOps_sys_fe/alops-ui/src/views/inMonitoring/devicesState/cardItem.vue
  20. 198
      ALOps_sys_fe/alops-ui/src/views/inMonitoring/devicesState/detail.vue
  21. 9
      ALOps_sys_fe/alops-ui/src/views/inMonitoring/devicesState/index.vue
  22. 26
      ALOps_sys_fe/alops-ui/src/views/inMonitoring/earlyWarning/index.vue
  23. 8
      ALOps_sys_fe/alops-ui/src/views/index.vue
  24. 2
      ALOps_sys_fe/alops-ui/vue.config.js
  25. 881
      ALOps_sys_sql/aiops_sys.sql

@ -1,5 +1,5 @@
# 页面标题
VUE_APP_TITLE = 智能运维系统
VUE_APP_TITLE = 中国烟草
# 开发环境配置
ENV = 'development'

@ -1,5 +1,5 @@
# 页面标题
VUE_APP_TITLE = 智能运维管理系统
VUE_APP_TITLE = 中国烟草
# 生产环境配置
ENV = 'production'

@ -1,5 +1,5 @@
# 页面标题
VUE_APP_TITLE = 智能运维系统
VUE_APP_TITLE = 中国烟草
BABEL_ENV = production

@ -1,7 +1,7 @@
{
"name": "ruoyi",
"version": "3.9.0",
"description": "智能运维系统",
"description": "中国烟草",
"author": "若依",
"license": "MIT",
"scripts": {

@ -1,130 +1,38 @@
import request from '@/utils/request'
import { parseStrEmpty } from "@/utils/ruoyi";
const api = '/equipment/'
// 查询用户列表
export function listUser(query) {
// 立即执行
export function protoCollect() {
return request({
url: '/system/user/list',
method: 'get',
params: query
url: api + 'protoCollect',
method: 'post'
})
}
// 查询用户详细
export function getUser(userId) {
return request({
url: '/system/user/' + parseStrEmpty(userId),
method: 'get'
})
}
// 新增用户
export function addUser(data) {
// 定时采集规则添加
export function addTimerRule(data) {
return request({
url: '/system/user',
url: api + 'addTimerRule',
method: 'post',
data: data
})
}
// 修改用户
export function updateUser(data) {
return request({
url: '/system/user',
method: 'put',
data: data
})
}
// 删除用户
export function delUser(userId) {
return request({
url: '/system/user/' + userId,
method: 'delete'
})
}
// 用户密码重置
export function resetUserPwd(userId, password) {
const data = {
userId,
password
}
return request({
url: '/system/user/resetPwd',
method: 'put',
data: data
})
}
// 用户状态修改
export function changeUserStatus(userId, status) {
const data = {
userId,
status
}
// 查询规则
export function queryTimerRule(data) {
return request({
url: '/system/user/changeStatus',
method: 'put',
data: data
})
}
// 查询用户个人信息
export function getUserProfile() {
return request({
url: '/system/user/profile',
method: 'get'
})
}
// 修改用户个人信息
export function updateUserProfile(data) {
return request({
url: '/system/user/profile',
method: 'put',
data: data
})
}
// 用户密码重置
export function updateUserPwd(oldPassword, newPassword) {
const data = {
oldPassword,
newPassword
}
return request({
url: '/system/user/profile/updatePwd',
method: 'put',
url: api + 'queryTimerRule',
method: 'post',
data: data
})
}
// 用户头像上传
export function uploadAvatar(data) {
// 修改规则
export function modifyTimerRule(data) {
return request({
url: '/system/user/profile/avatar',
url: api + 'modifyTimerRule',
method: 'post',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
data: data
})
}
// 查询授权角色
export function getAuthRole(userId) {
return request({
url: '/system/user/authRole/' + userId,
method: 'get'
})
}
// 保存授权角色
export function updateAuthRole(data) {
return request({
url: '/system/user/authRole',
method: 'put',
params: data
})
}

@ -1,130 +1,50 @@
import request from '@/utils/request'
import { parseStrEmpty } from "@/utils/ruoyi";
const api = '/equManufacture/'
// 查询用户列表
export function listUser(query) {
// 查询详细
export function getDict() {
return request({
url: '/system/user/list',
method: 'get',
params: query
url: '/sys_dict',
method: 'get'
})
}
// 查询用户详细
export function getUser(userId) {
// 查询列表
export function list(query) {
return request({
url: '/system/user/' + parseStrEmpty(userId),
method: 'get'
url: api + 'queryByVO',
method: 'get',
params: query
})
}
// 新增用户
export function addUser(data) {
// 新增
export function add(data) {
return request({
url: '/system/user',
url: api + 'add',
method: 'post',
data: data
})
}
// 修改用户
export function updateUser(data) {
// 修改
export function update(data) {
return request({
url: '/system/user',
url: api + 'modify',
method: 'put',
data: data
})
}
// 删除用户
export function delUser(userId) {
// 删除
export function del(id) {
return request({
url: '/system/user/' + userId,
url: api + 'delete' + id,
method: 'delete'
})
}
// 用户密码重置
export function resetUserPwd(userId, password) {
const data = {
userId,
password
}
return request({
url: '/system/user/resetPwd',
method: 'put',
data: data
})
}
// 用户状态修改
export function changeUserStatus(userId, status) {
const data = {
userId,
status
}
return request({
url: '/system/user/changeStatus',
method: 'put',
data: data
})
}
// 查询用户个人信息
export function getUserProfile() {
return request({
url: '/system/user/profile',
method: 'get'
})
}
// 修改用户个人信息
export function updateUserProfile(data) {
return request({
url: '/system/user/profile',
method: 'put',
data: data
})
}
// 用户密码重置
export function updateUserPwd(oldPassword, newPassword) {
const data = {
oldPassword,
newPassword
}
return request({
url: '/system/user/profile/updatePwd',
method: 'put',
data: data
})
}
// 用户头像上传
export function uploadAvatar(data) {
return request({
url: '/system/user/profile/avatar',
method: 'post',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
data: data
})
}
// 查询授权角色
export function getAuthRole(userId) {
return request({
url: '/system/user/authRole/' + userId,
method: 'get'
})
}
// 保存授权角色
export function updateAuthRole(data) {
return request({
url: '/system/user/authRole',
method: 'put',
params: data
})
}

@ -1,130 +1,50 @@
import request from '@/utils/request'
import { parseStrEmpty } from "@/utils/ruoyi";
const api = '/equipmentType/'
// 查询用户列表
export function listUser(query) {
// 查询详细
export function getDict() {
return request({
url: '/system/user/list',
method: 'get',
params: query
url: '/sys_dict',
method: 'get'
})
}
// 查询用户详细
export function getUser(userId) {
// 查询列表
export function list(query) {
return request({
url: '/system/user/' + parseStrEmpty(userId),
method: 'get'
url: api + 'queryByVO',
method: 'get',
params: query
})
}
// 新增用户
export function addUser(data) {
// 新增
export function add(data) {
return request({
url: '/system/user',
url: api + 'add',
method: 'post',
data: data
})
}
// 修改用户
export function updateUser(data) {
// 修改
export function update(data) {
return request({
url: '/system/user',
url: api + 'modify',
method: 'put',
data: data
})
}
// 删除用户
export function delUser(userId) {
// 删除
export function del(id) {
return request({
url: '/system/user/' + userId,
url: api + 'delete' + id,
method: 'delete'
})
}
// 用户密码重置
export function resetUserPwd(userId, password) {
const data = {
userId,
password
}
return request({
url: '/system/user/resetPwd',
method: 'put',
data: data
})
}
// 用户状态修改
export function changeUserStatus(userId, status) {
const data = {
userId,
status
}
return request({
url: '/system/user/changeStatus',
method: 'put',
data: data
})
}
// 查询用户个人信息
export function getUserProfile() {
return request({
url: '/system/user/profile',
method: 'get'
})
}
// 修改用户个人信息
export function updateUserProfile(data) {
return request({
url: '/system/user/profile',
method: 'put',
data: data
})
}
// 用户密码重置
export function updateUserPwd(oldPassword, newPassword) {
const data = {
oldPassword,
newPassword
}
return request({
url: '/system/user/profile/updatePwd',
method: 'put',
data: data
})
}
// 用户头像上传
export function uploadAvatar(data) {
return request({
url: '/system/user/profile/avatar',
method: 'post',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
data: data
})
}
// 查询授权角色
export function getAuthRole(userId) {
return request({
url: '/system/user/authRole/' + userId,
method: 'get'
})
}
// 保存授权角色
export function updateAuthRole(data) {
return request({
url: '/system/user/authRole',
method: 'put',
params: data
})
}

@ -1,130 +1,58 @@
import request from '@/utils/request'
import { parseStrEmpty } from "@/utils/ruoyi";
const api = '/equipment/'
// 查询用户列表
export function listUser(query) {
// 查询详细
export function getDict() {
return request({
url: '/system/user/list',
method: 'get',
params: query
})
}
// 查询用户详细
export function getUser(userId) {
return request({
url: '/system/user/' + parseStrEmpty(userId),
url: '/sys_dict',
method: 'get'
})
}
// 新增用户
export function addUser(data) {
return request({
url: '/system/user',
method: 'post',
data: data
})
}
// 修改用户
export function updateUser(data) {
return request({
url: '/system/user',
method: 'put',
data: data
})
}
// 删除用户
export function delUser(userId) {
return request({
url: '/system/user/' + userId,
method: 'delete'
})
}
// 用户密码重置
export function resetUserPwd(userId, password) {
const data = {
userId,
password
}
// 查询列表
export function list(query) {
return request({
url: '/system/user/resetPwd',
method: 'put',
data: data
})
}
// 用户状态修改
export function changeUserStatus(userId, status) {
const data = {
userId,
status
}
return request({
url: '/system/user/changeStatus',
method: 'put',
data: data
url: api + 'queryByVO',
method: 'get',
params: query
})
}
// 查询用户个人信息
export function getUserProfile() {
// 查询详细
export function getInfo(id) {
return request({
url: '/system/user/profile',
url: api + '/queryById/' + parseStrEmpty(id),
method: 'get'
})
}
// 修改用户个人信息
export function updateUserProfile(data) {
// 新增
export function add(data) {
return request({
url: '/system/user/profile',
method: 'put',
url: api + 'add',
method: 'post',
data: data
})
}
// 用户密码重置
export function updateUserPwd(oldPassword, newPassword) {
const data = {
oldPassword,
newPassword
}
// 修改
export function update(data) {
return request({
url: '/system/user/profile/updatePwd',
url: api + 'modify',
method: 'put',
data: data
})
}
// 用户头像上传
export function uploadAvatar(data) {
// 删除
export function del(id) {
return request({
url: '/system/user/profile/avatar',
method: 'post',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
data: data
url: api + 'delete' + id,
method: 'delete'
})
}
// 查询授权角色
export function getAuthRole(userId) {
return request({
url: '/system/user/authRole/' + userId,
method: 'get'
})
}
// 保存授权角色
export function updateAuthRole(data) {
return request({
url: '/system/user/authRole',
method: 'put',
params: data
})
}

@ -1,5 +1,72 @@
import request from '@/utils/request'
import { parseStrEmpty } from "@/utils/ruoyi";
const api = '/equipment/'
// 查询多台设备列表
export function list(query) {
return request({
url: api + 'queryByVO',
method: 'get',
params: query
})
}
// 查询单台设备
export function getInfo(id) {
return request({
url: api + '/queryById/' + parseStrEmpty(id),
method: 'get'
})
}
// 查询设备历史预警
export function historyQuery(query) {
return request({
url: '/alarm/historyQuery',
method: 'get',
params: query
})
}
// 查询接口信息
export function interfaceQuery(query) {
return request({
url: '/interface/query',
method: 'get',
params: query
})
}
// 新增
export function add(data) {
return request({
url: api + 'add',
method: 'post',
data: data
})
}
// 修改
export function update(data) {
return request({
url: api + 'modify',
method: 'put',
data: data
})
}
// 删除
export function del(id) {
return request({
url: api + 'delete' + id,
method: 'delete'
})
}
//隔离
// 查询用户列表
export function listUser(query) {
@ -126,5 +193,3 @@ export function updateAuthRole(data) {
params: data
})
}

@ -11,6 +11,7 @@ body {
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
color: #606266;
}
label {

@ -285,3 +285,22 @@
.splitpanes.default-theme .splitpanes__pane {
background-color: #fff!important;
}
.flex-center{
display: flex;
justify-content: center;
align-items: center;
}
.flex{
display: flex;
}
.justifyContent{
justify-content: center;
}
.alignItems{
align-items: center;
}
.gap10{
gap: 10px;
}

@ -9,20 +9,8 @@
<template v-if="device!=='mobile'">
<search id="header-search" class="right-menu-item" />
<el-tooltip content="源码地址" effect="dark" placement="bottom">
<ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
</el-tooltip>
<el-tooltip content="文档地址" effect="dark" placement="bottom">
<ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
</el-tooltip>
<screenfull id="screenfull" class="right-menu-item hover-effect" />
<el-tooltip content="布局大小" effect="dark" placement="bottom">
<size-select id="size-select" class="right-menu-item hover-effect" />
</el-tooltip>
</template>
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover">

@ -92,6 +92,20 @@ export const constantRoutes = [
// 动态路由,基于用户权限动态去加载
export const dynamicRoutes = [
{
path: '/inMonitoring/devicesState-detail',
component: Layout,
hidden: true,
permissions: ['inMonitoring:devicesState:edit'],
children: [
{
path: 'detail/:userId(\\d+)',
component: () => import('@/views/inMonitoring/devicesState/detail'),
name: 'DevicesStateDetail',
meta: { title: '设备详情', activeMenu: '/inMonitoring/devicesState-detail' }
}
]
},
{
path: '/system/user-auth',
component: Layout,

@ -2,12 +2,9 @@
<div class="app-container">
<el-row :gutter="20">
<splitpanes :horizontal="this.$store.getters.device === 'mobile'" class="default-theme">
<!--用户数据-->
<pane size="84">
<el-col>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="auto">
<el-row>
<el-form-item>
@ -62,6 +59,7 @@
<script>
import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, changeUserStatus, deptTreeSelect } from "@/api/system/user"
import { protoCollect, addTimerRule, queryTimerRule, modifyTimerRule } from "@/api/device/deviceInformation"
import { getToken } from "@/utils/auth"
import Treeselect from "@riophae/vue-treeselect"
import "@riophae/vue-treeselect/dist/vue-treeselect.css"

@ -2,20 +2,18 @@
<div class="app-container">
<el-row :gutter="20">
<splitpanes :horizontal="this.$store.getters.device === 'mobile'" class="default-theme">
<!--厂商信息-->
<pane size="84">
<el-col>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="厂商名称" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入厂商名称" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
<el-form-item label="厂商名称" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入厂商名称" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="联系人" prop="phonenumber">
<el-input v-model="queryParams.phonenumber" placeholder="请输入联系人" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
<el-form-item label="联系人" prop="contactBy">
<el-input v-model="queryParams.contactBy" placeholder="请输入联系人" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="联系电话" prop="phonenumber">
<el-input v-model="queryParams.phonenumber" placeholder="请输入联系电话" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
<el-form-item label="联系电话" prop="contactWay">
<el-input v-model="queryParams.contactWay" placeholder="请输入联系电话" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@ -36,23 +34,23 @@
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['device:deviceManufacturer:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="厂商名称" align="center" key="userId" prop="userId" v-if="columns[0].visible" />
<el-table-column label="联系人" align="center" key="phonenumber" prop="phonenumber" v-if="columns[3].visible" width="120" />
<el-table-column label="联系方式" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<el-table-column label="创建人" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<el-table-column label="创建日期" align="center" prop="createTime" v-if="columns[6].visible" width="160">
<el-table-column label="ID" align="center" key="Id" prop="Id" />
<el-table-column label="厂商名称" align="center" key="name" prop="name" width="120" />
<el-table-column label="联系人" align="center" key="contactBy" prop="contactBy" width="120" />
<el-table-column label="联系方式" align="center" key="contactWay" prop="contactWay" width="120" />
<el-table-column label="创建人" align="center" key="CreateBy" prop="CreateBy" width="120" />
<el-table-column label="创建日期" align="center" prop="CreateDate" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
<span>{{ parseTime(scope.row.CreateDate) }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<el-table-column label="状态" align="center" key="Status" prop="Status" width="120" />
<el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
<template slot-scope="scope" v-if="scope.row.userId !== 1">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['device:deviceManufacturer:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['device:deviceManufacturer:remove']">删除</el-button>
</template>
@ -68,69 +66,22 @@
<el-dialog :title="title" :visible.sync="open" width="760px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="90px">
<el-row :gutter="20">
<!-- 用户昵称 + 手机号码 -->
<el-col :span="12">
<el-form-item label="用户昵称" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="手机号码" prop="phonenumber">
<el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11" />
</el-form-item>
</el-col>
<!-- 邮箱 + 用户名称 -->
<el-col :span="12">
<el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" />
<el-form-item label="厂商名称" prop="name">
<el-input v-model="form.name" placeholder="请输入用户昵称" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="用户名称" prop="userName">
<el-input v-model="form.userName" placeholder="请输入用户名称" maxlength="30" />
</el-form-item>
</el-col>
<!-- 用户密码仅新增+ 用户性别 -->
<el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="用户密码" prop="password">
<el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password />
<el-form-item label="联系人" prop="contactBy">
<el-input v-model="form.contactBy" placeholder="请输入手机号码" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="用户性别">
<el-select v-model="form.sex" placeholder="请选择性别" style="width: 100%">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- 状态 + 角色 -->
<el-col :span="12">
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="角色">
<el-select v-model="form.roleIds" multiple placeholder="请选择角色" style="width: 100%">
<el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId" :disabled="item.status == 1"></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- 备注单独一行 -->
<el-col :span="24">
<el-form-item label="备注">
<el-input v-model="form.remark" type="textarea" :rows="3" placeholder="请输入内容" />
<el-form-item label="联系方式" prop="contactWay">
<el-input v-model="form.contactWay" placeholder="请输入手机号码" maxlength="11" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -231,23 +182,14 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
userName: undefined,
phonenumber: undefined,
name: undefined,
contactBy: undefined,
status: undefined,
deptId: undefined
},
//
columns: [
{ key: 0, label: '厂商名称', visible: true, showInSelector: true },
{ key: 1, label: '设备类型', visible: true, showInSelector: true },
{ key: 2, label: '供货商名称', visible: true, showInSelector: true },
{ key: 3, label: '联系人', visible: true, showInSelector: true }, // 👈
{ key: 4, label: '联系电话', visible: true, showInSelector: true },
],
//
rules: {
userName: [
name: [
{ required: true, message: "用户名称不能为空", trigger: "blur" },
{ min: 2, max: 20, message: '用户名称长度必须介于 2 和 20 之间', trigger: 'blur' }
],
@ -266,7 +208,7 @@ export default {
trigger: ["blur", "change"]
}
],
phonenumber: [
contactBy: [
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
@ -332,8 +274,8 @@ export default {
//
handleStatusChange(row) {
let text = row.status === "0" ? "启用" : "停用"
this.$modal.confirm('确认要"' + text + '""' + row.userName + '"用户吗?').then(function() {
return changeUserStatus(row.userId, row.status)
this.$modal.confirm('确认要"' + text + '""' + row.name + '"用户吗?').then(function() {
return changeUserStatus(row.Id, row.status)
}).then(() => {
this.$modal.msgSuccess(text + "成功")
}).catch(function() {
@ -348,12 +290,12 @@ export default {
//
reset() {
this.form = {
userId: undefined,
Id: undefined,
deptId: undefined,
userName: undefined,
name: undefined,
nickName: undefined,
password: undefined,
phonenumber: undefined,
contactBy: undefined,
email: undefined,
sex: undefined,
status: "0",
@ -378,7 +320,7 @@ export default {
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.userId)
this.ids = selection.map(item => item.Id)
this.single = selection.length != 1
this.multiple = !selection.length
},
@ -409,8 +351,8 @@ export default {
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const userId = row.userId || this.ids
getUser(userId).then(response => {
const Id = row.Id || this.ids
getUser(Id).then(response => {
this.form = response.data
this.postOptions = response.posts
this.roleOptions = response.roles
@ -423,7 +365,7 @@ export default {
},
/** 重置密码按钮操作 */
handleResetPwd(row) {
this.$prompt('请输入"' + row.userName + '"的新密码', "提示", {
this.$prompt('请输入"' + row.name + '"的新密码', "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
closeOnClickModal: false,
@ -435,21 +377,21 @@ export default {
}
},
}).then(({ value }) => {
resetUserPwd(row.userId, value).then(response => {
resetUserPwd(row.Id, value).then(response => {
this.$modal.msgSuccess("修改成功,新密码是:" + value)
})
}).catch(() => {})
},
/** 分配角色操作 */
handleAuthRole: function(row) {
const userId = row.userId
this.$router.push("/system/user-auth/role/" + userId)
const Id = row.Id
this.$router.push("/system/user-auth/role/" + Id)
},
/** 提交按钮 */
submitForm: function() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.userId != undefined) {
if (this.form.Id != undefined) {
updateUser(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
@ -467,9 +409,9 @@ export default {
},
/** 删除按钮操作 */
handleDelete(row) {
const userIds = row.userId || this.ids
this.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项?').then(function() {
return delUser(userIds)
const Ids = row.Id || this.ids
this.$modal.confirm('是否确认删除用户编号为"' + Ids + '"的数据项?').then(function() {
return delUser(Ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")

@ -8,14 +8,14 @@
<pane size="84">
<el-col>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="类型名称" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入类型名称" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
<el-form-item label="类型名称" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入类型名称" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="状态" prop="status">
<!-- <el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="类型状态" clearable style="width: 240px">
<el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
</el-form-item> -->
<el-form-item label="创建时间">
<el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</el-form-item>
@ -43,23 +43,22 @@
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="类型编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" />
<el-table-column label="设备类型名称" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<el-table-column label="描述" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<el-table-column label="图片" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<el-table-column label="创建人" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<!-- <el-table-column label="状态" align="center" key="status" v-if="columns[5].visible">
<el-table-column label="类型编号" align="center" key="Id" prop="Id"/>
<el-table-column label="设备类型名称" align="center" key="name" prop="name" :show-overflow-tooltip="true" />
<el-table-column label="描述" align="center" key="description" prop="description" :show-overflow-tooltip="true" />
<el-table-column label="图片" align="center" key="image" prop="image" :show-overflow-tooltip="true" >
<template slot-scope="scope">
<el-switch v-model="scope.row.status" active-value="0" inactive-value="1" @change="handleStatusChange(scope.row)"></el-switch>
<ImagePreview :src="scope.row.image"/>
</template>
</el-table-column> -->
</el-table-column>
<el-table-column label="创建人" align="center" key="CreateBy" prop="CreateBy" :show-overflow-tooltip="true" />
<el-table-column label="创建时间" align="center" prop="createTime" v-if="columns[6].visible" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
<template slot-scope="scope" v-if="scope.row.userId !== 1">
<template slot-scope="scope" v-if="scope.row.Id !== 1">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['device:deviceType:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['device:deviceType:remove']">删除</el-button>
</template>
@ -77,62 +76,20 @@
<el-row :gutter="20">
<!-- 类型昵称 + 手机号码 -->
<el-col :span="12">
<el-form-item label="类型昵称" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入类型昵称" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="手机号码" prop="phonenumber">
<el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11" />
</el-form-item>
</el-col>
<!-- 邮箱 + 类型名称 -->
<el-col :span="12">
<el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="类型名称" prop="userName">
<el-input v-model="form.userName" placeholder="请输入类型名称" maxlength="30" />
</el-form-item>
</el-col>
<!-- 类型密码仅新增+ 类型性别 -->
<el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="类型密码" prop="password">
<el-input v-model="form.password" placeholder="请输入类型密码" type="password" maxlength="20" show-password />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="类型性别">
<el-select v-model="form.sex" placeholder="请选择性别" style="width: 100%">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- 状态 + 角色 -->
<el-col :span="12">
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
</el-radio-group>
<el-form-item label="设备名称" prop="name">
<el-input v-model="form.name" placeholder="请输入类型昵称" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="角色">
<el-select v-model="form.roleIds" multiple placeholder="请选择角色" style="width: 100%">
<el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId" :disabled="item.status == 1"></el-option>
</el-select>
<el-form-item label="设备图片" prop="phonenumber">
<ImageUpload/>
</el-form-item>
</el-col>
<!-- 备注单独一行 -->
<el-col :span="24">
<el-form-item label="备注">
<el-input v-model="form.remark" type="textarea" :rows="3" placeholder="请输入内容" />
<el-form-item label="描述">
<el-input v-model="form.description" type="textarea" :rows="3" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-row>
@ -238,7 +195,7 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
userName: undefined,
name: undefined,
phonenumber: undefined,
status: undefined,
deptId: undefined
@ -256,11 +213,11 @@ export default {
//
rules: {
userName: [
name: [
{ required: true, message: "类型名称不能为空", trigger: "blur" },
{ min: 2, max: 20, message: '类型名称长度必须介于 2 和 20 之间', trigger: 'blur' }
],
nickName: [
name: [
{ required: true, message: "类型昵称不能为空", trigger: "blur" }
],
password: [
@ -341,8 +298,8 @@ export default {
//
handleStatusChange(row) {
let text = row.status === "0" ? "启用" : "停用"
this.$modal.confirm('确认要"' + text + '""' + row.userName + '"类型吗?').then(function() {
return changeUserStatus(row.userId, row.status)
this.$modal.confirm('确认要"' + text + '""' + row.name + '"类型吗?').then(function() {
return changeUserStatus(row.Id, row.status)
}).then(() => {
this.$modal.msgSuccess(text + "成功")
}).catch(function() {
@ -357,16 +314,16 @@ export default {
//
reset() {
this.form = {
userId: undefined,
Id: undefined,
deptId: undefined,
userName: undefined,
nickName: undefined,
name: undefined,
name: undefined,
password: undefined,
phonenumber: undefined,
email: undefined,
sex: undefined,
status: "0",
remark: undefined,
description: undefined,
postIds: [],
roleIds: []
}
@ -387,7 +344,7 @@ export default {
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.userId)
this.ids = selection.map(item => item.Id)
this.single = selection.length != 1
this.multiple = !selection.length
},
@ -418,8 +375,8 @@ export default {
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const userId = row.userId || this.ids
getUser(userId).then(response => {
const Id = row.Id || this.ids
getUser(Id).then(response => {
this.form = response.data
this.postOptions = response.posts
this.roleOptions = response.roles
@ -432,7 +389,7 @@ export default {
},
/** 重置密码按钮操作 */
handleResetPwd(row) {
this.$prompt('请输入"' + row.userName + '"的新密码', "提示", {
this.$prompt('请输入"' + row.name + '"的新密码', "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
closeOnClickModal: false,
@ -444,21 +401,21 @@ export default {
}
},
}).then(({ value }) => {
resetUserPwd(row.userId, value).then(response => {
resetUserPwd(row.Id, value).then(response => {
this.$modal.msgSuccess("修改成功,新密码是:" + value)
})
}).catch(() => {})
},
/** 分配角色操作 */
handleAuthRole: function(row) {
const userId = row.userId
this.$router.push("/system/user-auth/role/" + userId)
const Id = row.Id
this.$router.push("/system/user-auth/role/" + Id)
},
/** 提交按钮 */
submitForm: function() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.userId != undefined) {
if (this.form.Id != undefined) {
updateUser(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
@ -476,9 +433,9 @@ export default {
},
/** 删除按钮操作 */
handleDelete(row) {
const userIds = row.userId || this.ids
this.$modal.confirm('是否确认删除类型编号为"' + userIds + '"的数据项?').then(function() {
return delUser(userIds)
const Ids = row.Id || this.ids
this.$modal.confirm('是否确认删除类型编号为"' + Ids + '"的数据项?').then(function() {
return delUser(Ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")

@ -2,14 +2,12 @@
<div class="app-container">
<el-row :gutter="20">
<splitpanes :horizontal="this.$store.getters.device === 'mobile'" class="default-theme">
<!--设备档案-->
<pane size="84">
<el-col>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="设备名称" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入设备名称" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
<el-form-item label="设备名称" prop="Name">
<el-input v-model="queryParams.Name" placeholder="请输入设备名称" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="安装位置" prop="phonenumber">
<el-input v-model="queryParams.phonenumber" placeholder="请输入安装位置" clearable style="width: 240px" @keyup.enter.native="handleQuery" />
@ -46,54 +44,50 @@
<el-col :span="1.5">
<el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport" v-hasPermi="['device:files:import']">导入</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['device:files:export']">导出</el-button>
</el-col>
<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar> -->
</el-row>
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
<el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="设备编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" />
<el-table-column label="设备名称" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<el-table-column label="设备版本" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<el-table-column label="设备类型" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<el-table-column label="设备级别" align="center" key="phonenumber" prop="phonenumber" v-if="columns[2].visible" width="120" />
<el-table-column label="启用状态" align="center" key="status" v-if="columns[5].visible">
<el-table-column label="设备编号" align="center" key="Id" prop="Id" />
<el-table-column label="设备名称" align="center" key="Name" prop="Name" :show-overflow-tooltip="true" />
<el-table-column label="设备版本" align="center" key="Version" prop="Version" :show-overflow-tooltip="true" />
<el-table-column label="设备类型" align="center" key="EquType" prop="EquType" :show-overflow-tooltip="true" />
<el-table-column label="设备级别" align="center" prop="phonenumber" width="120" />
<el-table-column label="启用状态" align="center" key="status">
<template slot-scope="scope">
<el-switch v-model="scope.row.status" active-value="0" inactive-value="1" @change="handleStatusChange(scope.row)"></el-switch>
</template>
</el-table-column>
<el-table-column label="带外管理IP" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<el-table-column label="带外管理IP" align="center" key="Ip" prop="Ip" width="120" />
<el-table-column label="设备厂商" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<el-table-column label="安装位置" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<el-table-column label="安装时间" align="center" prop="createTime" v-if="columns[6].visible" width="160">
<el-table-column label="设备厂商" align="center" key="Manufacture" prop="Manufacture" width="120" />
<el-table-column label="安装位置" align="center" key="Location" prop="Location" width="120" />
<el-table-column label="安装时间" align="center" prop="InstallDate" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
<span>{{ parseTime(scope.row.InstallDate) }}</span>
</template>
</el-table-column>
<el-table-column label="设备管理员" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<el-table-column label="预计年限" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<el-table-column label="服役年限" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<el-table-column label="质保时间" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<el-table-column label="累计预警次数" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<el-table-column label="累计维修次数" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<el-table-column label="累计维修金额" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<el-table-column label="设备添加人" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<el-table-column label="添加时间" align="center" prop="createTime" v-if="columns[6].visible" width="160">
<el-table-column label="设备管理员" align="center" prop="phonenumber" width="120" />
<el-table-column label="预计年限" align="center" key="LifeCycle" prop="LifeCycle" width="120" />
<el-table-column label="服役年限" align="center" key="ServiceTime" prop="ServiceTime" width="120" />
<el-table-column label="质保时间" align="center" key="warranty" prop="warranty" width="120" />
<el-table-column label="累计预警次数" align="center" key="FailureFrequency" prop="FailureFrequency" width="120" />
<el-table-column label="累计维修次数" align="center" key="RepairFrequency" prop="RepairFrequency" width="120" />
<el-table-column label="累计维修金额" align="center" key="RepairCost" prop="RepairCost" width="120" />
<el-table-column label="设备添加人" align="center" key="CreateBy" prop="CreateBy" width="120" />
<el-table-column label="添加时间" align="center" prop="CreateDate" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="修改人" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<el-table-column label="修改时间" align="center" prop="createTime" v-if="columns[6].visible" width="160">
<el-table-column label="修改人" align="center" prop="UpdateBy" width="120" />
<el-table-column label="修改时间" align="center" prop="createTime" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
<template slot-scope="scope" v-if="scope.row.userId !== 1">
<template slot-scope="scope" v-if="scope.row.Id !== 1">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['device:files:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['device:files:remove']">删除</el-button>
</template>
@ -106,60 +100,67 @@
</splitpanes>
</el-row>
<el-dialog :title="title" :visible.sync="open" width="760px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="90px">
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row :gutter="20">
<!-- 设备昵称 + 手机号码 -->
<el-col :span="12">
<el-form-item label="设备昵称" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入设备昵称" maxlength="30" />
<el-form-item label="设备编号" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入设备编号" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="手机号码" prop="phonenumber">
<el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11" />
<el-form-item label="设备名称" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入设备名称" maxlength="30" />
</el-form-item>
</el-col>
<!-- 邮箱 + 设备名称 -->
<el-col :span="12">
<el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" />
<el-form-item label="设备版本" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入设备版本" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="设备名称" prop="userName">
<el-input v-model="form.userName" placeholder="请输入设备名称" maxlength="30" />
<el-form-item label="设备类型" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入设备类型" maxlength="30" />
</el-form-item>
</el-col>
<!-- 设备密码仅新增+ 设备性别 -->
<el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="设备密码" prop="password">
<el-input v-model="form.password" placeholder="请输入设备密码" type="password" maxlength="20" show-password />
<el-form-item label="设备级别" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入设备级别" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="设备性别">
<el-select v-model="form.sex" placeholder="请选择性别" style="width: 100%">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
<el-form-item label="带外管理IP" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入带外管理IP" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="设备厂商" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入设备厂商" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="安装位置" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入安装位置" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="设备管理员" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入设备管理员" maxlength="30" />
</el-form-item>
</el-col>
<!-- 状态 + 角色 -->
<el-col :span="12">
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
</el-radio-group>
<el-form-item label="预计年限" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入预计年限" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="角色">
<el-select v-model="form.roleIds" multiple placeholder="请选择角色" style="width: 100%">
<el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId" :disabled="item.status == 1"></el-option>
</el-select>
<el-form-item label="服役年限" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入服役年限" maxlength="30" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="质保年限" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入质保年限" maxlength="30" />
</el-form-item>
</el-col>
@ -202,7 +203,7 @@
</template>
<script>
import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, changeUserStatus, deptTreeSelect } from "@/api/device/files"
import { getDict, list, getInfo, del, add, update } from "@/api/device/files"
import { getToken } from "@/utils/auth"
import Treeselect from "@riophae/vue-treeselect"
import "@riophae/vue-treeselect/dist/vue-treeselect.css"
@ -228,7 +229,7 @@ export default {
//
total: 0,
//
userList: null,
dataList: null,
//
title: "",
//
@ -266,13 +267,13 @@ export default {
//
headers: { Authorization: "Bearer " + getToken() },
//
url: process.env.VUE_APP_BASE_API + "/system/user/importData"
url: process.env.VUE_APP_BASE_API + "/equipment/import"
},
//
queryParams: {
pageNum: 1,
pageSize: 10,
userName: undefined,
Name: undefined,
phonenumber: undefined,
status: undefined,
deptId: undefined
@ -290,31 +291,12 @@ export default {
//
rules: {
userName: [
Name: [
{ required: true, message: "设备名称不能为空", trigger: "blur" },
{ min: 2, max: 20, message: '设备名称长度必须介于 2 和 20 之间', trigger: 'blur' }
],
nickName: [
{ required: true, message: "设备昵称不能为空", trigger: "blur" }
],
password: [
{ required: true, message: "设备密码不能为空", trigger: "blur" },
{ min: 5, max: 20, message: '设备密码长度必须介于 5 和 20 之间', trigger: 'blur' },
{ pattern: /^[^<>"'|\\]+$/, message: "不能包含非法字符:< > \" ' \\\ |", trigger: "blur" }
],
email: [
{
type: "email",
message: "请输入正确的邮箱地址",
trigger: ["blur", "change"]
}
],
phonenumber: [
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
trigger: "blur"
}
]
}
}
@ -333,11 +315,18 @@ export default {
})
},
methods: {
/** 查询设备列表 */
getDicts() {
getDict().then(response => {
console.log("%c 🗝: getDict -> response ", "font-size:16px;background-color:#796b0d;color:white;", response)
}
)
},
/** 查询设备列表 */
getList() {
this.loading = true
listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.userList = response.rows
list(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.dataList = response.rows
this.total = response.total
this.loading = false
}
@ -375,8 +364,8 @@ export default {
//
handleStatusChange(row) {
let text = row.status === "0" ? "启用" : "停用"
this.$modal.confirm('确认要"' + text + '""' + row.userName + '"设备吗?').then(function() {
return changeUserStatus(row.userId, row.status)
this.$modal.confirm('确认要"' + text + '""' + row.Name + '"设备吗?').then(function() {
return changeUserStatus(row.Id, row.status)
}).then(() => {
this.$modal.msgSuccess(text + "成功")
}).catch(function() {
@ -391,9 +380,9 @@ export default {
//
reset() {
this.form = {
userId: undefined,
Id: undefined,
deptId: undefined,
userName: undefined,
Name: undefined,
nickName: undefined,
password: undefined,
phonenumber: undefined,
@ -414,33 +403,33 @@ export default {
/** 重置按钮操作 */
resetQuery() {
this.dateRange = []
this.resetForm("queryForm")
this.queryParams.deptId = undefined
this.$refs.tree.setCurrentKey(null)
this.handleQuery()
// this.resetForm("queryForm")
// this.queryParams.deptId = undefined
// this.$refs.tree.setCurrentKey(null)
// this.handleQuery()
this.getDicts()
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.userId)
this.ids = selection.map(item => item.Id)
this.single = selection.length != 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
getUser().then(response => {
this.postOptions = response.posts
this.roleOptions = response.roles
// getInfo().then(response => {
// this.postOptions = response.posts
// this.roleOptions = response.roles
// })
this.open = true
this.title = "添加设备"
this.form.password = this.initPassword
})
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const userId = row.userId || this.ids
getUser(userId).then(response => {
const Id = row.Id || this.ids
getInfo(Id).then(response => {
this.form = response.data
this.postOptions = response.posts
this.roleOptions = response.roles
@ -453,7 +442,7 @@ export default {
},
/** 重置密码按钮操作 */
handleResetPwd(row) {
this.$prompt('请输入"' + row.userName + '"的新密码', "提示", {
this.$prompt('请输入"' + row.Name + '"的新密码', "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
closeOnClickModal: false,
@ -465,7 +454,7 @@ export default {
}
},
}).then(({ value }) => {
resetUserPwd(row.userId, value).then(response => {
resetUserPwd(row.Id, value).then(response => {
this.$modal.msgSuccess("修改成功,新密码是:" + value)
})
}).catch(() => {})
@ -474,14 +463,14 @@ export default {
submitForm: function() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.userId != undefined) {
updateUser(this.form).then(response => {
if (this.form.Id != undefined) {
update(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
} else {
addUser(this.form).then(response => {
add(this.form).then(response => {
this.$modal.msgSuccess("新增成功")
this.open = false
this.getList()
@ -492,9 +481,9 @@ export default {
},
/** 删除按钮操作 */
handleDelete(row) {
const userIds = row.userId || this.ids
this.$modal.confirm('是否确认删除设备编号为"' + userIds + '"的数据项?').then(function() {
return delUser(userIds)
const Ids = row.Id || this.ids
this.$modal.confirm('是否确认删除设备编号为"' + Ids + '"的数据项?').then(function() {
return del(Ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")

@ -0,0 +1,132 @@
<template>
<div :class="className" :style="{height:height,width:width}" />
</template>
<script>
import * as echarts from 'echarts'
require('echarts/theme/macarons') // echarts theme
const animationDuration = 6000
export default {
props: {
className: {
type: String,
default: 'chart'
},
width: {
type: String,
default: '100%'
},
height: {
type: String,
default: '200px'
}
},
data() {
return {
chart: null
}
},
mounted() {
this.$nextTick(() => {
this.initChart()
})
},
beforeDestroy() {
if (!this.chart) {
return
}
this.chart.dispose()
this.chart = null
},
methods: {
initChart() {
this.chart = echarts.init(this.$el, 'macarons')
this.chart.setOption(
{
color: ['#5b9bd5', '#ed7d31'],
backgroundColor: '#FFF',
grid: {
top: 20,
bottom: 100,
left: '12%',
right: '2%'
},
legend: {
bottom: '10',
itemWidth: 30,
itemHeight: 6,
data: ['逐月总逆温日', '逐月PM2.5浓度']
},
xAxis: [{
name: '城市',
nameLocation: 'center',
nameGap: 50,
axisLine: {
show: false
},
axisTick: {
show: false
},
axisLabel: {
rotate: 50
},
data: ['南京', '无锡', '徐州', '常州', '苏州', '南通', '连云港', '淮安', '盐城', '扬州', '镇江', '泰州', '宿迁'],
}],
yAxis: [{
name: '地面风速(m/s)',
nameLocation: 'center',
nameGap: 40,
nameTextStyle: {
color: '#000'
},
axisTick: {
show: false
},
splitLine: {
show: true,
lineStyle: {
color: '#CCC'
}
},
axisLabel: {
color: '#000'
}
}],
series: [{
name: '逐月总逆温日',
type: 'line',
itemStyle: {
color: '#5b9bd5',
borderColor: '#5b9bd5',
borderWidth: 4
},
lineStyle: {
width: 4
},
data: [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3, 20]
},
{
name: '逐月PM2.5浓度',
type: 'line',
itemStyle: {
color: '#ed7d31',
borderColor: '#ed7d31',
borderWidth: 4
},
lineStyle: {
width: 4
},
data: [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3, 15]
}
]
}
)
}
}
}
</script>

@ -1,6 +1,6 @@
<template>
<div class="">
<h3 class="h3">交换机</h3>
<h3 class="h3" @click="handleDetail">交换机</h3>
<el-row>
<el-col :span="14">
<img src="../../../assets/images/profile.jpg" width="100%" alt="" srcset="">
@ -64,6 +64,12 @@ export default {
created() {
},
methods: {
/** 查看详情 */
handleDetail: function(row) {
console.log("%c 🖍: row ", "font-size:16px;background-color:#3c235b;color:white;", row)
const userId = row.pointerId
this.$router.push("/inMonitoring/devicesState-detail/detail/" + userId)
},
}
}
</script>

@ -0,0 +1,198 @@
<template>
<div class="app-container">
<el-row :gutter="5">
<el-col :span="24">
<el-card>
<el-row>
<el-col :span="4">
<h3>交换机</h3>
</el-col>
<el-col :span="4">
<h3>持续在线XXXXX小时</h3>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col :span="8">
<h3>交换机</h3>
</el-col>
<el-col :span="4">
<h3>设备基本信息</h3>
<p>
<span>设备型号:</span>
<span>待开发</span>
</p>
<p>
<span>设备级别:</span>
<span>待开发</span>
</p>
<p>
<span>设备版本:</span>
<span>待开发</span>
</p>
<p>
<span>设备类型:</span>
<span>待开发</span>
</p>
</el-col>
<el-col :span="4">
<h3>设备出厂信息</h3>
<p>
<span>生产商名称:</span>
<span>待开发</span>
</p>
<p>
<span>供货商名称:</span>
<span>待开发</span>
</p>
<p>
<span>出厂日期:</span>
<span>待开发</span>
</p>
<p>
<span>质保时间:</span>
<span>待开发</span>
</p>
<p>
<span>联系人:</span>
<span>待开发</span>
</p>
<p>
<span>联系电话:</span>
<span>待开发</span>
</p>
</el-col>
<el-col :span="4">
<h3>设备管理信息</h3>
<p>
<span>带外IP管理:</span>
<span>待开发</span>
</p>
<p>
<span>安装位置:</span>
<span>待开发</span>
</p>
<p>
<span>安装日期:</span>
<span>待开发</span>
</p>
<p>
<span>服役年限:</span>
<span>待开发</span>
</p>
<p>
<span>管理员:</span>
<span>待开发</span>
</p>
</el-col>
<el-col :span="4">
<h3>设备状态信息</h3>
<p>
<span>累计预警次数:</span>
<span>待开发</span>
</p>
<p>
<span>累计维修次数:</span>
<span>待开发</span>
</p>
</el-col>
</el-row>
</el-card>
</el-col>
</el-row>
<el-row class="mt10" :gutter="10">
<el-col :span="12">
<el-card :style="{height: '500px'}">
<el-row>
<el-col :span="24" class="flex alignItems gap10">
<h3>设备运行数据</h3>
<el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</el-col>
<el-col :span="14">
<el-row>
<el-col :span="12">
<LineChart></LineChart>
</el-col>
<el-col :span="12">
<LineChart></LineChart>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<LineChart></LineChart>
</el-col>
<el-col :span="12">
<LineChart></LineChart>
</el-col>
</el-row>
</el-col>
<el-col :span="10">
<el-row>
<el-col :span="12">
<BarChart height="200px" :dateRange="dateRange"></BarChart>
</el-col>
<el-col :span="12">
<BarChart height="200px" :dateRange="dateRange"></BarChart>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<BarChart2 height="200px" :dateRange="dateRange"></BarChart2>
</el-col>
<el-col :span="8">
<BarChart2 height="200px" :dateRange="dateRange"></BarChart2>
</el-col>
<el-col :span="8">
<BarChart2 height="200px" :dateRange="dateRange"></BarChart2>
</el-col>
</el-row>
</el-col>
</el-row>
</el-card>
</el-col>
<el-col :span="12">
<el-card :style="{height: '500px'}">
<el-tabs v-model="selectedTab">
<el-tab-pane label="历史预警" :name="1">
历史预警
</el-tab-pane>
<el-tab-pane label="接口信息" :name="2">
接口信息
</el-tab-pane>
<el-tab-pane label="其他指标" :name="3">
其他指标
</el-tab-pane>
</el-tabs>
</el-card>
</el-col>
</el-row>
</div>
</template>
<script>
import BarChart from './BarChart1.vue'
import LineChart from './LineChart.vue'
import BarChart2 from './BarChart2.vue'
export default {
name: "cardItem",
components: { BarChart, BarChart2, LineChart },
data() {
return {
dateRange: [],
selectedTab: 1
}
},
created() {
},
methods: {
}
}
</script>
<style lang="less" scoped>
</style>

@ -2,8 +2,6 @@
<div class="app-container">
<el-row :gutter="20">
<splitpanes :horizontal="this.$store.getters.device === 'mobile'" class="default-theme">
<!--设备状态监控=-->
<pane size="84">
<el-col>
@ -40,7 +38,7 @@
<div class="app-container" v-loading="loading">
<el-row :gutter="10">
<el-col :span="8" class="card-box" v-for="(i,k) in userList" :key="k">
<el-col :span="8" class="card-box" v-for="(i,k) in userList" :key="k" @click="handleDetail(i)">
<el-card>
<cardItem/>
</el-card>
@ -385,6 +383,11 @@ export default {
this.form.password = this.initPassword
})
},
/** 查看详情 */
handleDetail: function(row) {
const userId = row.userId
this.$router.push("/inMonitoring/devicesState-detail/detail/" + userId)
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()

@ -29,35 +29,23 @@
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['device:deviceType:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['device:deviceType:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['device:deviceType:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport" v-hasPermi="['device:deviceType:import']">导入</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['device:deviceType:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="类型编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" />
<el-table-column label="类型名称" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<el-table-column label="状态" align="center" key="status" v-if="columns[5].visible">
<template slot-scope="scope">
<el-switch v-model="scope.row.status" active-value="0" inactive-value="1" @change="handleStatusChange(scope.row)"></el-switch>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" v-if="columns[6].visible" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" />
<el-table-column label="名称" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<el-table-column label="描述" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<el-table-column label="触发条件" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<el-table-column label="预警等级" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<el-table-column label="预警方式" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<el-table-column label="预警消息" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
<el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
<template slot-scope="scope" v-if="scope.row.userId !== 1">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['device:deviceType:edit']">修改</el-button>

@ -1,8 +1,8 @@
<template>
<div class="dashboard-container">
<div class="welcome-message">
<h1>欢迎进入智能运维系统</h1>
<p>这里是智能运维系统的主界面您可以在这里进行各种操作和管理</p>
<h1>欢迎进入中国烟草</h1>
<p>这里是中国烟草的主界面您可以在这里进行各种操作和管理</p>
</div>
</div>
</template><style scoped>
@ -61,8 +61,8 @@
</style><template>
<div class="dashboard-container">
<div class="welcome-message">
<h1><i class="el-icon-s-operation"></i> 欢迎进入智能运维系统</h1>
<p>这里是智能运维系统的主界面您可以在这里进行各种操作和管理</p>
<h1><i class="el-icon-s-operation"></i> 欢迎进入中国烟草</h1>
<p>这里是中国烟草的主界面您可以在这里进行各种操作和管理</p>
</div>
</div>
</template>

@ -7,7 +7,7 @@ function resolve(dir) {
const CompressionPlugin = require('compression-webpack-plugin')
const name = process.env.VUE_APP_TITLE || '智能运维管理系统' // 网页标题
const name = process.env.VUE_APP_TITLE || '中国烟草运维管理系统' // 网页标题
const baseUrl = 'http://localhost:8080' // 后端接口

@ -11,12 +11,490 @@
Target Server Version : 80036 (8.0.36)
File Encoding : 65001
Date: 18/07/2025 08:46:06
Date: 03/08/2025 21:57:48
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for alarm_rule
-- ----------------------------
DROP TABLE IF EXISTS `alarm_rule`;
CREATE TABLE `alarm_rule` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '规则ID',
`rule_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '预警名称',
`description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '预警简述',
`param_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备参数(如:temperature/cpu_usage)',
`equ_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '对应的设备类型',
`compare_operator` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '比较运算符(>/=/<)',
`param_value` decimal(10, 2) NULL DEFAULT NULL COMMENT '触发阈值',
`alert_level` tinyint NULL DEFAULT NULL COMMENT '预警级别(1-5)',
`alert_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '预警消息模板',
`role_id` bigint NULL DEFAULT NULL COMMENT '处理角色ID',
`notify_email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '通知邮箱',
`rule_status` tinyint NULL DEFAULT 1 COMMENT '启用状态(0-禁用,1-启用)',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_alarm_rule_equ_type`(`equ_type` ASC) USING BTREE,
INDEX `idx_alarm_rule_status`(`rule_status` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '预警规则表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of alarm_rule
-- ----------------------------
-- ----------------------------
-- Table structure for equ_base
-- ----------------------------
DROP TABLE IF EXISTS `equ_base`;
CREATE TABLE `equ_base` (
`id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备唯一标识',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备名称',
`version` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备版本',
`ip` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '带外管理 IP',
`manufacture` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备厂商 id',
`location` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '安装位置 id',
`equ_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备类型 id',
`in_charge` bigint NULL DEFAULT NULL COMMENT '设备管理员 id',
`release_date` date NULL DEFAULT NULL COMMENT '出厂日期',
`install_date` date NULL DEFAULT NULL COMMENT '安装日期',
`life_cycle` int NULL DEFAULT NULL COMMENT '预计年限(年)',
`service_time` int NULL DEFAULT NULL COMMENT '服役年限(年)',
`warranty` int NULL DEFAULT NULL COMMENT '质保时间(年)',
`failure_frequency` int NULL DEFAULT 0 COMMENT '累积故障次数',
`repair_frequency` int NULL DEFAULT 0 COMMENT '累积维修次数',
`repair_cost` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '累积维修金额(元)',
`create_by` bigint NULL DEFAULT NULL COMMENT '设备添加人 id',
`create_date` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '添加日期',
`update_by` bigint NULL DEFAULT NULL COMMENT '最后修改人',
`update_date` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改日期',
`status` tinyint NOT NULL DEFAULT 0 COMMENT '启用状态(0启用1禁用)',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备基本信息表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of equ_base
-- ----------------------------
INSERT INTO `equ_base` VALUES ('1', 'Pan Lan', 'FvbICtxEmV', '2.255.3.235', '5C5frChBed', 'Wrd8qroXJF', 'yGboy32cV7', 432, '2024-06-20', '2015-05-15', 795, 296, 922, 503, 172, 560.70, 608, '2008-10-23 05:30:59', 552, '2022-11-21 11:46:31', 104);
INSERT INTO `equ_base` VALUES ('10', 'Cui Zitao', 'uiTuT87bdH', '7.1.247.250', 'CDk7eVvSzJ', 'zXZHuOa7eD', 'D7ajFDCBxb', 734, '2022-12-05', '2011-07-18', 925, 495, 170, 849, 134, 148.49, 578, '2003-05-22 13:16:17', 195, '2023-09-21 04:50:45', 94);
INSERT INTO `equ_base` VALUES ('2', 'Mao Yuning', 'QCXE6muE14', '250.91.9.232', 'LS6EQzYDfn', 'aY9lTKolhS', 'bv3lC985ut', 732, '2008-05-13', '2016-01-31', 726, 632, 246, 574, 943, 208.52, 37, '2001-03-15 17:03:14', 608, '2001-08-07 08:04:03', 48);
INSERT INTO `equ_base` VALUES ('3', 'Han Hui Mei', 'WyR6yIzTj2', '124.2.251.87', 'CZe49kbxck', 'QtkAcRiKOI', 'fONFeySAER', 729, '2005-12-13', '2011-05-29', 31, 294, 601, 666, 25, 705.24, 969, '2020-08-31 22:52:26', 425, '2011-03-26 19:23:15', 1);
INSERT INTO `equ_base` VALUES ('4', 'Maruyama Minato', 'CfnQDhNKpS', '98.119.250.5', 'wYK1sM2zZN', 'BFtrEdxlQr', 'hBqSasTbov', 46, '2014-10-12', '2011-12-22', 64, 835, 937, 550, 665, 258.53, 772, '2013-10-19 22:07:06', 804, '2002-10-22 19:21:00', 92);
INSERT INTO `equ_base` VALUES ('5', 'Michael Thompson', 'gj8dwYr3ab', '47.167.114.39', 'kWsrYBFGlE', 'e2etKuc4Dj', '34hYTODRED', 955, '2012-04-03', '2020-07-03', 657, 4, 348, 202, 767, 867.77, 468, '2006-09-09 02:54:20', 27, '2019-12-05 02:41:25', 22);
INSERT INTO `equ_base` VALUES ('6', 'Chang Ching Wan', 'Cp8AK1q13R', '86.255.158.76', 'LBfoLpj0dx', 'WVsFkNQgDW', 'z8EhHRgN1e', 838, '2002-03-30', '2008-03-10', 377, 779, 165, 861, 832, 692.98, 484, '2023-08-07 16:36:18', 182, '2024-01-28 01:39:43', 38);
INSERT INTO `equ_base` VALUES ('7', 'Tao Zitao', 'L9RWfQCvAA', '255.202.252.253', 'F2wApVkgaz', 'QeCciIZUlr', 'ZA3D5pm5yg', 255, '2014-06-20', '2018-10-02', 418, 465, 330, 379, 361, 99.02, 910, '2007-05-28 10:44:43', 121, '2020-01-02 12:01:03', 113);
INSERT INTO `equ_base` VALUES ('8', 'Mo Ka Ming', 'vymjh2ZbE1', '251.255.6.250', 'frcGLD0hUc', '6VW71zqlVr', '1WdMOn0kBy', 227, '2021-03-06', '2007-11-30', 472, 146, 473, 684, 289, 349.87, 205, '2001-12-05 08:54:49', 153, '2010-05-11 01:10:49', 3);
INSERT INTO `equ_base` VALUES ('9', 'Cho Sum Wing', 'jYSr07u4eM', '124.102.254.6', '9pS6t8z4Fk', 'KCOKIfbS77', 'iFNia5X8Li', 318, '2016-07-24', '2010-02-22', 378, 210, 101, 623, 644, 435.73, 489, '2023-12-06 10:03:13', 780, '2008-12-25 17:46:35', 76);
INSERT INTO `equ_base` VALUES ('DEV-2025-001', '核心交换机', 'v3.2.1', '192.168.1.100', 'MANU-001', 'LOC-ROOM-101', 'NETWORK_SWITCH', 1001, '2024-01-15', '2024-03-20', 5, 1, 3, 0, 0, 0.00, 1, '2025-08-02 15:03:58', 1, '2025-08-02 15:04:02', 1);
-- ----------------------------
-- Table structure for equ_gather
-- ----------------------------
DROP TABLE IF EXISTS `equ_gather`;
CREATE TABLE `equ_gather` (
`id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`equ_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备 ID',
`health` decimal(5, 2) NULL DEFAULT NULL COMMENT '综合计算的健康度指标(%)',
`temperature` decimal(5, 2) NULL DEFAULT NULL COMMENT '设备温度',
`humidity` decimal(5, 2) NULL DEFAULT NULL COMMENT '设备湿度(%)',
`cpu_utilization` decimal(5, 2) NULL DEFAULT NULL COMMENT 'CPU 使用率(%)',
`memory_utilization` decimal(5, 2) NULL DEFAULT NULL COMMENT '内存使用率(%)',
`fan_speed` int NULL DEFAULT NULL COMMENT '风扇转速(rpm)',
`vol_in` decimal(5, 2) NULL DEFAULT NULL COMMENT '输入电压(V)',
`vol_out` decimal(5, 2) NULL DEFAULT NULL COMMENT '输出电压(V)',
`alarm_info` json NULL COMMENT '协议采集的结构化告警信息,6 级最高,1 级最低',
`log_online` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '上下线日志事件',
`log_sys` json NULL COMMENT '包含事件类型、级别的结构化日志',
`gather_time` timestamp NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '采集时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_equ_gather_equ_id`(`equ_id` ASC) USING BTREE,
INDEX `idx_equ_gather_gather_time`(`gather_time` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备采集信息表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of equ_gather
-- ----------------------------
-- ----------------------------
-- Table structure for equ_interface
-- ----------------------------
DROP TABLE IF EXISTS `equ_interface`;
CREATE TABLE `equ_interface` (
`id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '接口 id',
`equ_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备 ID',
`gather_time` timestamp NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '采集时间',
`running` tinyint(1) NULL DEFAULT NULL COMMENT '端口运行与否(UP/DOWN)',
`rate` int NULL DEFAULT NULL COMMENT '传输速率(Mbps)',
`commuicate_mode` tinyint NULL DEFAULT NULL COMMENT '通信模式字典值(0/1/2)',
`out_flow` bigint NULL DEFAULT NULL COMMENT '出方向流量(bps)',
`in_flow` bigint NULL DEFAULT NULL COMMENT '入方向流量(bps)',
`bandwidth` decimal(5, 2) NULL DEFAULT NULL COMMENT '带宽占有率(%)',
`loss_rate` decimal(5, 2) NULL DEFAULT NULL COMMENT '丢包率(%)',
`error_rate` decimal(5, 2) NULL DEFAULT NULL COMMENT '错包率(%)',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_equ_interface_equ_id`(`equ_id` ASC) USING BTREE,
INDEX `idx_equ_interface_gather_time`(`gather_time` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备接口信息表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of equ_interface
-- ----------------------------
-- ----------------------------
-- Table structure for equ_manu
-- ----------------------------
DROP TABLE IF EXISTS `equ_manu`;
CREATE TABLE `equ_manu` (
`id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '厂商ID',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '厂商名称',
`description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '厂商简介',
`contact_by` bigint NULL DEFAULT NULL COMMENT '联系人ID',
`contact_way` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '联系方式',
`create_by` bigint NULL DEFAULT NULL COMMENT '添加人ID',
`create_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '添加日期',
`status` tinyint NULL DEFAULT 1 COMMENT '状态(0-禁用,1-启用)',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备厂商管理表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of equ_manu
-- ----------------------------
INSERT INTO `equ_manu` VALUES ('5C5frChBed', '华为', '华为', NULL, NULL, NULL, '2025-08-03 21:01:02', 1);
-- ----------------------------
-- Table structure for equ_type
-- ----------------------------
DROP TABLE IF EXISTS `equ_type`;
CREATE TABLE `equ_type` (
`id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '类型ID',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备类型名称',
`description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '设备类型简介',
`image` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备图片存储地址',
`create_by` bigint NULL DEFAULT NULL COMMENT '添加人ID',
`create_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '添加日期',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备类型管理表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of equ_type
-- ----------------------------
-- ----------------------------
-- Table structure for fau_sta
-- ----------------------------
DROP TABLE IF EXISTS `fau_sta`;
CREATE TABLE `fau_sta` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '故障ID',
`equ_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备ID',
`description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '故障现象简述',
`type` tinyint NULL DEFAULT NULL COMMENT '故障类型(枚举)',
`equ_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备类型',
`cause` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '可能原因',
`solution` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '解决方案',
`level` tinyint NULL DEFAULT NULL COMMENT '故障级别(1-5级)',
`occur_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '发生时间',
`reporter` bigint NULL DEFAULT NULL COMMENT '报告人ID',
`handler` bigint NULL DEFAULT NULL COMMENT '处理人ID',
`handle_time` datetime NULL DEFAULT NULL COMMENT '解决时间',
`status` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '处理状态(open、in_progress_closed)',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_fau_sta_equ_id`(`equ_id` ASC) USING BTREE,
INDEX `idx_fau_sta_occur_time`(`occur_time` ASC) USING BTREE,
INDEX `idx_fau_sta_status`(`status`(1) ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '故障统计表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of fau_sta
-- ----------------------------
-- ----------------------------
-- Table structure for gen_table
-- ----------------------------
DROP TABLE IF EXISTS `gen_table`;
CREATE TABLE `gen_table` (
`table_id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`table_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '表名称',
`table_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '表描述',
`sub_table_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '关联子表的表名',
`sub_table_fk_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '子表关联的外键名',
`class_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '实体类名称',
`tpl_category` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'crud' COMMENT '使用的模板(crud单表操作 tree树表操作)',
`tpl_web_type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '前端模板类型(element-ui模版 element-plus模版)',
`package_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生成包路径',
`module_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生成模块名',
`business_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生成业务名',
`function_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生成功能名',
`function_author` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生成功能作者',
`gen_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '生成代码方式(0zip压缩包 1自定义路径)',
`gen_path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '/' COMMENT '生成路径(不填默认项目路径)',
`options` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '其它生成选项',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`table_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '代码生成业务表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of gen_table
-- ----------------------------
INSERT INTO `gen_table` VALUES (3, 'alarm_rule', '预警规则表', NULL, NULL, 'AlarmRule', 'crud', '', 'com.ruoyi.system', 'system', 'rule', '预警规则', 'ruoyi', '0', '/', NULL, 'admin', '2025-08-01 21:07:42', '', NULL, NULL);
INSERT INTO `gen_table` VALUES (4, 'equ_manu', '设备厂商管理表', NULL, NULL, 'EquManu', 'crud', '', 'com.ruoyi.system', 'system', 'manu', '设备厂商管理', 'ruoyi', '0', '/', NULL, 'admin', '2025-08-01 21:07:42', '', NULL, NULL);
INSERT INTO `gen_table` VALUES (5, 'fau_sta', '故障统计表', NULL, NULL, 'FauSta', 'crud', '', 'com.ruoyi.system', 'system', 'sta', '故障统计', 'ruoyi', '0', '/', NULL, 'admin', '2025-08-01 21:07:42', '', NULL, NULL);
INSERT INTO `gen_table` VALUES (6, 'local_knowledge', '专家知识库', NULL, NULL, 'LocalKnowledge', 'crud', '', 'com.ruoyi.system', 'system', 'knowledge', '专家知识库', 'ruoyi', '0', '/', NULL, 'admin', '2025-08-01 21:07:42', '', NULL, NULL);
INSERT INTO `gen_table` VALUES (7, 'qa_history', '问答历史记录', NULL, NULL, 'QaHistory', 'crud', '', 'com.ruoyi.system', 'system', 'history', '问答历史记录', 'ruoyi', '0', '/', NULL, 'admin', '2025-08-01 21:07:42', '', NULL, NULL);
INSERT INTO `gen_table` VALUES (8, 'equ_base', '设备基本信息表', NULL, NULL, 'EquBase', 'crud', '', 'com.ruoyi.system', 'system', 'base', '设备基本信息', 'ruoyi', '0', '/', NULL, 'admin', '2025-08-01 21:12:53', '', NULL, NULL);
INSERT INTO `gen_table` VALUES (9, 'equ_gather', '设备采集信息表', NULL, NULL, 'EquGather', 'crud', '', 'com.ruoyi.system', 'system', 'gather', '设备采集信息', 'ruoyi', '0', '/', NULL, 'admin', '2025-08-01 21:12:53', '', NULL, NULL);
INSERT INTO `gen_table` VALUES (10, 'equ_interface', '设备接口信息表', NULL, NULL, 'EquInterface', 'crud', '', 'com.ruoyi.system', 'system', 'interface', '设备接口信息', 'ruoyi', '0', '/', NULL, 'admin', '2025-08-01 21:12:53', '', NULL, NULL);
INSERT INTO `gen_table` VALUES (11, 'equ_type', '设备类型管理表', NULL, NULL, 'EquType', 'crud', '', 'com.ruoyi.system', 'system', 'type', '设备类型管理', 'ruoyi', '0', '/', NULL, 'admin', '2025-08-01 21:12:54', '', NULL, NULL);
INSERT INTO `gen_table` VALUES (12, 'schedule_rules', '定时采集规则表', NULL, NULL, 'ScheduleRules', 'crud', '', 'com.ruoyi.system', 'system', 'rules', '定时采集规则', 'ruoyi', '0', '/', NULL, 'admin', '2025-08-03 21:39:42', '', NULL, NULL);
-- ----------------------------
-- Table structure for gen_table_column
-- ----------------------------
DROP TABLE IF EXISTS `gen_table_column`;
CREATE TABLE `gen_table_column` (
`column_id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`table_id` bigint NULL DEFAULT NULL COMMENT '归属表编号',
`column_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '列名称',
`column_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '列描述',
`column_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '列类型',
`java_type` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'JAVA类型',
`java_field` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'JAVA字段名',
`is_pk` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否主键(1是)',
`is_increment` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否自增(1是)',
`is_required` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否必填(1是)',
`is_insert` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否为插入字段(1是)',
`is_edit` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否编辑字段(1是)',
`is_list` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否列表字段(1是)',
`is_query` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否查询字段(1是)',
`query_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'EQ' COMMENT '查询方式(等于、不等于、大于、小于、范围)',
`html_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)',
`dict_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典类型',
`sort` int NULL DEFAULT NULL COMMENT '排序',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`column_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 157 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '代码生成业务表字段' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of gen_table_column
-- ----------------------------
INSERT INTO `gen_table_column` VALUES (42, 3, 'id', '规则ID', 'int', 'Long', 'id', '1', '1', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (43, 3, 'rule_name', '预警名称', 'varchar(100)', 'String', 'ruleName', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 2, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (44, 3, 'description', '预警简述', 'text', 'String', 'description', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'textarea', '', 3, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (45, 3, 'param_name', '设备参数(如:temperature/cpu_usage)', 'varchar(50)', 'String', 'paramName', '0', '0', '0', '1', '1', '1', '1', 'LIKE', 'input', '', 4, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (46, 3, 'equ_type', '对应的设备类型', 'varchar(50)', 'String', 'equType', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'select', '', 5, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (47, 3, 'compare_operator', '比较运算符(>/=/<)', 'varchar(10)', 'String', 'compareOperator', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 6, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (48, 3, 'param_value', '触发阈值', 'decimal(10,2)', 'BigDecimal', 'paramValue', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 7, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (49, 3, 'alert_level', '预警级别(1-5)', 'tinyint', 'Long', 'alertLevel', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 8, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (50, 3, 'alert_message', '预警消息模板', 'text', 'String', 'alertMessage', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'textarea', '', 9, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (51, 3, 'role_id', '处理角色ID', 'bigint', 'Long', 'roleId', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 10, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (52, 3, 'notify_email', '通知邮箱', 'varchar(100)', 'String', 'notifyEmail', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 11, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (53, 3, 'rule_status', '启用状态(0-禁用,1-启用)', 'tinyint', 'Long', 'ruleStatus', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'radio', '', 12, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (54, 3, 'create_time', '创建时间', 'datetime', 'Date', 'createTime', '0', '0', '0', '1', NULL, NULL, NULL, 'EQ', 'datetime', '', 13, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (55, 4, 'id', '厂商ID', 'varchar(50)', 'String', 'id', '1', '0', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (56, 4, 'name', '厂商名称', 'varchar(100)', 'String', 'name', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 2, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (57, 4, 'description', '厂商简介', 'text', 'String', 'description', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'textarea', '', 3, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (58, 4, 'contact_by', '联系人ID', 'bigint', 'Long', 'contactBy', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (59, 4, 'contact_way', '联系方式', 'varchar(100)', 'String', 'contactWay', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (60, 4, 'create_by', '添加人ID', 'bigint', 'Long', 'createBy', '0', '0', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 6, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (61, 4, 'create_date', '添加日期', 'datetime', 'Date', 'createDate', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'datetime', '', 7, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (62, 4, 'status', '状态(0-禁用,1-启用)', 'tinyint', 'Long', 'status', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'radio', '', 8, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (63, 5, 'id', '故障ID', 'int', 'Long', 'id', '1', '1', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (64, 5, 'equ_id', '设备ID', 'varchar(50)', 'String', 'equId', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (65, 5, 'description', '故障现象简述', 'text', 'String', 'description', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'textarea', '', 3, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (66, 5, 'type', '故障类型(枚举)', 'tinyint', 'Long', 'type', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'select', '', 4, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (67, 5, 'equ_type', '设备类型', 'varchar(50)', 'String', 'equType', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'select', '', 5, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (68, 5, 'cause', '可能原因', 'varchar(255)', 'String', 'cause', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 6, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (69, 5, 'solution', '解决方案', 'text', 'String', 'solution', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'textarea', '', 7, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (70, 5, 'level', '故障级别(1-5级)', 'tinyint', 'Long', 'level', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 8, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (71, 5, 'occur_time', '发生时间', 'datetime', 'Date', 'occurTime', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'datetime', '', 9, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (72, 5, 'reporter', '报告人ID', 'bigint', 'Long', 'reporter', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 10, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (73, 5, 'handler', '处理人ID', 'bigint', 'Long', 'handler', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 11, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (74, 5, 'handle_time', '解决时间', 'datetime', 'Date', 'handleTime', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'datetime', '', 12, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (75, 5, 'status', '处理状态(open、in_progress_closed)', 'varchar(25)', 'String', 'status', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'radio', '', 13, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (76, 6, 'id', '知识ID', 'int', 'Long', 'id', '1', '1', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (77, 6, 'doc_title', '文档标题', 'varchar(200)', 'String', 'docTitle', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (78, 6, 'doc_description', '文档简介', 'text', 'String', 'docDescription', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'textarea', '', 3, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (79, 6, 'file_url', '文件存储路径', 'varchar(255)', 'String', 'fileUrl', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (80, 6, 'created_by', '创建人ID', 'bigint', 'Long', 'createdBy', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (81, 6, 'create_date', '创建时间', 'datetime', 'Date', 'createDate', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'datetime', '', 6, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (82, 6, 'updated_by', '最后修改人', 'bigint', 'Long', 'updatedBy', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 7, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (83, 6, 'update_date', '最后修改时间', 'datetime', 'Date', 'updateDate', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'datetime', '', 8, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (84, 6, 'doc_status', '状态(0-下架,1-发布)', 'tinyint', 'Long', 'docStatus', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'radio', '', 9, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (85, 7, 'id', '记录ID', 'int', 'Long', 'id', '1', '1', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (86, 7, 'user_question', '用户问题', 'text', 'String', 'userQuestion', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'textarea', '', 2, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (87, 7, 'system_answer', '系统回答', 'text', 'String', 'systemAnswer', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'textarea', '', 3, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (88, 7, 'source_origin', '来源(web/app等)', 'varchar(50)', 'String', 'sourceOrigin', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (89, 7, 'created_by', '用户ID', 'bigint', 'Long', 'createdBy', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (90, 7, 'create_date', '创建时间', 'datetime', 'Date', 'createDate', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'datetime', '', 6, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (91, 7, 'record_status', '状态(0-删除,1-正常)', 'tinyint', 'Long', 'recordStatus', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'radio', '', 7, 'admin', '2025-08-01 21:07:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (92, 8, 'id', '设备唯一标识', 'varchar(50)', 'String', 'id', '1', '0', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (93, 8, 'name', '设备名称', 'varchar(100)', 'String', 'name', '0', '0', '0', '1', '1', '1', '1', 'LIKE', 'input', '', 2, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (94, 8, 'version', '设备版本', 'varchar(50)', 'String', 'version', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 3, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (95, 8, 'ip', '带外管理 IP', 'varchar(15)', 'String', 'ip', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (96, 8, 'manufacture', '设备厂商 id', 'varchar(50)', 'String', 'manufacture', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (97, 8, 'location', '安装位置 id', 'varchar(50)', 'String', 'location', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 6, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (98, 8, 'equ_type', '设备类型 id', 'varchar(50)', 'String', 'equType', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'select', '', 7, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (99, 8, 'in_charge', '设备管理员 id', 'bigint', 'Long', 'inCharge', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 8, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (100, 8, 'release_date', '出厂日期', 'date', 'Date', 'releaseDate', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'datetime', '', 9, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (101, 8, 'install_date', '安装日期', 'date', 'Date', 'installDate', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'datetime', '', 10, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (102, 8, 'life_cycle', '预计年限(年)', 'int', 'Long', 'lifeCycle', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 11, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (103, 8, 'service_time', '服役年限(年)', 'int', 'Long', 'serviceTime', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 12, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (104, 8, 'warranty', '质保时间(年)', 'int', 'Long', 'warranty', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 13, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (105, 8, 'failure_frequency', '累积故障次数', 'int', 'Long', 'failureFrequency', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 14, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (106, 8, 'repair_frequency', '累积维修次数', 'int', 'Long', 'repairFrequency', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 15, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (107, 8, 'repair_cost', '累积维修金额(元)', 'decimal(10,2)', 'BigDecimal', 'repairCost', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 16, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (108, 8, 'create_by', '设备添加人 id', 'bigint', 'Long', 'createBy', '0', '0', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 17, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (109, 8, 'create_date', '添加日期', 'datetime', 'Date', 'createDate', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'datetime', '', 18, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (110, 8, 'update_by', '最后修改人', 'bigint', 'Long', 'updateBy', '0', '0', '0', '1', '1', NULL, NULL, 'EQ', 'input', '', 19, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (111, 8, 'update_date', '最后修改日期', 'datetime', 'Date', 'updateDate', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'datetime', '', 20, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (112, 8, 'status', '启用状态', 'tinyint', 'Long', 'status', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'radio', '', 21, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (113, 9, 'id', NULL, 'varchar(50)', 'String', 'id', '1', '0', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (114, 9, 'equ_id', '设备 ID', 'varchar(50)', 'String', 'equId', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (115, 9, 'health', '综合计算的健康度指标(%)', 'decimal(5,2)', 'BigDecimal', 'health', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 3, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (116, 9, 'temperature', '设备温度', 'decimal(5,2)', 'BigDecimal', 'temperature', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (117, 9, 'humidity', '设备湿度(%)', 'decimal(5,2)', 'BigDecimal', 'humidity', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (118, 9, 'cpu_utilization', 'CPU 使用率(%)', 'decimal(5,2)', 'BigDecimal', 'cpuUtilization', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 6, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (119, 9, 'memory_utilization', '内存使用率(%)', 'decimal(5,2)', 'BigDecimal', 'memoryUtilization', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 7, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (120, 9, 'fan_speed', '风扇转速(rpm)', 'int', 'Long', 'fanSpeed', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 8, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (121, 9, 'vol_in', '输入电压(V)', 'decimal(5,2)', 'BigDecimal', 'volIn', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 9, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (122, 9, 'vol_out', '输出电压(V)', 'decimal(5,2)', 'BigDecimal', 'volOut', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 10, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (123, 9, 'alarm_info', '协议采集的结构化告警信息,6 级最高,1 级最低', 'json', 'String', 'alarmInfo', '0', '0', '0', '1', '1', '1', '1', 'EQ', NULL, '', 11, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (124, 9, 'log_online', '上下线日志事件', 'varchar(255)', 'String', 'logOnline', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 12, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (125, 9, 'log_sys', '包含事件类型、级别的结构化日志', 'json', 'String', 'logSys', '0', '0', '0', '1', '1', '1', '1', 'EQ', NULL, '', 13, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (126, 9, 'gather_time', '采集时间', 'timestamp', 'Date', 'gatherTime', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'datetime', '', 14, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (127, 10, 'id', '接口 id', 'varchar(50)', 'String', 'id', '1', '0', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (128, 10, 'equ_id', '设备 ID', 'varchar(50)', 'String', 'equId', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (129, 10, 'gather_time', '采集时间', 'timestamp', 'Date', 'gatherTime', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'datetime', '', 3, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (130, 10, 'running', '端口运行与否(UP/DOWN)', 'tinyint(1)', 'Integer', 'running', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (131, 10, 'rate', '传输速率(Mbps)', 'int', 'Long', 'rate', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2025-08-01 21:12:53', '', NULL);
INSERT INTO `gen_table_column` VALUES (132, 10, 'commuicate_mode', '通信模式字典值(0/1/2)', 'tinyint', 'Long', 'commuicateMode', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 6, 'admin', '2025-08-01 21:12:54', '', NULL);
INSERT INTO `gen_table_column` VALUES (133, 10, 'out_flow', '出方向流量(bps)', 'bigint', 'Long', 'outFlow', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 7, 'admin', '2025-08-01 21:12:54', '', NULL);
INSERT INTO `gen_table_column` VALUES (134, 10, 'in_flow', '入方向流量(bps)', 'bigint', 'Long', 'inFlow', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 8, 'admin', '2025-08-01 21:12:54', '', NULL);
INSERT INTO `gen_table_column` VALUES (135, 10, 'bandwidth', '带宽占有率(%)', 'decimal(5,2)', 'BigDecimal', 'bandwidth', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 9, 'admin', '2025-08-01 21:12:54', '', NULL);
INSERT INTO `gen_table_column` VALUES (136, 10, 'loss_rate', '丢包率(%)', 'decimal(5,2)', 'BigDecimal', 'lossRate', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 10, 'admin', '2025-08-01 21:12:54', '', NULL);
INSERT INTO `gen_table_column` VALUES (137, 10, 'error_rate', '错包率(%)', 'decimal(5,2)', 'BigDecimal', 'errorRate', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 11, 'admin', '2025-08-01 21:12:54', '', NULL);
INSERT INTO `gen_table_column` VALUES (138, 11, 'id', '类型ID', 'varchar(50)', 'String', 'id', '1', '0', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-08-01 21:12:54', '', NULL);
INSERT INTO `gen_table_column` VALUES (139, 11, 'name', '设备类型名称', 'varchar(50)', 'String', 'name', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 2, 'admin', '2025-08-01 21:12:54', '', NULL);
INSERT INTO `gen_table_column` VALUES (140, 11, 'description', '设备类型简介', 'text', 'String', 'description', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'textarea', '', 3, 'admin', '2025-08-01 21:12:54', '', NULL);
INSERT INTO `gen_table_column` VALUES (141, 11, 'image', '设备图片存储地址', 'varchar(255)', 'String', 'image', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'imageUpload', '', 4, 'admin', '2025-08-01 21:12:54', '', NULL);
INSERT INTO `gen_table_column` VALUES (142, 11, 'create_by', '添加人ID', 'bigint', 'Long', 'createBy', '0', '0', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 5, 'admin', '2025-08-01 21:12:54', '', NULL);
INSERT INTO `gen_table_column` VALUES (143, 11, 'create_date', '添加日期', 'datetime', 'Date', 'createDate', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'datetime', '', 6, 'admin', '2025-08-01 21:12:54', '', NULL);
INSERT INTO `gen_table_column` VALUES (144, 12, 'id', NULL, 'int', 'Long', 'id', '1', '1', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-08-03 21:39:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (145, 12, 'rule_name', '规则名称', 'varchar(100)', 'String', 'ruleName', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 2, 'admin', '2025-08-03 21:39:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (146, 12, 'rule_type', '规则类型: 0-间隔采集, 1-固定时间采集', 'tinyint', 'Long', 'ruleType', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'select', '', 3, 'admin', '2025-08-03 21:39:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (147, 12, 'frequency', '采集频率(当rule_type=0时有效),如\"5分钟\"', 'varchar(20)', 'String', 'frequency', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2025-08-03 21:39:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (148, 12, 'fixed_time', '固定采集时间(当rule_type=1时有效)', 'time', 'Date', 'fixedTime', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'datetime', '', 5, 'admin', '2025-08-03 21:39:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (149, 12, 'time_limit_enabled', '是否启用时间限制', 'tinyint(1)', 'Integer', 'timeLimitEnabled', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 6, 'admin', '2025-08-03 21:39:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (150, 12, 'start_time', '采集开始时间(当time_limit_enabled=TRUE时有效)', 'time', 'Date', 'startTime', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'datetime', '', 7, 'admin', '2025-08-03 21:39:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (151, 12, 'end_time', '采集结束时间(当time_limit_enabled=TRUE时有效)', 'time', 'Date', 'endTime', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'datetime', '', 8, 'admin', '2025-08-03 21:39:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (152, 12, 'is_active', '是否启用该规则', 'tinyint(1)', 'Integer', 'isActive', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 9, 'admin', '2025-08-03 21:39:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (153, 12, 'created_at', '创建时间', 'timestamp', 'Date', 'createdAt', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'datetime', '', 10, 'admin', '2025-08-03 21:39:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (154, 12, 'updated_at', '更新时间', 'timestamp', 'Date', 'updatedAt', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'datetime', '', 11, 'admin', '2025-08-03 21:39:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (155, 12, 'created_by', '创建人', 'bigint', 'Long', 'createdBy', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 12, 'admin', '2025-08-03 21:39:42', '', NULL);
INSERT INTO `gen_table_column` VALUES (156, 12, 'updated_by', '更新人', 'bigint', 'Long', 'updatedBy', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 13, 'admin', '2025-08-03 21:39:42', '', NULL);
-- ----------------------------
-- Table structure for local_knowledge
-- ----------------------------
DROP TABLE IF EXISTS `local_knowledge`;
CREATE TABLE `local_knowledge` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '知识ID',
`doc_title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '文档标题',
`doc_description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '文档简介',
`file_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '文件存储路径',
`created_by` bigint NULL DEFAULT NULL COMMENT '创建人ID',
`create_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_by` bigint NULL DEFAULT NULL COMMENT '最后修改人',
`update_date` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
`doc_status` tinyint NULL DEFAULT 1 COMMENT '状态(0-下架,1-发布)',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_knowledge_title`(`doc_title` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '专家知识库' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of local_knowledge
-- ----------------------------
-- ----------------------------
-- Table structure for qa_history
-- ----------------------------
DROP TABLE IF EXISTS `qa_history`;
CREATE TABLE `qa_history` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '记录ID',
`user_question` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户问题',
`system_answer` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '系统回答',
`source_origin` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '来源(web/app等)',
`created_by` bigint NULL DEFAULT NULL COMMENT '用户ID',
`create_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
`record_status` tinyint NULL DEFAULT 1 COMMENT '状态(0-删除,1-正常)',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_qa_history_create_by`(`created_by` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '问答历史记录' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of qa_history
-- ----------------------------
-- ----------------------------
-- Table structure for schedule_rules
-- ----------------------------
DROP TABLE IF EXISTS `schedule_rules`;
CREATE TABLE `schedule_rules` (
`id` int NOT NULL AUTO_INCREMENT,
`rule_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '规则名称',
`rule_type` tinyint NOT NULL COMMENT '规则类型: 0-间隔采集, 1-固定时间采集',
`frequency` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '采集频率(当rule_type=0时有效),如\"5分钟\"',
`fixed_time` time NULL DEFAULT NULL COMMENT '固定采集时间(当rule_type=1时有效)',
`time_limit_enabled` tinyint(1) NULL DEFAULT 0 COMMENT '是否启用时间限制',
`start_time` time NULL DEFAULT NULL COMMENT '采集开始时间(当time_limit_enabled=TRUE时有效)',
`end_time` time NULL DEFAULT NULL COMMENT '采集结束时间(当time_limit_enabled=TRUE时有效)',
`is_active` tinyint(1) NULL DEFAULT 1 COMMENT '是否启用该规则',
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`created_by` bigint NULL DEFAULT NULL COMMENT '创建人',
`updated_by` bigint NULL DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`) USING BTREE,
CONSTRAINT `chk_rule_type` CHECK (`rule_type` in (0,1))
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '定时采集规则表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of schedule_rules
-- ----------------------------
-- ----------------------------
-- Table structure for sys_alarm_rule
-- ----------------------------
DROP TABLE IF EXISTS `sys_alarm_rule`;
CREATE TABLE `sys_alarm_rule` (
`id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '规则唯一标识',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '规则名称',
`description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '规则详细描述',
`equ_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '适用的设备类型ID(逻辑关联equ_base.Equ_type)',
`param` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '监控参数',
`max` decimal(10, 2) NULL DEFAULT NULL COMMENT '参数上限阈值',
`min` decimal(10, 2) NULL DEFAULT NULL COMMENT '参数下限阈值',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人ID',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人ID',
`status` int(10) UNSIGNED ZEROFILL NULL DEFAULT NULL COMMENT '规则状态(0/1)',
`priority` tinyint NULL DEFAULT 1 COMMENT '规则优先级(1-5)',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_equ_type`(`equ_type` ASC) USING BTREE COMMENT '设备类型索引',
CONSTRAINT `chk_threshold` CHECK (`max` > `min`)
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备预警规则系统' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_alarm_rule
-- ----------------------------
-- ----------------------------
-- Table structure for sys_config
-- ----------------------------
@ -118,7 +596,7 @@ CREATE TABLE `sys_dict_type` (
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`dict_id`) USING BTREE,
UNIQUE INDEX `dict_type`(`dict_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '字典类型表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 101 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '字典类型表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_dict_type
@ -182,6 +660,27 @@ CREATE TABLE `sys_job_log` (
-- Records of sys_job_log
-- ----------------------------
-- ----------------------------
-- Table structure for sys_location
-- ----------------------------
DROP TABLE IF EXISTS `sys_location`;
CREATE TABLE `sys_location` (
`id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '位置唯一标识',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '位置名称',
`status` int(20) UNSIGNED ZEROFILL NOT NULL DEFAULT 00000000000000000000 COMMENT '状态(0/1)',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人ID',
`in_charge` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '负责人ID(逻辑关联用户/管理员表)',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人ID',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_location_in_charge`(`in_charge` ASC) USING BTREE COMMENT '负责人查询索引'
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '安装位置管理系统' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_location
-- ----------------------------
-- ----------------------------
-- Table structure for sys_logininfor
-- ----------------------------
@ -199,7 +698,7 @@ CREATE TABLE `sys_logininfor` (
PRIMARY KEY (`info_id`) USING BTREE,
INDEX `idx_sys_logininfor_s`(`status` ASC) USING BTREE,
INDEX `idx_sys_logininfor_lt`(`login_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 113 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 160 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_logininfor
@ -217,6 +716,73 @@ INSERT INTO `sys_logininfor` VALUES (109, 'admin', '127.0.0.1', '内网IP', 'Chr
INSERT INTO `sys_logininfor` VALUES (110, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-18 00:02:11');
INSERT INTO `sys_logininfor` VALUES (111, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-18 00:09:53');
INSERT INTO `sys_logininfor` VALUES (112, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-18 08:27:02');
INSERT INTO `sys_logininfor` VALUES (113, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '1', '用户不存在/密码错误', '2025-07-18 20:05:15');
INSERT INTO `sys_logininfor` VALUES (114, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '1', '验证码错误', '2025-07-18 20:05:22');
INSERT INTO `sys_logininfor` VALUES (115, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-18 20:05:26');
INSERT INTO `sys_logininfor` VALUES (116, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '退出成功', '2025-07-18 20:13:08');
INSERT INTO `sys_logininfor` VALUES (117, 'ruoyi', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '1', '用户不存在/密码错误', '2025-07-18 20:13:17');
INSERT INTO `sys_logininfor` VALUES (118, 'ry', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-18 20:13:52');
INSERT INTO `sys_logininfor` VALUES (119, 'ry', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '退出成功', '2025-07-18 20:21:39');
INSERT INTO `sys_logininfor` VALUES (120, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-18 20:21:53');
INSERT INTO `sys_logininfor` VALUES (121, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '退出成功', '2025-07-18 20:24:48');
INSERT INTO `sys_logininfor` VALUES (122, 'ry', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-18 20:24:59');
INSERT INTO `sys_logininfor` VALUES (123, 'ry', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '退出成功', '2025-07-18 20:25:07');
INSERT INTO `sys_logininfor` VALUES (124, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '1', '验证码错误', '2025-07-18 20:25:11');
INSERT INTO `sys_logininfor` VALUES (125, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '1', '验证码错误', '2025-07-18 20:25:17');
INSERT INTO `sys_logininfor` VALUES (126, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-18 20:25:21');
INSERT INTO `sys_logininfor` VALUES (127, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '退出成功', '2025-07-18 20:33:04');
INSERT INTO `sys_logininfor` VALUES (128, 'ry', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-18 20:33:13');
INSERT INTO `sys_logininfor` VALUES (129, 'ry', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '退出成功', '2025-07-18 21:11:39');
INSERT INTO `sys_logininfor` VALUES (130, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-18 21:11:47');
INSERT INTO `sys_logininfor` VALUES (131, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '1', '验证码已失效', '2025-07-19 07:58:29');
INSERT INTO `sys_logininfor` VALUES (132, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-19 07:58:33');
INSERT INTO `sys_logininfor` VALUES (133, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-19 09:46:47');
INSERT INTO `sys_logininfor` VALUES (134, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '1', '验证码错误', '2025-07-19 10:30:36');
INSERT INTO `sys_logininfor` VALUES (135, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-19 10:30:43');
INSERT INTO `sys_logininfor` VALUES (136, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '1', '验证码错误', '2025-07-19 11:47:45');
INSERT INTO `sys_logininfor` VALUES (137, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-19 11:47:50');
INSERT INTO `sys_logininfor` VALUES (138, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-19 12:42:26');
INSERT INTO `sys_logininfor` VALUES (139, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-19 14:10:05');
INSERT INTO `sys_logininfor` VALUES (140, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '1', '验证码错误', '2025-07-20 14:54:55');
INSERT INTO `sys_logininfor` VALUES (141, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '1', '验证码错误', '2025-07-20 14:55:03');
INSERT INTO `sys_logininfor` VALUES (142, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-20 14:55:07');
INSERT INTO `sys_logininfor` VALUES (143, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-21 19:32:17');
INSERT INTO `sys_logininfor` VALUES (144, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-21 22:20:51');
INSERT INTO `sys_logininfor` VALUES (145, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-21 23:18:06');
INSERT INTO `sys_logininfor` VALUES (146, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-23 09:56:05');
INSERT INTO `sys_logininfor` VALUES (147, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-07-24 16:47:43');
INSERT INTO `sys_logininfor` VALUES (148, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-08-01 16:43:14');
INSERT INTO `sys_logininfor` VALUES (149, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-08-01 21:04:23');
INSERT INTO `sys_logininfor` VALUES (150, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-08-01 22:43:00');
INSERT INTO `sys_logininfor` VALUES (151, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-08-01 23:40:43');
INSERT INTO `sys_logininfor` VALUES (152, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-08-02 14:20:26');
INSERT INTO `sys_logininfor` VALUES (153, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-08-02 15:44:34');
INSERT INTO `sys_logininfor` VALUES (154, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-08-02 16:39:04');
INSERT INTO `sys_logininfor` VALUES (155, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-08-03 17:17:52');
INSERT INTO `sys_logininfor` VALUES (156, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '1', '验证码已失效', '2025-08-03 20:12:20');
INSERT INTO `sys_logininfor` VALUES (157, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-08-03 20:25:46');
INSERT INTO `sys_logininfor` VALUES (158, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-08-03 20:59:35');
INSERT INTO `sys_logininfor` VALUES (159, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-08-03 21:39:09');
-- ----------------------------
-- Table structure for sys_manufacture
-- ----------------------------
DROP TABLE IF EXISTS `sys_manufacture`;
CREATE TABLE `sys_manufacture` (
`id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '厂商唯一标识',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '厂商名称',
`status` int(10) UNSIGNED ZEROFILL NOT NULL DEFAULT 0000000000 COMMENT '状态(0/1)',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人ID',
`contact` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '联系方式',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人ID',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备厂商管理系统' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_manufacture
-- ----------------------------
-- ----------------------------
-- Table structure for sys_menu
@ -244,48 +810,157 @@ CREATE TABLE `sys_menu` (
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注',
PRIMARY KEY (`menu_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2000 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '菜单权限表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 2076 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '菜单权限表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_menu
-- ----------------------------
INSERT INTO `sys_menu` VALUES (1, '系统管理', 0, 1, 'system', NULL, '', '', 1, 0, 'M', '0', '0', '', 'system', 'admin', '2025-07-17 15:27:46', '', NULL, '系统管理目录');
INSERT INTO `sys_menu` VALUES (2, '系统监控', 0, 2, 'monitor', NULL, '', '', 1, 0, 'M', '0', '0', '', 'monitor', 'admin', '2025-07-17 15:27:46', '', NULL, '系统监控目录');
INSERT INTO `sys_menu` VALUES (100, '用户管理', 1, 1, 'user', 'system/user/index', '', '', 1, 0, 'C', '0', '0', 'system:user:list', 'user', 'admin', '2025-07-17 15:27:46', '', NULL, '用户管理菜单');
INSERT INTO `sys_menu` VALUES (101, '角色管理', 1, 2, 'role', 'system/role/index', '', '', 1, 0, 'C', '0', '0', 'system:role:list', 'peoples', 'admin', '2025-07-17 15:27:46', '', NULL, '角色管理菜单');
INSERT INTO `sys_menu` VALUES (109, '在线用户', 2, 1, 'online', 'monitor/online/index', '', '', 1, 0, 'C', '0', '0', 'monitor:online:list', 'online', 'admin', '2025-07-17 15:27:46', '', NULL, '在线用户菜单');
INSERT INTO `sys_menu` VALUES (110, '定时任务', 2, 2, 'job', 'monitor/job/index', '', '', 1, 0, 'C', '0', '0', 'monitor:job:list', 'job', 'admin', '2025-07-17 15:27:46', '', NULL, '定时任务菜单');
INSERT INTO `sys_menu` VALUES (111, '数据监控', 2, 3, 'druid', 'monitor/druid/index', '', '', 1, 0, 'C', '0', '0', 'monitor:druid:list', 'druid', 'admin', '2025-07-17 15:27:46', '', NULL, '数据监控菜单');
INSERT INTO `sys_menu` VALUES (112, '服务监控', 2, 4, 'server', 'monitor/server/index', '', '', 1, 0, 'C', '0', '0', 'monitor:server:list', 'server', 'admin', '2025-07-17 15:27:46', '', NULL, '服务监控菜单');
INSERT INTO `sys_menu` VALUES (113, '缓存监控', 2, 5, 'cache', 'monitor/cache/index', '', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis', 'admin', '2025-07-17 15:27:46', '', NULL, '缓存监控菜单');
INSERT INTO `sys_menu` VALUES (114, '缓存列表', 2, 6, 'cacheList', 'monitor/cache/list', '', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis-list', 'admin', '2025-07-17 15:27:46', '', NULL, '缓存列表菜单');
INSERT INTO `sys_menu` VALUES (500, '操作日志', 108, 1, 'operlog', 'monitor/operlog/index', '', '', 1, 0, 'C', '0', '0', 'monitor:operlog:list', 'form', 'admin', '2025-07-17 15:27:46', '', NULL, '操作日志菜单');
INSERT INTO `sys_menu` VALUES (501, '登录日志', 108, 2, 'logininfor', 'monitor/logininfor/index', '', '', 1, 0, 'C', '0', '0', 'monitor:logininfor:list', 'logininfor', 'admin', '2025-07-17 15:27:46', '', NULL, '登录日志菜单');
INSERT INTO `sys_menu` VALUES (1000, '用户查询', 100, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:query', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1001, '用户新增', 100, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:add', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1002, '用户修改', 100, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:edit', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1003, '用户删除', 100, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:remove', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1004, '用户导出', 100, 5, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:export', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1005, '用户导入', 100, 6, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:import', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1006, '重置密码', 100, 7, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:resetPwd', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1007, '角色查询', 101, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1008, '角色新增', 101, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1009, '角色修改', 101, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1010, '角色删除', 101, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1011, '角色导出', 101, 5, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1042, '登录查询', 501, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:query', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1043, '登录删除', 501, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:remove', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1044, '日志导出', 501, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:export', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1045, '账户解锁', 501, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:unlock', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1046, '在线查询', 109, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:online:query', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1047, '批量强退', 109, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:online:batchLogout', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1048, '单条强退', 109, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:online:forceLogout', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1049, '任务查询', 110, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:query', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1050, '任务新增', 110, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:add', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1051, '任务修改', 110, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:edit', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1052, '任务删除', 110, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:remove', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1053, '状态修改', 110, 5, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:changeStatus', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1054, '任务导出', 110, 6, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:export', '#', 'admin', '2025-07-17 15:27:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1, '系统管理', 0, 1, 'system', NULL, '', '', 1, 0, 'M', '0', '0', '', 'system', 'admin', '2025-07-19 11:42:04', '', NULL, '系统管理目录');
INSERT INTO `sys_menu` VALUES (2, '系统监控', 0, 2, 'monitor', NULL, '', '', 1, 0, 'M', '0', '0', '', 'monitor', 'admin', '2025-07-19 11:42:04', '', NULL, '系统监控目录');
INSERT INTO `sys_menu` VALUES (3, '系统工具', 0, 3, 'tool', NULL, '', '', 1, 0, 'M', '0', '0', '', 'tool', 'admin', '2025-07-19 11:42:04', '', NULL, '系统工具目录');
INSERT INTO `sys_menu` VALUES (4, '设备管理', 0, 4, 'equipment', NULL, NULL, '', 1, 0, 'M', '0', '0', NULL, 'equipment', 'admin', '2025-08-01 23:28:53', '', NULL, '设备管理目录');
INSERT INTO `sys_menu` VALUES (5, '设备智能检测', 0, 5, 'monitor1', NULL, NULL, '', 1, 0, 'M', '0', '0', NULL, 'monitor1', 'admin', '2025-08-02 16:15:29', '', NULL, '设备智能检测目录');
INSERT INTO `sys_menu` VALUES (6, '异常预警管理', 0, 6, 'exception', NULL, NULL, '', 1, 0, 'M', '0', '0', '', 'exception', 'admin', '2025-08-02 16:18:45', '', NULL, '异常预警管理目录');
INSERT INTO `sys_menu` VALUES (7, '智能问答系统', 0, 7, 'intelligent', NULL, NULL, '', 1, 0, 'M', '0', '0', NULL, 'intelligent', 'admin', '2025-08-02 16:20:15', '', NULL, '智能问答系统');
INSERT INTO `sys_menu` VALUES (100, '用户管理', 1, 1, 'user', 'system/user/index', '', '', 1, 0, 'C', '0', '0', 'system:user:list', 'user', 'admin', '2025-07-19 11:42:04', '', NULL, '用户管理菜单');
INSERT INTO `sys_menu` VALUES (101, '角色管理', 1, 2, 'role', 'system/role/index', '', '', 1, 0, 'C', '0', '0', 'system:role:list', 'peoples', 'admin', '2025-07-19 11:42:04', '', NULL, '角色管理菜单');
INSERT INTO `sys_menu` VALUES (102, '菜单管理', 1, 3, 'menu', 'system/menu/index', '', '', 1, 0, 'C', '0', '0', 'system:menu:list', 'tree-table', 'admin', '2025-07-19 11:42:04', '', NULL, '菜单管理菜单');
INSERT INTO `sys_menu` VALUES (105, '字典管理', 1, 6, 'dict', 'system/dict/index', '', '', 1, 0, 'C', '0', '0', 'system:dict:list', 'dict', 'admin', '2025-07-19 11:42:04', '', NULL, '字典管理菜单');
INSERT INTO `sys_menu` VALUES (106, '参数设置', 1, 7, 'config', 'system/config/index', '', '', 1, 0, 'C', '0', '0', 'system:config:list', 'edit', 'admin', '2025-07-19 11:42:04', '', NULL, '参数设置菜单');
INSERT INTO `sys_menu` VALUES (107, '通知公告', 1, 8, 'notice', 'system/notice/index', '', '', 1, 0, 'C', '0', '0', 'system:notice:list', 'message', 'admin', '2025-07-19 11:42:04', '', NULL, '通知公告菜单');
INSERT INTO `sys_menu` VALUES (108, '日志管理', 1, 9, 'log', '', '', '', 1, 0, 'M', '0', '0', '', 'log', 'admin', '2025-07-19 11:42:04', '', NULL, '日志管理菜单');
INSERT INTO `sys_menu` VALUES (109, '在线用户', 2, 1, 'online', 'monitor/online/index', '', '', 1, 0, 'C', '0', '0', 'monitor:online:list', 'online', 'admin', '2025-07-19 11:42:04', '', NULL, '在线用户菜单');
INSERT INTO `sys_menu` VALUES (110, '定时任务', 2, 2, 'job', 'monitor/job/index', '', '', 1, 0, 'C', '0', '0', 'monitor:job:list', 'job', 'admin', '2025-07-19 11:42:04', '', NULL, '定时任务菜单');
INSERT INTO `sys_menu` VALUES (111, '数据监控', 2, 3, 'druid', 'monitor/druid/index', '', '', 1, 0, 'C', '0', '0', 'monitor:druid:list', 'druid', 'admin', '2025-07-19 11:42:04', '', NULL, '数据监控菜单');
INSERT INTO `sys_menu` VALUES (112, '服务监控', 2, 4, 'server', 'monitor/server/index', '', '', 1, 0, 'C', '0', '0', 'monitor:server:list', 'server', 'admin', '2025-07-19 11:42:04', '', NULL, '服务监控菜单');
INSERT INTO `sys_menu` VALUES (113, '缓存监控', 2, 5, 'cache', 'monitor/cache/index', '', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis', 'admin', '2025-07-19 11:42:04', '', NULL, '缓存监控菜单');
INSERT INTO `sys_menu` VALUES (114, '缓存列表', 2, 6, 'cacheList', 'monitor/cache/list', '', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis-list', 'admin', '2025-07-19 11:42:04', '', NULL, '缓存列表菜单');
INSERT INTO `sys_menu` VALUES (115, '表单构建', 3, 1, 'build', 'tool/build/index', '', '', 1, 0, 'C', '0', '0', 'tool:build:list', 'build', 'admin', '2025-07-19 11:42:04', '', NULL, '表单构建菜单');
INSERT INTO `sys_menu` VALUES (116, '代码生成', 3, 2, 'gen', 'tool/gen/index', '', '', 1, 0, 'C', '0', '0', 'tool:gen:list', 'code', 'admin', '2025-07-19 11:42:04', '', NULL, '代码生成菜单');
INSERT INTO `sys_menu` VALUES (117, '系统接口', 3, 3, 'swagger', 'tool/swagger/index', '', '', 1, 0, 'C', '0', '0', 'tool:swagger:list', 'swagger', 'admin', '2025-07-19 11:42:04', '', NULL, '系统接口菜单');
INSERT INTO `sys_menu` VALUES (500, '操作日志', 108, 1, 'operlog', 'monitor/operlog/index', '', '', 1, 0, 'C', '0', '0', 'monitor:operlog:list', 'form', 'admin', '2025-07-19 11:42:04', '', NULL, '操作日志菜单');
INSERT INTO `sys_menu` VALUES (501, '登录日志', 108, 2, 'logininfor', 'monitor/logininfor/index', '', '', 1, 0, 'C', '0', '0', 'monitor:logininfor:list', 'logininfor', 'admin', '2025-07-19 11:42:04', '', NULL, '登录日志菜单');
INSERT INTO `sys_menu` VALUES (1000, '用户查询', 100, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:query', '#', 'admin', '2025-07-19 11:42:04', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1001, '用户新增', 100, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:add', '#', 'admin', '2025-07-19 11:42:04', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1002, '用户修改', 100, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:edit', '#', 'admin', '2025-07-19 11:42:04', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1003, '用户删除', 100, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:remove', '#', 'admin', '2025-07-19 11:42:04', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1004, '用户导出', 100, 5, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:export', '#', 'admin', '2025-07-19 11:42:04', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1005, '用户导入', 100, 6, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:import', '#', 'admin', '2025-07-19 11:42:04', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1006, '重置密码', 100, 7, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:resetPwd', '#', 'admin', '2025-07-19 11:42:04', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1007, '角色查询', 101, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', '#', 'admin', '2025-07-19 11:42:04', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1008, '角色新增', 101, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', '#', 'admin', '2025-07-19 11:42:04', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1009, '角色修改', 101, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', '#', 'admin', '2025-07-19 11:42:04', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1010, '角色删除', 101, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', '#', 'admin', '2025-07-19 11:42:04', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1011, '角色导出', 101, 5, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', '#', 'admin', '2025-07-19 11:42:04', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1012, '菜单查询', 102, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query', '#', 'admin', '2025-07-19 11:42:04', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1013, '菜单新增', 102, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add', '#', 'admin', '2025-07-19 11:42:04', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1014, '菜单修改', 102, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit', '#', 'admin', '2025-07-19 11:42:04', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1015, '菜单删除', 102, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove', '#', 'admin', '2025-07-19 11:42:04', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1025, '字典查询', 105, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:query', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1026, '字典新增', 105, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:add', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1027, '字典修改', 105, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1028, '字典删除', 105, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1029, '字典导出', 105, 5, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:export', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1030, '参数查询', 106, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:query', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1031, '参数新增', 106, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:add', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1032, '参数修改', 106, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:edit', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1033, '参数删除', 106, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:remove', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1034, '参数导出', 106, 5, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:export', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1035, '公告查询', 107, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:query', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1036, '公告新增', 107, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:add', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1037, '公告修改', 107, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:edit', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1038, '公告删除', 107, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:remove', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1039, '操作查询', 500, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:query', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1040, '操作删除', 500, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:remove', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1041, '日志导出', 500, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:export', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1042, '登录查询', 501, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:query', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1043, '登录删除', 501, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:remove', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1044, '日志导出', 501, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:export', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1045, '账户解锁', 501, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:unlock', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1046, '在线查询', 109, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:online:query', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1047, '批量强退', 109, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:online:batchLogout', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1048, '单条强退', 109, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:online:forceLogout', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1049, '任务查询', 110, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:query', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1050, '任务新增', 110, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:add', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1051, '任务修改', 110, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:edit', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1052, '任务删除', 110, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:remove', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1053, '状态修改', 110, 5, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:changeStatus', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1054, '任务导出', 110, 6, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:export', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1055, '生成查询', 116, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:query', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1056, '生成修改', 116, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:edit', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1057, '生成删除', 116, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:remove', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1058, '导入代码', 116, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:import', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1059, '预览代码', 116, 5, '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:preview', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1060, '生成代码', 116, 6, '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:code', '#', 'admin', '2025-07-19 11:42:05', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2025, '设备档案', 4, 1, 'base', 'equipment/base/index', NULL, '', 1, 0, 'C', '0', '0', 'equipment:base:queryByVO', '#', 'admin', '2025-08-01 23:17:55', '', NULL, '设备档案菜单');
INSERT INTO `sys_menu` VALUES (2026, '设备基本信息查询', 2025, 1, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:base:query', '#', 'admin', '2025-08-01 23:17:55', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2027, '设备基本信息新增', 2025, 2, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:base:add', '#', 'admin', '2025-08-01 23:17:55', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2028, '设备基本信息修改', 2025, 3, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:base:edit', '#', 'admin', '2025-08-01 23:17:55', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2029, '设备基本信息删除', 2025, 4, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:base:remove', '#', 'admin', '2025-08-01 23:17:55', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2030, '设备基本信息导出', 2025, 5, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:base:export', '#', 'admin', '2025-08-01 23:17:55', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2036, '设备类型管理', 4, 2, 'type', 'equipment/type/index', NULL, '', 1, 0, 'C', '0', '0', 'equipment:type:list', '#', 'admin', '2025-08-02 16:02:06', '', NULL, '设备类型管理菜单');
INSERT INTO `sys_menu` VALUES (2037, '设备类型管理查询', 2036, 1, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:type:query', '#', 'admin', '2025-08-02 16:02:06', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2038, '设备类型管理新增', 2036, 2, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:type:add', '#', 'admin', '2025-08-02 16:02:06', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2039, '设备类型管理修改', 2036, 3, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:type:edit', '#', 'admin', '2025-08-02 16:02:06', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2040, '设备类型管理删除', 2036, 4, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:type:remove', '#', 'admin', '2025-08-02 16:02:06', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2041, '设备类型管理导出', 2036, 5, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:type:export', '#', 'admin', '2025-08-02 16:02:06', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2042, '设备厂商管理', 4, 3, 'manu', 'equipment/manu/index', NULL, '', 1, 0, 'C', '0', '0', 'equipment:manu:list', '#', 'admin', '2025-08-02 16:05:46', '', NULL, '设备厂商管理菜单');
INSERT INTO `sys_menu` VALUES (2043, '设备厂商管理查询', 2042, 1, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:manu:query', '#', 'admin', '2025-08-02 16:05:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2044, '设备厂商管理新增', 2042, 2, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:manu:add', '#', 'admin', '2025-08-02 16:05:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2045, '设备厂商管理修改', 2042, 3, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:manu:edit', '#', 'admin', '2025-08-02 16:05:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2046, '设备厂商管理删除', 2042, 4, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:manu:remove', '#', 'admin', '2025-08-02 16:05:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2047, '设备厂商管理导出', 2042, 5, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:manu:export', '#', 'admin', '2025-08-02 16:05:46', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2049, '(多台)设备运行状态', 5, 1, 'multiple', 'equipment/multiple/index', NULL, '', 1, 0, 'C', '0', '0', 'equipment:multiple:list', '#', 'admin', '2025-08-02 16:24:09', '', NULL, '设备运行状态菜单');
INSERT INTO `sys_menu` VALUES (2050, '(单台)设备运行信息详情', 5, 2, 'single', 'equipment/single/index', NULL, '', 1, 0, 'C', '0', '0', 'equipment:single:list', '#', 'admin', '2025-08-02 16:25:33', '', NULL, '设备运行详情菜单');
INSERT INTO `sys_menu` VALUES (2051, 'AI问答助手', 7, 2, 'ai', 'intelligent/ai/index', NULL, '', 1, 0, 'C', '0', '0', 'intelligent:ai:list', '#', 'admin', '2025-08-02 16:28:50', '', NULL, 'AI问答助手菜单');
INSERT INTO `sys_menu` VALUES (2052, '预警规则', 6, 1, 'rule', 'exception/rule/index', NULL, '', 1, 0, 'C', '0', '0', 'exception:rule:index', '#', 'admin', '2025-08-02 16:30:38', '', NULL, '预警规则菜单');
INSERT INTO `sys_menu` VALUES (2053, '预警规则查询', 2052, 1, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'exception:rule:query', '#', 'admin', '2025-08-02 16:30:38', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2054, '预警规则新增', 2052, 2, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'exception:rule:add', '#', 'admin', '2025-08-02 16:30:38', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2055, '预警规则修改', 2052, 3, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'exception:rule:edit', '#', 'admin', '2025-08-02 16:30:38', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2056, '预警规则删除', 2052, 4, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'exception:rule:remove', '#', 'admin', '2025-08-02 16:30:38', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2057, '预警规则导出', 2052, 5, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'exception:rule:export', '#', 'admin', '2025-08-02 16:30:38', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2058, '专家知识库', 7, 1, 'knowledge', 'intelligent/knowledge/index', NULL, '', 1, 0, 'C', '0', '0', 'intelligent:knowledge:list', '#', 'admin', '2025-08-02 16:31:02', '', NULL, '专家知识库菜单');
INSERT INTO `sys_menu` VALUES (2059, '专家知识库查询', 2058, 1, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'intelligent:knowledge:query', '#', 'admin', '2025-08-02 16:31:02', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2060, '专家知识库新增', 2058, 2, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'intelligent:knowledge:add', '#', 'admin', '2025-08-02 16:31:02', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2061, '专家知识库修改', 2058, 3, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'intelligent:knowledge:edit', '#', 'admin', '2025-08-02 16:31:02', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2062, '专家知识库删除', 2058, 4, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'system:knowledge:remove', '#', 'admin', '2025-08-02 16:31:02', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2063, '专家知识库导出', 2058, 5, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'system:knowledge:export', '#', 'admin', '2025-08-02 16:31:02', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2064, '设备信息采集', 4, 4, 'rules', 'system/rules/index', NULL, '', 1, 0, 'C', '0', '0', 'equipment:rules:list', '#', 'admin', '2025-08-03 21:41:17', '', NULL, '设备信息采集菜单');
INSERT INTO `sys_menu` VALUES (2065, '定时采集规则查询', 2064, 1, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:rules:query', '#', 'admin', '2025-08-03 21:41:17', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2066, '定时采集规则新增', 2064, 2, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:rules:add', '#', 'admin', '2025-08-03 21:41:17', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2067, '定时采集规则修改', 2064, 3, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:rules:edit', '#', 'admin', '2025-08-03 21:41:17', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2068, '定时采集规则删除', 2064, 4, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:rules:remove', '#', 'admin', '2025-08-03 21:41:17', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2069, '定时采集规则导出', 2064, 5, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'equipment:rules:export', '#', 'admin', '2025-08-03 21:41:17', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2070, '故障统计', 6, 2, 'sta', 'exception/sta/index', NULL, '', 1, 0, 'C', '0', '0', 'exception:sta:list', '#', 'admin', '2025-08-03 21:42:28', '', NULL, '故障统计菜单');
INSERT INTO `sys_menu` VALUES (2071, '故障统计查询', 2070, 1, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'exception:sta:query', '#', 'admin', '2025-08-03 21:42:28', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2072, '故障统计新增', 2070, 2, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'exception:sta:add', '#', 'admin', '2025-08-03 21:42:28', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2073, '故障统计修改', 2070, 3, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'exception:sta:edit', '#', 'admin', '2025-08-03 21:42:28', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2074, '故障统计删除', 2070, 4, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'exception:sta:remove', '#', 'admin', '2025-08-03 21:42:28', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2075, '故障统计导出', 2070, 5, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'exception:sta:export', '#', 'admin', '2025-08-03 21:42:28', '', NULL, '');
-- ----------------------------
-- Table structure for sys_notice
-- ----------------------------
DROP TABLE IF EXISTS `sys_notice`;
CREATE TABLE `sys_notice` (
`notice_id` int NOT NULL AUTO_INCREMENT COMMENT '公告ID',
`notice_title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '公告标题',
`notice_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '公告类型(1通知 2公告)',
`notice_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '公告内容',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '公告状态(0正常 1关闭)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`notice_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '通知公告表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_notice
-- ----------------------------
INSERT INTO `sys_notice` VALUES (1, '温馨提醒:2018-07-01 若依新版本发布啦', '2', '新版本内容', '0', 'admin', '2025-07-19 12:56:29', '', NULL, '管理员');
INSERT INTO `sys_notice` VALUES (2, '维护通知:2018-07-01 若依系统凌晨维护', '1', '维护内容', '0', 'admin', '2025-07-19 12:56:29', '', NULL, '管理员');
-- ----------------------------
-- Table structure for sys_oper_log
@ -312,7 +987,7 @@ CREATE TABLE `sys_oper_log` (
INDEX `idx_sys_oper_log_bt`(`business_type` ASC) USING BTREE,
INDEX `idx_sys_oper_log_s`(`status` ASC) USING BTREE,
INDEX `idx_sys_oper_log_ot`(`oper_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 124 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '操作日志记录' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 158 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '操作日志记录' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_oper_log
@ -341,6 +1016,40 @@ INSERT INTO `sys_oper_log` VALUES (120, '用户管理', 6, 'com.alops.web.contro
INSERT INTO `sys_oper_log` VALUES (121, '用户管理', 3, 'com.alops.web.controller.system.SysUserController.remove()', 'DELETE', 1, 'admin', '/system/user/103', '127.0.0.1', '内网IP', '[103]', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-07-18 08:27:36', 64);
INSERT INTO `sys_oper_log` VALUES (122, '个人信息', 2, 'com.alops.web.controller.system.SysProfileController.updatePwd()', 'PUT', 1, 'admin', '/system/user/profile/updatePwd', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"修改密码失败,旧密码错误\",\"code\":500}', 0, NULL, '2025-07-18 08:37:27', 128);
INSERT INTO `sys_oper_log` VALUES (123, '个人信息', 2, 'com.alops.web.controller.system.SysProfileController.updatePwd()', 'PUT', 1, 'admin', '/system/user/profile/updatePwd', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-07-18 08:38:33', 248);
INSERT INTO `sys_oper_log` VALUES (124, '角色管理', 1, 'com.alops.web.controller.system.SysRoleController.add()', 'POST', 1, 'admin', '/system/role', '127.0.0.1', '内网IP', '{\"admin\":false,\"createBy\":\"admin\",\"flag\":false,\"menuCheckStrictly\":true,\"menuIds\":[],\"params\":{},\"roleId\":102,\"roleKey\":\"test\",\"roleName\":\"管理员1\",\"roleSort\":2,\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-07-18 20:24:09', 27);
INSERT INTO `sys_oper_log` VALUES (125, '角色管理', 2, 'com.alops.web.controller.system.SysRoleController.edit()', 'PUT', 1, 'admin', '/system/role', '127.0.0.1', '内网IP', '{\"admin\":false,\"createTime\":\"2025-07-17 15:27:46\",\"dataScope\":\"2\",\"delFlag\":\"0\",\"flag\":false,\"menuCheckStrictly\":true,\"menuIds\":[],\"params\":{},\"remark\":\"普通角色\",\"roleId\":2,\"roleKey\":\"common\",\"roleName\":\"普通角色\",\"roleSort\":2,\"status\":\"0\",\"updateBy\":\"admin\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-07-18 20:24:40', 18);
INSERT INTO `sys_oper_log` VALUES (126, '用户管理', 1, 'com.alops.web.controller.system.SysUserController.add()', 'POST', 1, 'admin', '/system/user', '127.0.0.1', '内网IP', '{\"admin\":false,\"createBy\":\"admin\",\"email\":\"123456789@qq.com\",\"nickName\":\"hh\",\"params\":{},\"phonenumber\":\"18832145678\",\"remark\":\"测试人员\",\"roleIds\":[2],\"sex\":\"1\",\"status\":\"0\",\"userId\":104,\"userName\":\"hh\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-07-18 20:30:14', 124);
INSERT INTO `sys_oper_log` VALUES (127, '用户管理', 3, 'com.alops.web.controller.system.SysUserController.remove()', 'DELETE', 1, 'admin', '/system/user/104', '127.0.0.1', '内网IP', '[104]', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-07-18 20:31:06', 20);
INSERT INTO `sys_oper_log` VALUES (128, '角色管理', 3, 'com.alops.web.controller.system.SysRoleController.remove()', 'DELETE', 1, 'admin', '/system/role/102', '127.0.0.1', '内网IP', '[102]', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-07-18 20:31:13', 29);
INSERT INTO `sys_oper_log` VALUES (129, '角色管理', 2, 'com.alops.web.controller.system.SysRoleController.edit()', 'PUT', 1, 'admin', '/system/role', '127.0.0.1', '内网IP', '{\"admin\":false,\"createTime\":\"2025-07-17 15:27:46\",\"dataScope\":\"2\",\"delFlag\":\"0\",\"flag\":false,\"menuCheckStrictly\":true,\"menuIds\":[1,100,1000,1001,1002,1003,1004,1005,1006,101,1007,1008,1009,1010,1011,2,109,1046,1047,1048,110,1049,1050,1051,1052,1053,1054,111,112,113,114,500,501,1042,1043,1044,1045],\"params\":{},\"remark\":\"普通角色\",\"roleId\":2,\"roleKey\":\"common\",\"roleName\":\"普通角色\",\"roleSort\":2,\"status\":\"0\",\"updateBy\":\"admin\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-07-18 20:32:57', 26);
INSERT INTO `sys_oper_log` VALUES (130, '角色管理', 2, 'com.alops.web.controller.system.SysRoleController.edit()', 'PUT', 1, 'ry', '/system/role', '127.0.0.1', '内网IP', '{\"admin\":false,\"createTime\":\"2025-07-17 15:27:46\",\"dataScope\":\"2\",\"delFlag\":\"0\",\"flag\":false,\"menuCheckStrictly\":true,\"menuIds\":[2,109,1046,1047,1048,110,1049,1050,1051,1052,1053,1054,111,112,113,114,500,501,1042,1043,1044,1045],\"params\":{},\"remark\":\"普通角色\",\"roleId\":2,\"roleKey\":\"common\",\"roleName\":\"普通角色\",\"roleSort\":2,\"status\":\"0\",\"updateBy\":\"ry\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-07-18 21:11:33', 179);
INSERT INTO `sys_oper_log` VALUES (131, '个人信息', 2, 'com.alops.web.controller.system.SysProfileController.updatePwd()', 'PUT', 1, 'admin', '/system/user/profile/updatePwd', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-07-19 07:58:54', 362);
INSERT INTO `sys_oper_log` VALUES (132, '用户管理', 6, 'com.alops.web.controller.system.SysUserController.importData()', 'POST', 1, 'admin', '/system/user/importData', '127.0.0.1', '内网IP', '{\"updateSupport\":\"0\"}', '{\"msg\":\"恭喜您,数据已全部导入成功!共 1 条,数据如下:<br/>1、账号 55 导入成功\",\"code\":200}', 0, NULL, '2025-07-19 08:04:32', 598);
INSERT INTO `sys_oper_log` VALUES (133, '用户管理', 3, 'com.alops.web.controller.system.SysUserController.remove()', 'DELETE', 1, 'admin', '/system/user/105', '127.0.0.1', '内网IP', '[105]', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-07-19 08:04:39', 47);
INSERT INTO `sys_oper_log` VALUES (134, '用户管理', 5, 'com.alops.web.controller.system.SysUserController.export()', 'POST', 1, 'admin', '/system/user/export', '127.0.0.1', '内网IP', '{\"pageSize\":\"10\",\"pageNum\":\"1\"}', NULL, 0, NULL, '2025-07-19 08:53:11', 901);
INSERT INTO `sys_oper_log` VALUES (135, '菜单管理', 1, 'com.alops.web.controller.system.SysMenuController.add()', 'POST', 1, 'admin', '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"component\":\"system/user/index\",\"createBy\":\"admin\",\"icon\":\"edit\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuName\":\"检测\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":1,\"path\":\"test\",\"perms\":\"system:user:list\",\"status\":\"0\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-07-19 13:51:01', 59);
INSERT INTO `sys_oper_log` VALUES (136, '菜单管理', 3, 'com.alops.web.controller.system.SysMenuController.remove()', 'DELETE', 1, 'admin', '/system/menu/2000', '127.0.0.1', '内网IP', '2000', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-07-19 13:51:32', 36);
INSERT INTO `sys_oper_log` VALUES (137, '代码生成', 6, 'com.alops.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":\"sys_menu\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-07-19 14:13:41', 134);
INSERT INTO `sys_oper_log` VALUES (138, '字典类型', 1, 'com.alops.web.controller.system.SysDictTypeController.add()', 'POST', 1, 'admin', '/system/dict/type', '127.0.0.1', '内网IP', '{\"createBy\":\"admin\",\"dictName\":\"a\",\"dictType\":\"a\",\"params\":{},\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-07-19 14:17:11', 25);
INSERT INTO `sys_oper_log` VALUES (139, '字典类型', 3, 'com.alops.web.controller.system.SysDictTypeController.remove()', 'DELETE', 1, 'admin', '/system/dict/type/100', '127.0.0.1', '内网IP', '[100]', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-07-19 14:17:21', 29);
INSERT INTO `sys_oper_log` VALUES (140, '通知公告', 1, 'com.alops.web.controller.system.SysNoticeController.add()', 'POST', 1, 'admin', '/system/notice', '127.0.0.1', '内网IP', '{\"createBy\":\"admin\",\"noticeContent\":\"<p>dajiahao</p>\",\"noticeTitle\":\"hh\",\"noticeType\":\"1\",\"params\":{},\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-07-20 14:56:23', 20);
INSERT INTO `sys_oper_log` VALUES (141, '通知公告', 3, 'com.alops.web.controller.system.SysNoticeController.remove()', 'DELETE', 1, 'admin', '/system/notice/10', '127.0.0.1', '内网IP', '[10]', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-07-20 14:56:31', 17);
INSERT INTO `sys_oper_log` VALUES (142, '代码生成', 8, 'com.alops.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"sys_menu\"}', NULL, 0, NULL, '2025-07-20 14:57:43', 680);
INSERT INTO `sys_oper_log` VALUES (143, '字典类型', 5, 'com.alops.web.controller.system.SysDictTypeController.export()', 'POST', 1, 'admin', '/system/dict/type/export', '127.0.0.1', '内网IP', '{\"pageSize\":\"10\",\"pageNum\":\"1\"}', NULL, 0, NULL, '2025-07-20 15:01:34', 640);
INSERT INTO `sys_oper_log` VALUES (144, '代码生成', 8, 'com.alops.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"sys_menu\"}', NULL, 0, NULL, '2025-07-21 20:07:53', 743);
INSERT INTO `sys_oper_log` VALUES (145, '代码生成', 6, 'com.alops.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":\"equ_base\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-07-23 09:56:45', 130);
INSERT INTO `sys_oper_log` VALUES (146, '代码生成', 8, 'com.alops.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"equ_base\"}', NULL, 0, NULL, '2025-07-23 09:56:58', 145);
INSERT INTO `sys_oper_log` VALUES (147, '代码生成', 6, 'com.alops.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":\"alarm_rule,local_knowledge,qa_history,fau_sta,equ_manu\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-08-01 21:07:42', 420);
INSERT INTO `sys_oper_log` VALUES (148, '代码生成', 3, 'com.alops.generator.controller.GenController.remove()', 'DELETE', 1, 'admin', '/tool/gen/2', '127.0.0.1', '内网IP', '[2]', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-08-01 21:12:01', 37);
INSERT INTO `sys_oper_log` VALUES (149, '代码生成', 3, 'com.alops.generator.controller.GenController.remove()', 'DELETE', 1, 'admin', '/tool/gen/1', '127.0.0.1', '内网IP', '[1]', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-08-01 21:12:04', 25);
INSERT INTO `sys_oper_log` VALUES (150, '代码生成', 6, 'com.alops.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":\"equ_type,equ_gather,equ_interface,equ_base\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-08-01 21:12:54', 283);
INSERT INTO `sys_oper_log` VALUES (151, '代码生成', 8, 'com.alops.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"equ_base,equ_gather,equ_interface,equ_type,equ_manu,alarm_rule,fau_sta,local_knowledge,qa_history\"}', NULL, 0, NULL, '2025-08-01 21:23:48', 1028);
INSERT INTO `sys_oper_log` VALUES (152, '设备档案', 1, 'com.alops.web.controller.equManagement.EquBaseController.add()', 'POST', 1, 'admin', '/equipment/add', '127.0.0.1', '内网IP', '{\"createBy\":\"admin\",\"equType\":\"NETWORK_SWITCH\",\"failureFrequency\":0,\"id\":\"DEV-2025-001\",\"inCharge\":1001,\"installDate\":\"2024-03-20\",\"ip\":\"192.168.1.100\",\"lifeCycle\":5,\"location\":\"LOC-ROOM-101\",\"manufacture\":\"MANU-001\",\"name\":\"核心交换机\",\"params\":{},\"releaseDate\":\"2024-01-15\",\"repairCost\":0,\"repairFrequency\":0,\"serviceTime\":1,\"status\":1,\"updateBy\":\"admin\",\"version\":\"v3.2.1\",\"warranty\":3}', NULL, 1, '\r\n### Error updating database. Cause: java.sql.SQLException: Incorrect integer value: \'admin\' for column \'create_by\' at row 1\r\n### The error may exist in file [D:\\III\\AIOps_sys\\ALOps_sys_backend\\alops-system\\target\\classes\\mapper\\system\\EquBaseMapper.xml]\r\n### The error may involve com.alops.system.mapper.EquBaseMapper.insertEquBase-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into equ_base ( id, name, version, ip, manufacture, location, equ_type, in_charge, release_date, install_date, life_cycle, service_time, warranty, failure_frequency, repair_frequency, repair_cost, create_by, update_by, status ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )\r\n### Cause: java.sql.SQLException: Incorrect integer value: \'admin\' for column \'create_by\' at row 1\n; uncategorized SQLException; SQL state [HY000]; error code [1366]; Incorrect integer value: \'admin\' for column \'create_by\' at row 1; nested exception is java.sql.SQLException: Incorrect integer value: \'admin\' for column \'create_by\' at row 1', '2025-08-01 23:56:02', 145);
INSERT INTO `sys_oper_log` VALUES (153, '设备档案', 1, 'com.alops.web.controller.equManagement.EquBaseController.add()', 'POST', 1, 'admin', '/equipment/add', '127.0.0.1', '内网IP', '{\"createBy\":\"1\",\"equType\":\"NETWORK_SWITCH\",\"failureFrequency\":0,\"id\":\"DEV-2025-001\",\"inCharge\":1001,\"installDate\":\"2024-03-20\",\"ip\":\"192.168.1.100\",\"lifeCycle\":5,\"location\":\"LOC-ROOM-101\",\"manufacture\":\"MANU-001\",\"name\":\"核心交换机\",\"params\":{},\"releaseDate\":\"2024-01-15\",\"repairCost\":0,\"repairFrequency\":0,\"serviceTime\":1,\"status\":1,\"updateBy\":\"1\",\"version\":\"v3.2.1\",\"warranty\":3}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-08-02 00:00:22', 17);
INSERT INTO `sys_oper_log` VALUES (154, '设备档案', 1, 'com.alops.web.controller.equManagement.EquBaseController.add()', 'POST', 1, 'admin', '/equipment/add', '127.0.0.1', '内网IP', '{\"createBy\":\"1\",\"equType\":\"NETWORK_SWITCH\",\"failureFrequency\":0,\"id\":\"DEV-2025-001\",\"inCharge\":1001,\"installDate\":\"2024-03-20\",\"ip\":\"192.168.1.100\",\"lifeCycle\":5,\"location\":\"LOC-ROOM-101\",\"manufacture\":\"MANU-001\",\"name\":\"核心交换机\",\"params\":{},\"releaseDate\":\"2024-01-15\",\"repairCost\":0,\"repairFrequency\":0,\"serviceTime\":1,\"status\":1,\"updateBy\":\"1\",\"version\":\"v3.2.1\",\"warranty\":3}', NULL, 1, '\r\n### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'DEV-2025-001\' for key \'equ_base.PRIMARY\'\r\n### The error may exist in file [D:\\III\\AIOps_sys\\ALOps_sys_backend\\alops-system\\target\\classes\\mapper\\system\\EquBaseMapper.xml]\r\n### The error may involve com.alops.system.mapper.EquBaseMapper.insertEquBase-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into equ_base ( id, name, version, ip, manufacture, location, equ_type, in_charge, release_date, install_date, life_cycle, service_time, warranty, failure_frequency, repair_frequency, repair_cost, create_by, update_by, status ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )\r\n### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'DEV-2025-001\' for key \'equ_base.PRIMARY\'\n; Duplicate entry \'DEV-2025-001\' for key \'equ_base.PRIMARY\'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'DEV-2025-001\' for key \'equ_base.PRIMARY\'', '2025-08-02 00:00:24', 16);
INSERT INTO `sys_oper_log` VALUES (155, '设备档案', 1, 'com.alops.web.controller.equManagement.EquBaseController.add()', 'POST', 1, 'admin', '/equipment/add', '127.0.0.1', '内网IP', '{\"createBy\":\"1\",\"equType\":\"NETWORK_SWITCH\",\"failureFrequency\":0,\"id\":\"DEV-2025-001\",\"inCharge\":1001,\"installDate\":\"2024-03-20\",\"ip\":\"192.168.1.100\",\"lifeCycle\":5,\"location\":\"LOC-ROOM-101\",\"manufacture\":\"MANU-001\",\"name\":\"核心交换机\",\"params\":{},\"releaseDate\":\"2024-01-15\",\"repairCost\":0,\"repairFrequency\":0,\"serviceTime\":1,\"status\":1,\"updateBy\":\"1\",\"version\":\"v3.2.1\",\"warranty\":3}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-08-02 00:01:53', 21);
INSERT INTO `sys_oper_log` VALUES (156, '代码生成', 6, 'com.alops.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":\"schedule_rules\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-08-03 21:39:42', 174);
INSERT INTO `sys_oper_log` VALUES (157, '代码生成', 8, 'com.alops.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"schedule_rules\"}', NULL, 0, NULL, '2025-08-03 21:39:45', 299);
-- ----------------------------
-- Table structure for sys_role
@ -361,14 +1070,15 @@ CREATE TABLE `sys_role` (
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`role_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 102 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '角色信息表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 103 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '角色信息表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_role
-- ----------------------------
INSERT INTO `sys_role` VALUES (1, '超级管理员', 'admin', 1, '1', 1, '0', '0', 'admin', '2025-07-17 15:27:46', '', NULL, '超级管理员');
INSERT INTO `sys_role` VALUES (2, '普通角色', 'common', 2, '2', 1, '0', '0', 'admin', '2025-07-17 15:27:46', '', NULL, '普通角色');
INSERT INTO `sys_role` VALUES (2, '普通角色', 'common', 2, '2', 1, '0', '0', 'admin', '2025-07-17 15:27:46', 'ry', '2025-07-18 21:11:32', '普通角色');
INSERT INTO `sys_role` VALUES (101, '管理员', 'ii', 2, '1', 0, '0', '2', 'admin', '2025-07-17 18:57:51', 'admin', '2025-07-17 18:58:14', NULL);
INSERT INTO `sys_role` VALUES (102, '管理员1', 'test', 2, '1', 1, '0', '2', 'admin', '2025-07-18 20:24:09', '', NULL, NULL);
-- ----------------------------
-- Table structure for sys_role_menu
@ -387,14 +1097,25 @@ INSERT INTO `sys_role_menu` VALUES (2, 1);
INSERT INTO `sys_role_menu` VALUES (2, 2);
INSERT INTO `sys_role_menu` VALUES (2, 3);
INSERT INTO `sys_role_menu` VALUES (2, 4);
INSERT INTO `sys_role_menu` VALUES (2, 5);
INSERT INTO `sys_role_menu` VALUES (2, 6);
INSERT INTO `sys_role_menu` VALUES (2, 7);
INSERT INTO `sys_role_menu` VALUES (2, 100);
INSERT INTO `sys_role_menu` VALUES (2, 101);
INSERT INTO `sys_role_menu` VALUES (2, 102);
INSERT INTO `sys_role_menu` VALUES (2, 105);
INSERT INTO `sys_role_menu` VALUES (2, 106);
INSERT INTO `sys_role_menu` VALUES (2, 107);
INSERT INTO `sys_role_menu` VALUES (2, 108);
INSERT INTO `sys_role_menu` VALUES (2, 109);
INSERT INTO `sys_role_menu` VALUES (2, 110);
INSERT INTO `sys_role_menu` VALUES (2, 111);
INSERT INTO `sys_role_menu` VALUES (2, 112);
INSERT INTO `sys_role_menu` VALUES (2, 113);
INSERT INTO `sys_role_menu` VALUES (2, 114);
INSERT INTO `sys_role_menu` VALUES (2, 115);
INSERT INTO `sys_role_menu` VALUES (2, 116);
INSERT INTO `sys_role_menu` VALUES (2, 117);
INSERT INTO `sys_role_menu` VALUES (2, 500);
INSERT INTO `sys_role_menu` VALUES (2, 501);
INSERT INTO `sys_role_menu` VALUES (2, 1000);
@ -413,15 +1134,6 @@ INSERT INTO `sys_role_menu` VALUES (2, 1012);
INSERT INTO `sys_role_menu` VALUES (2, 1013);
INSERT INTO `sys_role_menu` VALUES (2, 1014);
INSERT INTO `sys_role_menu` VALUES (2, 1015);
INSERT INTO `sys_role_menu` VALUES (2, 1016);
INSERT INTO `sys_role_menu` VALUES (2, 1017);
INSERT INTO `sys_role_menu` VALUES (2, 1018);
INSERT INTO `sys_role_menu` VALUES (2, 1019);
INSERT INTO `sys_role_menu` VALUES (2, 1020);
INSERT INTO `sys_role_menu` VALUES (2, 1021);
INSERT INTO `sys_role_menu` VALUES (2, 1022);
INSERT INTO `sys_role_menu` VALUES (2, 1023);
INSERT INTO `sys_role_menu` VALUES (2, 1024);
INSERT INTO `sys_role_menu` VALUES (2, 1025);
INSERT INTO `sys_role_menu` VALUES (2, 1026);
INSERT INTO `sys_role_menu` VALUES (2, 1027);
@ -452,6 +1164,57 @@ INSERT INTO `sys_role_menu` VALUES (2, 1051);
INSERT INTO `sys_role_menu` VALUES (2, 1052);
INSERT INTO `sys_role_menu` VALUES (2, 1053);
INSERT INTO `sys_role_menu` VALUES (2, 1054);
INSERT INTO `sys_role_menu` VALUES (2, 1055);
INSERT INTO `sys_role_menu` VALUES (2, 1056);
INSERT INTO `sys_role_menu` VALUES (2, 1057);
INSERT INTO `sys_role_menu` VALUES (2, 1058);
INSERT INTO `sys_role_menu` VALUES (2, 1059);
INSERT INTO `sys_role_menu` VALUES (2, 1060);
INSERT INTO `sys_role_menu` VALUES (2, 2025);
INSERT INTO `sys_role_menu` VALUES (2, 2026);
INSERT INTO `sys_role_menu` VALUES (2, 2027);
INSERT INTO `sys_role_menu` VALUES (2, 2028);
INSERT INTO `sys_role_menu` VALUES (2, 2029);
INSERT INTO `sys_role_menu` VALUES (2, 2030);
INSERT INTO `sys_role_menu` VALUES (2, 2036);
INSERT INTO `sys_role_menu` VALUES (2, 2037);
INSERT INTO `sys_role_menu` VALUES (2, 2038);
INSERT INTO `sys_role_menu` VALUES (2, 2039);
INSERT INTO `sys_role_menu` VALUES (2, 2040);
INSERT INTO `sys_role_menu` VALUES (2, 2041);
INSERT INTO `sys_role_menu` VALUES (2, 2042);
INSERT INTO `sys_role_menu` VALUES (2, 2043);
INSERT INTO `sys_role_menu` VALUES (2, 2044);
INSERT INTO `sys_role_menu` VALUES (2, 2045);
INSERT INTO `sys_role_menu` VALUES (2, 2046);
INSERT INTO `sys_role_menu` VALUES (2, 2047);
INSERT INTO `sys_role_menu` VALUES (2, 2049);
INSERT INTO `sys_role_menu` VALUES (2, 2050);
INSERT INTO `sys_role_menu` VALUES (2, 2051);
INSERT INTO `sys_role_menu` VALUES (2, 2052);
INSERT INTO `sys_role_menu` VALUES (2, 2053);
INSERT INTO `sys_role_menu` VALUES (2, 2054);
INSERT INTO `sys_role_menu` VALUES (2, 2055);
INSERT INTO `sys_role_menu` VALUES (2, 2056);
INSERT INTO `sys_role_menu` VALUES (2, 2057);
INSERT INTO `sys_role_menu` VALUES (2, 2058);
INSERT INTO `sys_role_menu` VALUES (2, 2059);
INSERT INTO `sys_role_menu` VALUES (2, 2060);
INSERT INTO `sys_role_menu` VALUES (2, 2061);
INSERT INTO `sys_role_menu` VALUES (2, 2062);
INSERT INTO `sys_role_menu` VALUES (2, 2063);
INSERT INTO `sys_role_menu` VALUES (2, 2064);
INSERT INTO `sys_role_menu` VALUES (2, 2065);
INSERT INTO `sys_role_menu` VALUES (2, 2066);
INSERT INTO `sys_role_menu` VALUES (2, 2067);
INSERT INTO `sys_role_menu` VALUES (2, 2068);
INSERT INTO `sys_role_menu` VALUES (2, 2069);
INSERT INTO `sys_role_menu` VALUES (2, 2070);
INSERT INTO `sys_role_menu` VALUES (2, 2071);
INSERT INTO `sys_role_menu` VALUES (2, 2072);
INSERT INTO `sys_role_menu` VALUES (2, 2073);
INSERT INTO `sys_role_menu` VALUES (2, 2074);
INSERT INTO `sys_role_menu` VALUES (2, 2075);
-- ----------------------------
-- Table structure for sys_user
@ -478,17 +1241,15 @@ CREATE TABLE `sys_user` (
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 104 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户信息表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 106 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户信息表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_user
-- ----------------------------
INSERT INTO `sys_user` VALUES (1, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '', '$2a$10$fIXsyGEnUVuQQTcLi8VfJOPxE2tFMdsDqKsYYVuUXAa9kujSL/UV.', '0', '0', '127.0.0.1', '2025-07-18 08:27:03', '2025-07-18 08:38:33', 'admin', '2025-07-17 15:27:46', '', '2025-07-18 08:27:02', '管理员');
INSERT INTO `sys_user` VALUES (2, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2025-07-17 15:27:46', '2025-07-17 15:27:46', 'admin', '2025-07-17 15:27:46', '', NULL, '测试员');
INSERT INTO `sys_user` VALUES (100, 'xiaohou', 'xixo', '00', '123456789@qq.com', '33333358976', '1', '', '$2a$10$MZlE1yU55gMKnCSJlBkSeuRAfGlQtqfE4EM1y8rs5BjkwTEJIEpse', '0', '2', '', NULL, NULL, 'admin', '2025-07-17 17:04:17', '', NULL, NULL);
INSERT INTO `sys_user` VALUES (101, 'hh', 'hh', '00', '213456789@qq.com', '18845678956', '1', '', '$2a$10$M3JBsnTu8baggP0hkt7eoOO/YUjZ0xd1BZsXc2vYriYX.9ZASkC0C', '0', '2', '', NULL, NULL, 'admin', '2025-07-17 18:49:17', 'admin', '2025-07-17 18:53:49', NULL);
INSERT INTO `sys_user` VALUES (102, '55', '55', '00', '123456789@qq.com', '18865478932', '1', '', '$2a$10$PDz8SoLlCUeWVD1w0a.Wo.Yje09gDqfdoD7YPwpCPinTikFR.7w4i', '0', '2', '', NULL, NULL, 'admin', '2025-07-17 20:25:56', '', NULL, NULL);
INSERT INTO `sys_user` VALUES (103, '55', '55', '00', '123456789@qq.com', '18865478932', '1', '', '$2a$10$Adt0ryxRlMakoIyIik7jDes6fmp6ppfSwRPc6S02IoP4Ge0bH9elK', '0', '2', '', NULL, NULL, 'admin', '2025-07-18 08:27:31', '', NULL, NULL);
INSERT INTO `sys_user` VALUES (1, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '', '$2a$10$ydWgO9lepuwwJp3hUkiTnO1sVvK45F8lY6Qjx2hL97g4vqcnRAGn.', '0', '0', '127.0.0.1', '2025-08-03 21:39:09', '2025-07-19 07:58:54', 'admin', '2025-07-17 15:27:46', '', '2025-08-03 21:39:09', '管理员');
INSERT INTO `sys_user` VALUES (2, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2025-07-18 20:33:14', '2025-07-17 15:27:46', 'admin', '2025-07-17 15:27:46', '', '2025-07-18 20:33:13', '测试员');
INSERT INTO `sys_user` VALUES (104, 'hh', 'hh', '00', '123456789@qq.com', '18832145678', '1', '', '$2a$10$No.dbOGRoZtkFsb92VcagObKzSK7VyAyuOlYAn7fUwisv8ZhYS0aK', '0', '2', '', NULL, NULL, 'admin', '2025-07-18 20:30:14', '', NULL, '测试人员');
INSERT INTO `sys_user` VALUES (105, '55', '55', '00', '123456789@qq.com', '18865478932', '1', '', '$2a$10$qu82o3mMs/BGeH5Nq.b5xuJq1.Y7qI.UZMch1RW6PEATm/uLj2b96', '0', '2', '', NULL, NULL, 'admin', '2025-07-19 08:04:32', '', NULL, NULL);
-- ----------------------------
-- Table structure for sys_user_role

Loading…
Cancel
Save