diff --git a/cpte-module-system/cpte-system-start/src/main/resources/application-dev.yml b/cpte-module-system/cpte-system-start/src/main/resources/application-dev.yml index b741bf9..bdc236c 100644 --- a/cpte-module-system/cpte-system-start/src/main/resources/application-dev.yml +++ b/cpte-module-system/cpte-system-start/src/main/resources/application-dev.yml @@ -185,22 +185,6 @@ mybatis-plus: minidao: base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.* jeecg: - # AI集成 - ai-chat: - enabled: true - model: deepseek-chat - apiKey: sk-d88f463e2eb04f59b0f6ed614c25b6b9 - apiHost: https://api.deepseek.com/v1 - timeout: 60 - # AIRag向量库 - ai-rag: - embed-store: - host: 127.0.0.1 - port: 5432 - database: postgres - user: postgres - password: postgres - table: embeddings # 平台上线安全配置 firewall: # 数据源安全 (开启后,Online报表和图表的数据源为必填) @@ -266,17 +250,6 @@ jeecg: api-key: ?? # 应用秘钥 secret-key: ?? - #xxl-job配置 - xxljob: - enabled: false - adminAddresses: http://127.0.0.1:9080/xxl-job-admin - appname: ${spring.application.name} - accessToken: '' - address: 127.0.0.1:30007 - ip: 127.0.0.1 - port: 30007 - logPath: logs/cpte/job/jobhandler/ - logRetentionDays: 30 #分布式锁配置 redisson: address: 47.117.45.79:6379 diff --git a/cpte-module-system/cpte-system-start/src/main/resources/application-prod.yml b/cpte-module-system/cpte-system-start/src/main/resources/application-prod.yml index bc060fd..51d948e 100644 --- a/cpte-module-system/cpte-system-start/src/main/resources/application-prod.yml +++ b/cpte-module-system/cpte-system-start/src/main/resources/application-prod.yml @@ -142,7 +142,7 @@ spring: slow-sql-millis: 5000 datasource: master: - url: jdbc:mysql://10.254.27.192:3306/cpte-wms?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true + url: jdbc:mysql://101.35.253:3306/cpte-wms?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true username: root password: cpte@123 driver-class-name: com.mysql.cj.jdbc.Driver diff --git a/cpte-wms-service/cpte-wms-api/src/main/java/org/cpte/feign/client/BasicServiceClient.java b/cpte-wms-service/cpte-wms-api/src/main/java/org/cpte/feign/client/BasicServiceClient.java index 980029d..bea6b6e 100644 --- a/cpte-wms-service/cpte-wms-api/src/main/java/org/cpte/feign/client/BasicServiceClient.java +++ b/cpte-wms-service/cpte-wms-api/src/main/java/org/cpte/feign/client/BasicServiceClient.java @@ -23,8 +23,8 @@ import java.util.Map; * 用于调用基础服务提供的物品、区域、点位等基础数据接口 */ @FeignClient( - name = "wms-basic-service", - url = "${feign.client.wms-basic.url:http://wms-basic-service:8001}", + name = "cpte-wms-basic", + url = "${feign.client.wms-basic.url:}", configuration = FeignClientConfiguration.class, fallbackFactory = BasicServiceFallbackFactory.class ) diff --git a/cpte-wms-service/cpte-wms-inbound-service/src/main/resources/application-dev.yml b/cpte-wms-service/cpte-wms-inbound-service/src/main/resources/application-dev.yml index 5970cb9..47a88b8 100644 --- a/cpte-wms-service/cpte-wms-inbound-service/src/main/resources/application-dev.yml +++ b/cpte-wms-service/cpte-wms-inbound-service/src/main/resources/application-dev.yml @@ -250,18 +250,16 @@ knife4j: # Feign 客户端配置(本地开发环境使用 localhost) feign: client: + # Feign 全局配置 config: default: connectTimeout: 5000 readTimeout: 10000 loggerLevel: BASIC - # 本地开发环境服务地址配置 + + # 服务地址配置(与代码变量名匹配) wms-basic: url: http://localhost:8001/cpte-wms-basic - wms-inventory: - url: http://localhost:8004/cpte-wms-inventory - wms-schedule: - url: http://localhost:8005/cpte-wms-schedule #第三方登录 justauth: diff --git a/docs/API接口文档.md b/docs/API接口文档.md new file mode 100644 index 0000000..2e77c9b --- /dev/null +++ b/docs/API接口文档.md @@ -0,0 +1,1824 @@ +# CPTE WMS 仓储管理系统接口文档 + +**版本**: V3.8.3 +**编写单位**: 中邮科技股份有限公司 +**文档日期**: 2026-03-19 + +--- + +## 目录 + +1. [文档说明](#1-文档说明) +2. [认证方式](#2-认证方式) +3. [通用响应格式](#3-通用响应格式) +4. [系统管理模块](#4-系统管理模块) +5. [WMS基础数据模块](#5-wms基础数据模块) +6. [WMS入库管理模块](#6-wms入库管理模块) +7. [WMS出库管理模块](#7-wms出库管理模块) +8. [WMS库存管理模块](#8-wms库存管理模块) +9. [WMS盘点管理模块](#9-wms盘点管理模块) +10. [AGV任务管理模块](#10-agv任务管理模块) +11. [设备对接接口](#11-设备对接接口) +12. [定时任务管理模块](#12-定时任务管理模块) +13. [消息通知模块](#13-消息通知模块) +14. [OpenAPI开放接口](#14-openapi开放接口) + +--- + +## 1. 文档说明 + +### 1.1 接口基础地址 + +| 环境 | 地址 | +|------|------| +| 开发环境 | http://localhost:8080/jeecg-boot | +| 测试环境 | http://test.cpte.com/jeecg-boot | +| 生产环境 | https://wms.cpte.com/jeecg-boot | + +### 1.2 请求方式 + +- GET: 查询操作 +- POST: 新增操作 +- PUT: 更新操作 +- DELETE: 删除操作 + +### 1.3 字符编码 + +所有请求和响应均采用 UTF-8 编码。 + +--- + +## 2. 认证方式 + +### 2.1 Token认证 + +系统采用JWT Token认证方式,所有业务接口(除登录接口外)均需要在请求头中携带Token。 + +**请求头参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| X-Access-Token | String | 是 | 用户登录后获取的Token | + +### 2.2 登录接口 + +**接口地址**: `POST /sys/login` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| username | String | 是 | 用户名 | +| password | String | 是 | 密码 | +| captcha | String | 否 | 验证码 | +| checkKey | String | 否 | 验证码Key | + +**响应示例**: + +```json +{ + "success": true, + "message": "登录成功", + "code": 200, + "result": { + "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", + "userInfo": { + "id": "1", + "username": "admin", + "realname": "管理员" + } + }, + "timestamp": 1710000000000 +} +``` + +### 2.3 退出登录 + +**接口地址**: `POST /sys/logout` + +**请求头**: 需要携带Token + +**响应示例**: + +```json +{ + "success": true, + "message": "退出登录成功", + "code": 200 +} +``` + +--- + +## 3. 通用响应格式 + +### 3.1 标准响应结构 + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| success | Boolean | 请求是否成功 | +| message | String | 响应消息 | +| code | Integer | 响应状态码 | +| result | Object | 响应数据 | +| timestamp | Long | 时间戳 | + +### 3.2 分页响应结构 + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| records | Array | 数据列表 | +| total | Long | 总记录数 | +| size | Long | 每页大小 | +| current | Long | 当前页码 | +| pages | Long | 总页数 | + +### 3.3 状态码说明 + +| 状态码 | 说明 | +|--------|------| +| 200 | 操作成功 | +| 400 | 请求参数错误 | +| 401 | 未授权/Token失效 | +| 403 | 无权限访问 | +| 404 | 资源不存在 | +| 500 | 服务器内部错误 | + +--- + +## 4. 系统管理模块 + +### 4.1 用户管理 + +#### 4.1.1 用户列表查询 + +**接口地址**: `GET /sys/user/list` + +**权限标识**: `system:user:list` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pageNo | Integer | 否 | 页码,默认1 | +| pageSize | Integer | 否 | 每页条数,默认10 | +| username | String | 否 | 用户名(模糊查询) | +| realname | String | 否 | 真实姓名(模糊查询) | +| phone | String | 否 | 手机号 | +| status | Integer | 否 | 状态(1:正常 2:冻结) | + +**响应示例**: + +```json +{ + "success": true, + "result": { + "records": [ + { + "id": "1", + "username": "admin", + "realname": "管理员", + "phone": "13800138000", + "email": "admin@cpte.com", + "status": 1, + "createTime": "2025-01-01 00:00:00" + } + ], + "total": 100, + "size": 10, + "current": 1 + } +} +``` + +#### 4.1.2 添加用户 + +**接口地址**: `POST /sys/user/add` + +**权限标识**: `system:user:add` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| username | String | 是 | 用户名 | +| realname | String | 是 | 真实姓名 | +| password | String | 是 | 密码 | +| phone | String | 否 | 手机号 | +| email | String | 否 | 邮箱 | +| selectedroles | String | 否 | 角色ID(多个逗号分隔) | +| selecteddeparts | String | 否 | 部门ID(多个逗号分隔) | + +#### 4.1.3 编辑用户 + +**接口地址**: `PUT /sys/user/edit` + +**权限标识**: `system:user:edit` + +**请求参数**: 同添加用户,需额外传递id字段 + +#### 4.1.4 删除用户 + +**接口地址**: `DELETE /sys/user/delete` + +**权限标识**: `system:user:delete` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| id | String | 是 | 用户ID | + +#### 4.1.5 批量删除用户 + +**接口地址**: `DELETE /sys/user/deleteBatch` + +**权限标识**: `system:user:deleteBatch` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| ids | String | 是 | 用户ID(多个逗号分隔) | + +#### 4.1.6 重置密码 + +**接口地址**: `PUT /sys/user/changePassword` + +**权限标识**: `system:user:changepwd` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| id | String | 是 | 用户ID | +| password | String | 是 | 新密码 | +| confirmPassword | String | 是 | 确认密码 | + +#### 4.1.7 冻结/解冻用户 + +**接口地址**: `PUT /sys/user/frozenBatch` + +**权限标识**: `system:user:frozen` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| ids | String | 是 | 用户ID(多个逗号分隔) | +| status | Integer | 是 | 状态(1:解冻 2:冻结) | + +--- + +### 4.2 角色管理 + +#### 4.2.1 角色列表查询 + +**接口地址**: `GET /sys/role/list` + +**权限标识**: `system:role:list` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pageNo | Integer | 否 | 页码,默认1 | +| pageSize | Integer | 否 | 每页条数,默认10 | +| roleName | String | 否 | 角色名称 | +| roleCode | String | 否 | 角色编码 | + +#### 4.2.2 添加角色 + +**接口地址**: `POST /sys/role/add` + +**权限标识**: `system:role:add` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| roleName | String | 是 | 角色名称 | +| roleCode | String | 是 | 角色编码 | +| description | String | 否 | 描述 | + +#### 4.2.3 编辑角色 + +**接口地址**: `PUT /sys/role/edit` + +**权限标识**: `system:role:edit` + +#### 4.2.4 删除角色 + +**接口地址**: `DELETE /sys/role/delete` + +**权限标识**: `system:role:delete` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| id | String | 是 | 角色ID | + +#### 4.2.5 查询角色权限树 + +**接口地址**: `GET /sys/role/queryTreeList` + +**响应示例**: + +```json +{ + "success": true, + "result": { + "treeList": [ + { + "key": "1", + "title": "系统管理", + "children": [ + { + "key": "2", + "title": "用户管理" + } + ] + } + ], + "ids": ["1", "2"] + } +} +``` + +#### 4.2.6 保存角色权限 + +**接口地址**: `POST /sys/permission/saveRolePermission` + +**权限标识**: `system:permission:saveRole` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| roleId | String | 是 | 角色ID | +| permissionIds | String | 是 | 权限ID(多个逗号分隔) | +| lastpermissionIds | String | 否 | 上次权限ID(用于比对) | + +--- + +### 4.3 菜单权限管理 + +#### 4.3.1 菜单列表查询 + +**接口地址**: `GET /sys/permission/list` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| name | String | 否 | 菜单名称(模糊查询) | + +#### 4.3.2 添加菜单 + +**接口地址**: `POST /sys/permission/add` + +**权限标识**: `system:permission:add` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| name | String | 是 | 菜单名称 | +| url | String | 否 | 菜单路径 | +| component | String | 否 | 前端组件路径 | +| parentId | String | 否 | 父菜单ID | +| menuType | Integer | 是 | 类型(0:一级菜单 1:子菜单 2:按钮) | +| perms | String | 否 | 权限标识 | +| sortNo | Double | 否 | 排序号 | +| icon | String | 否 | 图标 | + +#### 4.3.3 编辑菜单 + +**接口地址**: `PUT /sys/permission/edit` + +**权限标识**: `system:permission:edit` + +#### 4.3.4 删除菜单 + +**接口地址**: `DELETE /sys/permission/delete` + +**权限标识**: `system:permission:delete` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| id | String | 是 | 菜单ID | + +#### 4.3.5 获取用户权限 + +**接口地址**: `GET /sys/permission/getUserPermissionByToken` + +**响应示例**: + +```json +{ + "success": true, + "result": { + "menu": [], + "auth": [], + "codeList": ["system:user:list", "system:user:add"], + "allAuth": [], + "sysSafeMode": false + } +} +``` + +--- + +### 4.4 部门管理 + +#### 4.4.1 部门树查询 + +**接口地址**: `GET /sys/sysDepart/queryTreeList` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| ids | String | 否 | 部门ID(多个逗号分隔) | + +**响应示例**: + +```json +{ + "success": true, + "result": [ + { + "id": "1", + "parentId": "", + "departName": "总公司", + "orgCode": "A01", + "children": [ + { + "id": "2", + "parentId": "1", + "departName": "研发部", + "orgCode": "A01A01" + } + ] + } + ] +} +``` + +#### 4.4.2 添加部门 + +**接口地址**: `POST /sys/sysDepart/add` + +**权限标识**: `system:depart:add` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| departName | String | 是 | 部门名称 | +| parentId | String | 否 | 父部门ID | +| orgCode | String | 是 | 机构编码 | +| orgCategory | String | 否 | 机构类型 | +| mobile | String | 否 | 手机号 | +| fax | String | 否 | 传真 | +| address | String | 否 | 地址 | + +#### 4.4.3 编辑部门 + +**接口地址**: `PUT /sys/sysDepart/edit` + +**权限标识**: `system:depart:edit` + +#### 4.4.4 删除部门 + +**接口地址**: `DELETE /sys/sysDepart/delete` + +**权限标识**: `system:depart:delete` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| id | String | 是 | 部门ID | + +#### 4.4.5 根据部门获取用户 + +**接口地址**: `GET /sys/sysDepart/getUsersByDepartId` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| id | String | 是 | 部门ID | + +--- + +### 4.5 数据字典管理 + +#### 4.5.1 字典列表查询 + +**接口地址**: `GET /sys/dict/list` + +**权限标识**: `system:dict:list` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pageNo | Integer | 否 | 页码 | +| pageSize | Integer | 否 | 每页条数 | +| dictName | String | 否 | 字典名称 | +| dictCode | String | 否 | 字典编码 | + +#### 4.5.2 根据字典编码获取字典项 + +**接口地址**: `GET /sys/dict/getDictItems` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| dictCode | String | 是 | 字典编码 | + +**响应示例**: + +```json +{ + "success": true, + "result": [ + { + "value": "1", + "text": "正常", + "title": "正常" + }, + { + "value": "2", + "text": "冻结", + "title": "冻结" + } + ] +} +``` + +#### 4.5.3 添加字典 + +**接口地址**: `POST /sys/dict/add` + +**权限标识**: `system:dict:add` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| dictName | String | 是 | 字典名称 | +| dictCode | String | 是 | 字典编码 | +| description | String | 否 | 描述 | + +--- + +### 4.6 日志管理 + +#### 4.6.1 操作日志列表 + +**接口地址**: `GET /sys/log/list` + +**权限标识**: `system:log:list` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pageNo | Integer | 否 | 页码 | +| pageSize | Integer | 否 | 每页条数 | +| keyWord | String | 否 | 搜索关键词 | +| logType | Integer | 否 | 日志类型(1:登录日志 2:操作日志) | +| createTime_begin | String | 否 | 开始时间 | +| createTime_end | String | 否 | 结束时间 | + +--- + +### 4.7 租户管理 + +#### 4.7.1 租户列表查询 + +**接口地址**: `GET /sys/tenant/list` + +**权限标识**: `system:tenant:list` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pageNo | Integer | 否 | 页码 | +| pageSize | Integer | 否 | 每页条数 | +| name | String | 否 | 租户名称 | + +--- + +## 5. WMS基础数据模块 + +### 5.1 物料管理 + +#### 5.1.1 物料列表查询 + +**接口地址**: `GET /base/item/list` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pageNo | Integer | 否 | 页码,默认1 | +| pageSize | Integer | 否 | 每页条数,默认10 | +| keyword | String | 否 | 关键词(物料编码/名称) | +| itemCode | String | 否 | 物料编码 | + +**响应示例**: + +```json +{ + "success": true, + "result": { + "records": [ + { + "id": 1, + "itemCode": "ITEM001", + "itemName": "物料A", + "itemType": "1", + "unit": "个", + "spec": "100*100", + "status": 1, + "createTime": "2025-01-01 00:00:00" + } + ], + "total": 100 + } +} +``` + +#### 5.1.2 添加物料 + +**接口地址**: `POST /base/item/add` + +**权限标识**: `base:base_item:add` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| itemCode | String | 是 | 物料编码 | +| itemName | String | 是 | 物料名称 | +| itemType | String | 否 | 物料类型 | +| unit | String | 否 | 单位 | +| spec | String | 否 | 规格 | +| status | Integer | 否 | 状态(1:启用 0:禁用) | + +#### 5.1.3 编辑物料 + +**接口地址**: `PUT /base/item/edit` + +**权限标识**: `base:base_item:edit` + +#### 5.1.4 删除物料 + +**接口地址**: `DELETE /base/item/delete` + +**权限标识**: `base:base_item:delete` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| id | Long | 是 | 物料ID | + +#### 5.1.5 批量删除物料 + +**接口地址**: `DELETE /base/item/deleteBatch` + +**权限标识**: `base:base_item:deleteBatch` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| ids | String | 是 | 物料ID(多个逗号分隔) | + +#### 5.1.6 导出物料Excel + +**接口地址**: `GET /base/item/exportXls` + +**权限标识**: `base:base_item:exportXls` + +#### 5.1.7 导入物料Excel + +**接口地址**: `POST /base/item/importExcel` + +**权限标识**: `base:base_item:importExcel` + +**请求参数**: multipart/form-data,file字段为Excel文件 + +--- + +### 5.2 库区管理 + +#### 5.2.1 库区列表查询 + +**接口地址**: `GET /base/area/list` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pageNo | Integer | 否 | 页码,默认1 | +| pageSize | Integer | 否 | 每页条数,默认10 | +| keyword | String | 否 | 关键词(库区编码/名称) | +| areaCode | String | 否 | 库区编码(多个逗号分隔) | + +**响应示例**: + +```json +{ + "success": true, + "result": { + "records": [ + { + "id": 1, + "areaCode": "A01", + "areaName": "成品存储区", + "areaType": "1", + "status": 1, + "createTime": "2025-01-01 00:00:00" + } + ], + "total": 50 + } +} +``` + +#### 5.2.2 添加库区 + +**接口地址**: `POST /base/area/add` + +**权限标识**: `base:base_area:add` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| areaCode | String | 是 | 库区编码 | +| areaName | String | 是 | 库区名称 | +| areaType | String | 否 | 库区类型 | +| status | Integer | 否 | 状态(1:启用 0:禁用) | + +#### 5.2.3 编辑库区 + +**接口地址**: `PUT /base/area/edit` + +**权限标识**: `base:base_area:edit` + +#### 5.2.4 删除库区 + +**接口地址**: `DELETE /base/area/delete` + +**权限标识**: `base:base_area:delete` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| id | Long | 是 | 库区ID | + +--- + +### 5.3 库位管理 + +#### 5.3.1 库位列表查询 + +**接口地址**: `GET /base/point/list` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pageNo | Integer | 否 | 页码,默认1 | +| pageSize | Integer | 否 | 每页条数,默认10 | +| keyword | String | 否 | 关键词(库位编码) | +| areaCode | String | 否 | 库区编码(多个逗号分隔) | + +**响应示例**: + +```json +{ + "success": true, + "result": { + "records": [ + { + "id": 1, + "pointCode": "A01-01-01", + "areaId": 1, + "areaId_dictText": "成品存储区", + "pointType": "1", + "status": 1, + "createTime": "2025-01-01 00:00:00" + } + ], + "total": 500 + } +} +``` + +#### 5.3.2 添加库位 + +**接口地址**: `POST /base/point/add` + +**权限标识**: `base:base_point:add` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pointCode | String | 是 | 库位编码 | +| areaId | Long | 是 | 库区ID | +| pointType | String | 否 | 库位类型 | +| status | Integer | 否 | 状态 | + +#### 5.3.3 编辑库位 + +**接口地址**: `PUT /base/point/edit` + +**权限标识**: `base:base_point:edit` + +#### 5.3.4 删除库位 + +**接口地址**: `DELETE /base/point/delete` + +**权限标识**: `base:base_point:delete` + +#### 5.3.5 查询出库工作站 + +**接口地址**: `GET /base/point/queryOutWorkStation` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| areaId_dictText | String | 是 | 库区名称 | + +**响应示例**: + +```json +{ + "success": true, + "result": ["WS001", "WS002", "WS003"] +} +``` + +--- + +### 5.4 容器管理 + +#### 5.4.1 容器列表查询 + +**接口地址**: `GET /base/stock/list` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pageNo | Integer | 否 | 页码,默认1 | +| pageSize | Integer | 否 | 每页条数,默认10 | +| keyword | String | 否 | 关键词(容器编码) | +| izScan | Boolean | 否 | 是否扫描(查询空闲容器) | + +**响应示例**: + +```json +{ + "success": true, + "result": { + "records": [ + { + "id": 1, + "stockCode": "TP001", + "stockType": "1", + "status": 1, + "createTime": "2025-01-01 00:00:00" + } + ], + "total": 200 + } +} +``` + +#### 5.4.2 添加容器 + +**接口地址**: `POST /base/stock/add` + +**权限标识**: `base:base_stock:add` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| stockCode | String | 是 | 容器编码 | +| stockType | String | 否 | 容器类型 | +| status | Integer | 否 | 状态 | + +#### 5.4.3 编辑容器 + +**接口地址**: `PUT /base/stock/edit` + +**权限标识**: `base:base_stock:edit` + +#### 5.4.4 删除容器 + +**接口地址**: `DELETE /base/stock/delete` + +**权限标识**: `base:base_stock:delete` + +--- + +## 6. WMS入库管理模块 + +### 6.1 入库单管理(ASN) + +#### 6.1.1 入库单列表查询 + +**接口地址**: `GET /receive/asn/list` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pageNo | Integer | 否 | 页码,默认1 | +| pageSize | Integer | 否 | 每页条数,默认10 | +| asnNo | String | 否 | 入库单号 | +| status | Integer | 否 | 状态 | +| createTime_begin | String | 否 | 创建开始时间 | +| createTime_end | String | 否 | 创建结束时间 | + +**响应示例**: + +```json +{ + "success": true, + "result": { + "records": [ + { + "id": 1, + "asnNo": "ASN202503190001", + "asnType": "1", + "status": 1, + "totalQty": 100, + "receivedQty": 0, + "createTime": "2025-03-19 10:00:00" + } + ], + "total": 50 + } +} +``` + +#### 6.1.2 添加入库单 + +**接口地址**: `POST /receive/asn/add` + +**权限标识**: `receive:data_asn:add` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| asnNo | String | 是 | 入库单号 | +| asnType | String | 是 | 入库类型 | +| detailList | Array | 否 | 入库明细列表 | + +**明细参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| itemCode | String | 是 | 物料编码 | +| itemName | String | 否 | 物料名称 | +| qty | BigDecimal | 是 | 数量 | +| unit | String | 否 | 单位 | + +#### 6.1.3 编辑入库单 + +**接口地址**: `PUT /receive/asn/edit` + +**权限标识**: `receive:data_asn:edit` + +#### 6.1.4 删除入库单 + +**接口地址**: `DELETE /receive/asn/delete` + +**权限标识**: `receive:data_asn:delete` + +#### 6.1.5 入库单明细查询 + +**接口地址**: `GET /receive/asn/queryDetailByMainId` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| id | Long | 是 | 入库单ID | + +--- + +## 7. WMS出库管理模块 + +### 7.1 拣货任务管理 + +#### 7.1.1 拣货任务列表查询 + +**接口地址**: `GET /shipping/pick/list` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pageNo | Integer | 否 | 页码 | +| pageSize | Integer | 否 | 每页条数 | +| taskNo | String | 否 | 任务号 | +| status | Integer | 否 | 状态 | + +**响应示例**: + +```json +{ + "success": true, + "result": { + "records": [ + { + "id": 1, + "taskNo": "PICK202503190001", + "taskType": "1", + "status": 1, + "qty": 10, + "pickedQty": 0, + "createTime": "2025-03-19 10:00:00" + } + ], + "total": 30 + } +} +``` + +#### 7.1.2 添加拣货任务 + +**接口地址**: `POST /shipping/pick/add` + +**权限标识**: `shipping:data_pick:add` + +#### 7.1.3 编辑拣货任务 + +**接口地址**: `PUT /shipping/pick/edit` + +**权限标识**: `shipping:data_pick:edit` + +#### 7.1.4 删除拣货任务 + +**接口地址**: `DELETE /shipping/pick/delete` + +**权限标识**: `shipping:data_pick:delete` + +--- + +## 8. WMS库存管理模块 + +### 8.1 库存查询 + +#### 8.1.1 库存列表查询 + +**接口地址**: `GET /inventory/inventory/list` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pageNo | Integer | 否 | 页码 | +| pageSize | Integer | 否 | 每页条数 | +| itemCode | String | 否 | 物料编码 | +| pointCode | String | 否 | 库位编码 | +| stockCode | String | 否 | 容器编码 | + +**响应示例**: + +```json +{ + "success": true, + "result": { + "records": [ + { + "id": 1, + "itemCode": "ITEM001", + "itemName": "物料A", + "pointCode": "A01-01-01", + "stockCode": "TP001", + "qty": 100, + "createTime": "2025-03-19 10:00:00" + } + ], + "total": 1000 + } +} +``` + +### 8.2 库存流水查询 + +#### 8.2.1 库存流水列表 + +**接口地址**: `GET /inventoryLog/list` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pageNo | Integer | 否 | 页码 | +| pageSize | Integer | 否 | 每页条数 | +| itemCode | String | 否 | 物料编码 | +| bizType | String | 否 | 业务类型 | +| createTime_begin | String | 否 | 开始时间 | +| createTime_end | String | 否 | 结束时间 | + +--- + +## 9. WMS盘点管理模块 + +### 9.1 盘点计划管理 + +#### 9.1.1 盘点计划列表查询 + +**接口地址**: `GET /count/countPlan/list` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pageNo | Integer | 否 | 页码 | +| pageSize | Integer | 否 | 每页条数 | +| planNo | String | 否 | 盘点单号 | +| status | Integer | 否 | 状态 | + +**响应示例**: + +```json +{ + "success": true, + "result": { + "records": [ + { + "id": 1, + "planNo": "COUNT202503190001", + "planName": "月度盘点", + "status": 1, + "createTime": "2025-03-19 10:00:00" + } + ], + "total": 20 + } +} +``` + +#### 9.1.2 添加盘点计划 + +**接口地址**: `POST /count/countPlan/add` + +**权限标识**: `count:data_count_plan:add` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| planNo | String | 是 | 盘点单号 | +| planName | String | 是 | 盘点名称 | +| countDetailList | Array | 是 | 盘点明细列表 | + +**明细参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| itemId | Long | 是 | 物料ID | +| pointId | Long | 是 | 库位ID | +| stockId | Long | 是 | 容器ID | +| systemQty | BigDecimal | 是 | 系统数量 | + +#### 9.1.3 编辑盘点计划 + +**接口地址**: `PUT /count/countPlan/edit` + +**权限标识**: `count:data_count_plan:edit` + +#### 9.1.4 删除盘点计划 + +**接口地址**: `DELETE /count/countPlan/delete` + +**权限标识**: `count:data_count_plan:delete` + +#### 9.1.5 盘点任务下发 + +**接口地址**: `GET /count/countPlan/countIssueTask` + +**权限标识**: `count:data_count_plan:countIssueTask` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| workStations | List | 是 | 工作站列表 | + +--- + +## 10. AGV任务管理模块 + +### 10.1 AGV任务管理 + +#### 10.1.1 AGV任务列表查询 + +**接口地址**: `GET /agvTask/list` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pageNo | Integer | 否 | 页码 | +| pageSize | Integer | 否 | 每页条数 | +| id | Long | 否 | 任务号 | +| status | Integer | 否 | 状态 | + +**响应示例**: + +```json +{ + "success": true, + "result": { + "records": [ + { + "id": 1, + "tesId": "TES001", + "conNo": "CON001", + "type": "1", + "startCode": "A01-01-01", + "endCode": "WS001", + "status": 1, + "createTime": "2025-03-19 10:00:00", + "startTime": null, + "endTime": null + } + ], + "total": 100 + } +} +``` + +#### 10.1.2 添加AGV任务 + +**接口地址**: `POST /agvTask/add` + +**权限标识**: `agvTask:data_agv_task:add` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| conNo | String | 否 | 柜号 | +| type | String | 是 | 业务类型 | +| startCode | String | 是 | 起点编码 | +| endCode | String | 是 | 终点编码 | +| carrierCode | String | 否 | 容器编码 | + +#### 10.1.3 编辑AGV任务 + +**接口地址**: `PUT /agvTask/edit` + +**权限标识**: `agvTask:data_agv_task:edit` + +#### 10.1.4 删除AGV任务 + +**接口地址**: `DELETE /agvTask/delete` + +**权限标识**: `agvTask:data_agv_task:delete` + +#### 10.1.5 导出AGV任务Excel + +**接口地址**: `GET /agvTask/exportXls` + +**权限标识**: `agvTask:data_agv_task:exportXls` + +**导出字段**: + +| 字段名 | 说明 | +|--------|------| +| TES任务号 | TES系统任务号 | +| 任务号 | 系统内部任务号 | +| 柜号 | 柜号 | +| 物料 | 物料编码 | +| 容器 | 容器编码 | +| 业务类型 | 入库/出库/移库等 | +| 起点 | 起点库位 | +| 终点 | 终点库位 | +| 创建时间 | 任务创建时间 | +| 下发时间 | 任务下发时间 | +| 完成时间 | 任务完成时间 | +| 完成耗时 | 任务完成耗时(秒) | +| 顶升时间 | AGV顶升时间 | +| 顶升耗时 | AGV顶升耗时(秒) | + +--- + +## 11. 设备对接接口 + +### 11.1 海康AGV接口 + +#### 11.1.1 任务下发 + +**接口地址**: `POST /api/robot/controller/task/submit` + +**认证方式**: 无需认证(IgnoreAuth) + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| robotTaskCode | String | 是 | 机器人任务编码 | +| taskType | String | 是 | 任务类型 | +| podCode | String | 否 | 货架编码 | +| podDir | Integer | 否 | 货架方向 | +| startCode | String | 是 | 起点编码 | +| endCode | String | 是 | 终点编码 | + +**响应示例**: + +```json +{ + "code": 0, + "message": "success", + "data": { + "robotTaskCode": "TASK001" + } +} +``` + +#### 11.1.2 任务上报 + +**接口地址**: `POST /api/robot/reporter/task` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| robotTaskCode | String | 是 | 机器人任务编码 | +| taskStatus | Integer | 是 | 任务状态 | +| taskTime | Long | 否 | 任务时间 | +| errorCode | String | 否 | 错误码 | +| errorMsg | String | 否 | 错误信息 | + +#### 11.1.3 任务取消 + +**接口地址**: `POST /api/robot/cancelAgv` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| robotTaskCode | String | 是 | 机器人任务编码 | + +#### 11.1.4 重送任务 + +**接口地址**: `POST /api/robot/resendAgv` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| id | Long | 是 | AGV任务ID | + +--- + +### 11.2 输送线接口 + +#### 11.2.1 扫描托盘 + +**接口地址**: `POST /conveyorLine/scanTray` + +**认证方式**: 无需认证(IgnoreAuth) + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| content | Object | 是 | 扫描内容 | +| └─ signal | Object | 是 | 信号对象 | +|     └─ trayCode | String | 是 | 托盘编码 | +|     └─ errorReason | Array | 否 | 错误原因列表 | + +**响应示例**: + +```json +{ + "code": 0, + "message": "success" +} +``` + +--- + +### 11.3 TES AGV接口 + +#### 11.3.1 TES任务接口 + +**接口地址**: `POST /api/tesAgv/*` + +**认证方式**: 无需认证 + +**说明**: 用于对接TES系统的AGV调度接口 + +--- + +## 12. 定时任务管理模块 + +### 12.1 定时任务管理 + +#### 12.1.1 定时任务列表查询 + +**接口地址**: `GET /sys/quartzJob/list` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pageNo | Integer | 否 | 页码 | +| pageSize | Integer | 否 | 每页条数 | +| jobClassName | String | 否 | 任务类名 | +| status | Integer | 否 | 状态 | + +**响应示例**: + +```json +{ + "success": true, + "result": { + "records": [ + { + "id": "1", + "jobClassName": "org.jeecg.modules.quartz.job.SyncDataJob", + "cronExpression": "0 0 2 * * ?", + "parameter": "", + "description": "数据同步任务", + "status": 0, + "createTime": "2025-01-01 00:00:00" + } + ], + "total": 10 + } +} +``` + +#### 12.1.2 添加定时任务 + +**接口地址**: `POST /sys/quartzJob/add` + +**权限标识**: `system:quartzJob:add` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| jobClassName | String | 是 | 任务类名(完整类路径) | +| cronExpression | String | 是 | Cron表达式 | +| parameter | String | 否 | 参数 | +| description | String | 否 | 描述 | + +#### 12.1.3 编辑定时任务 + +**接口地址**: `PUT /sys/quartzJob/edit` + +**权限标识**: `system:quartzJob:edit` + +#### 12.1.4 删除定时任务 + +**接口地址**: `DELETE /sys/quartzJob/delete` + +**权限标识**: `system:quartzJob:delete` + +#### 12.1.5 暂停定时任务 + +**接口地址**: `GET /sys/quartzJob/pause` + +**权限标识**: `system:quartzJob:pause` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| id | String | 是 | 任务ID | + +#### 12.1.6 启动定时任务 + +**接口地址**: `GET /sys/quartzJob/resume` + +**权限标识**: `system:quartzJob:resume` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| id | String | 是 | 任务ID | + +#### 12.1.7 立即执行 + +**接口地址**: `GET /sys/quartzJob/execute` + +**权限标识**: `system:quartzJob:execute` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| id | String | 是 | 任务ID | + +--- + +## 13. 消息通知模块 + +### 13.1 系统公告管理 + +#### 13.1.1 公告列表查询 + +**接口地址**: `GET /sys/annountCement/list` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pageNo | Integer | 否 | 页码 | +| pageSize | Integer | 否 | 每页条数 | +| titile | String | 否 | 标题 | +| sendStatus | String | 否 | 发布状态 | + +**响应示例**: + +```json +{ + "success": true, + "result": { + "records": [ + { + "id": "1", + "titile": "系统维护通知", + "msgContent": "系统将于今晚进行维护...", + "sendStatus": "1", + "sendTime": "2025-03-19 10:00:00", + "sender": "admin" + } + ], + "total": 20 + } +} +``` + +#### 13.1.2 添加公告 + +**接口地址**: `POST /sys/annountCement/add` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| titile | String | 是 | 标题 | +| msgContent | String | 是 | 内容 | +| msgType | String | 是 | 消息类型(ALL:全部 USER:指定用户) | +| userIds | String | 否 | 用户ID(msgType=USER时必填) | + +#### 13.1.3 编辑公告 + +**接口地址**: `PUT /sys/annountCement/edit` + +#### 13.1.4 删除公告 + +**接口地址**: `DELETE /sys/annountCement/delete` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| id | String | 是 | 公告ID | + +#### 13.1.5 发布公告 + +**接口地址**: `GET /sys/annountCement/doReleaseData` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| id | String | 是 | 公告ID | + +#### 13.1.6 撤销公告 + +**接口地址**: `GET /sys/annountCement/doReovkeData` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| id | String | 是 | 公告ID | + +### 13.2 消息通知 + +#### 13.2.1 获取用户消息列表 + +**接口地址**: `GET /sys/annountCement/listByUser` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pageSize | Integer | 否 | 每页条数,默认5 | + +**响应示例**: + +```json +{ + "success": true, + "result": { + "anntMsgList": [], + "anntMsgTotal": 0, + "sysMsgList": [], + "sysMsgTotal": 0 + } +} +``` + +#### 13.2.2 获取未读消息数量 + +**接口地址**: `GET /sys/annountCement/getUnreadMessageCount` + +**响应示例**: + +```json +{ + "success": true, + "result": { + "systemCount": 5, + "flowCount": 2, + "fileCount": 1, + "planCount": 0, + "count": 8 + } +} +``` + +#### 13.2.3 清除所有未读消息 + +**接口地址**: `POST /sys/annountCement/clearAllUnReadMessage` + +--- + +## 14. OpenAPI开放接口 + +### 14.1 OpenAPI管理 + +#### 14.1.1 接口列表查询 + +**接口地址**: `GET /openapi/list` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| pageNo | Integer | 否 | 页码 | +| pageSize | Integer | 否 | 每页条数 | +| name | String | 否 | 接口名称 | + +#### 14.1.2 添加接口 + +**接口地址**: `POST /openapi/add` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| name | String | 是 | 接口名称 | +| originUrl | String | 是 | 原始URL | +| requestMethod | String | 是 | 请求方法 | +| requestUrl | String | 是 | 请求路径标识 | +| headersJson | String | 否 | 请求头配置(JSON) | +| paramsJson | String | 否 | 请求参数配置(JSON) | +| body | String | 否 | 请求体配置(JSON) | + +#### 14.1.3 编辑接口 + +**接口地址**: `PUT /openapi/edit` + +#### 14.1.4 删除接口 + +**接口地址**: `DELETE /openapi/delete` + +**请求参数**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| id | String | 是 | 接口ID | + +#### 14.1.5 调用接口 + +**接口地址**: `POST /openapi/call/{path}` + +**认证方式**: Header中传递appkey + +**请求头**: + +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| appkey | String | 是 | 应用Key | + +**请求体**: 根据接口配置的请求体格式传递 + +#### 14.1.6 生成接口路径 + +**接口地址**: `GET /openapi/genPath` + +**响应示例**: + +```json +{ + "success": true, + "result": "wCB0lcSa" +} +``` + +#### 14.1.7 获取Swagger文档 + +**接口地址**: `GET /openapi/json` + +**响应**: Swagger 2.0 格式的API文档 + +--- + +## 附录 + +### A. 业务类型枚举 + +| 值 | 说明 | +|----|------| +| 1 | 入库 | +| 2 | 出库 | +| 3 | 移库 | +| 4 | 盘点 | + +### B. AGV任务状态枚举 + +| 值 | 说明 | +|----|------| +| 0 | 已创建 | +| 1 | 已下发 | +| 2 | 执行中 | +| 3 | 已完成 | +| 4 | 已取消 | +| 5 | 异常 | + +### C. 库区类型枚举 + +| 值 | 说明 | +|----|------| +| CPCCQ | 成品存储区 | +| MJCK | 民建仓库 | +| CK_DOCK | 出库月台 | +| MJCK_DOCK | 民建出库月台 | + +### D. 公共状态枚举 + +| 值 | 说明 | +|----|------| +| 1 | 启用/正常 | +| 0 | 禁用/冻结 | + +### E. 错误码说明 + +| 错误码 | 说明 | +|--------|------| +| 200 | 操作成功 | +| 400 | 请求参数错误 | +| 401 | 未授权/Token失效 | +| 403 | 无权限访问 | +| 404 | 资源不存在 | +| 500 | 服务器内部错误 | +| 10001 | 业务异常 | +| 10002 | 数据校验失败 | +| 10003 | 数据不存在 | +| 10004 | 数据已存在 | + +--- + +**文档版本历史**: + +| 版本 | 日期 | 修改人 | 修改内容 | +|------|------|--------|----------| +| V1.0 | 2026-03-19 | 系统 | 初始版本 | + +--- + +*本文档由系统自动生成,如有疑问请联系技术支持* diff --git a/docs/微服务架构文档.md b/docs/微服务架构文档.md new file mode 100644 index 0000000..c8592d5 --- /dev/null +++ b/docs/微服务架构文档.md @@ -0,0 +1,720 @@ +# CPTE WMS 微服务架构文档 + +## 1. 架构概述 + +### 1.1 系统定位 + +CPTE WMS 是基于 Spring Boot 3.5.5 + Spring Cloud 2025.0.0 构建的仓库管理系统微服务架构,采用 Kubernetes 进行容器编排部署。 + +### 1.2 架构风格 + +- **微服务架构**: 业务按领域拆分为独立服务 +- **服务网格**: 基于 Kubernetes Service 的服务发现 +- **事件驱动**: Redis 发布订阅实现异步通信 +- **容器化部署**: Docker + Kubernetes + +--- + +## 2. 系统架构图 + +### 2.1 整体架构 + +``` +┌────────────────────────────────────────────────────────────────────────────────┐ +│ 外部访问层 │ +│ ┌─────────────────────────────────────────────────────────────────────────┐ │ +│ │ Nginx Ingress │ │ +│ │ (负载均衡 / SSL 终止 / 路由) │ │ +│ └─────────────────────────────────────────────────────────────────────────┘ │ +└────────────────────────────────────────────────────────────────────────────────┘ + │ + ▼ +┌────────────────────────────────────────────────────────────────────────────────┐ +│ 应用服务层 │ +│ ┌──────────────────────────────────────────────────────────────────────────┐ │ +│ │ Namespace: cpte-wms │ │ +│ │ │ │ +│ │ ┌────────────────┐ ┌────────────────┐ ┌────────────────┐ │ │ +│ │ │ Basic Service │ │Inbound Service │ │Outbound Service│ │ │ +│ │ │ 基础服务 │ │ 入库服务 │ │ 出库服务 │ │ │ +│ │ │ Port: 8001 │ │ Port: 8002 │ │ Port: 8003 │ │ │ +│ │ │ /cpte-wms-basic│ │/cpte-wms-inbound│ │/cpte-wms-outbound│ │ │ +│ │ └───────┬────────┘ └───────┬────────┘ └───────┬────────┘ │ │ +│ │ │ │ │ │ │ +│ │ │ ┌──────────────┼───────────────┐ │ │ │ +│ │ │ │ │ │ │ │ │ +│ │ ▼ ▼ ▼ ▼ ▼ │ │ +│ │ ┌────────────────┐ ┌────────────────┐ ┌────────────────┐ │ │ +│ │ │Inventory Service│ │Schedule Service│ │ System Service │ │ │ +│ │ │ 库存服务 │ │ 调度服务 │ │ 系统服务 │ │ │ +│ │ │ Port: 8004 │ │ Port: 8005 │ │ Port: 8000 │ │ │ +│ │ │/cpte-wms-inventory│ │/cpte-wms-schedule│ │/cpte-wms │ │ │ +│ │ └────────────────┘ └────────────────┘ └────────────────┘ │ │ +│ │ │ │ +│ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ +│ │ │ cpte-wms-api (共享层) │ │ │ +│ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ +│ │ │ │ Feign Client│ │ DTO │ │ 分布式锁 │ │ 工具类 │ │ │ │ +│ │ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ +│ │ └────────────────────────────────────────────────────────────────────┘ │ │ +│ └──────────────────────────────────────────────────────────────────────────┘ │ +└────────────────────────────────────────────────────────────────────────────────┘ + │ + ▼ +┌────────────────────────────────────────────────────────────────────────────────┐ +│ 基础设施层 │ +│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ +│ │ MySQL │ │ Redis │ │ MinIO │ │ Nacos │ │ +│ │ 数据持久化 │ │ 缓存/锁/消息 │ │ 文件存储 │ │ 配置中心 │ │ +│ │ Port: 53306 │ │ Port: 6379 │ │ │ │ │ │ +│ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │ +└────────────────────────────────────────────────────────────────────────────────┘ +``` + +### 2.2 服务拓扑图 + +``` + ┌─────────────────┐ + │ System Service │ + │ 系统服务 │ + │ Port: 8000 │ + └────────┬────────┘ + │ + ┌───────────────────────────┼───────────────────────────┐ + │ │ │ + ▼ ▼ ▼ +┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ +│ Basic Service │◄───────▶│Inbound Service │◄───────▶│Outbound Service │ +│ 基础服务 │ Feign │ 入库服务 │ Feign │ 出库服务 │ +│ Port: 8001 │ │ Port: 8002 │ │ Port: 8003 │ +└────────┬────────┘ └────────┬────────┘ └────────┬────────┘ + │ │ │ + │ Feign │ Feign │ Feign + │ │ │ + └──────────────┬────────────┴────────────┬──────────────┘ + │ │ + ▼ ▼ + ┌─────────────────┐ ┌─────────────────┐ + │Inventory Service│ │Schedule Service │ + │ 库存服务 │ │ 调度服务 │ + │ Port: 8004 │ │ Port: 8005 │ + └─────────────────┘ └─────────────────┘ +``` + +--- + +## 3. 服务清单 + +### 3.1 核心服务 + +| 服务名称 | 服务标识 | 端口 | Context Path | 职责 | +|---------|---------|------|-------------|------| +| 基础服务 | cpte-wms-basic | 8001 | /cpte-wms-basic | 物料、库区、点位、容器等基础数据管理 | +| 入库服务 | cpte-wms-inbound | 8002 | /cpte-wms-inbound | ASN 管理、收货、上架等入库业务 | +| 出库服务 | cpte-wms-outbound | 8003 | /cpte-wms-outbound | 拣货、发货、波次等出库业务 | +| 库存服务 | cpte-wms-inventory | 8004 | /cpte-wms-inventory | 库存查询、盘点、移库等库存业务 | +| 调度服务 | cpte-wms-schedule | 8005 | /cpte-wms-schedule | AGV 调度、输送线控制、定时任务 | +| 系统服务 | cpte-wms | 8000 | /cpte-wms | 用户、权限、系统管理等 | + +### 3.2 共享模块 + +| 模块名称 | Artifact ID | 职责 | +|---------|-------------|------| +| 公共 API | cpte-wms-api | Feign Client、DTO、分布式锁、工具类 | +| 基础核心 | cpte-boot-base-core | 公共组件、配置、异常处理 | +| 系统业务 | cpte-system-biz | 用户权限、字典、日志等 | + +--- + +## 4. 服务通信架构 + +### 4.1 通信方式 + +``` +┌─────────────────────────────────────────────────────────────────┐ +│ 服务通信方式 │ +├─────────────────────────────────────────────────────────────────┤ +│ │ +│ 1. 同步通信 (OpenFeign) │ +│ ┌─────────┐ HTTP/REST ┌─────────┐ │ +│ │ Service │ ──────────────▶ │ Service │ │ +│ │ A │ │ B │ │ +│ └─────────┘ └─────────┘ │ +│ │ +│ 2. 异步通信 (Redis Pub/Sub) │ +│ ┌─────────┐ Publish ┌───────┐ Subscribe ┌─────────┐ +│ │ Service │ ─────────────▶ │ Redis │ ──────────────▶ │ Service │ +│ │ A │ │ │ │ B │ +│ └─────────┘ └───────┘ └─────────┘ +│ │ +│ 3. 分布式锁 (Redisson) │ +│ ┌─────────┐ Lock/Unlock ┌───────┐ │ +│ │ Service │ ◄────────────────▶ │ Redis │ │ +│ │ A │ │ │ │ +│ └─────────┘ └───────┘ │ +│ │ +└─────────────────────────────────────────────────────────────────┘ +``` + +### 4.2 OpenFeign 配置 + +```yaml +feign: + client: + wms-basic: + url: http://cpte-wms-basic:8001/cpte-wms-basic + config: + default: + connectTimeout: 5000 # 连接超时 5 秒 + readTimeout: 10000 # 读取超时 10 秒 + loggerLevel: INFO # 日志级别 +``` + +**Feign 核心配置**: +- HTTP 客户端: OkHttp +- 连接超时: 5 秒 +- 读取超时: 10 秒 +- 重试策略: 初始间隔 100ms,最大间隔 1 秒,最多重试 3 次 + +### 4.3 服务调用关系 + +``` +┌─────────────────────────────────────────────────────────────────────────┐ +│ 服务调用依赖关系 │ +├─────────────────────────────────────────────────────────────────────────┤ +│ │ +│ Inbound Service (入库服务) │ +│ ├── Feign → Basic Service (获取物料、库区信息) │ +│ ├── Feign → Inventory Service (更新库存) │ +│ └── Feign → Schedule Service (触发 AGV 任务) │ +│ │ +│ Outbound Service (出库服务) │ +│ ├── Feign → Basic Service (获取物料、点位信息) │ +│ ├── Feign → Inventory Service (扣减库存、锁定库存) │ +│ └── Feign → Schedule Service (触发拣货任务) │ +│ │ +│ Inventory Service (库存服务) │ +│ ├── Feign → Basic Service (获取物料、容器信息) │ +│ └── Redisson → 分布式锁 (库存操作锁) │ +│ │ +│ Schedule Service (调度服务) │ +│ ├── Feign → Basic Service (获取点位信息) │ +│ ├── Feign → Inventory Service (库存校验) │ +│ └── Quartz → 定时任务调度 │ +│ │ +└─────────────────────────────────────────────────────────────────────────┘ +``` + +--- + +## 5. 数据架构 + +### 5.1 数据存储架构 + +``` +┌─────────────────────────────────────────────────────────────────────────┐ +│ 数据存储架构 │ +├─────────────────────────────────────────────────────────────────────────┤ +│ │ +│ ┌─────────────────────────────────────────────────────────────────┐ │ +│ │ MySQL (主数据库) │ │ +│ │ cpte-wms 数据库 │ │ +│ │ │ │ +│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ +│ │ │ base_item │ │ base_area │ │ base_point │ 基础数据 │ │ +│ │ │ 物料表 │ │ 库区表 │ │ 点位表 │ │ │ +│ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ +│ │ │ │ +│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ +│ │ │ data_asn │ │asn_detail │ │receive_record│ 入库数据 │ │ +│ │ │ 入库单 │ │ 入库明细 │ │ 收货记录 │ │ │ +│ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ +│ │ │ │ +│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ +│ │ │ sys_user │ │ sys_role │ │ sys_permission│ 系统数据 │ │ +│ │ │ 用户表 │ │ 角色表 │ │ 权限表 │ │ │ +│ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ +│ └─────────────────────────────────────────────────────────────────┘ │ +│ │ +│ ┌─────────────────────────────────────────────────────────────────┐ │ +│ │ Redis (缓存/消息) │ │ +│ │ │ │ +│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ +│ │ │ Session │ │ 数据缓存 │ │ 分布式锁 │ │ │ +│ │ │ 会话存储 │ │ 热点数据 │ │ Redisson │ │ │ +│ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ +│ │ │ │ +│ │ ┌─────────────┐ ┌─────────────┐ │ │ +│ │ │ Pub/Sub │ │ 消息队列 │ │ │ +│ │ │ 事件发布 │ │ 异步任务 │ │ │ +│ │ └─────────────┘ └─────────────┘ │ │ +│ └─────────────────────────────────────────────────────────────────┘ │ +│ │ +└─────────────────────────────────────────────────────────────────────────┘ +``` + +### 5.2 数据库连接池 + +```yaml +Druid 连接池配置: + initial-size: 5 # 初始连接数 + min-idle: 5 # 最小空闲连接 + maxActive: 1000 # 最大活跃连接 + maxWait: 60000 # 最大等待时间 60s + validationQuery: SELECT 1 # 验证 SQL +``` + +### 5.3 Redis 部署模式 + +支持多种部署模式: +- **STANDALONE**: 单机模式 +- **MASTER_SLAVE**: 主从模式 +- **SENTINEL**: 哨兵模式 +- **CLUSTER**: 集群模式 + +--- + +## 6. 部署架构 + +### 6.1 Kubernetes 部署架构 + +``` +┌─────────────────────────────────────────────────────────────────────────┐ +│ Kubernetes Cluster │ +├─────────────────────────────────────────────────────────────────────────┤ +│ │ +│ ┌───────────────────────────────────────────────────────────────────┐ │ +│ │ Namespace: cpte-wms │ │ +│ │ │ │ +│ │ ┌─────────────────────────────────────────────────────────────┐ │ │ +│ │ │ Workload (Deployment) │ │ │ +│ │ │ │ │ │ +│ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐│ │ │ +│ │ │ │ Pod │ │ Pod │ │ Pod │ │ Pod │ │ Pod ││ │ │ +│ │ │ │ Basic │ │ Inbound │ │Outbound │ │Inventory│ │Schedule ││ │ │ +│ │ │ │ :8001 │ │ :8002 │ │ :8003 │ │ :8004 │ │ :8005 ││ │ │ +│ │ │ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘│ │ │ +│ │ │ │ │ │ │ │ │ │ │ +│ │ └───────┼───────────┼───────────┼───────────┼───────────┼──────┘ │ │ +│ │ │ │ │ │ │ │ │ +│ │ ┌───────┴───────────┴───────────┴───────────┴───────────┴──────┐ │ │ +│ │ │ Service (ClusterIP) │ │ │ +│ │ │ │ │ │ +│ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ +│ │ │ │cpte-wms │ │cpte-wms │ │cpte-wms │ │inventory│ │schedule │ │ │ │ +│ │ │ │ -basic │ │ -inbound│ │ -outbound│ │ -service│ │ -service│ │ │ │ +│ │ │ │ :8001 │ │ :8002 │ │ :8003 │ │ :8004 │ │ :8005 │ │ │ │ +│ │ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │ │ +│ │ └───────────────────────────────────────────────────────────────┘ │ │ +│ │ │ │ +│ │ ┌───────────────────────────────────────────────────────────────┐ │ │ +│ │ │ ConfigMap & Secret │ │ │ +│ │ │ │ │ │ +│ │ │ ConfigMap: application.yml, 环境变量 │ │ │ +│ │ │ Secret: DB_PASSWORD, REDIS_PASSWORD, SIGNATURE_SECRET │ │ │ +│ │ └───────────────────────────────────────────────────────────────┘ │ │ +│ │ │ │ +│ │ ┌───────────────────────────────────────────────────────────────┐ │ │ +│ │ │ PersistentVolumeClaim │ │ │ +│ │ │ │ │ │ +│ │ │ cpte-wms-basic-data (10Gi) - 文件上传存储 │ │ │ +│ │ │ cpte-wms-inbound-data (10Gi) - 文件上传存储 │ │ │ +│ │ └───────────────────────────────────────────────────────────────┘ │ │ +│ └────────────────────────────────────────────────────────────────────┘ │ +│ │ +│ ┌───────────────────────────────────────────────────────────────────┐ │ +│ │ 基础设施服务 │ │ +│ │ │ │ +│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ +│ │ │ MySQL │ │ Redis │ │ Nginx │ │ MinIO │ │ │ +│ │ │ Service │ │ Service │ │ Ingress │ │ OSS │ │ │ +│ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │ +│ └───────────────────────────────────────────────────────────────────┘ │ +└─────────────────────────────────────────────────────────────────────────┘ +``` + +### 6.2 服务资源配置 + +| 服务 | CPU Request | CPU Limit | Memory Request | Memory Limit | 副本数 | +|-----|-------------|-----------|----------------|--------------|--------| +| Basic | 500m | 2000m | 1Gi | 2Gi | 1 | +| Inbound | 500m | 2000m | 1Gi | 2Gi | 1 | +| Outbound | 100m | 500m | 256Mi | 1Gi | 1 | +| Inventory | 100m | 500m | 256Mi | 1Gi | 1 | +| Schedule | 100m | 500m | 256Mi | 1Gi | 1 | + +### 6.3 健康检查配置 + +```yaml +探针配置: + livenessProbe: + path: /{context}/actuator/health/liveness + initialDelaySeconds: 90-180 + periodSeconds: 20 + timeoutSeconds: 10 + failureThreshold: 3 + + readinessProbe: + path: /{context}/actuator/health/readiness + initialDelaySeconds: 45-120 + periodSeconds: 10-15 + timeoutSeconds: 5-10 + failureThreshold: 3 + + startupProbe: + path: /{context}/actuator/health/liveness + initialDelaySeconds: 0-30 + periodSeconds: 10 + failureThreshold: 30-90 +``` + +--- + +## 7. 安全架构 + +### 7.1 认证授权架构 + +``` +┌─────────────────────────────────────────────────────────────────────────┐ +│ 认证授权架构 │ +├─────────────────────────────────────────────────────────────────────────┤ +│ │ +│ ┌─────────┐ ┌─────────────┐ ┌─────────────┐ │ +│ │ Client │─────▶│ Nginx │─────▶│ Service │ │ +│ │ │ │ Ingress │ │ Instance │ │ +│ └─────────┘ └─────────────┘ └──────┬──────┘ │ +│ │ │ +│ ▼ │ +│ ┌─────────────────────┐ │ +│ │ JwtFilter │ │ +│ │ - Token 解析 │ │ +│ │ - Token 验证 │ │ +│ │ - Token 刷新 │ │ +│ └──────────┬──────────┘ │ +│ │ │ +│ ▼ │ +│ ┌─────────────────────┐ │ +│ │ ShiroRealm │ │ +│ │ - 用户认证 │ │ +│ │ - 角色校验 │ │ +│ │ - 权限校验 │ │ +│ └──────────┬──────────┘ │ +│ │ │ +│ ▼ │ +│ ┌─────────────────────┐ │ +│ │ Business Logic │ │ +│ └─────────────────────┘ │ +│ │ +└─────────────────────────────────────────────────────────────────────────┘ +``` + +### 7.2 敏感信息管理 + +``` +┌─────────────────────────────────────────────────────────────────────────┐ +│ Kubernetes Secret 管理 │ +├─────────────────────────────────────────────────────────────────────────┤ +│ │ +│ Secret 类型: Opaque │ +│ │ +│ 存储的敏感信息: │ +│ ├── MYSQL_HOST # MySQL 主机地址 │ +│ ├── MYSQL_PORT # MySQL 端口 │ +│ ├── MYSQL_DATABASE # 数据库名称 │ +│ ├── MYSQL_USERNAME # 数据库用户名 │ +│ ├── MYSQL_PASSWORD # 数据库密码 │ +│ ├── REDIS_HOST # Redis 主机地址 │ +│ ├── REDIS_PORT # Redis 端口 │ +│ ├── REDIS_PASSWORD # Redis 密码 │ +│ ├── MAIL_HOST # 邮件服务器地址 │ +│ ├── MAIL_USERNAME # 邮件用户名 │ +│ ├── MAIL_PASSWORD # 邮件密码 │ +│ └── SIGNATURE_SECRET # 接口签名密钥 │ +│ │ +└─────────────────────────────────────────────────────────────────────────┘ +``` + +### 7.3 服务间认证 + +```java +// Feign Token 拦截器 +public class FeignTokenInterceptor implements RequestInterceptor { + @Override + public void apply(RequestTemplate template) { + // 从当前上下文获取 Token 并传递给下游服务 + String token = getCurrentToken(); + template.header("Authorization", "Bearer " + token); + } +} +``` + +--- + +## 8. 可观测性架构 + +### 8.1 监控架构 + +``` +┌─────────────────────────────────────────────────────────────────────────┐ +│ 监控架构 │ +├─────────────────────────────────────────────────────────────────────────┤ +│ │ +│ ┌─────────────────────────────────────────────────────────────────┐ │ +│ │ Prometheus 采集层 │ │ +│ │ │ │ +│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ +│ │ │ Basic │ │ Inbound │ │Outbound │ │Inventory│ │Schedule │ │ │ +│ │ │ :8001 │ │ :8002 │ │ :8003 │ │ :8004 │ │ :8005 │ │ │ +│ │ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │ │ +│ │ │ │ │ │ │ │ │ +│ │ └───────────┴───────────┴───────────┴───────────┘ │ │ +│ │ │ │ │ +│ │ ▼ │ │ +│ │ /actuator/prometheus │ │ +│ └─────────────────────────────────────────────────────────────────┘ │ +│ │ │ +│ ▼ │ +│ ┌─────────────────────────────────────────────────────────────────┐ │ +│ │ Prometheus Server │ │ +│ │ - 指标采集 │ │ +│ │ - 数据存储 │ │ +│ │ - 告警规则 │ │ +│ └─────────────────────────────────────────────────────────────────┘ │ +│ │ │ +│ ▼ │ +│ ┌─────────────────────────────────────────────────────────────────┐ │ +│ │ Grafana 可视化 │ │ +│ │ - 仪表盘展示 │ │ +│ │ - 告警通知 │ │ +│ └─────────────────────────────────────────────────────────────────┘ │ +│ │ +└─────────────────────────────────────────────────────────────────────────┘ +``` + +### 8.2 Actuator 端点 + +| 端点 | 路径 | 说明 | +|-----|------|------| +| health | /actuator/health | 健康状态 | +| info | /actuator/info | 应用信息 | +| prometheus | /actuator/prometheus | Prometheus 指标 | +| metrics | /actuator/metrics | JVM 指标 | + +### 8.3 日志架构 + +``` +┌─────────────────────────────────────────────────────────────────────────┐ +│ 日志架构 │ +├─────────────────────────────────────────────────────────────────────────┤ +│ │ +│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ +│ │ Pod │ │ Pod │ │ Pod │ │ Pod │ │ Pod │ │ +│ │ stdout │ │ stdout │ │ stdout │ │ stdout │ │ stdout │ │ +│ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │ +│ │ │ │ │ │ │ +│ └───────────┴───────────┴───────────┴───────────┘ │ +│ │ │ +│ ▼ │ +│ ┌─────────────────────────────────────────────────────────────────┐ │ +│ │ 日志收集器 (Filebeat/Fluentd) │ │ +│ └─────────────────────────────────────────────────────────────────┘ │ +│ │ │ +│ ▼ │ +│ ┌─────────────────────────────────────────────────────────────────┐ │ +│ │ Elasticsearch │ │ +│ │ - 日志存储 │ │ +│ │ - 全文检索 │ │ +│ └─────────────────────────────────────────────────────────────────┘ │ +│ │ │ +│ ▼ │ +│ ┌─────────────────────────────────────────────────────────────────┐ │ +│ │ Kibana │ │ +│ │ - 日志查询 │ │ +│ │ - 可视化分析 │ │ +│ └─────────────────────────────────────────────────────────────────┘ │ +│ │ +└─────────────────────────────────────────────────────────────────────────┘ +``` + +--- + +## 9. 高可用架构 + +### 9.1 服务高可用 + +``` +┌─────────────────────────────────────────────────────────────────────────┐ +│ 服务高可用设计 │ +├─────────────────────────────────────────────────────────────────────────┤ +│ │ +│ 1. 多副本部署 │ +│ ┌─────────────────────────────────────────────────────────────┐ │ +│ │ Deployment (replicas: N) │ │ +│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ +│ │ │ Pod 1 │ │ Pod 2 │ │ Pod N │ │ │ +│ │ └─────────┘ └─────────┘ └─────────┘ │ │ +│ └─────────────────────────────────────────────────────────────┘ │ +│ │ +│ 2. 滚动更新 │ +│ ┌─────────────────────────────────────────────────────────────┐ │ +│ │ strategy: │ │ +│ │ type: RollingUpdate │ │ +│ │ rollingUpdate: │ │ +│ │ maxSurge: 1 # 最多多 1 个 Pod │ │ +│ │ maxUnavailable: 0 # 最少可用 Pod 数 │ │ +│ └─────────────────────────────────────────────────────────────┘ │ +│ │ +│ 3. 健康检查 │ +│ ┌─────────────────────────────────────────────────────────────┐ │ +│ │ livenessProbe → 存活检查 (失败则重启) │ │ +│ │ readinessProbe → 就绪检查 (失败则从 Service 移除) │ │ +│ │ startupProbe → 启动检查 (慢启动保护) │ │ +│ └─────────────────────────────────────────────────────────────┘ │ +│ │ +│ 4. 服务降级 │ +│ ┌─────────────────────────────────────────────────────────────┐ │ +│ │ @FeignClient(fallbackFactory = BasicServiceFallbackFactory)│ │ +│ │ → 服务不可用时返回默认响应 │ │ +│ └─────────────────────────────────────────────────────────────┘ │ +│ │ +└─────────────────────────────────────────────────────────────────────────┘ +``` + +### 9.2 数据高可用 + +``` +┌─────────────────────────────────────────────────────────────────────────┐ +│ 数据高可用设计 │ +├─────────────────────────────────────────────────────────────────────────┤ +│ │ +│ MySQL 高可用: │ +│ ┌─────────────────────────────────────────────────────────────────┐ │ +│ │ ┌─────────────┐ ┌─────────────┐ │ │ +│ │ │ Master │ ───▶ │ Slave │ │ │ +│ │ │ (读写) │ │ (只读) │ │ │ +│ │ └─────────────┘ └─────────────┘ │ │ +│ └─────────────────────────────────────────────────────────────────┘ │ +│ │ +│ Redis 高可用: │ +│ ┌─────────────────────────────────────────────────────────────────┐ │ +│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ +│ │ │ Master │ ───▶ │ Slave │ ◀─── │ Sentinel │ │ │ +│ │ └─────────────┘ └─────────────┘ │ (监控) │ │ │ +│ │ └─────────────┘ │ │ +│ └─────────────────────────────────────────────────────────────────┘ │ +│ │ +└─────────────────────────────────────────────────────────────────────────┘ +``` + +--- + +## 10. 技术栈清单 + +### 10.1 核心框架 + +| 组件 | 版本 | 用途 | +|-----|------|------| +| Spring Boot | 3.5.5 | 应用框架 | +| Spring Cloud | 2025.0.0 | 微服务治理 | +| JDK | 17 | 运行环境 | + +### 10.2 数据层 + +| 组件 | 版本 | 用途 | +|-----|------|------| +| MyBatis Plus | 3.5.12 | ORM 框架 | +| Druid | 1.2.24 | 连接池 | +| MySQL | 8.0.27 | 关系数据库 | +| Redis | - | 缓存/分布式锁 | + +### 10.3 服务通信 + +| 组件 | 版本 | 用途 | +|-----|------|------| +| OpenFeign | 4.2.0 | 服务调用 | +| OkHttp | - | HTTP 客户端 | +| Redisson | 3.27.0 | 分布式锁 | + +### 10.4 容器化 + +| 组件 | 用途 | +|-----|------| +| Docker | 容器运行时 | +| Kubernetes | 容器编排 | +| KubeSphere | 容器平台 | + +### 10.5 其他组件 + +| 组件 | 版本 | 用途 | +|-----|------|------| +| Knife4j | 4.5.0 | API 文档 | +| Quartz | - | 定时任务 | +| Shiro | 2.0.4 | 安全框架 | +| JWT | 4.5.0 | Token 认证 | + +--- + +## 11. 服务依赖关系图 + +``` + ┌─────────────────┐ + │ System Service │ + │ (用户/权限) │ + └────────┬────────┘ + │ + │ 认证 + │ + ┌──────────────────────────────┼──────────────────────────────┐ + │ │ │ + ▼ ▼ ▼ + ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ + │ Basic Service │◄───────────│Inbound Service │───────────▶│Outbound Service │ + │ (基础数据) │ Feign │ (入库业务) │ Feign │ (出库业务) │ + └────────┬────────┘ └────────┬────────┘ └────────┬────────┘ + │ │ │ + │ Feign │ Feign │ Feign + │ │ │ + │ ┌────────────────────┼────────────────────┐ │ + │ │ │ │ │ + ▼ ▼ ▼ ▼ ▼ + ┌─────────────────────────┐ ┌─────────────────┐ ┌─────────────────────────┐ + │ Inventory Service │◄───│Schedule Service │───▶│ 基础设施 │ + │ (库存业务) │ │ (调度任务) │ │ ┌─────┐ ┌─────┐ │ + └─────────────────────────┘ └─────────────────┘ │ │MySQL│ │Redis│ │ + │ └─────┘ └─────┘ │ + └─────────────────────────┘ +``` + +--- + +## 附录 + +### A. 服务端口汇总 + +| 服务 | 容器端口 | Service 端口 | ClusterIP | +|-----|---------|-------------|-----------| +| cpte-wms-basic | 8001 | 8001 | 10.233.42.190 | +| cpte-wms-inbound | 8002 | 8002 | 10.233.51.195 | +| cpte-wms-outbound | 8003 | 8003 | - | +| inventory-service | 8004 | 8004 | - | +| outbound-service | 8003 | 8003 | - | + +### B. Context Path 汇总 + +| 服务 | Context Path | +|-----|-------------| +| Basic | /cpte-wms-basic | +| Inbound | /cpte-wms-inbound | +| Outbound | /cpte-wms-outbound | +| Inventory | /cpte-wms-inventory | +| Schedule | /cpte-wms-schedule | + +### C. 关键配置项 + +| 配置项 | 说明 | +|-------|------| +| spring.application.name | 服务名称 | +| server.port | 服务端口 | +| server.servlet.context-path | 上下文路径 | +| feign.client.wms-basic.url | 基础服务地址 | +| jeecg.redisson.address | Redis 地址 | diff --git a/k8s/README.md b/k8s/README.md deleted file mode 100644 index fb3a13b..0000000 --- a/k8s/README.md +++ /dev/null @@ -1,473 +0,0 @@ -# CPTE WMS KubeSphere 部署指南 - -本文档详细说明如何将 CPTE WMS 系统部署到 KubeSphere/Kubernetes 环境。 - -## 目录 - -- [环境要求](#环境要求) -- [架构概览](#架构概览) -- [部署步骤](#部署步骤) -- [配置说明](#配置说明) -- [常见问题](#常见问题) - ---- - -## 环境要求 - -### 服务器要求 - -| 组件 | 最低配置 | 推荐配置 | -|------|---------|---------| -| CPU | 4核 | 8核+ | -| 内存 | 16GB | 32GB+ | -| 存储 | 100GB | 500GB+ SSD | - -### 软件要求 - -- Kubernetes 1.20+ -- KubeSphere 3.3+ -- Docker 20.10+ -- kubectl 命令行工具 -- Helm 3.0+ (可选) - -### 存储类要求 - -确保 Kubernetes 集群有可用的 StorageClass,用于持久化存储: - -```bash -kubectl get storageclass -``` - -如果没有默认存储类,需要先创建。KubeSphere 默认提供 `local` 存储类。 - ---- - -## 架构概览 - -### 服务架构 - -``` -┌─────────────────────────────────────────────────────────────────┐ -│ Ingress (Nginx) │ -│ wms.yourdomain.com │ -└─────────────────────────────────────────────────────────────────┘ - │ - ┌───────────────────────┼───────────────────────┐ - │ │ │ - ▼ ▼ ▼ -┌───────────────┐ ┌───────────────┐ ┌───────────────┐ -│ cpte-wms- │ │ cpte-wms- │ │ cpte-wms- │ -│ system │ │ basic │ │ inbound │ -│ (8000) │ │ (8001) │ │ (8002) │ -│ 系统主服务 │ │ 基础服务 │ │ 入库服务 │ -└───────────────┘ └───────────────┘ └───────────────┘ - │ │ │ - └───────────────────────┼───────────────────────┘ - │ - ┌───────────────────────┼───────────────────────┐ - │ │ │ - ▼ ▼ ▼ -┌───────────────┐ ┌───────────────┐ ┌───────────────┐ -│ cpte-wms- │ │ cpte-wms- │ │ cpte-wms- │ -│ outbound │ │ inventory │ │ schedule │ -│ (8003) │ │ (8004) │ │ (8005) │ -│ 出库服务 │ │ 库存服务 │ │ 调度服务 │ -└───────────────┘ └───────────────┘ └───────────────┘ - │ │ │ - └───────────────────────┼───────────────────────┘ - │ - ┌───────────┴───────────┐ - │ │ - ▼ ▼ - ┌───────────────┐ ┌───────────────┐ - │ mysql-service │ │ redis-service │ - │ (3306) │ │ (6379) │ - │ NodePort:30926│ │ NodePort:30899│ - └───────────────┘ └───────────────┘ - │ - ▼ - ┌───────────────┐ - │ nginx-service │ - │ (80) │ - │ NodePort:30575│ - └───────────────┘ -``` - -### 文件结构 - -``` -k8s/ -├── namespace.yaml # 命名空间定义 -├── configmap/ -│ └── application-config.yaml # 应用配置 -├── secrets/ -│ └── application-secrets.yaml # 敏感信息配置 -├── manifests/ -│ ├── mysql.yaml # MySQL 部署 -│ ├── redis.yaml # Redis 部署 (Service: redis-service, NodePort: 30899) -│ └── nginx.yaml # Nginx 部署 (Service: nginx-service, NodePort: 30575) -├── services/ -│ ├── system-service.yaml # 系统主服务 -│ ├── basic-service.yaml # 基础服务 -│ ├── inbound-service.yaml # 入库服务 -│ ├── outbound-service.yaml # 出库服务 -│ ├── inventory-service.yaml # 库存服务 -│ └── schedule-service.yaml # 调度服务 -├── ingress/ -│ └── ingress.yaml # Ingress 路由配置 -└── scripts/ - ├── build-images.sh # Linux 构建脚本 - ├── build-images.bat # Windows 构建脚本 - ├── deploy.sh # Linux 部署脚本 - └── deploy.bat # Windows 部署脚本 -``` - ---- - -## 部署步骤 - -### 第一步:准备工作 - -#### 1.1 克隆项目到服务器 - -```bash -# 在服务器上 -git clone -cd Cpte-Boot -``` - -#### 1.2 配置域名和密钥 - -编辑 `k8s/secrets/application-secrets.yaml`,修改以下敏感信息: - -```yaml -stringData: - DB_USERNAME: "root" - DB_PASSWORD: "your_secure_password" # 修改为安全密码 - REDIS_PASSWORD: "" # 如需密码认证 - SIGNATURE_SECRET: "your_signature_key" # 修改签名密钥 -``` - -编辑 `k8s/ingress/ingress.yaml`,修改域名: - -```yaml -spec: - rules: - - host: wms.yourdomain.com # 修改为你的域名 -``` - -#### 1.3 配置 DNS 解析 - -在域名服务商处配置 DNS 解析,将域名指向 Kubernetes 集群的 Ingress IP: - -```bash -# 获取 Ingress IP -kubectl get svc -n ingress-nginx -``` - -### 第二步:构建 Docker 镜像 - -#### 方式一:在开发机构建后推送 - -```bash -# Windows -k8s\scripts\build-images.bat 3.8.3 your-registry.com - -# Linux/Mac -chmod +x k8s/scripts/build-images.sh -./k8s/scripts/build-images.sh 3.8.3 your-registry.com - -# 推送镜像 -docker push your-registry.com/cpte-wms-system:3.8.3 -docker push your-registry.com/cpte-wms-basic:3.8.3 -docker push your-registry.com/cpte-wms-inbound:3.8.3 -docker push your-registry.com/cpte-wms-outbound:3.8.3 -docker push your-registry.com/cpte-wms-inventory:3.8.3 -docker push your-registry.com/cpte-wms-schedule:3.8.3 -``` - -#### 方式二:在服务器本地构建 - -```bash -# 在服务器上执行 -cd Cpte-Boot -./k8s/scripts/build-images.sh -``` - -### 第三步:部署到 Kubernetes - -#### 方式一:使用部署脚本 - -```bash -# Linux/Mac -chmod +x k8s/scripts/deploy.sh -./k8s/scripts/deploy.sh cpte-wms - -# Windows -k8s\scripts\deploy.bat cpte-wms -``` - -#### 方式二:手动部署 - -```bash -# 1. 创建命名空间 -kubectl apply -f k8s/namespace.yaml - -# 2. 创建 Secrets 和 ConfigMaps -kubectl apply -f k8s/secrets/application-secrets.yaml -kubectl apply -f k8s/configmap/application-config.yaml - -# 3. 部署中间件 -kubectl apply -f k8s/manifests/mysql.yaml -kubectl apply -f k8s/manifests/redis.yaml -kubectl apply -f k8s/manifests/nginx.yaml - -# 4. 等待中间件就绪 -kubectl wait --for=condition=ready pod -l app=cpte-wms-mysql -n cpte-wms --timeout=300s -kubectl wait --for=condition=ready pod -l app=redis -n cpte-wms --timeout=300s -kubectl wait --for=condition=ready pod -l app=nginx -n cpte-wms --timeout=300s - -# 5. 部署应用服务 -kubectl apply -f k8s/services/system-service.yaml -kubectl apply -f k8s/services/basic-service.yaml -kubectl apply -f k8s/services/inbound-service.yaml -kubectl apply -f k8s/services/outbound-service.yaml -kubectl apply -f k8s/services/inventory-service.yaml -kubectl apply -f k8s/services/schedule-service.yaml - -# 6. 创建 Ingress -kubectl apply -f k8s/ingress/ingress.yaml -``` - -### 第四步:验证部署 - -```bash -# 查看所有 Pod 状态 -kubectl get pods -n cpte-wms - -# 查看服务状态 -kubectl get svc -n cpte-wms - -# 查看 Ingress -kubectl get ingress -n cpte-wms - -# 查看日志 -kubectl logs -f deployment/cpte-wms-system -n cpte-wms -``` - -### 第五步:初始化数据库 - -首次部署需要初始化数据库: - -```bash -# 进入 MySQL Pod -kubectl exec -it -n cpte-wms $(kubectl get pod -n cpte-wms -l app=cpte-wms-mysql -o jsonpath='{.items[0].metadata.name}') -- mysql -uroot -p - -# 或者使用 port-forward -kubectl port-forward svc/cpte-wms-mysql 3306:3306 -n cpte-wms - -# 使用数据库客户端连接并执行 SQL 脚本 -# SQL 脚本位于项目的 db 目录 -``` - ---- - -## KubeSphere 控制台操作 - -### 通过 KubeSphere 控制台部署 - -#### 1. 创建项目 - -1. 登录 KubeSphere 控制台 -2. 进入「应用负载」→「项目」 -3. 点击「创建」,输入项目名称 `cpte-wms` - -#### 2. 创建配置 - -1. 进入项目 `cpte-wms` -2. 点击「配置」→「配置字典」→「创建」 -3. 上传 `k8s/configmap/application-config.yaml` - -#### 3. 创建密钥 - -1. 点击「配置」→「密钥」→「创建」 -2. 上传 `k8s/secrets/application-secrets.yaml` - -#### 4. 创建应用负载 - -1. 点击「应用负载」→「工作负载」→「创建」 -2. 选择「部署」,依次创建各服务 - -#### 5. 创建服务 - -1. 点击「应用负载」→「服务」→「创建」 -2. 配置服务端口映射 - -#### 6. 创建应用路由 - -1. 点击「应用负载」→「应用路由」→「创建」 -2. 配置域名和路由规则 - -### 使用 KubeSphere 应用商店 - -如果配置了应用商店,可以直接使用 Helm Chart 部署。 - ---- - -## 配置说明 - -### 环境变量说明 - -| 变量名 | 说明 | 默认值 | -|--------|------|--------| -| SPRING_PROFILES_ACTIVE | Spring 配置环境 | k8s | -| DB_HOST | 数据库主机 | cpte-wms-mysql | -| DB_PORT | 数据库端口 | 3306 | -| DB_NAME | 数据库名称 | cpte-wms | -| DB_USERNAME | 数据库用户名 | root | -| DB_PASSWORD | 数据库密码 | - | -| REDIS_HOST | Redis 主机 | redis-service | -| REDIS_PORT | Redis 端口 | 6379 | -| REDIS_PASSWORD | Redis 密码 | - | - -### 资源配置调整 - -根据实际负载调整各服务的资源配置: - -```yaml -resources: - requests: - memory: "512Mi" - cpu: "250m" - limits: - memory: "1Gi" - cpu: "1000m" -``` - -### 副本数调整 - -修改 `replicas` 字段调整副本数: - -```yaml -spec: - replicas: 2 # 调整副本数 -``` - ---- - -## 常见问题 - -### Q1: Pod 一直处于 Pending 状态 - -**原因**:可能是存储类不存在或资源不足 - -**解决**: -```bash -# 检查存储类 -kubectl get storageclass - -# 检查事件 -kubectl describe pod -n cpte-wms -``` - -### Q2: 服务无法启动 - -**原因**:可能是数据库未就绪或配置错误 - -**解决**: -```bash -# 查看日志 -kubectl logs -n cpte-wms - -# 检查数据库连接 -kubectl exec -it -n cpte-wms -- mysql -uroot -p -``` - -### Q3: Ingress 无法访问 - -**原因**:可能是 Ingress Controller 未安装或域名解析问题 - -**解决**: -```bash -# 检查 Ingress Controller -kubectl get svc -n ingress-nginx - -# 检查 Ingress 状态 -kubectl describe ingress -n cpte-wms -``` - -### Q4: 镜像拉取失败 - -**原因**:镜像不存在或仓库认证问题 - -**解决**: -```bash -# 创建镜像拉取密钥 -kubectl create secret docker-registry regcred \ - --docker-server= \ - --docker-username= \ - --docker-password= \ - -n cpte-wms - -# 在 Deployment 中添加 imagePullSecrets -``` - -### Q5: 数据库连接超时 - -**原因**:MySQL 未完全启动 - -**解决**:检查 initContainers 是否正常等待 MySQL 就绪 - ---- - -## 运维命令 - -### 日常运维 - -```bash -# 查看所有资源状态 -kubectl get all -n cpte-wms - -# 重启服务 -kubectl rollout restart deployment/cpte-wms-system -n cpte-wms - -# 扩缩容 -kubectl scale deployment/cpte-wms-system --replicas=3 -n cpte-wms - -# 查看资源使用 -kubectl top pods -n cpte-wms - -# 进入容器 -kubectl exec -it -n cpte-wms -- /bin/sh -``` - -### 备份与恢复 - -```bash -# 备份 MySQL -kubectl exec -n cpte-wms -- mysqldump -uroot -p cpte-wms > backup.sql - -# 备份 PVC -kubectl get pvc -n cpte-wms -o yaml > pvc-backup.yaml -``` - -### 日志查看 - -```bash -# 查看服务日志 -kubectl logs -f deployment/cpte-wms-system -n cpte-wms - -# 查看最近 100 行日志 -kubectl logs --tail=100 deployment/cpte-wms-system -n cpte-wms - -# 查看所有容器日志 -kubectl logs -f deployment/cpte-wms-system -n cpte-wms --all-containers -``` - ---- - -## 联系支持 - -如有问题,请联系: -- 邮箱:cpte@163.com -- 网站:http://www.cpte.com diff --git a/k8s/manifests/nginx.yaml b/k8s/manifests/nginx.yaml index ef71e90..34dd02f 100644 --- a/k8s/manifests/nginx.yaml +++ b/k8s/manifests/nginx.yaml @@ -1,3 +1,10 @@ +# ============================================================================= +# Nginx 部署配置 +# Namespace: cpte-wms +# ============================================================================= + +--- +# 1. ConfigMap apiVersion: v1 kind: ConfigMap metadata: @@ -5,7 +12,7 @@ metadata: namespace: cpte-wms annotations: kubesphere.io/creator: admin - kubesphere.io/description: 配置文件 + kubesphere.io/description: Nginx 配置文件 data: nginx.conf: | worker_processes 1; @@ -17,99 +24,119 @@ data: http { include mime.types; default_type application/octet-stream; - - # ✅ 字符编码设置 - charset utf-8; - charset_types text/html text/plain text/css application/javascript application/json; - sendfile on; keepalive_timeout 65; + charset utf-8; - gzip on; - gzip_static on; - gzip_buffers 4 16k; - gzip_comp_level 5; - gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; + # Gzip 压缩配置 + gzip on; + gzip_static on; + gzip_buffers 4 16k; + gzip_comp_level 5; + gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; server { listen 80; listen [::]:80; server_name 101.35.253.46; - # 前端配置 - location / { - root /html/dist; - try_files $uri $uri/ /index.html last; - index index.html; - expires -1; + # Gzip 压缩配置 + gzip_min_length 1k; + gzip_buffers 4 16k; + gzip_comp_level 3; + gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; + gzip_vary on; + gzip_disable "MSIE [1-6]\."; + + # 禁用 OPTIONS 请求 + if ($request_method ~* OPTIONS) { + return 403; } - # 后端api配置 + # 前端配置 + location / { + root /html/dist; + try_files $uri $uri/ /index.html last; + index index.html; + expires -1; + } + + # 后端系统服务配置 location /cpte-wms/ { - # 反向代理的java地址 - proxy_pass http://101.35.253.46:8000/cpte-wms/; - proxy_redirect off; + proxy_pass http://cpte-wms-system:8000/cpte-wms/; + proxy_redirect off; # 设置代理消息头 - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header Host $http_host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $http_host; - # 设置没有缓存 - expires -1; + # 禁用缓存 + expires -1; # 安全配置 - add_header Set-Cookie "Path=/; HttpOnly; Secure"; - add_header X-Content-Type-Options "nosniff"; - add_header X-XSS-Protection "1; mode=block"; - add_header X-Frame-Options "ALLOW-FROM 101.35.253.46"; - add_header Content-Security-Policy "frame-ancestors 101.35.253.46"; + add_header Set-Cookie "Path=/; HttpOnly; Secure"; + add_header X-Content-Type-Options "nosniff"; + add_header X-XSS-Protection "1; mode=block"; + add_header X-Frame-Options "ALLOW-FROM 101.35.253.46"; + add_header Content-Security-Policy "frame-ancestors 101.35.253.46"; + } + + # 后端基础服务配置 + location /cpte-wms-basic/ { + proxy_pass http://cpte-wms-basic:8001/cpte-wms-basic/; + proxy_redirect off; + + # 设置代理消息头 + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $http_host; + + # 禁用缓存 + expires -1; + + # 安全配置 + add_header Set-Cookie "Path=/; HttpOnly; Secure"; + add_header X-Content-Type-Options "nosniff"; + add_header X-XSS-Protection "1; mode=block"; + add_header X-Frame-Options "ALLOW-FROM 101.35.253.46"; + add_header Content-Security-Policy "frame-ancestors 101.35.253.46"; + } + + # 后端入库服务配置 + location /cpte-wms-inbound/ { + proxy_pass http://cpte-wms-inbound:8002/cpte-wms-inbound/; + proxy_redirect off; + + # 设置代理消息头 + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $http_host; + + # 禁用缓存 + expires -1; + + # 安全配置 + add_header Set-Cookie "Path=/; HttpOnly; Secure"; + add_header X-Content-Type-Options "nosniff"; + add_header X-XSS-Protection "1; mode=block"; + add_header X-Frame-Options "ALLOW-FROM 101.35.253.46"; + add_header Content-Security-Policy "frame-ancestors 101.35.253.46"; } # 健康检查端点 location /health { - access_log off; - return 200 "healthy\n"; + return 200 'OK'; add_header Content-Type text/plain; } - # 就绪检查端点 location /ready { - access_log off; - return 200 "ready\n"; + return 200 'Ready'; add_header Content-Type text/plain; } } } - default.html: | - - - - - - Nginx - CPTE WMS - - - -
-

✅ Nginx 部署成功!

-
-

项目: CPTE WMS

-

环境: Production

-

时间:

-
-
- - - - --- # 2. Deployment apiVersion: apps/v1 @@ -120,7 +147,7 @@ metadata: labels: app: nginx annotations: - kubesphere.io/description: "1.28.0" + kubesphere.io/description: "WEB服务" spec: replicas: 1 strategy: @@ -141,96 +168,73 @@ spec: prometheus.io/port: "80" spec: containers: - - name: nginx - image: docker.io/library/nginx:1.28.0 - imagePullPolicy: IfNotPresent - - ports: - - name: http - containerPort: 80 - protocol: TCP - - resources: - requests: - cpu: "50m" - memory: "64Mi" - limits: - cpu: "500m" - memory: "256Mi" - - livenessProbe: - httpGet: - path: /health - port: 80 - initialDelaySeconds: 10 - periodSeconds: 10 - timeoutSeconds: 5 - failureThreshold: 3 - - readinessProbe: - httpGet: - path: /ready - port: 80 - initialDelaySeconds: 5 - periodSeconds: 5 - timeoutSeconds: 3 - failureThreshold: 3 - - startupProbe: - httpGet: - path: /health - port: 80 - initialDelaySeconds: 0 - periodSeconds: 5 - timeoutSeconds: 3 - failureThreshold: 30 - - volumeMounts: - - name: nginx-conf - mountPath: /etc/nginx/nginx.conf - subPath: nginx.conf - readOnly: true - - name: nginx-html - mountPath: /html/dist - readOnly: true - - name: nginx-cache - mountPath: /var/cache/nginx - - name: nginx-log - mountPath: /var/log/nginx - - env: - - name: NGINX_ENTRYPOINT_QUIET_LOGS - value: "true" - - # ⚠️ 修复重点:volumes 配置 + - name: nginx + image: docker.io/library/nginx:1.0 + imagePullPolicy: IfNotPresent + ports: + - name: http + containerPort: 80 + protocol: TCP + resources: + requests: + cpu: "50m" + memory: "64Mi" + limits: + cpu: "500m" + memory: "256Mi" + livenessProbe: + httpGet: + path: /health + port: 80 + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 3 + readinessProbe: + httpGet: + path: /ready + port: 80 + initialDelaySeconds: 5 + periodSeconds: 5 + timeoutSeconds: 3 + failureThreshold: 3 + startupProbe: + httpGet: + path: /health + port: 80 + initialDelaySeconds: 0 + periodSeconds: 5 + timeoutSeconds: 3 + failureThreshold: 30 + volumeMounts: + - name: nginx-conf + mountPath: /etc/nginx/nginx.conf + subPath: nginx.conf + readOnly: true + - name: nginx-cache + mountPath: /var/cache/nginx + - name: nginx-log + mountPath: /var/log/nginx volumes: - - name: nginx-conf - configMap: - name: nginx-conf - items: - - key: nginx.conf - path: nginx.conf - - name: nginx-html - configMap: - name: nginx-conf - items: - - key: default.html - path: index.html - - name: nginx-cache - emptyDir: {} - - name: nginx-log - emptyDir: {} - + - name: nginx-conf + configMap: + name: nginx-conf + items: + - key: nginx.conf + path: nginx.conf + - name: nginx-cache + emptyDir: {} + - name: nginx-log + emptyDir: {} restartPolicy: Always --- # 3. Service -kind: Service apiVersion: v1 +kind: Service metadata: name: nginx-service namespace: cpte-wms - creationTimestamp: '2026-03-16T11:55:00Z' labels: app: nginx spec: @@ -242,13 +246,6 @@ spec: nodePort: 30575 selector: app: nginx - clusterIP: 10.233.51.227 - clusterIPs: - - 10.233.51.227 type: NodePort sessionAffinity: None - externalTrafficPolicy: Cluster - ipFamilies: - - IPv4 - ipFamilyPolicy: SingleStack - internalTrafficPolicy: Cluster + externalTrafficPolicy: Cluster \ No newline at end of file diff --git a/k8s/manifests/redis.yaml b/k8s/manifests/redis.yaml index 54be11c..5405f76 100644 --- a/k8s/manifests/redis.yaml +++ b/k8s/manifests/redis.yaml @@ -251,7 +251,6 @@ apiVersion: v1 metadata: name: redis-service namespace: cpte-wms - creationTimestamp: '2026-03-16T10:47:03Z' labels: app: redis spec: @@ -260,16 +259,14 @@ spec: protocol: TCP port: 6379 targetPort: 6379 - nodePort: 30899 selector: app: redis clusterIP: 10.233.50.165 clusterIPs: - 10.233.50.165 - type: NodePort + type: ClusterIP sessionAffinity: None - externalTrafficPolicy: Cluster ipFamilies: - IPv4 ipFamilyPolicy: SingleStack - internalTrafficPolicy: Cluster + internalTrafficPolicy: Cluster \ No newline at end of file diff --git a/k8s/services/basic-service.yaml b/k8s/services/basic-service.yaml index 391aec0..02a3b10 100644 --- a/k8s/services/basic-service.yaml +++ b/k8s/services/basic-service.yaml @@ -1,3 +1,286 @@ +# ===== 1. Secret - 应用敏感信息 ===== +kind: Secret +apiVersion: v1 +metadata: + name: cpte-wms-basic-secret + namespace: cpte-wms + annotations: + kubesphere.io/creator: admin + kubesphere.io/description: 基础服务 +type: Opaque +stringData: + MYSQL_HOST: "47.103.100.52" + MYSQL_PORT: "53306" + MYSQL_DATABASE: "cpte-wms" + MYSQL_USERNAME: "root" + MYSQL_PASSWORD: "Youchain@56" + REDIS_HOST: "redis-service" + REDIS_PORT: "6379" + REDIS_PASSWORD: "cpte@123" + MAIL_HOST: "smtp.163.com" + MAIL_USERNAME: "cpteos@163.com" + MAIL_PASSWORD: "cpte@123" + DRUID_LOGIN_PASSWORD: "cpte@123" + SIGNATURE_SECRET: "dd05f1c54d63749eda95f9fa6d49v442a" +--- +# ===== 2. ConfigMap - 应用配置文件(修复 Shiro 格式)===== +kind: ConfigMap +apiVersion: v1 +metadata: + name: cpte-wms-basic-conf + namespace: cpte-wms + annotations: + kubesphere.io/creator: admin + kubesphere.io/description: 基础服务配置文件 +data: + application.yml: | + server: + port: 8001 + tomcat: + max-swallow-size: -1 + error: + include-exception: true + include-stacktrace: ALWAYS + include-message: ALWAYS + servlet: + context-path: /cpte-wms-basic + compression: + enabled: true + min-response-size: 1024 + mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/* + + management: + endpoints: + web: + exposure: + include: health,info,prometheus,metrics + base-path: /actuator + endpoint: + health: + show-details: when_authorized + probes: + enabled: true + info: + enabled: true + prometheus: + enabled: true + security: + enabled: false + + spring: + application: + name: cpte-wms-basic + flyway: + enabled: false + clean-disabled: true + servlet: + multipart: + max-file-size: 10MB + max-request-size: 10MB + mail: + timeJobSend: false + host: ${MAIL_HOST} + username: ${MAIL_USERNAME} + password: ${MAIL_PASSWORD} + properties: + mail.smtp.timeout: 10000 + mail.smtp.connectiontimeout: 10000 + mail.smtp.writetimeout: 10000 + mail.smtp.auth: true + mail.smtp.ssl.enable: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + jpa: + open-in-view: false + aop: + proxy-target-class: true + freemarker: + suffix: .ftl + content-type: text/html + charset: UTF-8 + cache: false + prefer-file-system-access: false + template-loader-path: + - classpath:/templates + template_update_delay: 0 + mvc: + static-path-pattern: /** + pathmatch: + matching-strategy: ant_path_matcher + resource: + static-locations: classpath:/static/,classpath:/public/ + autoconfigure: + exclude: + - com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure + - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration + datasource: + druid: + stat-view-servlet: + enabled: true + loginUsername: admin + loginPassword: ${DRUID_LOGIN_PASSWORD} + web-stat-filter: + enabled: true + dynamic: + druid: + initial-size: 5 + min-idle: 5 + maxActive: 1000 + maxWait: 60000 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: SELECT 1 + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxPoolPreparedStatementPerConnectionSize: 20 + filters: stat,slf4j + wall: + selectWhereAlwayTrueCheck: false + stat: + slow-sql-millis: 5000 + merge-sql: true + datasource: + master: + url: jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DATABASE}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true + username: ${MYSQL_USERNAME} + password: ${MYSQL_PASSWORD} + driver-class-name: com.mysql.cj.jdbc.Driver + data: + redis: + database: 0 + host: ${REDIS_HOST} + port: ${REDIS_PORT} + password: ${REDIS_PASSWORD} + + mybatis-plus: + mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml,classpath*:org/cpte/**/xml/*Mapper.xml + global-config: + banner: false + db-config: + id-type: ASSIGN_ID + table-underline: true + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + call-setners-on-nulls: true + + minidao: + base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.* + + # ========== 关键修复:Shiro excludeUrls 改为单行 ========== + jeecg: + firewall: + dataSourceSafe: false + lowCodeMode: dev + signatureSecret: ${SIGNATURE_SECRET} + signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys,/sys/sendChangePwdSms,/sys/user/sendChangePhoneSms,/sys/sms,/desform/api/sendVerifyCode + uploadType: local + domainUrl: + pc: http://101.35.253.46:8001/cpte-wms-basic/sys/common/upload + app: http://101.35.253.46:8051 + path: + upload: /home/wms/upload + webapp: /home/wms/webapp + shiro: + excludeUrls: /test/cpteDemo/demo3,/test/cpteDemo/redisDemo/**,/bigscreen/category/**,/bigscreen/visual/**,/bigscreen/map/**,/jmreport/bigscreen2/**,/cpte-wms-basic/actuator/**,/actuator/** + oss: + accessKey: ?? + secretKey: ?? + endpoint: oss-cn-beijing.aliyuncs.com + bucketName: cptedev + sms-template: + signature: + templateCode: + SMS_175435174: + SMS_465391221: + SMS_175430166: + file-view-domain: http://fileview.cpte.com + minio: + minio_url: http://minio.cpte.com + minio_name: ?? + minio_pass: ?? + bucketName: otatest + jmreport: + saasMode: + firewall: + dataSourceSafe: false + lowCodeMode: dev + gao-de-api: + api-key: ?? + secret-key: ?? + redisson: + address: ${REDIS_HOST}:${REDIS_PORT} + password: ${REDIS_PASSWORD} + type: STANDALONE + enabled: true + baidu-api: + app-id: ?? + api-key: ?? + secret-key: ?? + + cas: + prefixUrl: http://cas.example.org:8443/cas + + logging: + level: + org.springframework.context.support.PostProcessorRegistrationDelegate: error + org.flywaydb: debug + org.jeecg.modules.system.mapper: info + org.jeecg.modules.demo.test.mapper: info + + knife4j: + enable: true + production: false + basic: + enable: false + username: cpte + password: cpte1314 + + justauth: + enabled: true + type: + GITHUB: + client-id: ?? + client-secret: ?? + redirect-uri: http://101.35.253.46:8000/cpte-wms/sys/thirdLogin/github/callback + WECHAT_ENTERPRISE: + client-id: ?? + client-secret: ?? + redirect-uri: http://101.35.253.46:8000/cpte-wms/sys/thirdLogin/wechat_enterprise/callback + agent-id: ?? + DINGTALK: + client-id: ?? + client-secret: ?? + redirect-uri: http://101.35.253.46:8000/cpte-wms/sys/thirdLogin/dingtalk/callback + WECHAT_OPEN: + client-id: ?? + client-secret: ?? + redirect-uri: http://101.35.253.46:8000/cpte-wms/sys/thirdLogin/wechat_open/callback + cache: + type: default + prefix: 'demo::' + timeout: 1h +--- +# ===== 3. PersistentVolumeClaim - 文件存储 ===== +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: cpte-wms-basic-data + namespace: cpte-wms + annotations: + kubesphere.io/creator: admin + kubesphere.io/description: 文件上传存储 +spec: + accessModes: + - ReadWriteOnce + storageClassName: local + resources: + requests: + storage: 10Gi +--- +# ===== 4. Deployment - 系统服务(修复探针路径)===== apiVersion: apps/v1 kind: Deployment metadata: @@ -5,8 +288,16 @@ metadata: namespace: cpte-wms labels: app: cpte-wms-basic + version: v1 + annotations: + kubesphere.io/description: "WMS-基础服务" spec: - replicas: 2 + replicas: 1 + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 1 + maxUnavailable: 0 selector: matchLabels: app: cpte-wms-basic @@ -14,79 +305,170 @@ spec: metadata: labels: app: cpte-wms-basic + version: v1 + annotations: + prometheus.io/scrape: "true" + prometheus.io/port: "8001" + prometheus.io/path: "/cpte-wms-basic/actuator/prometheus" spec: - initContainers: - - name: wait-for-mysql - image: busybox:1.36 - command: ['sh', '-c', 'until nc -z mysql-service 3306; do echo waiting for mysql; sleep 2; done;'] - - name: wait-for-redis - image: busybox:1.36 - command: ['sh', '-c', 'until nc -z redis-service 6379; do echo waiting for redis; sleep 2; done;'] containers: - - name: cpte-wms-basic - image: cpte-wms-basic:3.8.3 - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8001 - envFrom: - - configMapRef: - name: cpte-wms-config - - secretRef: - name: cpte-wms-secrets - env: - - name: SERVER_PORT - value: "8001" - - name: DB_URL - value: "jdbc:mysql://$(DB_HOST):$(DB_PORT)/$(DB_NAME)?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai" - - name: JAVA_OPTS - value: "$(JAVA_OPTS_SERVICES)" - resources: - requests: - memory: "256Mi" - cpu: "100m" - limits: - memory: "512Mi" - cpu: "500m" - volumeMounts: - - name: upload-path - mountPath: /data/upload - - name: logs-path - mountPath: /data/logs - livenessProbe: - httpGet: - path: /cpte-wms-basic/actuator/health - port: 8001 - initialDelaySeconds: 90 - periodSeconds: 30 - timeoutSeconds: 10 - failureThreshold: 3 - readinessProbe: - httpGet: - path: /cpte-wms-basic/actuator/health - port: 8001 - initialDelaySeconds: 45 - periodSeconds: 10 - timeoutSeconds: 5 - failureThreshold: 3 + - name: cpte-wms-basic + image: docker.io/library/cpte-wms-basic:1.0 + imagePullPolicy: IfNotPresent + ports: + - name: http + containerPort: 8001 + protocol: TCP + env: + - name: MYSQL_HOST + valueFrom: + secretKeyRef: + name: cpte-wms-basic-secret + key: MYSQL_HOST + - name: MYSQL_PORT + valueFrom: + secretKeyRef: + name: cpte-wms-basic-secret + key: MYSQL_PORT + - name: MYSQL_DATABASE + valueFrom: + secretKeyRef: + name: cpte-wms-basic-secret + key: MYSQL_DATABASE + - name: MYSQL_USERNAME + valueFrom: + secretKeyRef: + name: cpte-wms-basic-secret + key: MYSQL_USERNAME + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + name: cpte-wms-basic-secret + key: MYSQL_PASSWORD + - name: REDIS_HOST + valueFrom: + secretKeyRef: + name: cpte-wms-basic-secret + key: REDIS_HOST + - name: REDIS_PORT + valueFrom: + secretKeyRef: + name: cpte-wms-basic-secret + key: REDIS_PORT + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + name: cpte-wms-basic-secret + key: REDIS_PASSWORD + - name: MAIL_HOST + valueFrom: + secretKeyRef: + name: cpte-wms-basic-secret + key: MAIL_HOST + - name: MAIL_USERNAME + valueFrom: + secretKeyRef: + name: cpte-wms-basic-secret + key: MAIL_USERNAME + - name: MAIL_PASSWORD + valueFrom: + secretKeyRef: + name: cpte-wms-basic-secret + key: MAIL_PASSWORD + - name: DRUID_LOGIN_PASSWORD + valueFrom: + secretKeyRef: + name: cpte-wms-basic-secret + key: DRUID_LOGIN_PASSWORD + - name: SIGNATURE_SECRET + valueFrom: + secretKeyRef: + name: cpte-wms-basic-secret + key: SIGNATURE_SECRET + - name: JAVA_OPTS + value: "-Xms512m -Xmx2048m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/logs/heapdump.hprof" + resources: + requests: + cpu: "500m" + memory: "1Gi" + limits: + cpu: "2000m" + memory: "2Gi" + # ========== 关键修复 3: 探针路径 ========== + livenessProbe: + httpGet: + path: /cpte-wms-basic/actuator/health/liveness # ✅ 包含 context-path + port: 8001 + initialDelaySeconds: 180 + periodSeconds: 20 + timeoutSeconds: 10 + failureThreshold: 3 + readinessProbe: + httpGet: + path: /cpte-wms-basic/actuator/health/readiness # ✅ 包含 context-path + port: 8001 + initialDelaySeconds: 120 + periodSeconds: 15 + timeoutSeconds: 10 + failureThreshold: 3 + startupProbe: + httpGet: + path: /cpte-wms-basic/actuator/health/liveness # ✅ 包含 context-path + port: 8001 + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 90 + volumeMounts: + - name: cpte-wms-basic-conf + mountPath: /app/application.yml + subPath: application.yml + readOnly: true + - name: cpte-wms-basic-data + mountPath: /home/wms + - name: host-time + mountPath: /etc/localtime + readOnly: true + securityContext: + runAsNonRoot: false volumes: - - name: upload-path - emptyDir: {} - - name: logs-path - emptyDir: {} + - name: cpte-wms-basic-conf + configMap: + name: cpte-wms-basic-conf + items: + - key: application.yml + path: application.yml + - name: cpte-wms-basic-data + persistentVolumeClaim: + claimName: cpte-wms-basic-data + - name: host-time + hostPath: + path: /etc/localtime + type: File + restartPolicy: Always --- -apiVersion: v1 +# ===== 5. Service - ClusterIP 集群内访问 ===== kind: Service +apiVersion: v1 metadata: name: cpte-wms-basic namespace: cpte-wms labels: app: cpte-wms-basic spec: - type: ClusterIP ports: - - port: 8001 - targetPort: 8001 - protocol: TCP - name: http + - name: cpte-wms-basic + protocol: TCP + port: 8001 + targetPort: 8001 selector: app: cpte-wms-basic + clusterIP: 10.233.42.190 + clusterIPs: + - 10.233.42.190 + type: ClusterIP + sessionAffinity: None + ipFamilies: + - IPv4 + ipFamilyPolicy: SingleStack + internalTrafficPolicy: Cluster \ No newline at end of file diff --git a/k8s/services/inbound-service.yaml b/k8s/services/inbound-service.yaml index 2f74e68..46d9c20 100644 --- a/k8s/services/inbound-service.yaml +++ b/k8s/services/inbound-service.yaml @@ -1,3 +1,272 @@ +# ===== 1. Secret - 应用敏感信息 ===== +kind: Secret +apiVersion: v1 +metadata: + name: cpte-wms-inbound-secret + namespace: cpte-wms + annotations: + kubesphere.io/creator: admin + kubesphere.io/description: 入库服务 +type: Opaque +stringData: + MYSQL_HOST: "47.103.100.52" + MYSQL_PORT: "53306" + MYSQL_DATABASE: "cpte-wms" + MYSQL_USERNAME: "root" + MYSQL_PASSWORD: "Youchain@56" + REDIS_HOST: "redis-service" + REDIS_PORT: "6379" + REDIS_PASSWORD: "cpte@123" + MAIL_HOST: "smtp.163.com" + MAIL_USERNAME: "cpteos@163.com" + MAIL_PASSWORD: "cpte@123" + DRUID_LOGIN_PASSWORD: "cpte@123" + SIGNATURE_SECRET: "dd05f1c54d63749eda95f9fa6d49v442a" +--- +# ===== 2. ConfigMap - 应用配置文件(修复 Shiro 格式)===== +kind: ConfigMap +apiVersion: v1 +metadata: + name: cpte-wms-inbound-conf + namespace: cpte-wms + annotations: + kubesphere.io/creator: admin + kubesphere.io/description: 基础服务配置文件 +data: + application.yml: | + server: + port: 8002 + tomcat: + max-swallow-size: -1 + error: + include-exception: true + include-stacktrace: ALWAYS + include-message: ALWAYS + servlet: + context-path: /cpte-wms-inbound + compression: + enabled: true + min-response-size: 1024 + mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/* + + management: + endpoints: + web: + exposure: + include: health,info,prometheus,metrics + base-path: /actuator + endpoint: + health: + show-details: when_authorized + probes: + enabled: true + info: + enabled: true + prometheus: + enabled: true + security: + enabled: false + + spring: + application: + name: cpte-wms-inbound + flyway: + enabled: false + clean-disabled: true + servlet: + multipart: + max-file-size: 10MB + max-request-size: 10MB + mail: + timeJobSend: false + host: ${MAIL_HOST} + username: ${MAIL_USERNAME} + password: ${MAIL_PASSWORD} + properties: + mail.smtp.timeout: 10000 + mail.smtp.connectiontimeout: 10000 + mail.smtp.writetimeout: 10000 + mail.smtp.auth: true + mail.smtp.ssl.enable: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + jpa: + open-in-view: false + aop: + proxy-target-class: true + freemarker: + suffix: .ftl + content-type: text/html + charset: UTF-8 + cache: false + prefer-file-system-access: false + template-loader-path: + - classpath:/templates + template_update_delay: 0 + mvc: + static-path-pattern: /** + pathmatch: + matching-strategy: ant_path_matcher + resource: + static-locations: classpath:/static/,classpath:/public/ + autoconfigure: + exclude: + - com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure + - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration + datasource: + druid: + stat-view-servlet: + enabled: true + loginUsername: admin + loginPassword: ${DRUID_LOGIN_PASSWORD} + web-stat-filter: + enabled: true + dynamic: + druid: + initial-size: 5 + min-idle: 5 + maxActive: 1000 + maxWait: 60000 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: SELECT 1 + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxPoolPreparedStatementPerConnectionSize: 20 + filters: stat,slf4j + wall: + selectWhereAlwayTrueCheck: false + stat: + slow-sql-millis: 5000 + merge-sql: true + datasource: + master: + url: jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DATABASE}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true + username: ${MYSQL_USERNAME} + password: ${MYSQL_PASSWORD} + driver-class-name: com.mysql.cj.jdbc.Driver + data: + redis: + database: 0 + host: ${REDIS_HOST} + port: ${REDIS_PORT} + password: ${REDIS_PASSWORD} + + mybatis-plus: + mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml,classpath*:org/cpte/**/xml/*Mapper.xml + global-config: + banner: false + db-config: + id-type: ASSIGN_ID + table-underline: true + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + call-setners-on-nulls: true + + minidao: + base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.* + + # ========== 关键修复:Shiro excludeUrls 改为单行 ========== + jeecg: + firewall: + dataSourceSafe: false + lowCodeMode: dev + signatureSecret: ${SIGNATURE_SECRET} + signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys,/sys/sendChangePwdSms,/sys/user/sendChangePhoneSms,/sys/sms,/desform/api/sendVerifyCode + uploadType: local + domainUrl: + pc: http://101.35.253.46:8002/cpte-wms-inbound/sys/common/upload + app: http://101.35.253.46:8051 + path: + upload: /home/wms/upload + webapp: /home/wms/webapp + shiro: + excludeUrls: /test/cpteDemo/demo3,/test/cpteDemo/redisDemo/**,/bigscreen/category/**,/bigscreen/visual/**,/bigscreen/map/**,/jmreport/bigscreen2/**,/cpte-wms-inbound/actuator/**,/actuator/** + oss: + accessKey: ?? + secretKey: ?? + endpoint: oss-cn-beijing.aliyuncs.com + bucketName: cptedev + sms-template: + signature: + templateCode: + SMS_175435174: + SMS_465391221: + SMS_175430166: + file-view-domain: http://fileview.cpte.com + minio: + minio_url: http://minio.cpte.com + minio_name: ?? + minio_pass: ?? + bucketName: otatest + jmreport: + saasMode: + firewall: + dataSourceSafe: false + lowCodeMode: dev + gao-de-api: + api-key: ?? + secret-key: ?? + redisson: + address: ${REDIS_HOST}:${REDIS_PORT} + password: ${REDIS_PASSWORD} + type: STANDALONE + enabled: true + baidu-api: + app-id: ?? + api-key: ?? + secret-key: ?? + + cas: + prefixUrl: http://cas.example.org:8443/cas + + logging: + level: + org.springframework.context.support.PostProcessorRegistrationDelegate: error + org.flywaydb: debug + org.jeecg.modules.system.mapper: info + org.jeecg.modules.demo.test.mapper: info + + knife4j: + enable: true + production: false + basic: + enable: false + username: cpte + password: cpte1314 + + # ========== 修复 Feign 配置 ========== + feign: + client: + wms-basic: + url: http://cpte-wms-basic:8001/cpte-wms-basic + config: + default: + connectTimeout: 5000 + readTimeout: 10000 + loggerLevel: INFO +--- +# ===== 3. PersistentVolumeClaim - 文件存储 ===== +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: cpte-wms-inbound-data + namespace: cpte-wms + annotations: + kubesphere.io/creator: admin + kubesphere.io/description: 文件上传存储 +spec: + accessModes: + - ReadWriteOnce + storageClassName: local + resources: + requests: + storage: 10Gi +--- +# ===== 4. Deployment - 系统服务(修复探针路径)===== apiVersion: apps/v1 kind: Deployment metadata: @@ -5,8 +274,16 @@ metadata: namespace: cpte-wms labels: app: cpte-wms-inbound + version: v1 + annotations: + kubesphere.io/description: "WMS-入库服务" spec: - replicas: 2 + replicas: 1 + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 1 + maxUnavailable: 0 selector: matchLabels: app: cpte-wms-inbound @@ -14,75 +291,172 @@ spec: metadata: labels: app: cpte-wms-inbound + version: v1 + annotations: + prometheus.io/scrape: "true" + prometheus.io/port: "8002" + prometheus.io/path: "/cpte-wms-inbound/actuator/prometheus" spec: - initContainers: - - name: wait-for-mysql - image: busybox:1.36 - command: ['sh', '-c', 'until nc -z mysql-service 3306; do echo waiting for mysql; sleep 2; done;'] - - name: wait-for-redis - image: busybox:1.36 - command: ['sh', '-c', 'until nc -z redis-service 6379; do echo waiting for redis; sleep 2; done;'] containers: - - name: cpte-wms-inbound - image: cpte-wms-inbound:3.8.3 - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8002 - envFrom: - - configMapRef: - name: cpte-wms-config - - secretRef: - name: cpte-wms-secrets - env: - - name: SERVER_PORT - value: "8002" - - name: DB_URL - value: "jdbc:mysql://$(DB_HOST):$(DB_PORT)/$(DB_NAME)?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai" - - name: JAVA_OPTS - value: "$(JAVA_OPTS_SERVICES)" - resources: - requests: - memory: "256Mi" - cpu: "100m" - limits: - memory: "512Mi" - cpu: "500m" - volumeMounts: - - name: logs-path - mountPath: /data/logs - livenessProbe: - httpGet: - path: /actuator/health - port: 8002 - initialDelaySeconds: 90 - periodSeconds: 30 - timeoutSeconds: 10 - failureThreshold: 3 - readinessProbe: - httpGet: - path: /actuator/health - port: 8002 - initialDelaySeconds: 45 - periodSeconds: 10 - timeoutSeconds: 5 - failureThreshold: 3 + - name: cpte-wms-inbound + image: docker.io/library/cpte-wms-inbound:2.0 + imagePullPolicy: IfNotPresent + ports: + - name: http + containerPort: 8002 + protocol: TCP + env: + - name: MYSQL_HOST + valueFrom: + secretKeyRef: + name: cpte-wms-inbound-secret + key: MYSQL_HOST + - name: MYSQL_PORT + valueFrom: + secretKeyRef: + name: cpte-wms-inbound-secret + key: MYSQL_PORT + - name: MYSQL_DATABASE + valueFrom: + secretKeyRef: + name: cpte-wms-inbound-secret + key: MYSQL_DATABASE + - name: MYSQL_USERNAME + valueFrom: + secretKeyRef: + name: cpte-wms-inbound-secret + key: MYSQL_USERNAME + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + name: cpte-wms-inbound-secret + key: MYSQL_PASSWORD + - name: REDIS_HOST + valueFrom: + secretKeyRef: + name: cpte-wms-inbound-secret + key: REDIS_HOST + - name: REDIS_PORT + valueFrom: + secretKeyRef: + name: cpte-wms-inbound-secret + key: REDIS_PORT + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + name: cpte-wms-inbound-secret + key: REDIS_PASSWORD + - name: MAIL_HOST + valueFrom: + secretKeyRef: + name: cpte-wms-inbound-secret + key: MAIL_HOST + - name: MAIL_USERNAME + valueFrom: + secretKeyRef: + name: cpte-wms-inbound-secret + key: MAIL_USERNAME + - name: MAIL_PASSWORD + valueFrom: + secretKeyRef: + name: cpte-wms-inbound-secret + key: MAIL_PASSWORD + - name: DRUID_LOGIN_PASSWORD + valueFrom: + secretKeyRef: + name: cpte-wms-inbound-secret + key: DRUID_LOGIN_PASSWORD + - name: SIGNATURE_SECRET + valueFrom: + secretKeyRef: + name: cpte-wms-inbound-secret + key: SIGNATURE_SECRET + - name: JAVA_OPTS + value: "-Xms512m -Xmx2048m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/logs/heapdump.hprof" + resources: + requests: + cpu: "500m" + memory: "1Gi" + limits: + cpu: "2000m" + memory: "2Gi" + # ========== 关键修复 3: 探针路径 ========== + livenessProbe: + httpGet: + path: /cpte-wms-inbound/actuator/health/liveness # ✅ 包含 context-path + port: 8002 + initialDelaySeconds: 180 + periodSeconds: 20 + timeoutSeconds: 10 + failureThreshold: 3 + readinessProbe: + httpGet: + path: /cpte-wms-inbound/actuator/health/readiness # ✅ 包含 context-path + port: 8002 + initialDelaySeconds: 120 + periodSeconds: 15 + timeoutSeconds: 10 + failureThreshold: 3 + startupProbe: + httpGet: + path: /cpte-wms-inbound/actuator/health/liveness # ✅ 包含 context-path + port: 8002 + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 90 + volumeMounts: + - name: cpte-wms-inbound-conf + mountPath: /app/application.yml + subPath: application.yml + readOnly: true + - name: cpte-wms-inbound-data + mountPath: /home/wms + - name: host-time + mountPath: /etc/localtime + readOnly: true + securityContext: + runAsNonRoot: false volumes: - - name: logs-path - emptyDir: {} + - name: cpte-wms-inbound-conf + configMap: + name: cpte-wms-inbound-conf + items: + - key: application.yml + path: application.yml + - name: cpte-wms-inbound-data + persistentVolumeClaim: + claimName: cpte-wms-inbound-data + - name: host-time + hostPath: + path: /etc/localtime + type: File + restartPolicy: Always --- -apiVersion: v1 +# ===== 5. Service - ClusterIP 集群内访问 ===== kind: Service +apiVersion: v1 metadata: name: cpte-wms-inbound namespace: cpte-wms labels: app: cpte-wms-inbound + annotations: spec: - type: ClusterIP ports: - - port: 8002 - targetPort: 8002 - protocol: TCP - name: http + - name: cpte-wms-inbound + protocol: TCP + port: 8002 + targetPort: 8002 selector: app: cpte-wms-inbound + clusterIP: 10.233.51.195 + clusterIPs: + - 10.233.51.195 + type: ClusterIP + sessionAffinity: None + ipFamilies: + - IPv4 + ipFamilyPolicy: SingleStack + internalTrafficPolicy: Cluster + diff --git a/k8s/services/inventory-service.yaml b/k8s/services/inventory-service.yaml index 2e63f10..6d6be11 100644 --- a/k8s/services/inventory-service.yaml +++ b/k8s/services/inventory-service.yaml @@ -1,88 +1,207 @@ -apiVersion: apps/v1 -kind: Deployment +# ===== 1. Secret - 库存服务认证信息 ===== +kind: Secret +apiVersion: v1 metadata: - name: cpte-wms-inventory + name: inventory-service-secret namespace: cpte-wms - labels: - app: cpte-wms-inventory -spec: - replicas: 2 - selector: - matchLabels: - app: cpte-wms-inventory - template: - metadata: - labels: - app: cpte-wms-inventory - spec: - initContainers: - - name: wait-for-mysql - image: busybox:1.36 - command: ['sh', '-c', 'until nc -z mysql-service 3306; do echo waiting for mysql; sleep 2; done;'] - - name: wait-for-redis - image: busybox:1.36 - command: ['sh', '-c', 'until nc -z redis-service 6379; do echo waiting for redis; sleep 2; done;'] - containers: - - name: cpte-wms-inventory - image: cpte-wms-inventory:3.8.3 - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8004 - envFrom: - - configMapRef: - name: cpte-wms-config - - secretRef: - name: cpte-wms-secrets - env: - - name: SERVER_PORT - value: "8004" - - name: DB_URL - value: "jdbc:mysql://$(DB_HOST):$(DB_PORT)/$(DB_NAME)?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai" - - name: JAVA_OPTS - value: "$(JAVA_OPTS_SERVICES)" - resources: - requests: - memory: "256Mi" - cpu: "100m" - limits: - memory: "512Mi" - cpu: "500m" - volumeMounts: - - name: logs-path - mountPath: /data/logs - livenessProbe: - httpGet: - path: /actuator/health - port: 8004 - initialDelaySeconds: 90 - periodSeconds: 30 - timeoutSeconds: 10 - failureThreshold: 3 - readinessProbe: - httpGet: - path: /actuator/health - port: 8004 - initialDelaySeconds: 45 - periodSeconds: 10 - timeoutSeconds: 5 - failureThreshold: 3 - volumes: - - name: logs-path - emptyDir: {} + annotations: + kubesphere.io/creator: admin + kubesphere.io/description: 库存服务认证信息 +data: + DB_USERNAME: cm9vdA== + DB_PASSWORD: Y3B0ZUAxMjM= + REDIS_PASSWORD: Y3B0ZUAxMjM= + SWAGGER_USERNAME: Y3B0ZV9hZG1pbg== + SWAGGER_PASSWORD: Y3B0ZV9zZWN1cmVfMjAyNA== + SIGNATURE_SECRET: ZGQwNWYxYzU0ZDYzNzQ5ZWRhOTVmOWZhNmQ0OXY0NDJh +type: Opaque + --- +# ===== 2. ConfigMap - 库存服务环境变量配置 ===== +kind: ConfigMap +apiVersion: v1 +metadata: + name: inventory-service-config + namespace: cpte-wms + annotations: + kubesphere.io/creator: admin + kubesphere.io/description: 库存服务环境变量配置 +data: + SPRING_PROFILES_ACTIVE: "k8s" + TZ: "Asia/Shanghai" + JAVA_OPTS: "-Xms256m -Xmx512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200" + MYSQL_HOST: "mysql-service" + MYSQL_PORT: "3306" + MYSQL_DATABASE: "cpte-wms" + REDIS_HOST: "redis-service" + REDIS_PORT: "6379" + SERVER_PORT: "8004" + CONTEXT_PATH: "/cpte-wms-inventory" + +--- +# ===== 3. Service - 库存服务 ===== apiVersion: v1 kind: Service metadata: - name: cpte-wms-inventory + name: inventory-service namespace: cpte-wms labels: - app: cpte-wms-inventory + app: inventory-service + service: cpte-wms-inventory spec: type: ClusterIP - ports: - - port: 8004 - targetPort: 8004 - protocol: TCP - name: http selector: - app: cpte-wms-inventory + app: inventory-service + ports: + - name: http + port: 8004 + targetPort: 8004 + protocol: TCP + +--- +# ===== 4. Deployment - 库存服务 ===== +apiVersion: apps/v1 +kind: Deployment +metadata: + name: inventory-service + namespace: cpte-wms + labels: + app: inventory-service + service: cpte-wms-inventory + annotations: + kubesphere.io/description: "库存服务 - SpringBoot 微服务" +spec: + replicas: 1 + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 1 + maxUnavailable: 0 + selector: + matchLabels: + app: inventory-service + template: + metadata: + labels: + app: inventory-service + version: v1 + annotations: + prometheus.io/scrape: "true" + prometheus.io/port: "8004" + prometheus.io/path: "/cpte-wms-inventory/actuator/prometheus" + spec: + containers: + - name: inventory-service + image: cpte-registry/cpte-wms-inventory:latest + imagePullPolicy: IfNotPresent + command: ["java"] + args: + - "-Xms256m" + - "-Xmx512m" + - "-XX:+UseG1GC" + - "-XX:MaxGCPauseMillis=200" + - "-Dspring.profiles.active=k8s" + - "-Dserver.port=8004" + - "-Dserver.servlet.context-path=/cpte-wms-inventory" + - "-jar" + - "/app/app.jar" + ports: + - containerPort: 8004 + name: http + protocol: TCP + env: + - name: SPRING_PROFILES_ACTIVE + valueFrom: + configMapKeyRef: + name: inventory-service-config + key: SPRING_PROFILES_ACTIVE + - name: TZ + valueFrom: + configMapKeyRef: + name: inventory-service-config + key: TZ + - name: DB_USERNAME + valueFrom: + secretKeyRef: + name: inventory-service-secret + key: DB_USERNAME + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + name: inventory-service-secret + key: DB_PASSWORD + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + name: inventory-service-secret + key: REDIS_PASSWORD + - name: MYSQL_HOST + valueFrom: + configMapKeyRef: + name: inventory-service-config + key: MYSQL_HOST + - name: MYSQL_PORT + valueFrom: + configMapKeyRef: + name: inventory-service-config + key: MYSQL_PORT + - name: MYSQL_DATABASE + valueFrom: + configMapKeyRef: + name: inventory-service-config + key: MYSQL_DATABASE + - name: REDIS_HOST + valueFrom: + configMapKeyRef: + name: inventory-service-config + key: REDIS_HOST + - name: REDIS_PORT + valueFrom: + configMapKeyRef: + name: inventory-service-config + key: REDIS_PORT + volumeMounts: + - name: inventory-logs + mountPath: /data/logs + - name: host-time + mountPath: /etc/localtime + readOnly: true + livenessProbe: + httpGet: + path: /cpte-wms-inventory/actuator/health + port: 8004 + initialDelaySeconds: 90 + periodSeconds: 20 + timeoutSeconds: 10 + failureThreshold: 3 + readinessProbe: + httpGet: + path: /cpte-wms-inventory/actuator/health + port: 8004 + initialDelaySeconds: 45 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 3 + startupProbe: + httpGet: + path: /cpte-wms-inventory/actuator/health + port: 8004 + initialDelaySeconds: 0 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 30 + resources: + requests: + memory: "256Mi" + cpu: "100m" + limits: + memory: "1Gi" + cpu: "500m" + volumes: + - name: inventory-logs + emptyDir: {} + - name: host-time + hostPath: + path: /etc/localtime + type: File + restartPolicy: Always diff --git a/k8s/services/outbound-service.yaml b/k8s/services/outbound-service.yaml index 7c8f6f8..6323ff5 100644 --- a/k8s/services/outbound-service.yaml +++ b/k8s/services/outbound-service.yaml @@ -1,88 +1,207 @@ -apiVersion: apps/v1 -kind: Deployment +# ===== 1. Secret - 出库服务认证信息 ===== +kind: Secret +apiVersion: v1 metadata: - name: cpte-wms-outbound + name: outbound-service-secret namespace: cpte-wms - labels: - app: cpte-wms-outbound -spec: - replicas: 2 - selector: - matchLabels: - app: cpte-wms-outbound - template: - metadata: - labels: - app: cpte-wms-outbound - spec: - initContainers: - - name: wait-for-mysql - image: busybox:1.36 - command: ['sh', '-c', 'until nc -z mysql-service 3306; do echo waiting for mysql; sleep 2; done;'] - - name: wait-for-redis - image: busybox:1.36 - command: ['sh', '-c', 'until nc -z redis-service 6379; do echo waiting for redis; sleep 2; done;'] - containers: - - name: cpte-wms-outbound - image: cpte-wms-outbound:3.8.3 - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8003 - envFrom: - - configMapRef: - name: cpte-wms-config - - secretRef: - name: cpte-wms-secrets - env: - - name: SERVER_PORT - value: "8003" - - name: DB_URL - value: "jdbc:mysql://$(DB_HOST):$(DB_PORT)/$(DB_NAME)?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai" - - name: JAVA_OPTS - value: "$(JAVA_OPTS_SERVICES)" - resources: - requests: - memory: "256Mi" - cpu: "100m" - limits: - memory: "512Mi" - cpu: "500m" - volumeMounts: - - name: logs-path - mountPath: /data/logs - livenessProbe: - httpGet: - path: /actuator/health - port: 8003 - initialDelaySeconds: 90 - periodSeconds: 30 - timeoutSeconds: 10 - failureThreshold: 3 - readinessProbe: - httpGet: - path: /actuator/health - port: 8003 - initialDelaySeconds: 45 - periodSeconds: 10 - timeoutSeconds: 5 - failureThreshold: 3 - volumes: - - name: logs-path - emptyDir: {} + annotations: + kubesphere.io/creator: admin + kubesphere.io/description: 出库服务认证信息 +data: + DB_USERNAME: cm9vdA== + DB_PASSWORD: Y3B0ZUAxMjM= + REDIS_PASSWORD: Y3B0ZUAxMjM= + SWAGGER_USERNAME: Y3B0ZV9hZG1pbg== + SWAGGER_PASSWORD: Y3B0ZV9zZWN1cmVfMjAyNA== + SIGNATURE_SECRET: ZGQwNWYxYzU0ZDYzNzQ5ZWRhOTVmOWZhNmQ0OXY0NDJh +type: Opaque + --- +# ===== 2. ConfigMap - 出库服务环境变量配置 ===== +kind: ConfigMap +apiVersion: v1 +metadata: + name: outbound-service-config + namespace: cpte-wms + annotations: + kubesphere.io/creator: admin + kubesphere.io/description: 出库服务环境变量配置 +data: + SPRING_PROFILES_ACTIVE: "k8s" + TZ: "Asia/Shanghai" + JAVA_OPTS: "-Xms256m -Xmx512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200" + MYSQL_HOST: "mysql-service" + MYSQL_PORT: "3306" + MYSQL_DATABASE: "cpte-wms" + REDIS_HOST: "redis-service" + REDIS_PORT: "6379" + SERVER_PORT: "8003" + CONTEXT_PATH: "/cpte-wms-outbound" + +--- +# ===== 3. Service - 出库服务 ===== apiVersion: v1 kind: Service metadata: - name: cpte-wms-outbound + name: outbound-service namespace: cpte-wms labels: - app: cpte-wms-outbound + app: outbound-service + service: cpte-wms-outbound spec: type: ClusterIP - ports: - - port: 8003 - targetPort: 8003 - protocol: TCP - name: http selector: - app: cpte-wms-outbound + app: outbound-service + ports: + - name: http + port: 8003 + targetPort: 8003 + protocol: TCP + +--- +# ===== 4. Deployment - 出库服务 ===== +apiVersion: apps/v1 +kind: Deployment +metadata: + name: outbound-service + namespace: cpte-wms + labels: + app: outbound-service + service: cpte-wms-outbound + annotations: + kubesphere.io/description: "出库服务 - SpringBoot 微服务" +spec: + replicas: 1 + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 1 + maxUnavailable: 0 + selector: + matchLabels: + app: outbound-service + template: + metadata: + labels: + app: outbound-service + version: v1 + annotations: + prometheus.io/scrape: "true" + prometheus.io/port: "8003" + prometheus.io/path: "/cpte-wms-outbound/actuator/prometheus" + spec: + containers: + - name: outbound-service + image: cpte-registry/cpte-wms-outbound:latest + imagePullPolicy: IfNotPresent + command: ["java"] + args: + - "-Xms256m" + - "-Xmx512m" + - "-XX:+UseG1GC" + - "-XX:MaxGCPauseMillis=200" + - "-Dspring.profiles.active=k8s" + - "-Dserver.port=8003" + - "-Dserver.servlet.context-path=/cpte-wms-outbound" + - "-jar" + - "/app/app.jar" + ports: + - containerPort: 8003 + name: http + protocol: TCP + env: + - name: SPRING_PROFILES_ACTIVE + valueFrom: + configMapKeyRef: + name: outbound-service-config + key: SPRING_PROFILES_ACTIVE + - name: TZ + valueFrom: + configMapKeyRef: + name: outbound-service-config + key: TZ + - name: DB_USERNAME + valueFrom: + secretKeyRef: + name: outbound-service-secret + key: DB_USERNAME + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + name: outbound-service-secret + key: DB_PASSWORD + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + name: outbound-service-secret + key: REDIS_PASSWORD + - name: MYSQL_HOST + valueFrom: + configMapKeyRef: + name: outbound-service-config + key: MYSQL_HOST + - name: MYSQL_PORT + valueFrom: + configMapKeyRef: + name: outbound-service-config + key: MYSQL_PORT + - name: MYSQL_DATABASE + valueFrom: + configMapKeyRef: + name: outbound-service-config + key: MYSQL_DATABASE + - name: REDIS_HOST + valueFrom: + configMapKeyRef: + name: outbound-service-config + key: REDIS_HOST + - name: REDIS_PORT + valueFrom: + configMapKeyRef: + name: outbound-service-config + key: REDIS_PORT + volumeMounts: + - name: outbound-logs + mountPath: /data/logs + - name: host-time + mountPath: /etc/localtime + readOnly: true + livenessProbe: + httpGet: + path: /cpte-wms-outbound/actuator/health + port: 8003 + initialDelaySeconds: 90 + periodSeconds: 20 + timeoutSeconds: 10 + failureThreshold: 3 + readinessProbe: + httpGet: + path: /cpte-wms-outbound/actuator/health + port: 8003 + initialDelaySeconds: 45 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 3 + startupProbe: + httpGet: + path: /cpte-wms-outbound/actuator/health + port: 8003 + initialDelaySeconds: 0 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 30 + resources: + requests: + memory: "256Mi" + cpu: "100m" + limits: + memory: "1Gi" + cpu: "500m" + volumes: + - name: outbound-logs + emptyDir: {} + - name: host-time + hostPath: + path: /etc/localtime + type: File + restartPolicy: Always diff --git a/k8s/services/schedule-service.yaml b/k8s/services/schedule-service.yaml deleted file mode 100644 index 7e7be80..0000000 --- a/k8s/services/schedule-service.yaml +++ /dev/null @@ -1,88 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: cpte-wms-schedule - namespace: cpte-wms - labels: - app: cpte-wms-schedule -spec: - replicas: 1 - selector: - matchLabels: - app: cpte-wms-schedule - template: - metadata: - labels: - app: cpte-wms-schedule - spec: - initContainers: - - name: wait-for-mysql - image: busybox:1.36 - command: ['sh', '-c', 'until nc -z mysql-service 3306; do echo waiting for mysql; sleep 2; done;'] - - name: wait-for-redis - image: busybox:1.36 - command: ['sh', '-c', 'until nc -z redis-service 6379; do echo waiting for redis; sleep 2; done;'] - containers: - - name: cpte-wms-schedule - image: cpte-wms-schedule:3.8.3 - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8005 - envFrom: - - configMapRef: - name: cpte-wms-config - - secretRef: - name: cpte-wms-secrets - env: - - name: SERVER_PORT - value: "8005" - - name: DB_URL - value: "jdbc:mysql://$(DB_HOST):$(DB_PORT)/$(DB_NAME)?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai" - - name: JAVA_OPTS - value: "$(JAVA_OPTS_SERVICES)" - resources: - requests: - memory: "256Mi" - cpu: "100m" - limits: - memory: "512Mi" - cpu: "500m" - volumeMounts: - - name: logs-path - mountPath: /data/logs - livenessProbe: - httpGet: - path: /actuator/health - port: 8005 - initialDelaySeconds: 90 - periodSeconds: 30 - timeoutSeconds: 10 - failureThreshold: 3 - readinessProbe: - httpGet: - path: /actuator/health - port: 8005 - initialDelaySeconds: 45 - periodSeconds: 10 - timeoutSeconds: 5 - failureThreshold: 3 - volumes: - - name: logs-path - emptyDir: {} ---- -apiVersion: v1 -kind: Service -metadata: - name: cpte-wms-schedule - namespace: cpte-wms - labels: - app: cpte-wms-schedule -spec: - type: ClusterIP - ports: - - port: 8005 - targetPort: 8005 - protocol: TCP - name: http - selector: - app: cpte-wms-schedule diff --git a/k8s/services/system-service.yaml b/k8s/services/system-service.yaml index ce0e0a9..3a22261 100644 --- a/k8s/services/system-service.yaml +++ b/k8s/services/system-service.yaml @@ -1,3 +1,314 @@ +# ===== 1. Secret - 应用敏感信息 ===== +kind: Secret +apiVersion: v1 +metadata: + name: cpte-wms-system-secret + namespace: cpte-wms + annotations: + kubesphere.io/creator: admin + kubesphere.io/description: 系统服务 +type: Opaque +stringData: + MYSQL_HOST: "47.103.100.52" + MYSQL_PORT: "53306" + MYSQL_DATABASE: "cpte-wms" + MYSQL_USERNAME: "root" + MYSQL_PASSWORD: "Youchain@56" + REDIS_HOST: "redis-service" + REDIS_PORT: "6379" + REDIS_PASSWORD: "cpte@123" + MAIL_HOST: "smtp.163.com" + MAIL_USERNAME: "cpteos@163.com" + MAIL_PASSWORD: "cpte@123" + DRUID_LOGIN_PASSWORD: "cpte@123" + SIGNATURE_SECRET: "dd05f1c54d63749eda95f9fa6d49v442a" + +--- +# ===== 2. ConfigMap - 应用配置文件(修复 Shiro 格式)===== +kind: ConfigMap +apiVersion: v1 +metadata: + name: cpte-wms-system-conf + namespace: cpte-wms + annotations: + kubesphere.io/creator: admin + kubesphere.io/description: 系统服务配置文件 +data: + application.yml: | + server: + port: 8000 + tomcat: + max-swallow-size: -1 + error: + include-exception: true + include-stacktrace: ALWAYS + include-message: ALWAYS + servlet: + context-path: /cpte-wms + compression: + enabled: true + min-response-size: 1024 + mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/* + + management: + endpoints: + web: + exposure: + include: health,info,prometheus,metrics + base-path: /actuator + endpoint: + health: + show-details: when_authorized + probes: + enabled: true + info: + enabled: true + prometheus: + enabled: true + security: + enabled: false + + spring: + application: + name: cpte-wms-system + flyway: + enabled: false + clean-disabled: true + servlet: + multipart: + max-file-size: 10MB + max-request-size: 10MB + mail: + timeJobSend: false + host: ${MAIL_HOST} + username: ${MAIL_USERNAME} + password: ${MAIL_PASSWORD} + properties: + mail.smtp.timeout: 10000 + mail.smtp.connectiontimeout: 10000 + mail.smtp.writetimeout: 10000 + mail.smtp.auth: true + mail.smtp.ssl.enable: true + quartz: + job-store-type: jdbc + jdbc: + initialize-schema: embedded + auto-startup: true + startup-delay: 1s + overwrite-existing-jobs: true + properties: + org: + quartz: + scheduler: + instanceName: MyScheduler + instanceId: AUTO + jobStore: + class: org.springframework.scheduling.quartz.LocalDataSourceJobStore + driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate + tablePrefix: QRTZ_ + isClustered: true + misfireThreshold: 12000 + clusterCheckinInterval: 15000 + threadPool: + class: org.quartz.simpl.SimpleThreadPool + threadCount: 10 + threadPriority: 5 + threadsInheritContextClassLoaderOfInitializingThread: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + jpa: + open-in-view: false + aop: + proxy-target-class: true + freemarker: + suffix: .ftl + content-type: text/html + charset: UTF-8 + cache: false + prefer-file-system-access: false + template-loader-path: + - classpath:/templates + template_update_delay: 0 + mvc: + static-path-pattern: /** + pathmatch: + matching-strategy: ant_path_matcher + resource: + static-locations: classpath:/static/,classpath:/public/ + autoconfigure: + exclude: + - com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure + - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration + datasource: + druid: + stat-view-servlet: + enabled: true + loginUsername: admin + loginPassword: ${DRUID_LOGIN_PASSWORD} + web-stat-filter: + enabled: true + dynamic: + druid: + initial-size: 5 + min-idle: 5 + maxActive: 1000 + maxWait: 60000 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: SELECT 1 + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxPoolPreparedStatementPerConnectionSize: 20 + filters: stat,slf4j + wall: + selectWhereAlwayTrueCheck: false + stat: + slow-sql-millis: 5000 + merge-sql: true + datasource: + master: + url: jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DATABASE}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true + username: ${MYSQL_USERNAME} + password: ${MYSQL_PASSWORD} + driver-class-name: com.mysql.cj.jdbc.Driver + data: + redis: + database: 0 + host: ${REDIS_HOST} + port: ${REDIS_PORT} + password: ${REDIS_PASSWORD} + + mybatis-plus: + mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml,classpath*:org/cpte/**/xml/*Mapper.xml + global-config: + banner: false + db-config: + id-type: ASSIGN_ID + table-underline: true + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + call-setners-on-nulls: true + + minidao: + base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.* + + # ========== 关键修复:Shiro excludeUrls 改为单行 ========== + jeecg: + firewall: + dataSourceSafe: false + lowCodeMode: dev + signatureSecret: ${SIGNATURE_SECRET} + signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys,/sys/sendChangePwdSms,/sys/user/sendChangePhoneSms,/sys/sms,/desform/api/sendVerifyCode + uploadType: local + domainUrl: + pc: http://101.35.253.46:8000/cpte-wms/sys/common/upload + app: http://101.35.253.46:8051 + path: + upload: /home/wms/upload + webapp: /home/wms/webapp + shiro: + excludeUrls: /test/cpteDemo/demo3,/test/cpteDemo/redisDemo/**,/bigscreen/category/**,/bigscreen/visual/**,/bigscreen/map/**,/jmreport/bigscreen2/**,/cpte-wms/actuator/**,/actuator/** + oss: + accessKey: ?? + secretKey: ?? + endpoint: oss-cn-beijing.aliyuncs.com + bucketName: cptedev + sms-template: + signature: + templateCode: + SMS_175435174: + SMS_465391221: + SMS_175430166: + file-view-domain: http://fileview.cpte.com + minio: + minio_url: http://minio.cpte.com + minio_name: ?? + minio_pass: ?? + bucketName: otatest + jmreport: + saasMode: + firewall: + dataSourceSafe: false + lowCodeMode: dev + gao-de-api: + api-key: ?? + secret-key: ?? + redisson: + address: ${REDIS_HOST}:${REDIS_PORT} + password: ${REDIS_PASSWORD} + type: STANDALONE + enabled: true + baidu-api: + app-id: ?? + api-key: ?? + secret-key: ?? + + cas: + prefixUrl: http://cas.example.org:8443/cas + + logging: + level: + org.springframework.context.support.PostProcessorRegistrationDelegate: error + org.flywaydb: debug + org.jeecg.modules.system.mapper: info + org.jeecg.modules.demo.test.mapper: info + + knife4j: + enable: true + production: false + basic: + enable: false + username: cpte + password: cpte1314 + + justauth: + enabled: true + type: + GITHUB: + client-id: ?? + client-secret: ?? + redirect-uri: http://101.35.253.46:8000/cpte-wms/sys/thirdLogin/github/callback + WECHAT_ENTERPRISE: + client-id: ?? + client-secret: ?? + redirect-uri: http://101.35.253.46:8000/cpte-wms/sys/thirdLogin/wechat_enterprise/callback + agent-id: ?? + DINGTALK: + client-id: ?? + client-secret: ?? + redirect-uri: http://101.35.253.46:8000/cpte-wms/sys/thirdLogin/dingtalk/callback + WECHAT_OPEN: + client-id: ?? + client-secret: ?? + redirect-uri: http://101.35.253.46:8000/cpte-wms/sys/thirdLogin/wechat_open/callback + cache: + type: default + prefix: 'demo::' + timeout: 1h + +--- +# ===== 3. PersistentVolumeClaim - 文件存储 ===== +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: cpte-wms-system-data + namespace: cpte-wms + annotations: + kubesphere.io/creator: admin + kubesphere.io/description: 文件上传存储 +spec: + accessModes: + - ReadWriteOnce + storageClassName: local + resources: + requests: + storage: 10Gi + +--- +# ===== 4. Deployment - 系统服务(修复探针路径)===== apiVersion: apps/v1 kind: Deployment metadata: @@ -5,8 +316,16 @@ metadata: namespace: cpte-wms labels: app: cpte-wms-system + version: v1 + annotations: + kubesphere.io/description: "WMS-系统服务" spec: - replicas: 2 + replicas: 1 + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 1 + maxUnavailable: 0 selector: matchLabels: app: cpte-wms-system @@ -14,81 +333,171 @@ spec: metadata: labels: app: cpte-wms-system + version: v1 + annotations: + prometheus.io/scrape: "true" + prometheus.io/port: "8000" + prometheus.io/path: "/cpte-wms/actuator/prometheus" spec: - initContainers: - - name: wait-for-mysql - image: busybox:1.36 - command: ['sh', '-c', 'until nc -z mysql-service 3306; do echo waiting for mysql; sleep 2; done;'] - - name: wait-for-redis - image: busybox:1.36 - command: ['sh', '-c', 'until nc -z redis-service 6379; do echo waiting for redis; sleep 2; done;'] containers: - - name: cpte-wms-system - image: cpte-wms-system:3.8.3 - imagePullPolicy: IfNotPresent - ports: - - containerPort: 8000 - envFrom: - - configMapRef: - name: cpte-wms-config - - secretRef: - name: cpte-wms-secrets - env: - - name: SERVER_PORT - value: "8000" - - name: DB_URL - value: "jdbc:mysql://$(DB_HOST):$(DB_PORT)/$(DB_NAME)?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai" - resources: - requests: - memory: "512Mi" - cpu: "250m" - limits: - memory: "1Gi" - cpu: "1000m" - volumeMounts: - - name: upload-path - mountPath: /data/upload - - name: webapp-path - mountPath: /data/webapp - - name: logs-path - mountPath: /data/logs - livenessProbe: - httpGet: - path: /cpte-wms/actuator/health - port: 8000 - initialDelaySeconds: 120 - periodSeconds: 30 - timeoutSeconds: 10 - failureThreshold: 3 - readinessProbe: - httpGet: - path: /cpte-wms/actuator/health - port: 8000 - initialDelaySeconds: 60 - periodSeconds: 10 - timeoutSeconds: 5 - failureThreshold: 3 + - name: cpte-wms-system + image: docker.io/library/cpte-wms-system:1.0 + imagePullPolicy: IfNotPresent + ports: + - name: http + containerPort: 8000 + protocol: TCP + env: + - name: MYSQL_HOST + valueFrom: + secretKeyRef: + name: cpte-wms-system-secret + key: MYSQL_HOST + - name: MYSQL_PORT + valueFrom: + secretKeyRef: + name: cpte-wms-system-secret + key: MYSQL_PORT + - name: MYSQL_DATABASE + valueFrom: + secretKeyRef: + name: cpte-wms-system-secret + key: MYSQL_DATABASE + - name: MYSQL_USERNAME + valueFrom: + secretKeyRef: + name: cpte-wms-system-secret + key: MYSQL_USERNAME + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + name: cpte-wms-system-secret + key: MYSQL_PASSWORD + - name: REDIS_HOST + valueFrom: + secretKeyRef: + name: cpte-wms-system-secret + key: REDIS_HOST + - name: REDIS_PORT + valueFrom: + secretKeyRef: + name: cpte-wms-system-secret + key: REDIS_PORT + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + name: cpte-wms-system-secret + key: REDIS_PASSWORD + - name: MAIL_HOST + valueFrom: + secretKeyRef: + name: cpte-wms-system-secret + key: MAIL_HOST + - name: MAIL_USERNAME + valueFrom: + secretKeyRef: + name: cpte-wms-system-secret + key: MAIL_USERNAME + - name: MAIL_PASSWORD + valueFrom: + secretKeyRef: + name: cpte-wms-system-secret + key: MAIL_PASSWORD + - name: DRUID_LOGIN_PASSWORD + valueFrom: + secretKeyRef: + name: cpte-wms-system-secret + key: DRUID_LOGIN_PASSWORD + - name: SIGNATURE_SECRET + valueFrom: + secretKeyRef: + name: cpte-wms-system-secret + key: SIGNATURE_SECRET + - name: JAVA_OPTS + value: "-Xms512m -Xmx2048m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/logs/heapdump.hprof" + resources: + requests: + cpu: "500m" + memory: "1Gi" + limits: + cpu: "2000m" + memory: "2Gi" + # ========== 关键修复 3: 探针路径 ========== + livenessProbe: + httpGet: + path: /cpte-wms/actuator/health/liveness # ✅ 包含 context-path + port: 8000 + initialDelaySeconds: 180 + periodSeconds: 20 + timeoutSeconds: 10 + failureThreshold: 3 + readinessProbe: + httpGet: + path: /cpte-wms/actuator/health/readiness # ✅ 包含 context-path + port: 8000 + initialDelaySeconds: 120 + periodSeconds: 15 + timeoutSeconds: 10 + failureThreshold: 3 + startupProbe: + httpGet: + path: /cpte-wms/actuator/health/liveness # ✅ 包含 context-path + port: 8000 + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 90 + volumeMounts: + - name: cpte-wms-system-conf + mountPath: /app/application.yml + subPath: application.yml + readOnly: true + - name: cpte-wms-system-data + mountPath: /home/wms + - name: host-time + mountPath: /etc/localtime + readOnly: true + securityContext: + runAsNonRoot: false volumes: - - name: upload-path - emptyDir: {} - - name: webapp-path - emptyDir: {} - - name: logs-path - emptyDir: {} + - name: cpte-wms-system-conf + configMap: + name: cpte-wms-system-conf + items: + - key: application.yml + path: application.yml + - name: cpte-wms-system-data + persistentVolumeClaim: + claimName: cpte-wms-system-data + - name: host-time + hostPath: + path: /etc/localtime + type: File + restartPolicy: Always + --- -apiVersion: v1 +# ===== 5. Service - ClusterIP 集群内访问 ===== kind: Service +apiVersion: v1 metadata: name: cpte-wms-system namespace: cpte-wms labels: app: cpte-wms-system spec: - type: ClusterIP ports: - - port: 8000 - targetPort: 8000 - protocol: TCP - name: http + - name: http + protocol: TCP + port: 8000 + targetPort: 8000 selector: app: cpte-wms-system + clusterIP: 10.233.44.59 + clusterIPs: + - 10.233.44.59 + type: ClusterIP + sessionAffinity: None + ipFamilies: + - IPv4 + ipFamilyPolicy: SingleStack + internalTrafficPolicy: Cluster \ No newline at end of file diff --git a/sql/cpte-wms.sql b/sql/cpte-wms.sql new file mode 100644 index 0000000..20a302a --- /dev/null +++ b/sql/cpte-wms.sql @@ -0,0 +1,3116 @@ +/* + Navicat Premium Dump SQL + + Source Server : 友仓 + Source Server Type : MySQL + Source Server Version : 50725 (5.7.25-log) + Source Host : 47.103.100.52:53306 + Source Schema : cpte-wms + + Target Server Type : MySQL + Target Server Version : 50725 (5.7.25-log) + File Encoding : 65001 + + Date: 20/03/2026 09:51:45 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for airag_app +-- ---------------------------- +DROP TABLE IF EXISTS `airag_app`; +CREATE TABLE `airag_app` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '租户id', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '应用名称', + `descr` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '应用描述', + `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '应用图标', + `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '应用类型', + `prologue` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '开场白', + `prompt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '提示词', + `model_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '模型id', + `knowledge_ids` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '知识库', + `flow_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '流程', + `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '状态(enable=启用、disable=禁用、release=发布)', + `msg_num` int(11) NULL DEFAULT NULL COMMENT '历史消息数', + `metadata` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '元数据', + `preset_question` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '预设问题', + `quick_command` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '快捷指令', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for airag_flow +-- ---------------------------- +DROP TABLE IF EXISTS `airag_flow`; +CREATE TABLE `airag_flow` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '租户id', + `application_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '应用名称', + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', + `descr` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '描述', + `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '应用图标', + `chain` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '编排规则', + `design` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '编排设计', + `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '状态(enable=启用、disable=禁用、release=发布)', + `metadata` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '元数据', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for airag_knowledge +-- ---------------------------- +DROP TABLE IF EXISTS `airag_knowledge`; +CREATE TABLE `airag_knowledge` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '租户id', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '知识库名称', + `descr` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '描述', + `embed_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '向量模型id', + `status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '状态', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for airag_knowledge_doc +-- ---------------------------- +DROP TABLE IF EXISTS `airag_knowledge_doc`; +CREATE TABLE `airag_knowledge_doc` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '租户id', + `knowledge_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '知识库id', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '标题', + `type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '类型', + `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '内容', + `status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '状态', + `metadata` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '元数据', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for airag_model +-- ---------------------------- +DROP TABLE IF EXISTS `airag_model`; +CREATE TABLE `airag_model` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '租户id', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', + `provider` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '供应者', + `model_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '模型名称', + `credential` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '凭证信息', + `base_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'API域名', + `model_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '模型类型', + `model_params` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '模型参数', + `activate_flag` int(11) NULL DEFAULT NULL COMMENT '是否激活(1=是,0=否)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for base_area +-- ---------------------------- +DROP TABLE IF EXISTS `base_area`; +CREATE TABLE `base_area` ( + `id` bigint(20) NOT NULL, + `area_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '库区编码', + `area_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '库区名称', + `description` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + `del_flag` int(11) NULL DEFAULT NULL COMMENT '删除状态:0未删除、1删除', + `iz_active` int(11) NULL DEFAULT NULL COMMENT '是否启用', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户ID', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_area_code`(`area_code`) USING BTREE, + INDEX `idx_area_name`(`area_name`) USING BTREE, + INDEX `idx_area_iz_active`(`iz_active`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for base_item +-- ---------------------------- +DROP TABLE IF EXISTS `base_item`; +CREATE TABLE `base_item` ( + `id` bigint(20) NOT NULL, + `item_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编码', + `item_name` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料名称', + `unit` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '单位', + `description` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + `iz_active` int(11) NULL DEFAULT NULL COMMENT '是否启用:0禁用,1启用', + `del_flag` int(11) NULL DEFAULT NULL COMMENT '是否删除:0未删除,1删除', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户ID', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_item_code`(`item_code`) USING BTREE, + INDEX `idx_item_iz_active`(`iz_active`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for base_item_key +-- ---------------------------- +DROP TABLE IF EXISTS `base_item_key`; +CREATE TABLE `base_item_key` ( + `id` bigint(20) NOT NULL, + `item_id` bigint(20) NULL DEFAULT NULL COMMENT '物料', + `wh_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '外部仓库', + `project` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号', + `task_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务号', + `prop_c1` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次号', + `prop_c3` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '外部库存状态', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户ID', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_ik_key`(`item_id`, `wh_code`, `project`, `task_no`, `prop_c1`, `prop_c3`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for base_point +-- ---------------------------- +DROP TABLE IF EXISTS `base_point`; +CREATE TABLE `base_point` ( + `id` bigint(20) NOT NULL, + `area_id` bigint(20) NULL DEFAULT NULL COMMENT '库区ID', + `point_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '库位编码', + `status` int(11) NULL DEFAULT NULL COMMENT '库位状态:0空闲,1占用', + `row_num` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '库位深度', + `col_num` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '列-巷道编号', + `layer_num` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '层', + `position_x` int(11) NULL DEFAULT NULL COMMENT '坐标X', + `position_y` int(11) NULL DEFAULT NULL COMMENT '坐标Y', + `iz_double_lane` int(11) NULL DEFAULT NULL COMMENT '是否双通道', + `description` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + `iz_active` int(11) NULL DEFAULT NULL COMMENT '是否启用:0禁用,1启用', + `del_flag` int(11) NULL DEFAULT NULL COMMENT '是否删除:0未删除,1删除', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '仓库ID', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `position_two_x` int(11) NULL DEFAULT NULL COMMENT '第二层坐标X', + `position_two_y` int(11) NULL DEFAULT NULL COMMENT '第二层坐标Y', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_point_code`(`point_code`) USING BTREE, + INDEX `idx_point_composite`(`point_code`, `status`, `area_id`) USING BTREE, + INDEX `idx_point_iz_active`(`iz_active`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for base_stock +-- ---------------------------- +DROP TABLE IF EXISTS `base_stock`; +CREATE TABLE `base_stock` ( + `id` bigint(20) NOT NULL, + `stock_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '容器编码', + `stock_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '容器类型', + `status` int(11) NULL DEFAULT NULL COMMENT '库位状态:0空闲,1占用', + `description` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + `del_flag` int(11) NULL DEFAULT NULL COMMENT '是否删除:0未删除,1删除', + `iz_active` int(11) NULL DEFAULT NULL COMMENT '是否启用:0禁用,1启用', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户ID', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_stock_code`(`stock_code`) USING BTREE, + INDEX `idx_stock_iz_active`(`iz_active`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for data_agv_task +-- ---------------------------- +DROP TABLE IF EXISTS `data_agv_task`; +CREATE TABLE `data_agv_task` ( + `id` bigint(20) NOT NULL, + `tes_id` bigint(20) NULL DEFAULT NULL COMMENT '上游ID', + `business_detail_id` bigint(20) NULL DEFAULT NULL COMMENT '业务ID', + `item_id` bigint(20) NULL DEFAULT NULL COMMENT '物料', + `con_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '柜号', + `carrier_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '载具编号', + `carrier_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '载具类型', + `task_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务类型', + `type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '目标类型', + `status` int(11) NULL DEFAULT NULL COMMENT '任务状态:1.已创建;2.执行中;3.已到达;4.已完成;5.已取消', + `priority` int(11) NULL DEFAULT NULL COMMENT '优先级', + `start_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '起点位置', + `end_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终点位置', + `agv_vendor` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'AGV供应商', + `iz_all` int(11) NULL DEFAULT NULL COMMENT '是否整托0整托,1拆托', + `res_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '返回报文', + `out_bin_time` datetime NULL DEFAULT NULL COMMENT '走出储位时间', + `start_time` datetime NULL DEFAULT NULL COMMENT '开始时间', + `end_time` datetime NULL DEFAULT NULL COMMENT '完成时间', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户ID', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_carrier_status_vendor`(`carrier_code`, `status`, `agv_vendor`) USING BTREE, + INDEX `idx_start_status_vendor`(`start_code`, `status`, `agv_vendor`) USING BTREE, + INDEX `idx_end_status_vendor`(`end_code`, `status`, `agv_vendor`) USING BTREE, + INDEX `idx_status_vendor`(`status`, `agv_vendor`) USING BTREE, + INDEX `idx_end_type_status_vendor_time`(`end_code`, `type`, `status`, `agv_vendor`, `create_time`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for data_asn +-- ---------------------------- +DROP TABLE IF EXISTS `data_asn`; +CREATE TABLE `data_asn` ( + `id` bigint(20) NOT NULL, + `order_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '入库单号', + `third_order_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '赛意单号', + `no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务号', + `wh_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '第三方仓代码', + `supplier_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '供应商代码', + `order_type` int(11) NULL DEFAULT NULL COMMENT '单据类型;0.成品入库;1.配件入库;2.成品拆托入库;3.配件拆托入库;4.成品出库;5.配件出库;6.返工出库;7.检验出库;8.其他出库', + `status` int(11) NULL DEFAULT NULL COMMENT '订单状态:1.已创建;2.部分收货;3.收货完成;4.已关闭、5.已取消', + `order_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '需求数量', + `received_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '收货数量', + `order_date` datetime NULL DEFAULT NULL COMMENT '订单日期', + `res_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '返回报文', + `res_time` datetime NULL DEFAULT NULL COMMENT '返回时间', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '仓库ID', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_asn_order_no`(`order_no`) USING BTREE, + UNIQUE INDEX `uk_asn_no`(`no`) USING BTREE, + INDEX `idx_asn_query`(`order_type`, `status`, `order_date`, `create_time`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for data_asn_detail +-- ---------------------------- +DROP TABLE IF EXISTS `data_asn_detail`; +CREATE TABLE `data_asn_detail` ( + `id` bigint(20) NOT NULL, + `asn_id` bigint(20) NULL DEFAULT NULL COMMENT '入库单ID', + `item_id` bigint(20) NULL DEFAULT NULL COMMENT '物料ID', + `stock_id` bigint(20) NULL DEFAULT NULL COMMENT '容器ID', + `from_point_id` bigint(20) NULL DEFAULT NULL COMMENT '起点', + `station_id` bigint(20) NULL DEFAULT NULL COMMENT '工作站点位', + `to_point_id` bigint(20) NULL DEFAULT NULL COMMENT '终点', + `line_no` int(11) NULL DEFAULT NULL COMMENT '行号', + `unit` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '单位', + `order_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '需求数量', + `received_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '收货数量', + `status` int(11) NULL DEFAULT NULL COMMENT '订单状态:1.已创建;2.部分收货;3.收货完成;4.已取消', + `project` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号', + `task_no` varbinary(500) NULL DEFAULT NULL COMMENT '任务号', + `prop_c1` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次号', + `prop_c2` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '序列号', + `prop_c3` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '库存状态', + `prop_c4` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '扩展字段', + `prop_d1` date NULL DEFAULT NULL COMMENT '生产日期', + `description` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `source_id` bigint(20) NULL DEFAULT NULL COMMENT '来源ID', + `source_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '来源', + `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '仓库ID', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_ad_asn_id`(`asn_id`) USING BTREE, + INDEX `idx_ad_stock_status`(`stock_id`, `status`) USING BTREE, + INDEX `idx_ad_asn_line_no`(`asn_id`, `line_no`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for data_count_detail +-- ---------------------------- +DROP TABLE IF EXISTS `data_count_detail`; +CREATE TABLE `data_count_detail` ( + `id` bigint(20) NOT NULL, + `count_plan_id` bigint(20) NULL DEFAULT NULL COMMENT '盘点ID', + `item_id` bigint(20) NULL DEFAULT NULL COMMENT '物料ID', + `stock_id` bigint(20) NULL DEFAULT NULL COMMENT '容器ID', + `point_id` bigint(20) NULL DEFAULT NULL COMMENT '库位ID', + `item_key_id` bigint(20) NULL DEFAULT NULL COMMENT '物料属性ID', + `agv_task_id` bigint(20) NULL DEFAULT NULL COMMENT 'AGVID', + `inventory_id` bigint(20) NULL DEFAULT NULL COMMENT '库存ID', + `inv_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '库存数量', + `count_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '盘点数量', + `plan_date` datetime NULL DEFAULT NULL COMMENT '盘点日期', + `count_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '盘点人', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` int(11) NULL DEFAULT NULL COMMENT '仓库ID', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for data_count_plan +-- ---------------------------- +DROP TABLE IF EXISTS `data_count_plan`; +CREATE TABLE `data_count_plan` ( + `id` bigint(20) NOT NULL, + `area_id` bigint(20) NULL DEFAULT NULL COMMENT '库区', + `order_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '盘点单号', + `count_type` int(11) NULL DEFAULT NULL COMMENT '盘点类型;0.按物料抽盘;1.按托盘抽盘', + `status` int(11) NULL DEFAULT NULL COMMENT '订单状态:1.已创建;2.已审核;3.盘点中;4.盘点完成、5.已取消、6.已关闭', + `plan_start_time` datetime NULL DEFAULT NULL COMMENT '计划开始时间', + `plan_end_time` datetime NULL DEFAULT NULL COMMENT '计划结束时间', + `auditor` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '审核人', + `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '盘点物料/盘点托盘', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` int(11) NULL DEFAULT NULL COMMENT '仓库ID', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for data_inventory +-- ---------------------------- +DROP TABLE IF EXISTS `data_inventory`; +CREATE TABLE `data_inventory` ( + `id` bigint(20) NOT NULL COMMENT 'ID', + `item_key_id` bigint(20) NULL DEFAULT NULL COMMENT '物料属性', + `item_id` bigint(20) NULL DEFAULT NULL COMMENT '物料ID', + `point_id` bigint(20) NULL DEFAULT NULL COMMENT '库位ID', + `stock_id` bigint(20) NULL DEFAULT NULL COMMENT '容器ID', + `quantity` decimal(10, 0) NULL DEFAULT NULL COMMENT '数量', + `queued_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '分配数', + `status` int(11) NULL DEFAULT NULL COMMENT '库存状态', + `order_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '赛意单号', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户ID', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_inv_stock_quantity`(`stock_id`, `quantity`) USING BTREE, + INDEX `idx_inv_query`(`status`, `item_id`, `quantity`) USING BTREE, + INDEX `idx_inv_ik`(`item_key_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '库存' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for data_inventory_log +-- ---------------------------- +DROP TABLE IF EXISTS `data_inventory_log`; +CREATE TABLE `data_inventory_log` ( + `id` bigint(20) NOT NULL, + `log_type` int(11) NULL DEFAULT NULL COMMENT '日志类型:1入库,2分配,3取消分配,4拣货,5退拣,6.出库,7库存调整,8库位转移,9盘点调整', + `business_no` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务单号', + `business_detail_id` bigint(20) NULL DEFAULT NULL COMMENT '业务明细ID', + `inventory_id` bigint(20) NULL DEFAULT NULL COMMENT '库存ID', + `item_id` bigint(20) NULL DEFAULT NULL COMMENT '物料ID', + `item_key_id` bigint(20) NULL DEFAULT NULL COMMENT '物料属性', + `from_point_id` bigint(20) NULL DEFAULT NULL COMMENT '原库位', + `to_point_id` bigint(20) NULL DEFAULT NULL COMMENT '目标库位', + `stock_id` bigint(20) NULL DEFAULT NULL COMMENT '容器ID', + `change_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '变动数量', + `before_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '变动前数量', + `after_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '变动后数量', + `before_allocated_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '变动前已分配数量', + `after_allocated_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '变动后已分配数量', + `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户ID', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_inv_log_item`(`item_id`) USING BTREE, + INDEX `idx_inv_log_point`(`from_point_id`) USING BTREE, + INDEX `idx_inv_log_stock`(`stock_id`) USING BTREE, + INDEX `idx_inv_log_type`(`log_type`) USING BTREE, + INDEX `idx_inv_business_no`(`business_no`) USING BTREE, + INDEX `idx_inv_create_time`(`create_time`) USING BTREE, + INDEX `idx_inv_business_detail_id`(`business_detail_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for data_pick +-- ---------------------------- +DROP TABLE IF EXISTS `data_pick`; +CREATE TABLE `data_pick` ( + `id` bigint(20) NOT NULL, + `con_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '柜号', + `order_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '出库单号', + `third_order_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '外部单号', + `no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务号', + `wh_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '外部仓库', + `customer_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户代码', + `order_type` int(11) NULL DEFAULT NULL COMMENT '单据类型;0.成品入库;1.配件入库;2.成品拆托入库;3.配件拆托入库;4.成品出库;5.配件出库;6.返工出库;7.检验出库;8.其他出库', + `status` int(11) NULL DEFAULT NULL COMMENT '订单状态:1.已创建;2.部分分配;3.已分配;4.拣货中;5.拣货完成;6.已关闭;7.已取消', + `priority` int(11) NULL DEFAULT 0 COMMENT '优先级 0:普通 1:加急 2:紧急', + `order_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '需求数量', + `allocated_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '分配数量', + `picked_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '拣货数量', + `order_date` datetime NULL DEFAULT NULL COMMENT '订单日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '仓库ID', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_pick_order_no`(`order_no`) USING BTREE, + UNIQUE INDEX `uk_pick_no`(`no`) USING BTREE, + INDEX `idx_pick_query`(`order_type`, `status`, `order_date`, `create_time`) USING BTREE, + INDEX `idx_con_no`(`con_no`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for data_pick_detail +-- ---------------------------- +DROP TABLE IF EXISTS `data_pick_detail`; +CREATE TABLE `data_pick_detail` ( + `id` bigint(20) NOT NULL, + `pick_id` bigint(20) NULL DEFAULT NULL COMMENT '出库单ID', + `stock_id` bigint(20) NULL DEFAULT NULL COMMENT '容器ID', + `item_id` bigint(20) NULL DEFAULT NULL COMMENT '物料ID', + `line_no` int(11) NULL DEFAULT NULL COMMENT '行号', + `unit` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '单位', + `project` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号', + `task_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务号', + `order_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '需求数量', + `allocated_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '分配数量', + `picked_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '拣货数量', + `status` int(11) NULL DEFAULT NULL COMMENT '订单状态:1.已创建;2.部分分配;3.已分配;4.拣货中;5.拣货完成;6.已关闭;7.已取消', + `prop_c1` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次号', + `prop_c2` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '序列号', + `prop_c3` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '外部库存状态', + `prop_c4` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '扩展字段', + `prop_d1` date NULL DEFAULT NULL COMMENT '生产日期', + `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `res_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '回传报文', + `res_time` datetime NULL DEFAULT NULL COMMENT '回传时间', + `source_id` bigint(20) NULL DEFAULT NULL COMMENT '来源ID', + `source_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '来源', + `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '仓库ID', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_pd_status`(`status`) USING BTREE, + INDEX `idx_pd_pickId`(`pick_id`) USING BTREE, + INDEX `idx_pick_line_no`(`pick_id`, `line_no`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for data_receive_record +-- ---------------------------- +DROP TABLE IF EXISTS `data_receive_record`; +CREATE TABLE `data_receive_record` ( + `id` bigint(20) NOT NULL, + `asn_id` bigint(20) NULL DEFAULT NULL COMMENT '入库单ID', + `asn_detail_id` bigint(20) NULL DEFAULT NULL COMMENT '入库明细ID', + `stock_id` bigint(20) NULL DEFAULT NULL COMMENT '容器ID', + `from_point_id` bigint(20) NULL DEFAULT NULL COMMENT '起点库位ID', + `to_point_id` bigint(20) NULL DEFAULT NULL COMMENT '终点库位ID', + `item_id` bigint(20) NULL DEFAULT NULL COMMENT '物料ID', + `item_key_id` bigint(20) NULL DEFAULT NULL COMMENT '物料属性ID', + `received_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '收货数量', + `description` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户ID', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_asnId`(`asn_id`) USING BTREE, + INDEX `idx_stockId`(`stock_id`) USING BTREE, + INDEX `idx_createTime`(`create_time`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for data_task +-- ---------------------------- +DROP TABLE IF EXISTS `data_task`; +CREATE TABLE `data_task` ( + `id` bigint(20) NOT NULL, + `task_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务编号', + `item_id` bigint(20) NULL DEFAULT NULL COMMENT '物料ID', + `item_key_id` bigint(20) NULL DEFAULT NULL COMMENT '物料属性ID', + `item_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编号', + `from_point_id` bigint(20) NULL DEFAULT NULL COMMENT '原库位', + `from_point_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '原库位编码', + `to_point_id` bigint(20) NULL DEFAULT NULL COMMENT '目标库位', + `to_point_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '目标库位编码', + `stock_id` bigint(20) NULL DEFAULT NULL COMMENT '容器', + `stock_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '容器编码', + `pick_id` bigint(20) NULL DEFAULT NULL COMMENT '出库单ID', + `pick_detail_id` bigint(20) NULL DEFAULT NULL COMMENT '出库明细ID', + `inventory_id` bigint(20) NULL DEFAULT NULL COMMENT '库存ID', + `agv_task_id` bigint(20) NULL DEFAULT NULL COMMENT 'AGVID', + `plan_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '计划数量', + `move_qty` decimal(10, 0) NULL DEFAULT NULL COMMENT '已完成数量', + `task_type` int(11) NULL DEFAULT NULL COMMENT '任务类型:1=拣货任务', + `task_status` int(11) NULL DEFAULT NULL COMMENT '任务状态:1=已创建,2=已完成,3=已取消', + `iz_all` int(11) NULL DEFAULT NULL COMMENT '是否整托0整托,1拆托', + `curr_out_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '移位类型:当前出库库位', + `start_time` datetime NULL DEFAULT NULL COMMENT '开始时间', + `complete_time` datetime NULL DEFAULT NULL COMMENT '完成时间', + `req_message` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '请求报文', + `res_message` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '响应内容', + `res_time` datetime NULL DEFAULT NULL COMMENT '回传时间', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '仓库ID', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_task_agvTaskId_create_time`(`agv_task_id`, `create_time`) USING BTREE, + INDEX `idx_agv_to_point_created`(`agv_task_id`, `to_point_id`, `create_time`) USING BTREE, + INDEX `idx_item_key`(`item_id`, `item_key_id`) USING BTREE, + INDEX `idx_pick_inv_agv`(`pick_id`, `pick_detail_id`, `inventory_id`, `agv_task_id`) USING BTREE, + INDEX `idx_status_createtime_pick`(`task_status`, `create_time`, `pick_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '任务表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for demo +-- ---------------------------- +DROP TABLE IF EXISTS `demo`; +CREATE TABLE `demo` ( + `id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键ID', + `name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名', + `key_word` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '关键词', + `punch_time` datetime NULL DEFAULT NULL COMMENT '打卡时间', + `salary_money` decimal(10, 3) NULL DEFAULT NULL COMMENT '工资', + `bonus_money` double(10, 2) NULL DEFAULT NULL COMMENT '奖金', + `sex` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '性别 {男:1,女:2}', + `age` int(11) NULL DEFAULT NULL COMMENT '年龄', + `birthday` date NULL DEFAULT NULL COMMENT '生日', + `email` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱', + `content` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '个人简介', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + `sys_org_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所属部门编码', + `tenant_id` int(11) NULL DEFAULT 0, + `update_count` int(11) NULL DEFAULT NULL COMMENT '乐观锁测试', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for flyway_schema_history +-- ---------------------------- +DROP TABLE IF EXISTS `flyway_schema_history`; +CREATE TABLE `flyway_schema_history` ( + `installed_rank` int(11) NOT NULL, + `version` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `description` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `script` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `checksum` int(11) NULL DEFAULT NULL, + `installed_by` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `installed_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `execution_time` int(11) NOT NULL, + `success` tinyint(1) NOT NULL, + PRIMARY KEY (`installed_rank`) USING BTREE, + INDEX `flyway_schema_history_s_idx`(`success`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for generator_sequence +-- ---------------------------- +DROP TABLE IF EXISTS `generator_sequence`; +CREATE TABLE `generator_sequence` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '业务类型,如RK、CK、PD', + `date_str` varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '日期字符串,格式为yyMMdd', + `current_seq` bigint(20) NOT NULL DEFAULT 1 COMMENT '当前流水号', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_biz_date`(`type`, `date_str`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 118 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for jeecg_order_customer +-- ---------------------------- +DROP TABLE IF EXISTS `jeecg_order_customer`; +CREATE TABLE `jeecg_order_customer` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键', + `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '客户名', + `sex` varchar(4) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '性别', + `idcard` varchar(18) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '身份证号码', + `idcard_pic` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '身份证扫描件', + `telphone` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '电话1', + `order_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '外键', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for jeecg_order_main +-- ---------------------------- +DROP TABLE IF EXISTS `jeecg_order_main`; +CREATE TABLE `jeecg_order_main` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键', + `order_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单号', + `ctype` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单类型', + `order_date` datetime NULL DEFAULT NULL COMMENT '订单日期', + `order_money` double(10, 3) NULL DEFAULT NULL COMMENT '订单金额', + `content` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单备注', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + `bpm_status` varchar(3) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '流程状态', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for jeecg_order_ticket +-- ---------------------------- +DROP TABLE IF EXISTS `jeecg_order_ticket`; +CREATE TABLE `jeecg_order_ticket` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键', + `ticket_code` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '航班号', + `tickect_date` datetime NULL DEFAULT NULL COMMENT '航班时间', + `order_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '外键', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for jimu_dict +-- ---------------------------- +DROP TABLE IF EXISTS `jimu_dict`; +CREATE TABLE `jimu_dict` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `dict_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '字典名称', + `dict_code` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '字典编码', + `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', + `del_flag` int(11) NULL DEFAULT NULL COMMENT '删除状态', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `type` int(1) UNSIGNED ZEROFILL NULL DEFAULT 0 COMMENT '字典类型0为string,1为number', + `tenant_id` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '多租户标识', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_sd_dict_code`(`dict_code`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for jimu_dict_item +-- ---------------------------- +DROP TABLE IF EXISTS `jimu_dict_item`; +CREATE TABLE `jimu_dict_item` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `dict_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字典id', + `item_text` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '字典项文本', + `item_value` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '字典项值', + `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', + `sort_order` int(11) NULL DEFAULT NULL COMMENT '排序', + `status` int(11) NULL DEFAULT NULL COMMENT '状态(1启用 0不启用)', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `create_time` datetime NULL DEFAULT NULL, + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `update_time` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_sdi_role_dict_id`(`dict_id`) USING BTREE, + INDEX `idx_sdi_role_sort_order`(`sort_order`) USING BTREE, + INDEX `idx_sdi_status`(`status`) USING BTREE, + INDEX `idx_sdi_dict_val`(`dict_id`, `item_value`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for jimu_report +-- ---------------------------- +DROP TABLE IF EXISTS `jimu_report`; +CREATE TABLE `jimu_report` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键', + `code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '编码', + `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名称', + `note` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '说明', + `status` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '状态', + `type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '类型', + `json_str` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT 'json字符串', + `api_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '请求地址', + `thumb` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '缩略图', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + `del_flag` tinyint(1) NULL DEFAULT NULL COMMENT '删除标识0-正常,1-已删除', + `api_method` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '请求方法0-get,1-post', + `api_code` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '请求编码', + `template` tinyint(1) NULL DEFAULT NULL COMMENT '是否是模板 0不是,1是', + `view_count` bigint(20) NULL DEFAULT 0 COMMENT '浏览次数', + `css_str` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT 'css增强', + `js_str` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT 'js增强', + `py_str` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT 'py增强', + `tenant_id` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '多租户标识', + `update_count` int(11) NULL DEFAULT 0 COMMENT '乐观锁版本', + `submit_form` tinyint(1) NULL DEFAULT NULL COMMENT '是否填报报表 0不是,1是', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uniq_jmreport_code`(`code`) USING BTREE, + INDEX `uniq_jmreport_createby`(`create_by`) USING BTREE, + INDEX `uniq_jmreport_delflag`(`del_flag`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '在线excel设计器' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for jimu_report_category +-- ---------------------------- +DROP TABLE IF EXISTS `jimu_report_category`; +CREATE TABLE `jimu_report_category` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分类名称', + `parent_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '父级id', + `iz_leaf` int(11) NULL DEFAULT NULL COMMENT '是否为叶子节点(0 否 1是)', + `source_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '来源类型( report 积木报表 screen 大屏 drag 仪表盘)', + `del_flag` int(11) NULL DEFAULT NULL COMMENT '删除标识(0 正常 1 已删除)', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` timestamp NULL DEFAULT NULL COMMENT '更新时间', + `tenant_id` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '租户id', + `sort_no` int(11) NULL DEFAULT NULL COMMENT '排序', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分类' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for jimu_report_data_source +-- ---------------------------- +DROP TABLE IF EXISTS `jimu_report_data_source`; +CREATE TABLE `jimu_report_data_source` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据源名称', + `report_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '报表_id', + `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编码', + `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `db_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据库类型', + `db_driver` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '驱动类', + `db_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据源地址', + `db_username` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名', + `db_password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `connect_times` int(11) NULL DEFAULT 0 COMMENT '连接失败次数', + `tenant_id` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '多租户标识', + `type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型(report:报表;drag:仪表盘)', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_jmdatasource_report_id`(`report_id`) USING BTREE, + INDEX `idx_jmdatasource_code`(`code`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for jimu_report_db +-- ---------------------------- +DROP TABLE IF EXISTS `jimu_report_db`; +CREATE TABLE `jimu_report_db` ( + `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'id', + `jimu_report_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '主键字段', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `db_code` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据集编码', + `db_ch_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据集名字', + `db_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据源类型', + `db_table_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据库表名', + `db_dyn_sql` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '动态查询SQL', + `db_key` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据源KEY', + `tb_db_key` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '填报数据源', + `tb_db_table_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '填报数据表', + `java_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'java类数据集 类型(spring:springkey,class:java类名)', + `java_value` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'java类数据源 数值(bean key/java类名)', + `api_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '请求地址', + `api_method` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '请求方法0-get,1-post', + `is_list` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '是否是列表0否1是 默认0', + `is_page` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否作为分页,0:不分页,1:分页', + `db_source` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据源', + `db_source_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据库类型 MYSQL ORACLE SQLSERVER', + `json_data` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT 'json数据,直接解析json内容', + `api_convert` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'api转换器', + `iz_shared_source` int(11) NULL DEFAULT NULL COMMENT '是否为共享数据源(0 否 1 是)', + `jimu_shared_source_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '指向共享数据集的id', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_jmreportdb_db_key`(`db_key`) USING BTREE, + INDEX `idx_jimu_report_id`(`jimu_report_id`) USING BTREE, + INDEX `idx_db_source_id`(`db_source`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for jimu_report_db_field +-- ---------------------------- +DROP TABLE IF EXISTS `jimu_report_db_field`; +CREATE TABLE `jimu_report_db_field` ( + `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'id', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `jimu_report_db_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据源ID', + `field_name` varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字段名', + `field_name_physics` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '物理字段名(文件数据集使用,存的是excel的字段标题)', + `field_text` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字段文本', + `widget_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '控件类型', + `widget_width` int(11) NULL DEFAULT NULL COMMENT '控件宽度', + `order_num` int(11) NULL DEFAULT NULL COMMENT '排序', + `search_flag` int(11) NULL DEFAULT 0 COMMENT '查询标识0否1是 默认0', + `search_mode` int(11) NULL DEFAULT NULL COMMENT '查询模式1简单2范围', + `dict_code` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字典编码支持从表中取数据', + `search_value` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查询默认值', + `search_format` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查询时间格式化表达式', + `ext_json` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '参数配置', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_jrdf_jimu_report_db_id`(`jimu_report_db_id`) USING BTREE, + INDEX `idx_dbfield_order_num`(`order_num`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for jimu_report_db_param +-- ---------------------------- +DROP TABLE IF EXISTS `jimu_report_db_param`; +CREATE TABLE `jimu_report_db_param` ( + `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `jimu_report_head_id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '动态报表ID', + `param_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '参数字段', + `param_txt` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参数文本', + `param_value` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参数默认值', + `order_num` int(11) NULL DEFAULT NULL COMMENT '排序', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `search_flag` int(11) NULL DEFAULT NULL COMMENT '查询标识0否1是 默认0', + `widget_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查询控件类型', + `search_mode` int(11) NULL DEFAULT NULL COMMENT '查询模式1简单2范围', + `dict_code` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字典', + `search_format` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查询时间格式化表达式', + `ext_json` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '参数配置', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_jrdp_jimu_report_head_id`(`jimu_report_head_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for jimu_report_export_job +-- ---------------------------- +DROP TABLE IF EXISTS `jimu_report_export_job`; +CREATE TABLE `jimu_report_export_job` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '任务名称', + `begin_time` datetime NULL DEFAULT NULL COMMENT '开始时间', + `end_time` datetime NULL DEFAULT NULL COMMENT '结束时间', + `exec_interval` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '执行频率', + `report_conf` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '导出报表配置', + `last_run_time` datetime NULL DEFAULT NULL COMMENT '最后执行时间', + `receiver_email` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '接收通知的邮件', + `file_sync_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '文件同步路径', + `status` int(11) NULL DEFAULT NULL COMMENT '状态(0:停止;1:启动)', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + `tenant_id` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '多租户标识', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '积木报表导出计划表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for jimu_report_export_log +-- ---------------------------- +DROP TABLE IF EXISTS `jimu_report_export_log`; +CREATE TABLE `jimu_report_export_log` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `batch_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次编号', + `export_channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '导出渠道', + `export_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '导出类型', + `report_id` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '报表id', + `download_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '下载路径', + `status` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `tenant_id` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '多租户标识', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '积木报表自动导出记录表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for jimu_report_icon_lib +-- ---------------------------- +DROP TABLE IF EXISTS `jimu_report_icon_lib`; +CREATE TABLE `jimu_report_icon_lib` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片名称', + `type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片类型', + `image_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '图片地址', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `tenant_id` int(11) NULL DEFAULT NULL COMMENT '租户id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '积木图库表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for jimu_report_link +-- ---------------------------- +DROP TABLE IF EXISTS `jimu_report_link`; +CREATE TABLE `jimu_report_link` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键id', + `report_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '积木设计器id', + `parameter` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '参数', + `eject_type` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '弹出方式(0 当前页面 1 新窗口)', + `link_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '链接名称', + `api_method` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方法0-get,1-post', + `link_type` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '链接方式(0 网络报表 1 网络连接 2 图表联动)', + `api_url` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '外网api', + `link_chart_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联动图表的ID', + `expression` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '表达式', + `requirement` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '条件', + PRIMARY KEY (`id`) USING BTREE, + INDEX `uniq_link_reportid`(`report_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '超链接配置表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for jimu_report_map +-- ---------------------------- +DROP TABLE IF EXISTS `jimu_report_map`; +CREATE TABLE `jimu_report_map` ( + `id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键', + `label` varchar(125) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地图名称', + `name` varchar(125) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地图编码', + `data` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '地图数据', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + `del_flag` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '0表示未删除,1表示删除', + `sys_org_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所属部门', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uniq_jmreport_map_name`(`name`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '地图配置表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for jimu_report_share +-- ---------------------------- +DROP TABLE IF EXISTS `jimu_report_share`; +CREATE TABLE `jimu_report_share` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `report_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '在线excel设计器id', + `preview_url` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '预览地址', + `preview_lock` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码锁', + `last_update_time` datetime NULL DEFAULT NULL COMMENT '最后更新时间', + `term_of_validity` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '有效期(0:永久有效,1:1天,2:7天)', + `status` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否过期(0未过期,1已过期)', + `preview_lock_status` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否为密码锁(0 否,1是)', + `share_token` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分享token', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uniq_report_id`(`report_id`) USING BTREE, + UNIQUE INDEX `uniq_jrs_report_id`(`report_id`) USING BTREE COMMENT '报表id唯一索引', + INDEX `idx_jrs_share_token`(`share_token`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '积木报表预览权限表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for joa_demo +-- ---------------------------- +DROP TABLE IF EXISTS `joa_demo`; +CREATE TABLE `joa_demo` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'ID', + `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '请假人', + `days` int(11) NULL DEFAULT NULL COMMENT '请假天数', + `begin_date` datetime NULL DEFAULT NULL COMMENT '开始时间', + `end_date` datetime NULL DEFAULT NULL COMMENT '请假结束时间', + `reason` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '请假原因', + `bpm_status` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '1' COMMENT '流程状态', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人id', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人id' +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '流程测试' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for oauth2_registered_client +-- ---------------------------- +DROP TABLE IF EXISTS `oauth2_registered_client`; +CREATE TABLE `oauth2_registered_client` ( + `id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `client_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `client_id_issued_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `client_secret` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `client_secret_expires_at` timestamp NULL DEFAULT NULL, + `client_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `client_authentication_methods` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `authorization_grant_types` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `redirect_uris` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `post_logout_redirect_uris` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `scopes` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `client_settings` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `token_settings` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_auth_data +-- ---------------------------- +DROP TABLE IF EXISTS `onl_auth_data`; +CREATE TABLE `onl_auth_data` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `cgform_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'online表ID', + `rule_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '规则名', + `rule_column` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '规则列', + `rule_operator` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '规则条件 大于小于like', + `rule_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '规则值', + `status` int(11) NULL DEFAULT NULL COMMENT '1有效 0无效', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_auth_page +-- ---------------------------- +DROP TABLE IF EXISTS `onl_auth_page`; +CREATE TABLE `onl_auth_page` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ' 主键', + `cgform_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'online表id', + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '字段名/按钮编码', + `type` int(11) NULL DEFAULT NULL COMMENT '1字段 2按钮', + `control` int(11) NULL DEFAULT NULL COMMENT '3可编辑 5可见(仅支持两种状态值3,5)', + `page` int(11) NULL DEFAULT NULL COMMENT '3列表 5表单(仅支持两种状态值3,5)', + `status` int(11) NULL DEFAULT NULL COMMENT '1有效 0无效', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_onl_auth_page_code`(`code`) USING BTREE, + INDEX `idx_onl_auth_page_cgform_id`(`cgform_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_auth_relation +-- ---------------------------- +DROP TABLE IF EXISTS `onl_auth_relation`; +CREATE TABLE `onl_auth_relation` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `role_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '角色id', + `auth_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限id', + `type` int(11) NULL DEFAULT NULL COMMENT '1字段 2按钮 3数据权限', + `cgform_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'online表单ID', + `auth_mode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '授权方式role角色,depart部门,user人', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_cgform_button +-- ---------------------------- +DROP TABLE IF EXISTS `onl_cgform_button`; +CREATE TABLE `onl_cgform_button` ( + `ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键ID', + `BUTTON_CODE` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '按钮编码', + `BUTTON_ICON` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '按钮图标', + `BUTTON_NAME` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '按钮名称', + `BUTTON_STATUS` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '按钮状态', + `BUTTON_STYLE` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '按钮样式', + `EXP` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '表达式', + `CGFORM_HEAD_ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '表单ID', + `OPT_TYPE` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '按钮类型', + `ORDER_NUM` int(11) NULL DEFAULT NULL COMMENT '排序', + `OPT_POSITION` varchar(3) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '按钮位置1侧面 2底部', + PRIMARY KEY (`ID`) USING BTREE, + INDEX `idx_ocb_CGFORM_HEAD_ID`(`CGFORM_HEAD_ID`) USING BTREE, + INDEX `idx_ocb_BUTTON_CODE`(`BUTTON_CODE`) USING BTREE, + INDEX `idx_ocb_BUTTON_STATUS`(`BUTTON_STATUS`) USING BTREE, + INDEX `idx_ocb_ORDER_NUM`(`ORDER_NUM`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'Online表单自定义按钮' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_cgform_enhance_java +-- ---------------------------- +DROP TABLE IF EXISTS `onl_cgform_enhance_java`; +CREATE TABLE `onl_cgform_enhance_java` ( + `ID` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `BUTTON_CODE` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '按钮编码', + `CG_JAVA_TYPE` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '类型', + `CG_JAVA_VALUE` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '数值', + `CGFORM_HEAD_ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '表单ID', + `ACTIVE_STATUS` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '1' COMMENT '生效状态', + `EVENT` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'end' COMMENT '事件状态(end:结束,start:开始)', + PRIMARY KEY (`ID`) USING BTREE, + INDEX `idx_ejava_cgform_head_id`(`CGFORM_HEAD_ID`) USING BTREE, + INDEX `idx_ocej_BUTTON_CODE`(`BUTTON_CODE`) USING BTREE, + INDEX `idx_ocej_ACTIVE_STATUS`(`ACTIVE_STATUS`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_cgform_enhance_js +-- ---------------------------- +DROP TABLE IF EXISTS `onl_cgform_enhance_js`; +CREATE TABLE `onl_cgform_enhance_js` ( + `ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键ID', + `CG_JS` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT 'JS增强内容', + `CG_JS_TYPE` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '类型', + `CONTENT` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', + `CGFORM_HEAD_ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '表单ID', + PRIMARY KEY (`ID`) USING BTREE, + INDEX `idx_ejs_cgform_head_id`(`CGFORM_HEAD_ID`) USING BTREE, + INDEX `idx_ejs_cg_js_type`(`CG_JS_TYPE`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_cgform_enhance_sql +-- ---------------------------- +DROP TABLE IF EXISTS `onl_cgform_enhance_sql`; +CREATE TABLE `onl_cgform_enhance_sql` ( + `ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键ID', + `BUTTON_CODE` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '按钮编码', + `CGB_SQL` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT 'SQL内容', + `CGB_SQL_NAME` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Sql名称', + `CONTENT` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', + `CGFORM_HEAD_ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '表单ID', + PRIMARY KEY (`ID`) USING BTREE, + INDEX `idx_oces_CGFORM_HEAD_ID`(`CGFORM_HEAD_ID`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_cgform_field +-- ---------------------------- +DROP TABLE IF EXISTS `onl_cgform_field`; +CREATE TABLE `onl_cgform_field` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键ID', + `cgform_head_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '表ID', + `db_field_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '字段名字', + `db_field_txt` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字段备注', + `db_field_name_old` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '原字段名', + `db_is_key` tinyint(1) NULL DEFAULT NULL COMMENT '是否主键 0否 1是', + `db_is_null` tinyint(1) NULL DEFAULT NULL COMMENT '是否允许为空0否 1是', + `db_is_persist` tinyint(1) NULL DEFAULT NULL COMMENT '是否需要同步数据库字段, 1是0否', + `db_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '数据库字段类型', + `db_length` int(11) NOT NULL COMMENT '数据库字段长度', + `db_point_length` int(11) NULL DEFAULT NULL COMMENT '小数点', + `db_default_val` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '表字段默认值', + `dict_field` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字典code', + `dict_table` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字典表', + `dict_text` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字典Text', + `field_show_type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '表单控件类型', + `field_href` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '跳转URL', + `field_length` int(11) NULL DEFAULT NULL COMMENT '表单控件长度', + `field_valid_type` varchar(300) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '表单字段校验规则', + `field_must_input` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字段是否必填', + `field_extend_json` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '扩展参数JSON', + `field_default_value` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '控件默认值,不同的表达式展示不同的结果。\r\n1. 纯字符串直接赋给默认值;\r\n2. #{普通变量};\r\n3. {{ 动态JS表达式 }};\r\n4. ${填值规则编码};\r\n填值规则表达式只允许存在一个,且不能和其他规则混用。', + `is_query` tinyint(1) NULL DEFAULT NULL COMMENT '是否查询条件0否 1是', + `is_show_form` tinyint(1) NULL DEFAULT NULL COMMENT '表单是否显示0否 1是', + `is_show_list` tinyint(1) NULL DEFAULT NULL COMMENT '列表是否显示0否 1是', + `is_read_only` tinyint(1) NULL DEFAULT 0 COMMENT '是否是只读(1是 0否)', + `query_mode` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查询模式', + `main_table` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '外键主表名', + `main_field` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '外键主键字段', + `order_num` int(11) NULL DEFAULT NULL COMMENT '排序', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `converter` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '自定义值转换器', + `query_def_val` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查询默认值', + `query_dict_text` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查询配置字典text', + `query_dict_field` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查询配置字典code', + `query_dict_table` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查询配置字典table', + `query_show_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查询显示控件', + `query_config_flag` varchar(3) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否启用查询配置1是0否', + `query_valid_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查询字段校验类型', + `query_must_input` varchar(3) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查询字段是否必填1是0否', + `sort_flag` varchar(3) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否支持排序1是0否', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_ocf_cgform_head_id`(`cgform_head_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_cgform_head +-- ---------------------------- +DROP TABLE IF EXISTS `onl_cgform_head`; +CREATE TABLE `onl_cgform_head` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键ID', + `table_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '表名', + `table_type` int(11) NOT NULL COMMENT '表类型: 0单表、1主表、2附表', + `table_version` int(11) NULL DEFAULT 1 COMMENT '表版本', + `table_txt` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '表说明', + `is_checkbox` varchar(5) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '是否带checkbox', + `is_db_synch` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '同步数据库状态', + `is_page` varchar(5) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '是否分页', + `is_tree` varchar(5) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '是否是树', + `id_sequence` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '主键生成序列', + `id_type` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '主键类型', + `query_mode` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查询模式', + `relation_type` int(11) NULL DEFAULT NULL COMMENT '映射关系 0一对多 1一对一', + `sub_table_str` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '子表', + `tab_order_num` int(11) NULL DEFAULT NULL COMMENT '附表排序序号', + `tree_parent_id_field` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '树形表单父id', + `tree_id_field` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '树表主键字段', + `tree_fieldname` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '树开表单列字段', + `form_category` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'bdfl_ptbd' COMMENT '表单分类', + `form_template` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'PC表单模板', + `form_template_mobile` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '表单模板样式(移动端)', + `scroll` int(11) NULL DEFAULT 0 COMMENT '是否有横向滚动条', + `copy_version` int(11) NULL DEFAULT NULL COMMENT '复制版本号', + `copy_type` int(11) NULL DEFAULT 0 COMMENT '复制表类型1为复制表 0为原始表', + `physic_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '原始表ID', + `ext_config_json` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '扩展JSON', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `theme_template` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '主题模板', + `is_des_form` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否用设计器表单', + `des_form_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '设计器表单编码', + `tenant_id` int(11) NULL DEFAULT 0 COMMENT '租户ID', + `low_app_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '关联的应用ID', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_och_cgform_head_id`(`table_name`) USING BTREE, + INDEX `idx_och_table_name`(`form_template`) USING BTREE, + INDEX `idx_och_form_template_mobile`(`form_template_mobile`) USING BTREE, + INDEX `idx_och_table_version`(`table_version`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_cgform_index +-- ---------------------------- +DROP TABLE IF EXISTS `onl_cgform_index`; +CREATE TABLE `onl_cgform_index` ( + `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键', + `cgform_head_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '主表id', + `index_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '索引名称', + `index_name_old` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '原索引名称', + `index_field` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '索引栏位', + `index_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '索引类型', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `is_db_synch` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'N' COMMENT '是否同步数据库 N未同步 Y已同步', + `del_flag` int(11) NULL DEFAULT 0 COMMENT '是否删除 0未删除 1删除', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_oci_cgform_head_id`(`cgform_head_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_cgreport_head +-- ---------------------------- +DROP TABLE IF EXISTS `onl_cgreport_head`; +CREATE TABLE `onl_cgreport_head` ( + `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `code` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '报表编码', + `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '报表名字', + `cgr_sql` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '报表SQL', + `return_val_field` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '返回值字段', + `return_txt_field` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '返回文本字段', + `return_type` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '1' COMMENT '返回类型,单选或多选', + `db_source` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '动态数据源', + `content` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', + `tenant_id` int(11) NULL DEFAULT 0 COMMENT '租户ID', + `low_app_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '关联的应用ID', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人id', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人id', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `index_onlinereport_code`(`code`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_cgreport_item +-- ---------------------------- +DROP TABLE IF EXISTS `onl_cgreport_item`; +CREATE TABLE `onl_cgreport_item` ( + `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `cgrhead_id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '报表ID', + `field_name` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '字段名字', + `field_txt` varchar(300) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字段文本', + `field_width` int(11) NULL DEFAULT NULL, + `field_type` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字段类型', + `search_mode` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查询模式', + `is_order` int(11) NULL DEFAULT 0 COMMENT '是否排序 0否,1是', + `is_search` int(11) NULL DEFAULT 0 COMMENT '是否查询 0否,1是', + `dict_code` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字典CODE', + `field_href` varchar(120) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字段跳转URL', + `is_show` int(11) NULL DEFAULT 1 COMMENT '是否显示 0否,1显示', + `order_num` int(11) NULL DEFAULT NULL COMMENT '排序', + `replace_val` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '取值表达式', + `is_total` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否合计 0否,1是(仅对数值有效)', + `group_title` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分组标题', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_oci_cgrhead_id`(`cgrhead_id`) USING BTREE, + INDEX `idx_oci_is_show`(`is_show`) USING BTREE, + INDEX `idx_oci_order_num`(`order_num`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_cgreport_param +-- ---------------------------- +DROP TABLE IF EXISTS `onl_cgreport_param`; +CREATE TABLE `onl_cgreport_param` ( + `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `cgrhead_id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '动态报表ID', + `param_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '参数字段', + `param_txt` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参数文本', + `param_value` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参数默认值', + `order_num` int(11) NULL DEFAULT NULL COMMENT '排序', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_ocp_cgrhead_id`(`cgrhead_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_drag_comp +-- ---------------------------- +DROP TABLE IF EXISTS `onl_drag_comp`; +CREATE TABLE `onl_drag_comp` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `parent_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `comp_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件名称', + `comp_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `icon` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图标', + `order_num` int(11) NULL DEFAULT NULL COMMENT '排序', + `type_id` int(11) NULL DEFAULT NULL COMMENT '组件类型', + `comp_config` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '组件配置', + `status` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '状态0:无效 1:有效', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '组件库' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_drag_dataset_head +-- ---------------------------- +DROP TABLE IF EXISTS `onl_drag_dataset_head`; +CREATE TABLE `onl_drag_dataset_head` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'id', + `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '名称', + `code` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '编码', + `parent_id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '父id', + `db_source` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '动态数据源', + `query_sql` varchar(5000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '查询数据SQL', + `content` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', + `iz_agent` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT 'iz_agent', + `data_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据类型', + `api_method` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'api方法:get/post', + `create_time` datetime NULL DEFAULT NULL, + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `update_time` datetime NULL DEFAULT NULL, + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `low_app_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '应用ID', + `tenant_id` int(11) NULL DEFAULT NULL COMMENT '租户ID', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_drag_dataset_item +-- ---------------------------- +DROP TABLE IF EXISTS `onl_drag_dataset_item`; +CREATE TABLE `onl_drag_dataset_item` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'id', + `head_id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主表ID', + `field_name` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字段名', + `field_txt` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字段文本', + `field_type` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字段类型', + `widget_type` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '控件类型', + `dict_code` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字典Code', + `dict_table` varchar(125) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `dict_text` varchar(125) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `iz_show` varchar(5) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否列表显示', + `iz_search` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否查询', + `iz_total` varchar(5) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否计算总计(仅对数值有效)', + `search_mode` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查询模式', + `order_num` int(11) NULL DEFAULT NULL COMMENT '排序', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_oddi_head_id`(`head_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_drag_dataset_param +-- ---------------------------- +DROP TABLE IF EXISTS `onl_drag_dataset_param`; +CREATE TABLE `onl_drag_dataset_param` ( + `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `head_id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '动态报表ID', + `param_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '参数字段', + `param_txt` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参数文本', + `param_value` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参数默认值', + `order_num` int(11) NULL DEFAULT NULL COMMENT '排序', + `iz_search` int(11) NULL DEFAULT NULL COMMENT '查询标识0否1是 默认0', + `widget_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查询控件类型', + `search_mode` int(11) NULL DEFAULT NULL COMMENT '查询模式1简单2范围', + `dict_code` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字典', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_oddp_head_id`(`head_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_drag_page +-- ---------------------------- +DROP TABLE IF EXISTS `onl_drag_page`; +CREATE TABLE `onl_drag_page` ( + `id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '界面名称', + `path` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '访问路径', + `background_color` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '背景色', + `background_image` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '背景图', + `design_type` int(11) NULL DEFAULT NULL COMMENT '设计模式(1:pc,2:手机,3:平板)', + `theme` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '主题色', + `style` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '面板主题', + `cover_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '封面图', + `des_json` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '仪表盘主配置JSON', + `template` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '布局json', + `protection_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '保护码', + `type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属分类', + `iz_template` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '是否模板(1:是;0不是)', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `low_app_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应用ID', + `tenant_id` int(11) NULL DEFAULT NULL COMMENT '租户ID', + `update_count` int(11) NULL DEFAULT 1, + `visits_num` int(11) NULL DEFAULT NULL COMMENT '访问次数', + `del_flag` int(11) NULL DEFAULT NULL COMMENT '删除状态( 0未删除 1已删除)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '可视化拖拽界面' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_drag_page_comp +-- ---------------------------- +DROP TABLE IF EXISTS `onl_drag_page_comp`; +CREATE TABLE `onl_drag_page_comp` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `parent_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '父组件ID', + `page_Id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '界面ID', + `comp_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件库ID', + `component` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件名称', + `config` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '组件配置', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '可视化拖拽页面组件' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_drag_share +-- ---------------------------- +DROP TABLE IF EXISTS `onl_drag_share`; +CREATE TABLE `onl_drag_share` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `drag_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '在线仪表盘设计器id', + `preview_url` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '预览地址', + `preview_lock` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码锁', + `last_update_time` datetime NULL DEFAULT NULL COMMENT '最后更新时间', + `term_of_validity` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '有效期(0:永久有效,1:1天,7:7天)', + `status` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否过期(0未过期,1已过期)', + `preview_lock_status` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否为密码锁(0 否,1是)', + `share_token` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分享token', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uniq_ods_drag_id`(`drag_id`) USING BTREE COMMENT '仪表盘id唯一索引' +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '仪表盘预览分享表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for onl_drag_table_relation +-- ---------------------------- +DROP TABLE IF EXISTS `onl_drag_table_relation`; +CREATE TABLE `onl_drag_table_relation` ( + `id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `aggregation_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '聚合表名称', + `aggregation_desc` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '聚合表描述', + `relation_forms` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '关联表单', + `filter_condition` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '过滤条件', + `header_fields` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '表头字段', + `calculate_fields` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '公式字段', + `validate_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '校验信息', + `del_flag` tinyint(1) NULL DEFAULT NULL COMMENT '删除状态(0-正常,1-已删除)', + `low_app_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应用ID', + `tenant_id` int(11) NULL DEFAULT NULL COMMENT '租户ID', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_aggregation_name`(`aggregation_name`) USING BTREE, + INDEX `idx_del_flag`(`del_flag`) USING BTREE, + INDEX `idx_tenant_id`(`tenant_id`) USING BTREE, + INDEX `idx_create_by`(`create_by`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '仪表盘聚合表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for open_api +-- ---------------------------- +DROP TABLE IF EXISTS `open_api`; +CREATE TABLE `open_api` ( + `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '接口名称', + `request_method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '请求方法', + `request_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '接口地址', + `black_list` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'IP 黑名单', + `body` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '请求体内容', + `origin_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '原始地址', + `status` int(11) NULL DEFAULT NULL COMMENT '状态', + `del_flag` int(11) NULL DEFAULT NULL COMMENT '删除标识', + `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + `headers_json` json NULL COMMENT '请求头json', + `params_json` json NULL COMMENT '请求参数json', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `request_url`(`request_url`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '接口表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for open_api_auth +-- ---------------------------- +DROP TABLE IF EXISTS `open_api_auth`; +CREATE TABLE `open_api_auth` ( + `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '授权名称', + `ak` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'AK', + `sk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'SK', + `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + `system_user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '关联系统用户名', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '权限表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for open_api_log +-- ---------------------------- +DROP TABLE IF EXISTS `open_api_log`; +CREATE TABLE `open_api_log` ( + `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `api_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '接口ID', + `call_auth_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '调用ID', + `call_time` datetime NULL DEFAULT NULL COMMENT '调用时间', + `used_time` bigint(20) NULL DEFAULT NULL COMMENT '耗时', + `response_time` datetime NULL DEFAULT NULL COMMENT '响应时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '调用记录表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for open_api_permission +-- ---------------------------- +DROP TABLE IF EXISTS `open_api_permission`; +CREATE TABLE `open_api_permission` ( + `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `api_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '接口ID', + `api_auth_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '认证ID', + `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'openapi授权' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for oss_file +-- ---------------------------- +DROP TABLE IF EXISTS `oss_file`; +CREATE TABLE `oss_file` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键id', + `file_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件名称', + `url` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件地址', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'Oss File' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for qrtz_blob_triggers +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_blob_triggers`; +CREATE TABLE `qrtz_blob_triggers` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_NAME` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `BLOB_DATA` blob NULL, + PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, + CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for qrtz_calendars +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_calendars`; +CREATE TABLE `qrtz_calendars` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `CALENDAR_NAME` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `CALENDAR` blob NOT NULL, + PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for qrtz_cron_triggers +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_cron_triggers`; +CREATE TABLE `qrtz_cron_triggers` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_NAME` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `CRON_EXPRESSION` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TIME_ZONE_ID` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, + CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for qrtz_fired_triggers +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_fired_triggers`; +CREATE TABLE `qrtz_fired_triggers` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `ENTRY_ID` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_NAME` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `INSTANCE_NAME` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `FIRED_TIME` bigint(20) NOT NULL, + `SCHED_TIME` bigint(20) NOT NULL, + `PRIORITY` int(11) NOT NULL, + `STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `JOB_NAME` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `JOB_GROUP` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for qrtz_job_details +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_job_details`; +CREATE TABLE `qrtz_job_details` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `JOB_NAME` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `JOB_GROUP` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `JOB_CLASS_NAME` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `IS_DURABLE` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `IS_UPDATE_DATA` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `JOB_DATA` blob NULL, + PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for qrtz_locks +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_locks`; +CREATE TABLE `qrtz_locks` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `LOCK_NAME` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for qrtz_paused_trigger_grps +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`; +CREATE TABLE `qrtz_paused_trigger_grps` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for qrtz_scheduler_state +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_scheduler_state`; +CREATE TABLE `qrtz_scheduler_state` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `INSTANCE_NAME` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `LAST_CHECKIN_TIME` bigint(20) NOT NULL, + `CHECKIN_INTERVAL` bigint(20) NOT NULL, + PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for qrtz_simple_triggers +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_simple_triggers`; +CREATE TABLE `qrtz_simple_triggers` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_NAME` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `REPEAT_COUNT` bigint(20) NOT NULL, + `REPEAT_INTERVAL` bigint(20) NOT NULL, + `TIMES_TRIGGERED` bigint(20) NOT NULL, + PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, + CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for qrtz_simprop_triggers +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_simprop_triggers`; +CREATE TABLE `qrtz_simprop_triggers` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_NAME` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `STR_PROP_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `STR_PROP_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `STR_PROP_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `INT_PROP_1` int(11) NULL DEFAULT NULL, + `INT_PROP_2` int(11) NULL DEFAULT NULL, + `LONG_PROP_1` bigint(20) NULL DEFAULT NULL, + `LONG_PROP_2` bigint(20) NULL DEFAULT NULL, + `DEC_PROP_1` decimal(13, 4) NULL DEFAULT NULL, + `DEC_PROP_2` decimal(13, 4) NULL DEFAULT NULL, + `BOOL_PROP_1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `BOOL_PROP_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, + CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for qrtz_triggers +-- ---------------------------- +DROP TABLE IF EXISTS `qrtz_triggers`; +CREATE TABLE `qrtz_triggers` ( + `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_NAME` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_GROUP` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `JOB_NAME` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `JOB_GROUP` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `NEXT_FIRE_TIME` bigint(20) NULL DEFAULT NULL, + `PREV_FIRE_TIME` bigint(20) NULL DEFAULT NULL, + `PRIORITY` int(11) NULL DEFAULT NULL, + `TRIGGER_STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `TRIGGER_TYPE` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `START_TIME` bigint(20) NOT NULL, + `END_TIME` bigint(20) NULL DEFAULT NULL, + `CALENDAR_NAME` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `MISFIRE_INSTR` smallint(6) NULL DEFAULT NULL, + `JOB_DATA` blob NULL, + PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, + INDEX `SCHED_NAME`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, + CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for rep_demo_dxtj +-- ---------------------------- +DROP TABLE IF EXISTS `rep_demo_dxtj`; +CREATE TABLE `rep_demo_dxtj` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '姓名', + `gtime` datetime NULL DEFAULT NULL COMMENT '雇佣日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '职务', + `jphone` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '家庭电话', + `birth` datetime NULL DEFAULT NULL COMMENT '出生日期', + `hukou` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '户口所在地', + `laddress` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联系地址', + `jperson` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '紧急联系人', + `sex` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'xingbie', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for rep_demo_employee +-- ---------------------------- +DROP TABLE IF EXISTS `rep_demo_employee`; +CREATE TABLE `rep_demo_employee` ( + `id` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键', + `num` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '编号', + `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名', + `sex` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '性别', + `birthday` datetime NULL DEFAULT NULL COMMENT '出生日期', + `nation` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '民族', + `political` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '政治面貌', + `native_place` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '籍贯', + `height` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '身高', + `weight` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '体重', + `health` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '健康状况', + `id_card` varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '身份证号', + `education` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学历', + `school` varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '毕业学校', + `major` varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '专业', + `address` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '联系地址', + `zip_code` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮编', + `email` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Email', + `phone` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手机号', + `foreign_language` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '外语语种', + `foreign_language_level` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '外语水平', + `computer_level` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '计算机水平', + `graduation_time` datetime NULL DEFAULT NULL COMMENT '毕业时间', + `arrival_time` datetime NULL DEFAULT NULL COMMENT '到职时间', + `positional_titles` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '职称', + `education_experience` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '教育经历', + `work_experience` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '工作经历', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + `del_flag` tinyint(1) NULL DEFAULT NULL COMMENT '删除标识0-正常,1-已删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for rep_demo_gongsi +-- ---------------------------- +DROP TABLE IF EXISTS `rep_demo_gongsi`; +CREATE TABLE `rep_demo_gongsi` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `gname` varchar(125) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '货品名称', + `gdata` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '返利', + `tdata` varchar(125) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '备注', + `didian` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `zhaiyao` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `num` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for rep_demo_jianpiao +-- ---------------------------- +DROP TABLE IF EXISTS `rep_demo_jianpiao`; +CREATE TABLE `rep_demo_jianpiao` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `bnum` varchar(125) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `ftime` varchar(125) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `sfkong` varchar(125) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `kaishi` varchar(125) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `jieshu` varchar(125) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `hezairen` varchar(125) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `jpnum` varchar(125) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `shihelv` varchar(125) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `s_id` int(11) NOT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 87 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for rep_demo_order_main +-- ---------------------------- +DROP TABLE IF EXISTS `rep_demo_order_main`; +CREATE TABLE `rep_demo_order_main` ( + `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `order_code` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单编码', + `order_date` datetime NULL DEFAULT NULL COMMENT '下单时间', + `descc` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', + `xiala` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '下拉多选', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for rep_demo_order_product +-- ---------------------------- +DROP TABLE IF EXISTS `rep_demo_order_product`; +CREATE TABLE `rep_demo_order_product` ( + `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `product_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '产品名字', + `price` double(32, 0) NULL DEFAULT NULL COMMENT '价格', + `num` int(11) NULL DEFAULT NULL COMMENT '数量', + `descc` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', + `order_fk_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '订单外键ID', + `pro_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '产品类型', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_announcement +-- ---------------------------- +DROP TABLE IF EXISTS `sys_announcement`; +CREATE TABLE `sys_announcement` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `titile` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '标题', + `msg_content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '内容', + `start_time` datetime NULL DEFAULT NULL COMMENT '开始时间', + `end_time` datetime NULL DEFAULT NULL COMMENT '结束时间', + `sender` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发布人', + `priority` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '优先级(L低,M中,H高)', + `msg_category` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '2' COMMENT '消息类型1:通知公告2:系统消息', + `msg_type` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '通告对象类型(USER:指定用户,ALL:全体用户)', + `send_status` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发布状态(0未发布,1已发布,2已撤销)', + `send_time` datetime NULL DEFAULT NULL COMMENT '发布时间', + `cancel_time` datetime NULL DEFAULT NULL COMMENT '撤销时间', + `del_flag` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '删除状态(0,正常,1已删除)', + `bus_type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '业务类型(email:邮件 bpm:流程 tenant_invite:租户邀请)', + `bus_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '业务id', + `open_type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '打开方式(组件:component 路由:url)', + `open_page` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组件/路由 地址', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `user_ids` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '指定用户', + `msg_abstract` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '摘要/扩展业务参数', + `dt_task_id` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '钉钉task_id,用于撤回消息', + `tenant_id` int(11) NULL DEFAULT 0 COMMENT '租户ID', + `files` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '附件', + `visits_num` int(11) NULL DEFAULT NULL COMMENT '访问次数', + `iz_top` int(11) NULL DEFAULT 0 COMMENT '是否置顶(0:否; 1:是)', + `iz_approval` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否审批(0否 1是)', + `bpm_status` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '流程状态', + `msg_classify` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '消息归类', + `notice_type` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '通知类型(system:系统消息、file:知识库、flow:流程、plan:日程计划、meeting:会议)', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_sanno_endtime`(`end_time`) USING BTREE, + INDEX `idx_sanno_start_time`(`start_time`) USING BTREE, + INDEX `idx_sanno_msg_type`(`msg_type`) USING BTREE, + INDEX `idx_sanno_send_status`(`send_status`) USING BTREE, + INDEX `idx_sanno_del_flag`(`del_flag`) USING BTREE, + INDEX `idx_sanno_tenant_id`(`tenant_id`) USING BTREE, + INDEX `idx_sanno_sender`(`sender`) USING BTREE, + INDEX `idx_sanno_create_time`(`create_time`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统通告表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_announcement_send +-- ---------------------------- +DROP TABLE IF EXISTS `sys_announcement_send`; +CREATE TABLE `sys_announcement_send` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `annt_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '通告ID', + `user_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户id', + `read_flag` int(11) NULL DEFAULT NULL COMMENT '阅读状态(0未读,1已读)', + `read_time` datetime NULL DEFAULT NULL COMMENT '阅读时间', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `star_flag` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '标星状态( 1为标星 空/0没有标星)', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_sacm_annt_id`(`annt_id`) USING BTREE, + INDEX `idx_sacm_user_id`(`user_id`) USING BTREE, + INDEX `idx_sacm_read_flag`(`read_flag`) USING BTREE, + INDEX `idx_sacm_star_flag`(`star_flag`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户通告阅读标记表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_category +-- ---------------------------- +DROP TABLE IF EXISTS `sys_category`; +CREATE TABLE `sys_category` ( + `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `pid` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '父级节点', + `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '类型名称', + `code` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '类型编码', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `has_child` varchar(3) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否有子节点', + `tenant_id` int(11) NULL DEFAULT 0 COMMENT '租户ID', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `index_scg_code`(`code`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_check_rule +-- ---------------------------- +DROP TABLE IF EXISTS `sys_check_rule`; +CREATE TABLE `sys_check_rule` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键id', + `rule_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '规则名称', + `rule_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '规则Code', + `rule_json` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '规则JSON', + `rule_description` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '规则描述', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_scr_rule_code`(`rule_code`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_comment +-- ---------------------------- +DROP TABLE IF EXISTS `sys_comment`; +CREATE TABLE `sys_comment` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `table_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '表名', + `table_data_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '数据id', + `from_user_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '来源用户id', + `to_user_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发送给用户id(允许为空)', + `comment_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '评论id(允许为空,不为空时,则为回复)', + `comment_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '回复内容', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_table_data_id`(`table_name`, `table_data_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统评论回复表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_data_log +-- ---------------------------- +DROP TABLE IF EXISTS `sys_data_log`; +CREATE TABLE `sys_data_log` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'id', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `create_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人真实名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `data_table` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '表名', + `data_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据ID', + `data_content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '数据内容', + `data_version` int(11) NULL DEFAULT NULL COMMENT '版本号', + `type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'json' COMMENT '类型', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_sdl_data_table_id`(`data_table`, `data_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_data_source +-- ---------------------------- +DROP TABLE IF EXISTS `sys_data_source`; +CREATE TABLE `sys_data_source` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据源编码', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据源名称', + `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `db_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据库类型', + `db_driver` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '驱动类', + `db_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据源地址', + `db_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据库名称', + `db_username` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名', + `db_password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` int(11) NULL DEFAULT 0 COMMENT '租户ID', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_sdc_rule_code`(`code`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_depart +-- ---------------------------- +DROP TABLE IF EXISTS `sys_depart`; +CREATE TABLE `sys_depart` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'ID', + `parent_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '父机构ID', + `depart_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '机构/部门名称', + `depart_name_en` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '英文名', + `depart_name_abbr` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缩写', + `depart_order` int(11) NULL DEFAULT 0 COMMENT '排序', + `description` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', + `org_category` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '1' COMMENT '机构类别 1公司,2部门,3岗位,4子公司', + `org_type` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '树深度层级level', + `org_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '机构编码', + `mobile` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手机号', + `fax` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '传真', + `address` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地址', + `memo` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', + `status` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '状态(1启用,0不启用)', + `del_flag` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '删除状态(0,正常,1已删除)', + `qywx_identifier` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '对接企业微信的ID', + `ding_identifier` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '对接钉钉部门的ID', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `tenant_id` int(11) NULL DEFAULT 0 COMMENT '租户ID', + `iz_leaf` tinyint(1) NULL DEFAULT 0 COMMENT '是否有叶子节点: 1是0否', + `position_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '职级id', + `dep_post_parent_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '上级岗位id', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uniq_depart_org_code`(`org_code`) USING BTREE, + INDEX `idx_sd_parent_id`(`parent_id`) USING BTREE, + INDEX `idx_sd_depart_order`(`depart_order`) USING BTREE, + INDEX `idx_sd_position_id`(`position_id`) USING BTREE, + INDEX `idx_sd_dep_post_parent_id`(`dep_post_parent_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '组织机构表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_depart_permission +-- ---------------------------- +DROP TABLE IF EXISTS `sys_depart_permission`; +CREATE TABLE `sys_depart_permission` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `depart_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '部门id', + `permission_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '权限id', + `data_rule_ids` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据规则id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门权限表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_depart_role +-- ---------------------------- +DROP TABLE IF EXISTS `sys_depart_role`; +CREATE TABLE `sys_depart_role` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `depart_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '部门id', + `role_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '部门角色名称', + `role_code` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '部门角色编码', + `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门角色表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_depart_role_permission +-- ---------------------------- +DROP TABLE IF EXISTS `sys_depart_role_permission`; +CREATE TABLE `sys_depart_role_permission` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `depart_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '部门id', + `role_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '角色id', + `permission_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '权限id', + `data_rule_ids` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据权限ids', + `operate_date` datetime NULL DEFAULT NULL COMMENT '操作时间', + `operate_ip` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作ip', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_sdrp_role_per_id`(`role_id`, `permission_id`) USING BTREE, + INDEX `idx_sdrp_role_id`(`role_id`) USING BTREE, + INDEX `idx_sdrp_per_id`(`permission_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门角色权限表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_depart_role_user +-- ---------------------------- +DROP TABLE IF EXISTS `sys_depart_role_user`; +CREATE TABLE `sys_depart_role_user` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键id', + `user_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户id', + `drole_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '角色id', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_sdr_user_id`(`user_id`) USING BTREE, + INDEX `idx_sdr_role_id`(`drole_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门角色用户表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_dict +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict`; +CREATE TABLE `sys_dict` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `dict_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '字典名称', + `dict_code` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '字典编码', + `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', + `del_flag` int(11) NULL DEFAULT NULL COMMENT '删除状态', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `type` int(1) UNSIGNED ZEROFILL NULL DEFAULT 0 COMMENT '字典类型0为string,1为number', + `tenant_id` int(11) NULL DEFAULT 0 COMMENT '租户ID', + `low_app_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '低代码应用ID', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_sd_dict_code`(`dict_code`) USING BTREE, + INDEX `uk_sd_tenant_id`(`tenant_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_dict_item +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict_item`; +CREATE TABLE `sys_dict_item` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `dict_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字典id', + `item_text` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '字典项文本', + `item_value` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '字典项值', + `item_color` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字典项颜色', + `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', + `sort_order` int(11) NULL DEFAULT NULL COMMENT '排序', + `status` int(11) NULL DEFAULT NULL COMMENT '状态(1启用 0不启用)', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `create_time` datetime NULL DEFAULT NULL, + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `update_time` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_sditem_role_dict_id`(`dict_id`) USING BTREE, + INDEX `idx_sditem_role_sort_order`(`sort_order`) USING BTREE, + INDEX `idx_sditem_status`(`status`) USING BTREE, + INDEX `idx_sditem_dict_val`(`dict_id`, `item_value`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_files +-- ---------------------------- +DROP TABLE IF EXISTS `sys_files`; +CREATE TABLE `sys_files` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键id', + `file_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件名称', + `url` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件地址', + `file_type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文档类型(folder:文件夹 excel:excel doc:word ppt:ppt image:图片 archive:其他文档 video:视频 pdf:pdf)', + `store_type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件上传类型(temp/本地上传(临时文件) manage/知识库)', + `parent_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '父级id', + `tenant_id` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '租户id', + `file_size` double(13, 2) NULL DEFAULT NULL COMMENT '文件大小(kb)', + `iz_folder` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否文件夹(1:是 0:否)', + `iz_root_folder` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否为1级文件夹,允许为空 (1:是 )', + `iz_star` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否标星(1:是 0:否)', + `down_count` int(11) NULL DEFAULT NULL COMMENT '下载次数', + `read_count` int(11) NULL DEFAULT NULL COMMENT '阅读次数', + `share_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分享链接', + `share_perms` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分享权限(1.关闭分享 2.允许所有联系人查看 3.允许任何人查看)', + `enable_down` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否允许下载(1:是 0:否)', + `enable_updat` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否允许修改(1:是 0:否)', + `del_flag` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '删除状态(0-正常,1-删除至回收站)', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + INDEX `index_tenant_id`(`tenant_id`) USING BTREE, + INDEX `index_del_flag`(`del_flag`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '知识库-文档管理' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_fill_rule +-- ---------------------------- +DROP TABLE IF EXISTS `sys_fill_rule`; +CREATE TABLE `sys_fill_rule` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键ID', + `rule_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '规则名称', + `rule_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '规则Code', + `rule_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '规则实现类', + `rule_params` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '规则参数', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_sfr_rule_code`(`rule_code`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_form_file +-- ---------------------------- +DROP TABLE IF EXISTS `sys_form_file`; +CREATE TABLE `sys_form_file` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `table_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '表名', + `table_data_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '数据id', + `file_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '关联文件id', + `file_type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件类型(text:文本, excel:excel doc:word ppt:ppt image:图片 archive:其他文档 video:视频 pdf:pdf))', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_table_form`(`table_name`, `table_data_id`) USING BTREE, + INDEX `index_file_id`(`file_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_gateway_route +-- ---------------------------- +DROP TABLE IF EXISTS `sys_gateway_route`; +CREATE TABLE `sys_gateway_route` ( + `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `router_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '路由ID', + `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '服务名', + `uri` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '服务地址', + `predicates` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '断言', + `filters` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '过滤器', + `retryable` int(11) NULL DEFAULT NULL COMMENT '是否重试:0-否 1-是', + `strip_prefix` int(11) NULL DEFAULT NULL COMMENT '是否忽略前缀0-否 1-是', + `persistable` int(11) NULL DEFAULT NULL COMMENT '是否为保留数据:0-否 1-是', + `show_api` int(11) NULL DEFAULT NULL COMMENT '是否在接口文档中展示:0-否 1-是', + `status` int(11) NULL DEFAULT NULL COMMENT '状态:0-无效 1-有效', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `del_flag` int(11) NULL DEFAULT NULL COMMENT '删除状态', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_log +-- ---------------------------- +DROP TABLE IF EXISTS `sys_log`; +CREATE TABLE `sys_log` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `log_type` int(11) NULL DEFAULT NULL COMMENT '日志类型(1登录日志,2操作日志, 3.租户操作日志)', + `log_content` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '日志内容', + `operate_type` int(11) NULL DEFAULT NULL COMMENT '操作类型', + `userid` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作用户账号', + `username` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作用户名称', + `ip` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'IP', + `method` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '请求java方法', + `request_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '请求路径', + `request_param` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '请求参数', + `request_type` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '请求类型', + `return_data` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '返回内容', + `cost_time` bigint(20) NULL DEFAULT NULL COMMENT '耗时', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `tenant_id` int(11) NULL DEFAULT NULL COMMENT '租户ID', + `client_type` varchar(5) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '客户端类型 pc:电脑端 app:手机端 h5:移动网页端', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_sl_userid`(`userid`) USING BTREE, + INDEX `idx_sl_log_type`(`log_type`) USING BTREE, + INDEX `idx_sl_operate_type`(`operate_type`) USING BTREE, + INDEX `idx_sl_create_time`(`create_time`) USING BTREE +) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统日志表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_permission +-- ---------------------------- +DROP TABLE IF EXISTS `sys_permission`; +CREATE TABLE `sys_permission` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键id', + `parent_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '父id', + `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '菜单标题', + `url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '路径', + `component` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组件', + `is_route` tinyint(1) NULL DEFAULT 1 COMMENT '是否路由菜单: 0:不是 1:是(默认值1)', + `component_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组件名字', + `redirect` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '一级菜单跳转地址', + `menu_type` int(11) NULL DEFAULT NULL COMMENT '菜单类型(0:一级菜单; 1:子菜单:2:按钮权限)', + `perms` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '菜单权限编码', + `perms_type` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '权限策略1显示2禁用', + `sort_no` double(8, 2) NULL DEFAULT NULL COMMENT '菜单排序', + `always_show` tinyint(1) NULL DEFAULT NULL COMMENT '聚合子路由: 1是0否', + `icon` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '菜单图标', + `is_leaf` tinyint(1) NULL DEFAULT NULL COMMENT '是否叶子节点: 1是0否', + `keep_alive` tinyint(1) NULL DEFAULT NULL COMMENT '是否缓存该页面: 1:是 0:不是', + `hidden` tinyint(4) NULL DEFAULT 0 COMMENT '是否隐藏路由: 0否,1是', + `hide_tab` tinyint(4) NULL DEFAULT NULL COMMENT '是否隐藏tab: 0否,1是', + `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', + `create_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `del_flag` int(11) NULL DEFAULT 0 COMMENT '删除状态 0正常 1已删除', + `rule_flag` int(11) NULL DEFAULT 0 COMMENT '是否添加数据权限1是0否', + `status` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '按钮权限状态(0无效1有效)', + `internal_or_external` tinyint(1) NULL DEFAULT NULL COMMENT '外链菜单打开方式 0/内部打开 1/外部打开', + PRIMARY KEY (`id`) USING BTREE, + INDEX `index_menu_type`(`menu_type`) USING BTREE, + INDEX `index_menu_hidden`(`hidden`) USING BTREE, + INDEX `index_menu_status`(`status`) USING BTREE, + INDEX `index_menu_del_flag`(`del_flag`) USING BTREE, + INDEX `index_menu_url`(`url`) USING BTREE, + INDEX `index_menu_sort_no`(`sort_no`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '菜单权限表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_permission_data_rule +-- ---------------------------- +DROP TABLE IF EXISTS `sys_permission_data_rule`; +CREATE TABLE `sys_permission_data_rule` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'ID', + `permission_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '菜单ID', + `rule_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '规则名称', + `rule_column` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字段', + `rule_conditions` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '条件', + `rule_value` varchar(300) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '规则值', + `status` varchar(3) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '权限有效状态1有0否', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_spdr_permission_id`(`permission_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_position +-- ---------------------------- +DROP TABLE IF EXISTS `sys_position`; +CREATE TABLE `sys_position` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `code` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '职务编码', + `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '职务级别名称', + `post_level` int(11) NULL DEFAULT NULL COMMENT '职务等级', + `company_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '公司id', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + `sys_org_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组织机构编码', + `tenant_id` int(11) NULL DEFAULT 0 COMMENT '租户ID', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uniq_code`(`code`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '职务级别' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_quartz_job +-- ---------------------------- +DROP TABLE IF EXISTS `sys_quartz_job`; +CREATE TABLE `sys_quartz_job` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `del_flag` int(11) NULL DEFAULT NULL COMMENT '删除状态', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + `job_class_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '任务类名', + `cron_expression` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'cron表达式', + `parameter` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参数', + `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', + `status` int(11) NULL DEFAULT NULL COMMENT '状态 0正常 -1停止', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_role +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role`; +CREATE TABLE `sys_role` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键id', + `role_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '角色名称', + `role_code` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '角色编码', + `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `tenant_id` int(11) NULL DEFAULT 0 COMMENT '租户ID', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uniq_sys_role_role_code`(`role_code`) USING BTREE, + INDEX `idx_sysrole_tenant_id`(`tenant_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_role_index +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role_index`; +CREATE TABLE `sys_role_index` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `role_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '角色编码', + `url` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路由地址', + `component` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组件', + `is_route` tinyint(1) NULL DEFAULT 1 COMMENT '是否路由菜单: 0:不是 1:是(默认值1)', + `priority` int(11) NULL DEFAULT 0 COMMENT '优先级', + `status` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '状态0:无效 1:有效', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `relation_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联关系(ROLE:角色 USER:用户)', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_sri_role_code`(`role_code`) USING BTREE, + INDEX `idx_sri_status`(`status`) USING BTREE, + INDEX `idx_sri_priority`(`priority`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色首页表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_role_permission +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role_permission`; +CREATE TABLE `sys_role_permission` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `role_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '角色id', + `permission_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '权限id', + `data_rule_ids` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据权限ids', + `operate_date` datetime NULL DEFAULT NULL COMMENT '操作时间', + `operate_ip` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作ip', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_srp_role_per_id`(`role_id`, `permission_id`) USING BTREE, + INDEX `idx_srp_role_id`(`role_id`) USING BTREE, + INDEX `idx_srp_permission_id`(`permission_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色权限表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_sms +-- ---------------------------- +DROP TABLE IF EXISTS `sys_sms`; +CREATE TABLE `sys_sms` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'ID', + `es_title` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '消息标题', + `es_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发送方式:参考枚举MessageTypeEnum', + `es_receiver` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '接收人', + `es_param` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发送所需参数Json格式', + `es_content` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '推送内容', + `es_send_time` datetime NULL DEFAULT NULL COMMENT '推送时间', + `es_send_status` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '推送状态 0未推送 1推送成功 2推送失败 -1失败不再发送', + `es_send_num` int(11) NULL DEFAULT NULL COMMENT '发送次数 超过5次不再发送', + `es_result` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '推送失败原因', + `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_ss_es_type`(`es_type`) USING BTREE, + INDEX `idx_ss_es_receiver`(`es_receiver`) USING BTREE, + INDEX `idx_ss_es_send_time`(`es_send_time`) USING BTREE, + INDEX `idx_ss_es_send_status`(`es_send_status`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_sms_template +-- ---------------------------- +DROP TABLE IF EXISTS `sys_sms_template`; +CREATE TABLE `sys_sms_template` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键', + `template_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '模板标题', + `template_code` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '模板CODE', + `template_type` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '模板类型:1短信 2邮件 3微信', + `template_category` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '模版分类:notice通知公告 other其他', + `template_content` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '模板内容', + `template_test_json` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '模板测试json', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', + `use_status` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否使用中 1是0否', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_sst_template_code`(`template_code`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_table_white_list +-- ---------------------------- +DROP TABLE IF EXISTS `sys_table_white_list`; +CREATE TABLE `sys_table_white_list` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键id', + `table_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '允许的表名', + `field_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '允许的字段名,多个用逗号分割', + `status` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '1' COMMENT '状态,1=启用,0=禁用', + `create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uniq_sys_table_white_list_table_name`(`table_name`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统表白名单' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_tenant +-- ---------------------------- +DROP TABLE IF EXISTS `sys_tenant`; +CREATE TABLE `sys_tenant` ( + `id` int(11) NOT NULL COMMENT '租户编码', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '租户名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `begin_date` datetime NULL DEFAULT NULL COMMENT '开始时间', + `end_date` datetime NULL DEFAULT NULL COMMENT '结束时间', + `status` int(11) NULL DEFAULT NULL COMMENT '状态 1正常 0冻结', + `trade` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属行业', + `company_size` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '公司规模', + `company_address` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '公司地址', + `company_logo` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '公司logo', + `house_number` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '门牌号', + `work_place` varchar(100) CHARACTER SET utf32 COLLATE utf32_general_ci NULL DEFAULT NULL COMMENT '工作地点', + `secondary_domain` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '二级域名', + `login_bkgd_img` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录背景图片', + `position` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '职级', + `department` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '部门', + `del_flag` tinyint(1) NULL DEFAULT 0 COMMENT '删除状态(0-正常,1-已删除)', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `apply_status` int(11) NULL DEFAULT NULL COMMENT '允许申请管理员 1允许 0不允许', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '多租户信息表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_tenant_pack +-- ---------------------------- +DROP TABLE IF EXISTS `sys_tenant_pack`; +CREATE TABLE `sys_tenant_pack` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键id', + `tenant_id` int(11) NULL DEFAULT NULL COMMENT '租户id', + `pack_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '产品包名', + `status` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '开启状态(0 未开启 1开启)', + `remarks` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` date NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` date NULL DEFAULT NULL COMMENT '更新时间', + `pack_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编码,默认添加的三个管理员需要设置编码', + `pack_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'custom' COMMENT '产品包类型(default 默认产品包 custom 自定义产品包)', + `iz_sysn` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '自动分配给用户(0否 1是)', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx__stp_tenant_id_pack_code`(`tenant_id`, `pack_code`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '租户产品包' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_tenant_pack_perms +-- ---------------------------- +DROP TABLE IF EXISTS `sys_tenant_pack_perms`; +CREATE TABLE `sys_tenant_pack_perms` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键编号', + `pack_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '租户产品包名称', + `permission_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单id', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` date NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` date NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_stpp_pack_id`(`pack_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '租户产品包和菜单关系表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_tenant_pack_user +-- ---------------------------- +DROP TABLE IF EXISTS `sys_tenant_pack_user`; +CREATE TABLE `sys_tenant_pack_user` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `pack_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '租户产品包ID', + `user_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户ID', + `tenant_id` int(11) NULL DEFAULT NULL COMMENT '租户ID', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `status` int(11) NULL DEFAULT NULL COMMENT '状态 正常状态1 申请状态0', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_tpu_pack_id`(`pack_id`) USING BTREE, + INDEX `idx_tpu_user_id`(`user_id`) USING BTREE, + INDEX `idx_tpu_tenant_id`(`tenant_id`) USING BTREE, + INDEX `idx_tpu_status`(`status`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '租户套餐人员表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_third_account +-- ---------------------------- +DROP TABLE IF EXISTS `sys_third_account`; +CREATE TABLE `sys_third_account` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号', + `sys_user_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '第三方登录id', + `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像', + `status` tinyint(1) NULL DEFAULT NULL COMMENT '状态(1-正常,2-冻结)', + `del_flag` tinyint(1) NULL DEFAULT NULL COMMENT '删除状态(0-正常,1-已删除)', + `realname` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '真实姓名', + `tenant_id` int(11) NULL DEFAULT 0 COMMENT '租户id', + `third_user_uuid` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '第三方账号', + `third_user_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '第三方app用户账号', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `third_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录来源', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uniq_stat_third_type_user_id`(`third_type`, `third_user_id`) USING BTREE, + UNIQUE INDEX `uniq_sta_third_user_id_third_type`(`third_user_id`, `third_type`, `tenant_id`) USING BTREE, + UNIQUE INDEX `uniq_sta_third_user_uuid_third_type`(`third_user_uuid`, `third_type`, `tenant_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_third_app_config +-- ---------------------------- +DROP TABLE IF EXISTS `sys_third_app_config`; +CREATE TABLE `sys_third_app_config` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `tenant_id` int(11) NOT NULL DEFAULT 0 COMMENT '租户id', + `agent_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉/企业微信应用id', + `client_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉/企业微信 应用id', + `client_secret` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉/企业微信应用id对应的秘钥', + `corp_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉企业id', + `third_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '第三方类别(dingtalk 钉钉 wechat_enterprise 企业微信)', + `status` int(11) NULL DEFAULT 1 COMMENT '是否启用(0-否,1-是)', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_stac_tenant_id`(`tenant_id`) USING BTREE, + INDEX `idx_stac_third_type`(`third_type`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '租户第三方配置表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_user +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user`; +CREATE TABLE `sys_user` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键id', + `username` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '登录账号', + `realname` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '真实姓名', + `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '密码', + `salt` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'md5密码盐', + `avatar` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像', + `birthday` date NULL DEFAULT NULL COMMENT '生日', + `sex` tinyint(1) NULL DEFAULT NULL COMMENT '性别(0-默认未知,1-男,2-女)', + `email` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '电子邮件', + `phone` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '电话', + `org_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '登录会话的机构编码', + `status` tinyint(1) NULL DEFAULT NULL COMMENT '性别(1-正常,2-冻结)', + `del_flag` tinyint(1) NULL DEFAULT NULL COMMENT '删除状态(0-正常,1-已删除)', + `third_id` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '第三方登录的唯一标识', + `third_type` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '第三方类型', + `activiti_sync` tinyint(1) NULL DEFAULT NULL COMMENT '同步工作流引擎(1-同步,0-不同步)', + `work_no` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '工号,唯一键', + `telephone` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '座机号', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `user_identity` tinyint(1) NULL DEFAULT NULL COMMENT '身份(1普通成员 2上级)', + `depart_ids` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '负责部门', + `client_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '设备ID', + `login_tenant_id` int(11) NULL DEFAULT NULL COMMENT '上次登录选择租户ID', + `bpm_status` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '流程入职离职状态', + `sign_enable` tinyint(1) NULL DEFAULT NULL COMMENT '是否启用个性签名(0 否 1是)', + `sign` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '个性签名', + `main_dep_post_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '主岗位(部门岗位id)', + `position_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '职务(字典)', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uniq_sys_user_work_no`(`work_no`) USING BTREE, + UNIQUE INDEX `uniq_sys_user_username`(`username`) USING BTREE, + UNIQUE INDEX `uniq_sys_user_phone`(`phone`) USING BTREE, + UNIQUE INDEX `uniq_sys_user_email`(`email`) USING BTREE, + INDEX `idx_su_status`(`status`) USING BTREE, + INDEX `idx_su_del_flag`(`del_flag`) USING BTREE, + INDEX `idx_su_del_username`(`username`, `del_flag`) USING BTREE, + INDEX `idx_su_main_dep_post_id`(`main_dep_post_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_user_dep_post +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_dep_post`; +CREATE TABLE `sys_user_dep_post` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `user_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户id', + `dep_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '部门岗位id', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_sudp_user_id`(`user_id`) USING BTREE, + INDEX `idx_sudp_dep_id`(`dep_id`) USING BTREE, + INDEX `idx_sudp_user_dep_id`(`user_id`, `dep_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_user_depart +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_depart`; +CREATE TABLE `sys_user_depart` ( + `ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'id', + `user_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户id', + `dep_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '部门id', + PRIMARY KEY (`ID`) USING BTREE, + UNIQUE INDEX `idx_sud_user_dep_id`(`user_id`, `dep_id`) USING BTREE, + INDEX `idx_sud_user_id`(`user_id`) USING BTREE, + INDEX `idx_sud_dep_id`(`dep_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_user_position +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_position`; +CREATE TABLE `sys_user_position` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `user_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户id', + `position_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '职位id', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_sup_user_id`(`user_id`) USING BTREE, + INDEX `idx_sup_position_id`(`position_id`) USING BTREE, + INDEX `idx_sup_user_position_id`(`user_id`, `position_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_user_role +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_role`; +CREATE TABLE `sys_user_role` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键id', + `user_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户id', + `role_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '角色id', + `tenant_id` int(11) NULL DEFAULT 0 COMMENT '租户ID', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_sur_user_id`(`user_id`) USING BTREE, + INDEX `idx_sur_role_id`(`role_id`) USING BTREE, + INDEX `idx_sur_user_role_id`(`user_id`, `role_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户角色表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_user_tenant +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_tenant`; +CREATE TABLE `sys_user_tenant` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键id', + `user_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户id', + `tenant_id` int(11) NULL DEFAULT NULL COMMENT '租户id', + `status` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态(1 正常 2 离职 3 待审核 4 拒绝 5 邀请加入)', + `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_sut_user_id`(`user_id`) USING BTREE, + INDEX `idx_sut_tenant_id`(`tenant_id`) USING BTREE, + INDEX `idx_sut_user_rel_tenant`(`user_id`, `tenant_id`) USING BTREE, + INDEX `idx_sut_status`(`status`) USING BTREE, + INDEX `idx_sut_userid_status`(`user_id`, `status`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户租户关系表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for test_demo +-- ---------------------------- +DROP TABLE IF EXISTS `test_demo`; +CREATE TABLE `test_demo` ( + `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人登录名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户名', + `sex` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '性别', + `age` int(11) NULL DEFAULT NULL COMMENT '年龄', + `descc` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', + `birthday` datetime NULL DEFAULT NULL COMMENT '生日', + `user_code` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户编码', + `file_kk` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '附件', + `top_pic` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像', + `chegnshi` varchar(300) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '城市', + `ceck` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'checkbox', + `xiamuti` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '下拉多选', + `search_sel` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '搜索下拉', + `pop` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '弹窗', + `sel_table` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '下拉字典表', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for test_enhance_select +-- ---------------------------- +DROP TABLE IF EXISTS `test_enhance_select`; +CREATE TABLE `test_enhance_select` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `province` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '省份', + `city` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '市', + `area` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '区', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for test_note +-- ---------------------------- +DROP TABLE IF EXISTS `test_note`; +CREATE TABLE `test_note` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名', + `age` int(11) NULL DEFAULT NULL COMMENT '年龄', + `sex` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '性别', + `birthday` datetime NULL DEFAULT NULL COMMENT '生日', + `contents` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请假原因', + `year` date NULL DEFAULT NULL COMMENT '年', + `sheng` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '地区', + `month` date NULL DEFAULT NULL COMMENT '月', + `begin_time` date NULL DEFAULT NULL COMMENT '开始时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for test_online_link +-- ---------------------------- +DROP TABLE IF EXISTS `test_online_link`; +CREATE TABLE `test_online_link` ( + `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `pid` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'pid', + `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'name', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for test_order_customer +-- ---------------------------- +DROP TABLE IF EXISTS `test_order_customer`; +CREATE TABLE `test_order_customer` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户名字', + `sex` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '性别', + `age` int(11) NULL DEFAULT NULL COMMENT '年龄', + `birthday` date NULL DEFAULT NULL COMMENT '生日', + `order_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单id', + `address` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '地址', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for test_order_main +-- ---------------------------- +DROP TABLE IF EXISTS `test_order_main`; +CREATE TABLE `test_order_main` ( + `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `order_code` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单编码', + `order_date` datetime NULL DEFAULT NULL COMMENT '下单时间', + `descc` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', + `xiala` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '下拉多选', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for test_order_product +-- ---------------------------- +DROP TABLE IF EXISTS `test_order_product`; +CREATE TABLE `test_order_product` ( + `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键', + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `product_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '产品名字', + `price` double(32, 0) NULL DEFAULT NULL COMMENT '价格', + `num` int(11) NULL DEFAULT NULL COMMENT '数量', + `descc` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', + `order_fk_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '订单外键ID', + `pro_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '产品类型', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for test_person +-- ---------------------------- +DROP TABLE IF EXISTS `test_person`; +CREATE TABLE `test_person` ( + `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sex` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '性别', + `name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户名', + `content` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '请假原因', + `be_date` datetime NULL DEFAULT NULL COMMENT '请假时间', + `qj_days` int(11) NULL DEFAULT NULL COMMENT '请假天数', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for test_shoptype_tree +-- ---------------------------- +DROP TABLE IF EXISTS `test_shoptype_tree`; +CREATE TABLE `test_shoptype_tree` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `type_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品分类', + `pic` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分类图片', + `pid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '父级节点', + `has_child` varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否有子节点', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Procedure structure for insert_200_records +-- ---------------------------- +DROP PROCEDURE IF EXISTS `insert_200_records`; +delimiter ;; +CREATE PROCEDURE `insert_200_records`() +BEGIN + DECLARE i INT DEFAULT 1; + + WHILE i <= 200 DO + INSERT INTO jimu_report (id, code, name, del_flag) + VALUES (i, CONCAT('RPT', LPAD(i, 3, '0')), CONCAT('Report ', i), 0); + + SET i = i + 1; + END WHILE; +END +;; +delimiter ; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/sql/package.json b/sql/package.json new file mode 100644 index 0000000..03e8115 --- /dev/null +++ b/sql/package.json @@ -0,0 +1,12 @@ +{ + "name": "sql", + "version": "1.0.0", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "description": "" +} diff --git a/sql/数据库设计文档.md b/sql/数据库设计文档.md new file mode 100644 index 0000000..d46d0b5 --- /dev/null +++ b/sql/数据库设计文档.md @@ -0,0 +1,1621 @@ +# CPTE-WMS 仓库管理系统数据库设计文档 + +--- + +## 文档信息 + +| 项目 | 内容 | +|------|------| +| **数据库名称** | cpte-wms | +| **数据库类型** | MySQL 5.7.25 | +| **字符集** | utf8mb4 | +| **文档版本** | V1.0 | +| **编制日期** | 2026年03月20日 | + +--- + +## 目录 + +1. [数据库概述](#1-数据库概述) +2. [表结构设计](#2-表结构设计) + - 2.1 [基础数据模块](#21-基础数据模块) + - 2.2 [业务数据模块](#22-业务数据模块) + - 2.3 [系统管理模块](#23-系统管理模块) + - 2.4 [报表设计模块](#24-报表设计模块) + - 2.5 [AI智能模块](#25-ai智能模块) + - 2.6 [开放接口模块](#26-开放接口模块) + - 2.7 [定时任务模块](#27-定时任务模块) + - 2.8 [其他模块](#28-其他模块) +3. [索引设计](#3-索引设计) +4. [数据字典](#4-数据字典) + +--- + +## 1. 数据库概述 + +### 1.1 系统简介 + +CPTE-WMS是一套专业的仓库管理系统(Warehouse Management System),支持多租户架构,集成了入库管理、出库管理、库存管理、AGV任务调度、盘点管理等核心仓储业务功能,同时整合了AI智能助手、在线报表设计、开放API等扩展能力。 + +### 1.2 设计原则 + +- **多租户隔离**:所有业务表均包含 `tenant_id` 字段,实现租户数据隔离 +- **审计追踪**:所有表包含 `create_by`、`create_time`、`update_by`、`update_time` 字段 +- **软删除机制**:关键业务表采用 `del_flag` 字段实现软删除 +- **状态机管理**:业务单据采用状态字段管理生命周期 + +### 1.3 表统计 + +| 模块分类 | 表数量 | +|----------|--------| +| 基础数据模块 | 5 | +| 业务数据模块 | 11 | +| 系统管理模块 | 35 | +| 报表设计模块 | 18 | +| AI智能模块 | 5 | +| 开放接口模块 | 4 | +| 定时任务模块 | 11 | +| 其他模块 | 15 | +| **合计** | **104** | + +--- + +## 2. 表结构设计 + +### 2.1 基础数据模块 + +基础数据模块管理仓库运营的核心主数据,包括库区、库位、物料、容器等基础信息。 + +#### 2.1.1 库区信息表 (base_area) + +**表名**:`base_area` +**描述**:存储仓库库区基础信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | bigint(20) | 否 | - | 主键ID | +| area_code | varchar(32) | 是 | NULL | 库区编码(唯一) | +| area_name | varchar(32) | 是 | NULL | 库区名称 | +| description | varchar(32) | 是 | NULL | 描述 | +| del_flag | int(11) | 是 | NULL | 删除状态:0未删除、1删除 | +| iz_active | int(11) | 是 | NULL | 是否启用 | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| tenant_id | bigint(20) | 是 | NULL | 租户ID | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| uk_area_code | 唯一索引 | area_code | +| idx_area_name | 普通索引 | area_name | +| idx_area_iz_active | 普通索引 | iz_active | + +--- + +#### 2.1.2 物料信息表 (base_item) + +**表名**:`base_item` +**描述**:存储物料基础信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | bigint(20) | 否 | - | 主键ID | +| item_code | varchar(32) | 是 | NULL | 物料编码(唯一) | +| item_name | varchar(500) | 是 | NULL | 物料名称 | +| unit | varchar(32) | 是 | NULL | 单位 | +| description | varchar(32) | 是 | NULL | 描述 | +| iz_active | int(11) | 是 | NULL | 是否启用:0禁用,1启用 | +| del_flag | int(11) | 是 | NULL | 是否删除:0未删除,1删除 | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| tenant_id | bigint(20) | 是 | NULL | 租户ID | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| uk_item_code | 唯一索引 | item_code | +| idx_item_iz_active | 普通索引 | iz_active | + +--- + +#### 2.1.3 物料属性表 (base_item_key) + +**表名**:`base_item_key` +**描述**:存储物料的扩展属性信息,用于唯一标识同一物料的不同批次/项目 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | bigint(20) | 否 | - | 主键ID | +| item_id | bigint(20) | 是 | NULL | 物料ID | +| wh_code | varchar(50) | 是 | NULL | 外部仓库 | +| project | varchar(500) | 是 | NULL | 项目号 | +| task_no | varchar(50) | 是 | NULL | 任务号 | +| prop_c1 | varchar(50) | 是 | NULL | 批次号 | +| prop_c3 | varchar(50) | 是 | NULL | 外部库存状态 | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| tenant_id | bigint(20) | 是 | NULL | 租户ID | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| uk_ik_key | 唯一索引 | item_id, wh_code, project, task_no, prop_c1, prop_c3 | + +--- + +#### 2.1.4 库位信息表 (base_point) + +**表名**:`base_point` +**描述**:存储仓库库位信息,包含坐标定位 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | bigint(20) | 否 | - | 主键ID | +| area_id | bigint(20) | 是 | NULL | 库区ID | +| point_code | varchar(32) | 是 | NULL | 库位编码(唯一) | +| status | int(11) | 是 | NULL | 库位状态:0空闲,1占用 | +| row_num | varchar(32) | 是 | NULL | 库位深度 | +| col_num | varchar(32) | 是 | NULL | 列-巷道编号 | +| layer_num | varchar(32) | 是 | NULL | 层 | +| position_x | int(11) | 是 | NULL | 坐标X | +| position_y | int(11) | 是 | NULL | 坐标Y | +| position_two_x | int(11) | 是 | NULL | 第二层坐标X | +| position_two_y | int(11) | 是 | NULL | 第二层坐标Y | +| iz_double_lane | int(11) | 是 | NULL | 是否双通道 | +| description | varchar(32) | 是 | NULL | 描述 | +| iz_active | int(11) | 是 | NULL | 是否启用:0禁用,1启用 | +| del_flag | int(11) | 是 | NULL | 是否删除:0未删除,1删除 | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| tenant_id | bigint(20) | 是 | NULL | 仓库ID | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| uk_point_code | 唯一索引 | point_code | +| idx_point_composite | 普通索引 | point_code, status, area_id | +| idx_point_iz_active | 普通索引 | iz_active | + +--- + +#### 2.1.5 容器信息表 (base_stock) + +**表名**:`base_stock` +**描述**:存储仓库容器(托盘/料箱)信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | bigint(20) | 否 | - | 主键ID | +| stock_code | varchar(32) | 是 | NULL | 容器编码(唯一) | +| stock_type | varchar(32) | 是 | NULL | 容器类型 | +| status | int(11) | 是 | NULL | 容器状态:0空闲,1占用 | +| description | varchar(32) | 是 | NULL | 描述 | +| del_flag | int(11) | 是 | NULL | 是否删除:0未删除,1删除 | +| iz_active | int(11) | 是 | NULL | 是否启用:0禁用,1启用 | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| tenant_id | bigint(20) | 是 | NULL | 租户ID | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| uk_stock_code | 唯一索引 | stock_code | +| idx_stock_iz_active | 普通索引 | iz_active | + +--- + +### 2.2 业务数据模块 + +业务数据模块管理仓库核心业务流程数据,包括入库、出库、库存、AGV任务、盘点等。 + +#### 2.2.1 入库单主表 (data_asn) + +**表名**:`data_asn` +**描述**:存储入库单主信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | bigint(20) | 否 | - | 主键ID | +| order_no | varchar(50) | 是 | NULL | 入库单号(唯一) | +| third_order_no | varchar(50) | 是 | NULL | 赛意单号 | +| no | varchar(50) | 是 | NULL | 任务号(唯一) | +| wh_code | varchar(50) | 是 | NULL | 第三方仓代码 | +| supplier_code | varchar(50) | 是 | NULL | 供应商代码 | +| order_type | int(11) | 是 | NULL | 单据类型 | +| status | int(11) | 是 | NULL | 订单状态 | +| order_qty | decimal(10,0) | 是 | NULL | 需求数量 | +| received_qty | decimal(10,0) | 是 | NULL | 收货数量 | +| order_date | datetime | 是 | NULL | 订单日期 | +| res_message | text | 是 | NULL | 返回报文 | +| res_time | datetime | 是 | NULL | 返回时间 | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| tenant_id | bigint(20) | 是 | NULL | 仓库ID | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +**单据类型说明**: +| 值 | 说明 | +|----|------| +| 0 | 成品入库 | +| 1 | 配件入库 | +| 2 | 成品拆托入库 | +| 3 | 配件拆托入库 | +| 4 | 成品出库 | +| 5 | 配件出库 | +| 6 | 返工出库 | +| 7 | 检验出库 | +| 8 | 其他出库 | + +**订单状态说明**: +| 值 | 说明 | +|----|------| +| 1 | 已创建 | +| 2 | 部分收货 | +| 3 | 收货完成 | +| 4 | 已关闭 | +| 5 | 已取消 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| uk_asn_order_no | 唯一索引 | order_no | +| uk_asn_no | 唯一索引 | no | +| idx_asn_query | 普通索引 | order_type, status, order_date, create_time | + +--- + +#### 2.2.2 入库单明细表 (data_asn_detail) + +**表名**:`data_asn_detail` +**描述**:存储入库单明细信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | bigint(20) | 否 | - | 主键ID | +| asn_id | bigint(20) | 是 | NULL | 入库单ID | +| item_id | bigint(20) | 是 | NULL | 物料ID | +| stock_id | bigint(20) | 是 | NULL | 容器ID | +| from_point_id | bigint(20) | 是 | NULL | 起点 | +| station_id | bigint(20) | 是 | NULL | 工作站点位 | +| to_point_id | bigint(20) | 是 | NULL | 终点 | +| line_no | int(11) | 是 | NULL | 行号 | +| unit | varchar(32) | 是 | NULL | 单位 | +| order_qty | decimal(10,0) | 是 | NULL | 需求数量 | +| received_qty | decimal(10,0) | 是 | NULL | 收货数量 | +| status | int(11) | 是 | NULL | 订单状态 | +| project | varchar(500) | 是 | NULL | 项目号 | +| task_no | varbinary(500) | 是 | NULL | 任务号 | +| prop_c1 | varchar(50) | 是 | NULL | 批次号 | +| prop_c2 | varchar(32) | 是 | NULL | 序列号 | +| prop_c3 | varchar(50) | 是 | NULL | 库存状态 | +| prop_c4 | varchar(32) | 是 | NULL | 扩展字段 | +| prop_d1 | date | 是 | NULL | 生产日期 | +| description | varchar(32) | 是 | NULL | 备注 | +| source_id | bigint(20) | 是 | NULL | 来源ID | +| source_name | varchar(32) | 是 | NULL | 来源 | +| tenant_id | bigint(20) | 是 | NULL | 仓库ID | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| idx_ad_asn_id | 普通索引 | asn_id | +| idx_ad_stock_status | 普通索引 | stock_id, status | +| idx_ad_asn_line_no | 普通索引 | asn_id, line_no | + +--- + +#### 2.2.3 出库单主表 (data_pick) + +**表名**:`data_pick` +**描述**:存储出库单主信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | bigint(20) | 否 | - | 主键ID | +| con_no | varchar(50) | 是 | NULL | 柜号 | +| order_no | varchar(50) | 是 | NULL | 出库单号(唯一) | +| third_order_no | varchar(50) | 是 | NULL | 外部单号 | +| no | varchar(50) | 是 | NULL | 任务号(唯一) | +| wh_code | varchar(50) | 是 | NULL | 外部仓库 | +| customer_code | varchar(50) | 是 | NULL | 客户代码 | +| order_type | int(11) | 是 | NULL | 单据类型 | +| status | int(11) | 是 | NULL | 订单状态 | +| priority | int(11) | 是 | 0 | 优先级:0普通,1加急,2紧急 | +| order_qty | decimal(10,0) | 是 | NULL | 需求数量 | +| allocated_qty | decimal(10,0) | 是 | NULL | 分配数量 | +| picked_qty | decimal(10,0) | 是 | NULL | 拣货数量 | +| order_date | datetime | 是 | NULL | 订单日期 | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| tenant_id | bigint(20) | 是 | NULL | 仓库ID | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +**订单状态说明**: +| 值 | 说明 | +|----|------| +| 1 | 已创建 | +| 2 | 部分分配 | +| 3 | 已分配 | +| 4 | 拣货中 | +| 5 | 拣货完成 | +| 6 | 已关闭 | +| 7 | 已取消 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| uk_pick_order_no | 唯一索引 | order_no | +| uk_pick_no | 唯一索引 | no | +| idx_pick_query | 普通索引 | order_type, status, order_date, create_time | +| idx_con_no | 普通索引 | con_no | + +--- + +#### 2.2.4 出库单明细表 (data_pick_detail) + +**表名**:`data_pick_detail` +**描述**:存储出库单明细信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | bigint(20) | 否 | - | 主键ID | +| pick_id | bigint(20) | 是 | NULL | 出库单ID | +| stock_id | bigint(20) | 是 | NULL | 容器ID | +| item_id | bigint(20) | 是 | NULL | 物料ID | +| line_no | int(11) | 是 | NULL | 行号 | +| unit | varchar(32) | 是 | NULL | 单位 | +| project | varchar(500) | 是 | NULL | 项目号 | +| task_no | varchar(50) | 是 | NULL | 任务号 | +| order_qty | decimal(10,0) | 是 | NULL | 需求数量 | +| allocated_qty | decimal(10,0) | 是 | NULL | 分配数量 | +| picked_qty | decimal(10,0) | 是 | NULL | 拣货数量 | +| status | int(11) | 是 | NULL | 订单状态 | +| prop_c1 | varchar(50) | 是 | NULL | 批次号 | +| prop_c2 | varchar(50) | 是 | NULL | 序列号 | +| prop_c3 | varchar(50) | 是 | NULL | 外部库存状态 | +| prop_c4 | varchar(50) | 是 | NULL | 扩展字段 | +| prop_d1 | date | 是 | NULL | 生产日期 | +| description | varchar(500) | 是 | NULL | 备注 | +| res_message | text | 是 | NULL | 回传报文 | +| res_time | datetime | 是 | NULL | 回传时间 | +| source_id | bigint(20) | 是 | NULL | 来源ID | +| source_name | varchar(32) | 是 | NULL | 来源 | +| tenant_id | bigint(20) | 是 | NULL | 仓库ID | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| idx_pd_status | 普通索引 | status | +| idx_pd_pickId | 普通索引 | pick_id | +| idx_pick_line_no | 普通索引 | pick_id, line_no | + +--- + +#### 2.2.5 库存信息表 (data_inventory) + +**表名**:`data_inventory` +**描述**:存储实时库存信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | bigint(20) | 否 | - | 主键ID | +| item_key_id | bigint(20) | 是 | NULL | 物料属性 | +| item_id | bigint(20) | 是 | NULL | 物料ID | +| point_id | bigint(20) | 是 | NULL | 库位ID | +| stock_id | bigint(20) | 是 | NULL | 容器ID | +| quantity | decimal(10,0) | 是 | NULL | 数量 | +| queued_qty | decimal(10,0) | 是 | NULL | 分配数 | +| status | int(11) | 是 | NULL | 库存状态 | +| order_no | varchar(32) | 是 | NULL | 赛意单号 | +| description | varchar(255) | 是 | NULL | 描述 | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| tenant_id | bigint(20) | 是 | NULL | 租户ID | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| idx_inv_stock_quantity | 普通索引 | stock_id, quantity | +| idx_inv_query | 普通索引 | status, item_id, quantity | +| idx_inv_ik | 普通索引 | item_key_id | + +--- + +#### 2.2.6 库存日志表 (data_inventory_log) + +**表名**:`data_inventory_log` +**描述**:记录库存变动日志 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | bigint(20) | 否 | - | 主键ID | +| log_type | int(11) | 是 | NULL | 日志类型 | +| business_no | varchar(36) | 是 | NULL | 业务单号 | +| business_detail_id | bigint(20) | 是 | NULL | 业务明细ID | +| inventory_id | bigint(20) | 是 | NULL | 库存ID | +| item_id | bigint(20) | 是 | NULL | 物料ID | +| item_key_id | bigint(20) | 是 | NULL | 物料属性 | +| from_point_id | bigint(20) | 是 | NULL | 原库位 | +| to_point_id | bigint(20) | 是 | NULL | 目标库位 | +| stock_id | bigint(20) | 是 | NULL | 容器ID | +| change_qty | decimal(10,0) | 是 | NULL | 变动数量 | +| before_qty | decimal(10,0) | 是 | NULL | 变动前数量 | +| after_qty | decimal(10,0) | 是 | NULL | 变动后数量 | +| before_allocated_qty | decimal(10,0) | 是 | NULL | 变动前已分配数量 | +| after_allocated_qty | decimal(10,0) | 是 | NULL | 变动后已分配数量 | +| description | varchar(500) | 是 | NULL | 描述 | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| tenant_id | bigint(20) | 是 | NULL | 租户ID | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +**日志类型说明**: +| 值 | 说明 | +|----|------| +| 1 | 入库 | +| 2 | 分配 | +| 3 | 取消分配 | +| 4 | 拣货 | +| 5 | 退拣 | +| 6 | 出库 | +| 7 | 库存调整 | +| 8 | 库位转移 | +| 9 | 盘点调整 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| idx_inv_log_item | 普通索引 | item_id | +| idx_inv_log_point | 普通索引 | from_point_id | +| idx_inv_log_stock | 普通索引 | stock_id | +| idx_inv_log_type | 普通索引 | log_type | +| idx_inv_business_no | 普通索引 | business_no | +| idx_inv_create_time | 普通索引 | create_time | +| idx_inv_business_detail_id | 普通索引 | business_detail_id | + +--- + +#### 2.2.7 AGV任务表 (data_agv_task) + +**表名**:`data_agv_task` +**描述**:存储AGV搬运任务信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | bigint(20) | 否 | - | 主键ID | +| tes_id | bigint(20) | 是 | NULL | 上游ID | +| business_detail_id | bigint(20) | 是 | NULL | 业务ID | +| item_id | bigint(20) | 是 | NULL | 物料 | +| con_no | varchar(50) | 是 | NULL | 柜号 | +| carrier_code | varchar(20) | 是 | NULL | 载具编号 | +| carrier_type | varchar(20) | 是 | NULL | 载具类型 | +| task_type | varchar(32) | 是 | NULL | 任务类型 | +| type | varchar(32) | 是 | NULL | 目标类型 | +| status | int(11) | 是 | NULL | 任务状态 | +| priority | int(11) | 是 | NULL | 优先级 | +| start_code | varchar(20) | 是 | NULL | 起点位置 | +| end_code | varchar(20) | 是 | NULL | 终点位置 | +| agv_vendor | varchar(36) | 是 | NULL | AGV供应商 | +| iz_all | int(11) | 是 | NULL | 是否整托:0整托,1拆托 | +| res_message | text | 是 | NULL | 返回报文 | +| out_bin_time | datetime | 是 | NULL | 走出储位时间 | +| start_time | datetime | 是 | NULL | 开始时间 | +| end_time | datetime | 是 | NULL | 完成时间 | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| tenant_id | bigint(20) | 是 | NULL | 租户ID | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +**任务状态说明**: +| 值 | 说明 | +|----|------| +| 1 | 已创建 | +| 2 | 执行中 | +| 3 | 已到达 | +| 4 | 已完成 | +| 5 | 已取消 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| idx_carrier_status_vendor | 普通索引 | carrier_code, status, agv_vendor | +| idx_start_status_vendor | 普通索引 | start_code, status, agv_vendor | +| idx_end_status_vendor | 普通索引 | end_code, status, agv_vendor | +| idx_status_vendor | 普通索引 | status, agv_vendor | +| idx_end_type_status_vendor_time | 普通索引 | end_code, type, status, agv_vendor, create_time | + +--- + +#### 2.2.8 任务表 (data_task) + +**表名**:`data_task` +**描述**:存储系统任务信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | bigint(20) | 否 | - | 主键ID | +| task_no | varchar(100) | 是 | NULL | 任务编号 | +| item_id | bigint(20) | 是 | NULL | 物料ID | +| item_key_id | bigint(20) | 是 | NULL | 物料属性ID | +| item_code | varchar(50) | 是 | NULL | 物料编号 | +| from_point_id | bigint(20) | 是 | NULL | 原库位 | +| from_point_code | varchar(50) | 是 | NULL | 原库位编码 | +| to_point_id | bigint(20) | 是 | NULL | 目标库位 | +| to_point_code | varchar(50) | 是 | NULL | 目标库位编码 | +| stock_id | bigint(20) | 是 | NULL | 容器 | +| stock_code | varchar(50) | 是 | NULL | 容器编码 | +| pick_id | bigint(20) | 是 | NULL | 出库单ID | +| pick_detail_id | bigint(20) | 是 | NULL | 出库明细ID | +| inventory_id | bigint(20) | 是 | NULL | 库存ID | +| agv_task_id | bigint(20) | 是 | NULL | AGV ID | +| plan_qty | decimal(10,0) | 是 | NULL | 计划数量 | +| move_qty | decimal(10,0) | 是 | NULL | 已完成数量 | +| task_type | int(11) | 是 | NULL | 任务类型:1=拣货任务 | +| task_status | int(11) | 是 | NULL | 任务状态 | +| iz_all | int(11) | 是 | NULL | 是否整托:0整托,1拆托 | +| curr_out_code | varchar(50) | 是 | NULL | 移位类型:当前出库库位 | +| start_time | datetime | 是 | NULL | 开始时间 | +| complete_time | datetime | 是 | NULL | 完成时间 | +| req_message | longtext | 是 | NULL | 请求报文 | +| res_message | longtext | 是 | NULL | 响应内容 | +| res_time | datetime | 是 | NULL | 回传时间 | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| tenant_id | bigint(20) | 是 | NULL | 仓库ID | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +**任务状态说明**: +| 值 | 说明 | +|----|------| +| 1 | 已创建 | +| 2 | 已完成 | +| 3 | 已取消 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| idx_task_agvTaskId_create_time | 普通索引 | agv_task_id, create_time | +| idx_agv_to_point_created | 普通索引 | agv_task_id, to_point_id, create_time | +| idx_item_key | 普通索引 | item_id, item_key_id | +| idx_pick_inv_agv | 普通索引 | pick_id, pick_detail_id, inventory_id, agv_task_id | +| idx_status_createtime_pick | 普通索引 | task_status, create_time, pick_id | + +--- + +#### 2.2.9 盘点计划表 (data_count_plan) + +**表名**:`data_count_plan` +**描述**:存储盘点计划信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | bigint(20) | 否 | - | 主键ID | +| area_id | bigint(20) | 是 | NULL | 库区 | +| order_no | varchar(32) | 是 | NULL | 盘点单号 | +| count_type | int(11) | 是 | NULL | 盘点类型 | +| status | int(11) | 是 | NULL | 订单状态 | +| plan_start_time | datetime | 是 | NULL | 计划开始时间 | +| plan_end_time | datetime | 是 | NULL | 计划结束时间 | +| auditor | varchar(50) | 是 | NULL | 审核人 | +| description | varchar(500) | 是 | NULL | 盘点物料/盘点托盘 | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| tenant_id | int(11) | 是 | NULL | 仓库ID | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +**盘点类型说明**: +| 值 | 说明 | +|----|------| +| 0 | 按物料抽盘 | +| 1 | 按托盘抽盘 | + +**订单状态说明**: +| 值 | 说明 | +|----|------| +| 1 | 已创建 | +| 2 | 已审核 | +| 3 | 盘点中 | +| 4 | 盘点完成 | +| 5 | 已取消 | +| 6 | 已关闭 | + +--- + +#### 2.2.10 盘点明细表 (data_count_detail) + +**表名**:`data_count_detail` +**描述**:存储盘点明细信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | bigint(20) | 否 | - | 主键ID | +| count_plan_id | bigint(20) | 是 | NULL | 盘点ID | +| item_id | bigint(20) | 是 | NULL | 物料ID | +| stock_id | bigint(20) | 是 | NULL | 容器ID | +| point_id | bigint(20) | 是 | NULL | 库位ID | +| item_key_id | bigint(20) | 是 | NULL | 物料属性ID | +| agv_task_id | bigint(20) | 是 | NULL | AGV ID | +| inventory_id | bigint(20) | 是 | NULL | 库存ID | +| inv_qty | decimal(10,0) | 是 | NULL | 库存数量 | +| count_qty | decimal(10,0) | 是 | NULL | 盘点数量 | +| plan_date | datetime | 是 | NULL | 盘点日期 | +| count_by | varchar(50) | 是 | NULL | 盘点人 | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| tenant_id | int(11) | 是 | NULL | 仓库ID | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +--- + +#### 2.2.11 收货记录表 (data_receive_record) + +**表名**:`data_receive_record` +**描述**:存储收货操作记录 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | bigint(20) | 否 | - | 主键ID | +| asn_id | bigint(20) | 是 | NULL | 入库单ID | +| asn_detail_id | bigint(20) | 是 | NULL | 入库明细ID | +| stock_id | bigint(20) | 是 | NULL | 容器ID | +| from_point_id | bigint(20) | 是 | NULL | 起点库位ID | +| to_point_id | bigint(20) | 是 | NULL | 终点库位ID | +| item_id | bigint(20) | 是 | NULL | 物料ID | +| item_key_id | bigint(20) | 是 | NULL | 物料属性ID | +| received_qty | decimal(10,0) | 是 | NULL | 收货数量 | +| description | varchar(32) | 是 | NULL | 备注 | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| tenant_id | bigint(20) | 是 | NULL | 租户ID | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| idx_asnId | 普通索引 | asn_id | +| idx_stockId | 普通索引 | stock_id | +| idx_createTime | 普通索引 | create_time | + +--- + +### 2.3 系统管理模块 + +系统管理模块管理系统用户、角色、权限、组织机构、租户等核心配置。 + +#### 2.3.1 用户表 (sys_user) + +**表名**:`sys_user` +**描述**:存储系统用户信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(32) | 否 | - | 主键ID | +| username | varchar(100) | 是 | NULL | 登录账号(唯一) | +| realname | varchar(100) | 是 | NULL | 真实姓名 | +| password | varchar(255) | 是 | NULL | 密码 | +| salt | varchar(45) | 是 | NULL | MD5密码盐 | +| avatar | varchar(255) | 是 | NULL | 头像 | +| birthday | date | 是 | NULL | 生日 | +| sex | tinyint(1) | 是 | NULL | 性别:0未知,1男,2女 | +| email | varchar(45) | 是 | NULL | 电子邮件(唯一) | +| phone | varchar(45) | 是 | NULL | 电话(唯一) | +| org_code | varchar(64) | 是 | NULL | 登录会话的机构编码 | +| status | tinyint(1) | 是 | NULL | 状态:1正常,2冻结 | +| del_flag | tinyint(1) | 是 | NULL | 删除状态:0正常,1已删除 | +| third_id | varchar(100) | 是 | NULL | 第三方登录唯一标识 | +| third_type | varchar(100) | 是 | NULL | 第三方类型 | +| activiti_sync | tinyint(1) | 是 | NULL | 同步工作流引擎:1同步,0不同步 | +| work_no | varchar(100) | 是 | NULL | 工号(唯一) | +| telephone | varchar(45) | 是 | NULL | 座机号 | +| user_identity | tinyint(1) | 是 | NULL | 身份:1普通成员,2上级 | +| depart_ids | varchar(1000) | 是 | NULL | 负责部门 | +| client_id | varchar(64) | 是 | NULL | 设备ID | +| login_tenant_id | int(11) | 是 | NULL | 上次登录选择租户ID | +| bpm_status | varchar(2) | 是 | NULL | 流程入职离职状态 | +| sign_enable | tinyint(1) | 是 | NULL | 是否启用个性签名 | +| sign | varchar(500) | 是 | NULL | 个性签名 | +| main_dep_post_id | varchar(32) | 是 | NULL | 主岗位 | +| position_type | varchar(32) | 是 | NULL | 职务 | +| create_by | varchar(32) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建时间 | +| update_by | varchar(32) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新时间 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| uniq_sys_user_work_no | 唯一索引 | work_no | +| uniq_sys_user_username | 唯一索引 | username | +| uniq_sys_user_phone | 唯一索引 | phone | +| uniq_sys_user_email | 唯一索引 | email | +| idx_su_status | 普通索引 | status | +| idx_su_del_flag | 普通索引 | del_flag | +| idx_su_del_username | 普通索引 | username, del_flag | +| idx_su_main_dep_post_id | 普通索引 | main_dep_post_id | + +--- + +#### 2.3.2 角色表 (sys_role) + +**表名**:`sys_role` +**描述**:存储角色信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(32) | 否 | - | 主键ID | +| role_name | varchar(200) | 是 | NULL | 角色名称 | +| role_code | varchar(100) | 否 | - | 角色编码(唯一) | +| description | varchar(255) | 是 | NULL | 描述 | +| tenant_id | int(11) | 是 | 0 | 租户ID | +| create_by | varchar(32) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建时间 | +| update_by | varchar(32) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新时间 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| uniq_sys_role_role_code | 唯一索引 | role_code | +| idx_sysrole_tenant_id | 普通索引 | tenant_id | + +--- + +#### 2.3.3 用户角色关联表 (sys_user_role) + +**表名**:`sys_user_role` +**描述**:存储用户与角色的关联关系 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(32) | 否 | - | 主键ID | +| user_id | varchar(32) | 是 | NULL | 用户ID | +| role_id | varchar(32) | 是 | NULL | 角色ID | +| tenant_id | int(11) | 是 | 0 | 租户ID | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| idx_sur_user_id | 普通索引 | user_id | +| idx_sur_role_id | 普通索引 | role_id | +| idx_sur_user_role_id | 普通索引 | user_id, role_id | + +--- + +#### 2.3.4 菜单权限表 (sys_permission) + +**表名**:`sys_permission` +**描述**:存储菜单权限信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(32) | 否 | - | 主键ID | +| parent_id | varchar(32) | 是 | NULL | 父ID | +| name | varchar(255) | 是 | NULL | 菜单标题 | +| url | varchar(255) | 是 | NULL | 路径 | +| component | varchar(255) | 是 | NULL | 组件 | +| is_route | tinyint(1) | 是 | 1 | 是否路由菜单:0否,1是 | +| component_name | varchar(255) | 是 | NULL | 组件名字 | +| redirect | varchar(255) | 是 | NULL | 一级菜单跳转地址 | +| menu_type | int(11) | 是 | NULL | 菜单类型:0一级菜单,1子菜单,2按钮权限 | +| perms | varchar(255) | 是 | NULL | 菜单权限编码 | +| perms_type | varchar(10) | 是 | '0' | 权限策略:1显示,2禁用 | +| sort_no | double(8,2) | 是 | NULL | 菜单排序 | +| always_show | tinyint(1) | 是 | NULL | 聚合子路由:1是,0否 | +| icon | varchar(255) | 是 | NULL | 菜单图标 | +| is_leaf | tinyint(1) | 是 | NULL | 是否叶子节点:1是,0否 | +| keep_alive | tinyint(1) | 是 | NULL | 是否缓存该页面:1是,0否 | +| hidden | tinyint(4) | 是 | 0 | 是否隐藏路由:0否,1是 | +| hide_tab | tinyint(4) | 是 | NULL | 是否隐藏tab:0否,1是 | +| description | varchar(255) | 是 | NULL | 描述 | +| del_flag | int(11) | 是 | 0 | 删除状态:0正常,1已删除 | +| rule_flag | int(11) | 是 | 0 | 是否添加数据权限:1是,0否 | +| status | varchar(2) | 是 | NULL | 按钮权限状态:0无效,1有效 | +| internal_or_external | tinyint(1) | 是 | NULL | 外链菜单打开方式:0内部,1外部 | +| create_by | varchar(255) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建时间 | +| update_by | varchar(255) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新时间 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| index_menu_type | 普通索引 | menu_type | +| index_menu_hidden | 普通索引 | hidden | +| index_menu_status | 普通索引 | status | +| index_menu_del_flag | 普通索引 | del_flag | +| index_menu_url | 普通索引 | url | +| index_menu_sort_no | 普通索引 | sort_no | + +--- + +#### 2.3.5 角色权限关联表 (sys_role_permission) + +**表名**:`sys_role_permission` +**描述**:存储角色与权限的关联关系 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(32) | 否 | - | 主键ID | +| role_id | varchar(32) | 是 | NULL | 角色ID | +| permission_id | varchar(32) | 是 | NULL | 权限ID | +| data_rule_ids | varchar(1000) | 是 | NULL | 数据权限IDs | +| operate_date | datetime | 是 | NULL | 操作时间 | +| operate_ip | varchar(100) | 是 | NULL | 操作IP | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| idx_srp_role_per_id | 普通索引 | role_id, permission_id | +| idx_srp_role_id | 普通索引 | role_id | +| idx_srp_permission_id | 普通索引 | permission_id | + +--- + +#### 2.3.6 组织机构表 (sys_depart) + +**表名**:`sys_depart` +**描述**:存储组织机构信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(32) | 否 | - | 主键ID | +| parent_id | varchar(32) | 是 | NULL | 父机构ID | +| depart_name | varchar(100) | 否 | - | 机构/部门名称 | +| depart_name_en | varchar(500) | 是 | NULL | 英文名 | +| depart_name_abbr | varchar(500) | 是 | NULL | 缩写 | +| depart_order | int(11) | 是 | 0 | 排序 | +| description | varchar(500) | 是 | NULL | 描述 | +| org_category | varchar(10) | 否 | '1' | 机构类别:1公司,2部门,3岗位,4子公司 | +| org_type | varchar(10) | 是 | NULL | 树深度层级level | +| org_code | varchar(64) | 否 | - | 机构编码(唯一) | +| mobile | varchar(32) | 是 | NULL | 手机号 | +| fax | varchar(32) | 是 | NULL | 传真 | +| address | varchar(100) | 是 | NULL | 地址 | +| memo | varchar(500) | 是 | NULL | 备注 | +| status | varchar(1) | 是 | NULL | 状态:1启用,0不启用 | +| del_flag | varchar(1) | 是 | NULL | 删除状态:0正常,1已删除 | +| qywx_identifier | varchar(100) | 是 | NULL | 对接企业微信的ID | +| ding_identifier | varchar(100) | 是 | NULL | 对接钉钉部门的ID | +| tenant_id | int(11) | 是 | 0 | 租户ID | +| iz_leaf | tinyint(1) | 是 | 0 | 是否有叶子节点:1是,0否 | +| position_id | varchar(32) | 是 | NULL | 职级ID | +| dep_post_parent_id | varchar(32) | 是 | NULL | 上级岗位ID | +| create_by | varchar(32) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(32) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| uniq_depart_org_code | 唯一索引 | org_code | +| idx_sd_parent_id | 普通索引 | parent_id | +| idx_sd_depart_order | 普通索引 | depart_order | +| idx_sd_position_id | 普通索引 | position_id | +| idx_sd_dep_post_parent_id | 普通索引 | dep_post_parent_id | + +--- + +#### 2.3.7 租户信息表 (sys_tenant) + +**表名**:`sys_tenant` +**描述**:存储多租户信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | int(11) | 否 | - | 租户编码 | +| name | varchar(100) | 是 | NULL | 租户名称 | +| begin_date | datetime | 是 | NULL | 开始时间 | +| end_date | datetime | 是 | NULL | 结束时间 | +| status | int(11) | 是 | NULL | 状态:1正常,0冻结 | +| trade | varchar(10) | 是 | NULL | 所属行业 | +| company_size | varchar(10) | 是 | NULL | 公司规模 | +| company_address | varchar(100) | 是 | NULL | 公司地址 | +| company_logo | varchar(200) | 是 | NULL | 公司Logo | +| house_number | varchar(10) | 是 | NULL | 门牌号 | +| work_place | varchar(100) | 是 | NULL | 工作地点 | +| secondary_domain | varchar(50) | 是 | NULL | 二级域名 | +| login_bkgd_img | varchar(200) | 是 | NULL | 登录背景图片 | +| position | varchar(10) | 是 | NULL | 职级 | +| department | varchar(10) | 是 | NULL | 部门 | +| del_flag | tinyint(1) | 是 | 0 | 删除状态:0正常,1已删除 | +| apply_status | int(11) | 是 | NULL | 允许申请管理员:1允许,0不允许 | +| create_time | datetime | 是 | NULL | 创建时间 | +| create_by | varchar(100) | 是 | NULL | 创建人 | +| update_by | varchar(32) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新时间 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | + +--- + +#### 2.3.8 数据字典表 (sys_dict) + +**表名**:`sys_dict` +**描述**:存储数据字典信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(32) | 否 | - | 主键ID | +| dict_name | varchar(100) | 否 | - | 字典名称 | +| dict_code | varchar(100) | 否 | - | 字典编码(唯一) | +| description | varchar(255) | 是 | NULL | 描述 | +| del_flag | int(11) | 是 | NULL | 删除状态 | +| type | int(1) | 是 | 0 | 字典类型:0为string,1为number | +| tenant_id | int(11) | 是 | 0 | 租户ID | +| low_app_id | varchar(32) | 是 | NULL | 低代码应用ID | +| create_by | varchar(32) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建时间 | +| update_by | varchar(32) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新时间 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| uk_sd_dict_code | 唯一索引 | dict_code | +| uk_sd_tenant_id | 普通索引 | tenant_id | + +--- + +#### 2.3.9 数据字典项表 (sys_dict_item) + +**表名**:`sys_dict_item` +**描述**:存储数据字典项信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(32) | 否 | - | 主键ID | +| dict_id | varchar(32) | 是 | NULL | 字典ID | +| item_text | varchar(100) | 否 | - | 字典项文本 | +| item_value | varchar(100) | 否 | - | 字典项值 | +| item_color | varchar(10) | 是 | NULL | 字典项颜色 | +| description | varchar(255) | 是 | NULL | 描述 | +| sort_order | int(11) | 是 | NULL | 排序 | +| status | int(11) | 是 | NULL | 状态:1启用,0不启用 | +| create_by | varchar(32) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建时间 | +| update_by | varchar(32) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新时间 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| idx_sditem_role_dict_id | 普通索引 | dict_id | +| idx_sditem_role_sort_order | 普通索引 | sort_order | +| idx_sditem_status | 普通索引 | status | +| idx_sditem_dict_val | 普通索引 | dict_id, item_value | + +--- + +#### 2.3.10 系统日志表 (sys_log) + +**表名**:`sys_log` +**描述**:存储系统操作日志 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(32) | 否 | - | 主键ID | +| log_type | int(11) | 是 | NULL | 日志类型:1登录日志,2操作日志,3租户操作日志 | +| log_content | longtext | 是 | NULL | 日志内容 | +| operate_type | int(11) | 是 | NULL | 操作类型 | +| userid | varchar(32) | 是 | NULL | 操作用户账号 | +| username | varchar(100) | 是 | NULL | 操作用户名称 | +| ip | varchar(100) | 是 | NULL | IP地址 | +| method | varchar(1000) | 是 | NULL | 请求Java方法 | +| request_url | varchar(255) | 是 | NULL | 请求路径 | +| request_param | longtext | 是 | NULL | 请求参数 | +| request_type | varchar(10) | 是 | NULL | 请求类型 | +| return_data | longtext | 是 | NULL | 返回内容 | +| cost_time | bigint(20) | 是 | NULL | 耗时(毫秒) | +| tenant_id | int(11) | 是 | NULL | 租户ID | +| client_type | varchar(5) | 是 | NULL | 客户端类型:pc/app/h5 | +| create_by | varchar(32) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建时间 | +| update_by | varchar(32) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新时间 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| idx_sl_userid | 普通索引 | userid | +| idx_sl_log_type | 普通索引 | log_type | +| idx_sl_operate_type | 普通索引 | operate_type | +| idx_sl_create_time | 普通索引 | create_time | + +--- + +#### 2.3.11 系统通告表 (sys_announcement) + +**表名**:`sys_announcement` +**描述**:存储系统通告信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(32) | 否 | - | 主键ID | +| titile | varchar(100) | 是 | NULL | 标题 | +| msg_content | text | 是 | NULL | 内容 | +| start_time | datetime | 是 | NULL | 开始时间 | +| end_time | datetime | 是 | NULL | 结束时间 | +| sender | varchar(100) | 是 | NULL | 发布人 | +| priority | varchar(255) | 是 | NULL | 优先级:L低,M中,H高 | +| msg_category | varchar(10) | 否 | '2' | 消息类型:1通知公告,2系统消息 | +| msg_type | varchar(10) | 是 | NULL | 通告对象类型:USER指定用户,ALL全体用户 | +| send_status | varchar(10) | 是 | NULL | 发布状态:0未发布,1已发布,2已撤销 | +| send_time | datetime | 是 | NULL | 发布时间 | +| cancel_time | datetime | 是 | NULL | 撤销时间 | +| del_flag | varchar(1) | 是 | NULL | 删除状态:0正常,1已删除 | +| bus_type | varchar(20) | 是 | NULL | 业务类型 | +| bus_id | varchar(50) | 是 | NULL | 业务ID | +| open_type | varchar(20) | 是 | NULL | 打开方式 | +| open_page | varchar(255) | 是 | NULL | 组件/路由地址 | +| user_ids | text | 是 | NULL | 指定用户 | +| msg_abstract | text | 是 | NULL | 摘要/扩展业务参数 | +| dt_task_id | varchar(100) | 是 | NULL | 钉钉task_id | +| tenant_id | int(11) | 是 | 0 | 租户ID | +| files | text | 是 | NULL | 附件 | +| visits_num | int(11) | 是 | NULL | 访问次数 | +| iz_top | int(11) | 是 | 0 | 是否置顶:0否,1是 | +| iz_approval | varchar(10) | 是 | NULL | 是否审批:0否,1是 | +| bpm_status | varchar(10) | 是 | NULL | 流程状态 | +| msg_classify | varchar(255) | 是 | NULL | 消息归类 | +| notice_type | varchar(10) | 是 | NULL | 通知类型 | +| create_by | varchar(32) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建时间 | +| update_by | varchar(32) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新时间 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| idx_sanno_endtime | 普通索引 | end_time | +| idx_sanno_start_time | 普通索引 | start_time | +| idx_sanno_msg_type | 普通索引 | msg_type | +| idx_sanno_send_status | 普通索引 | send_status | +| idx_sanno_del_flag | 普通索引 | del_flag | +| idx_sanno_tenant_id | 普通索引 | tenant_id | +| idx_sanno_sender | 普通索引 | sender | +| idx_sanno_create_time | 普通索引 | create_time | + +--- + +### 2.4 报表设计模块 + +报表设计模块基于积木报表(JimuReport)实现可视化报表设计能力。 + +#### 2.4.1 积木报表主表 (jimu_report) + +**表名**:`jimu_report` +**描述**:存储在线Excel设计器报表信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(32) | 否 | - | 主键 | +| code | varchar(50) | 是 | NULL | 编码(唯一) | +| name | varchar(50) | 是 | NULL | 名称 | +| note | varchar(255) | 是 | NULL | 说明 | +| status | varchar(10) | 是 | NULL | 状态 | +| type | varchar(50) | 是 | NULL | 类型 | +| json_str | longtext | 是 | NULL | JSON字符串 | +| api_url | varchar(255) | 是 | NULL | 请求地址 | +| thumb | text | 是 | NULL | 缩略图 | +| del_flag | tinyint(1) | 是 | NULL | 删除标识:0正常,1已删除 | +| api_method | varchar(255) | 是 | NULL | 请求方法:0-get,1-post | +| api_code | varchar(255) | 是 | NULL | 请求编码 | +| template | tinyint(1) | 是 | NULL | 是否是模板:0不是,1是 | +| view_count | bigint(20) | 是 | 0 | 浏览次数 | +| css_str | text | 是 | NULL | CSS增强 | +| js_str | text | 是 | NULL | JS增强 | +| py_str | text | 是 | NULL | Python增强 | +| tenant_id | varchar(10) | 是 | NULL | 多租户标识 | +| update_count | int(11) | 是 | 0 | 乐观锁版本 | +| submit_form | tinyint(1) | 是 | NULL | 是否填报报表:0不是,1是 | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建时间 | +| update_by | varchar(50) | 是 | NULL | 修改人 | +| update_time | datetime | 是 | NULL | 修改时间 | + +--- + +#### 2.4.2 积木报表数据源表 (jimu_report_data_source) + +**表名**:`jimu_report_data_source` +**描述**:存储报表数据源配置 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(36) | 否 | - | 主键 | +| name | varchar(100) | 是 | NULL | 数据源名称 | +| report_id | varchar(100) | 是 | NULL | 报表ID | +| code | varchar(100) | 是 | NULL | 编码 | +| remark | varchar(200) | 是 | NULL | 备注 | +| db_type | varchar(10) | 是 | NULL | 数据库类型 | +| db_driver | varchar(100) | 是 | NULL | 驱动类 | +| db_url | varchar(500) | 是 | NULL | 数据源地址 | +| db_username | varchar(100) | 是 | NULL | 用户名 | +| db_password | varchar(100) | 是 | NULL | 密码 | +| connect_times | int(11) | 是 | 0 | 连接失败次数 | +| tenant_id | varchar(10) | 是 | NULL | 多租户标识 | +| type | varchar(10) | 是 | NULL | 类型 | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +--- + +### 2.5 AI智能模块 + +AI智能模块集成AI能力,支持知识库、模型管理、应用编排等功能。 + +#### 2.5.1 AI应用表 (airag_app) + +**表名**:`airag_app` +**描述**:存储AI应用配置 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(36) | 否 | - | 主键 | +| name | varchar(100) | 是 | NULL | 应用名称 | +| descr | varchar(255) | 是 | NULL | 应用描述 | +| icon | varchar(255) | 是 | NULL | 应用图标 | +| type | varchar(50) | 是 | NULL | 应用类型 | +| prologue | text | 是 | NULL | 开场白 | +| prompt | text | 是 | NULL | 提示词 | +| model_id | varchar(36) | 是 | NULL | 模型ID | +| knowledge_ids | varchar(255) | 是 | NULL | 知识库 | +| flow_id | varchar(32) | 是 | NULL | 流程 | +| status | varchar(20) | 是 | NULL | 状态:enable启用,disable禁用,release发布 | +| msg_num | int(11) | 是 | NULL | 历史消息数 | +| metadata | varchar(500) | 是 | NULL | 元数据 | +| preset_question | text | 是 | NULL | 预设问题 | +| quick_command | varchar(500) | 是 | NULL | 快捷指令 | +| tenant_id | varchar(32) | 是 | NULL | 租户ID | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +--- + +#### 2.5.2 AI知识库表 (airag_knowledge) + +**表名**:`airag_knowledge` +**描述**:存储AI知识库配置 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(36) | 否 | - | 主键 | +| name | varchar(100) | 是 | NULL | 知识库名称 | +| descr | varchar(500) | 是 | NULL | 描述 | +| embed_id | varchar(32) | 是 | NULL | 向量模型ID | +| status | varchar(32) | 是 | NULL | 状态 | +| tenant_id | varchar(32) | 是 | NULL | 租户ID | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +--- + +#### 2.5.3 AI知识库文档表 (airag_knowledge_doc) + +**表名**:`airag_knowledge_doc` +**描述**:存储知识库文档信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(36) | 否 | - | 主键 | +| knowledge_id | varchar(32) | 是 | NULL | 知识库ID | +| title | varchar(100) | 是 | NULL | 标题 | +| type | varchar(32) | 是 | NULL | 类型 | +| content | text | 是 | NULL | 内容 | +| status | varchar(32) | 是 | NULL | 状态 | +| metadata | text | 是 | NULL | 元数据 | +| tenant_id | varchar(32) | 是 | NULL | 租户ID | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +--- + +#### 2.5.4 AI模型表 (airag_model) + +**表名**:`airag_model` +**描述**:存储AI模型配置 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(36) | 否 | - | 主键 | +| name | varchar(100) | 是 | NULL | 名称 | +| provider | varchar(50) | 是 | NULL | 供应者 | +| model_name | varchar(100) | 是 | NULL | 模型名称 | +| credential | varchar(500) | 是 | NULL | 凭证信息 | +| base_url | varchar(500) | 是 | NULL | API域名 | +| model_type | varchar(32) | 是 | NULL | 模型类型 | +| model_params | varchar(500) | 是 | NULL | 模型参数 | +| activate_flag | int(11) | 是 | NULL | 是否激活:1是,0否 | +| tenant_id | varchar(32) | 是 | NULL | 租户ID | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +--- + +#### 2.5.5 AI流程编排表 (airag_flow) + +**表名**:`airag_flow` +**描述**:存储AI流程编排配置 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(36) | 否 | - | 主键 | +| application_name | varchar(50) | 是 | NULL | 应用名称 | +| name | varchar(50) | 是 | NULL | 名称 | +| descr | varchar(200) | 是 | NULL | 描述 | +| icon | varchar(255) | 是 | NULL | 应用图标 | +| chain | text | 是 | NULL | 编排规则 | +| design | text | 是 | NULL | 编排设计 | +| status | varchar(20) | 是 | NULL | 状态:enable启用,disable禁用,release发布 | +| metadata | text | 是 | NULL | 元数据 | +| tenant_id | varchar(32) | 是 | NULL | 租户ID | +| sys_org_code | varchar(64) | 是 | NULL | 所属部门 | +| create_by | varchar(50) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(50) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +--- + +### 2.6 开放接口模块 + +开放接口模块提供外部系统对接能力,支持API管理和鉴权。 + +#### 2.6.1 开放接口表 (open_api) + +**表名**:`open_api` +**描述**:存储开放接口配置 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(255) | 否 | - | 主键 | +| name | varchar(255) | 是 | NULL | 接口名称 | +| request_method | varchar(255) | 是 | NULL | 请求方法 | +| request_url | varchar(255) | 是 | NULL | 接口地址(唯一) | +| black_list | varchar(255) | 是 | NULL | IP黑名单 | +| body | varchar(255) | 是 | NULL | 请求体内容 | +| origin_url | varchar(255) | 是 | NULL | 原始地址 | +| status | int(11) | 是 | NULL | 状态 | +| del_flag | int(11) | 是 | NULL | 删除标识 | +| headers_json | json | 是 | NULL | 请求头JSON | +| params_json | json | 是 | NULL | 请求参数JSON | +| create_by | varchar(255) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建时间 | +| update_by | varchar(255) | 是 | NULL | 修改人 | +| update_time | datetime | 是 | NULL | 修改时间 | + +--- + +#### 2.6.2 开放接口认证表 (open_api_auth) + +**表名**:`open_api_auth` +**描述**:存储接口认证信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(255) | 否 | - | 主键 | +| name | varchar(255) | 是 | NULL | 授权名称 | +| ak | varchar(255) | 是 | NULL | AK | +| sk | varchar(255) | 是 | NULL | SK | +| system_user_id | varchar(255) | 是 | NULL | 关联系统用户名 | +| create_by | varchar(255) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建时间 | +| update_by | varchar(255) | 是 | NULL | 修改人 | +| update_time | datetime | 是 | NULL | 修改时间 | + +--- + +#### 2.6.3 开放接口权限表 (open_api_permission) + +**表名**:`open_api_permission` +**描述**:存储接口授权关系 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(255) | 否 | - | 主键 | +| api_id | varchar(255) | 是 | NULL | 接口ID | +| api_auth_id | varchar(255) | 是 | NULL | 认证ID | +| create_by | varchar(255) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建时间 | +| update_by | varchar(255) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新时间 | + +--- + +#### 2.6.4 开放接口调用日志表 (open_api_log) + +**表名**:`open_api_log` +**描述**:存储接口调用日志 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(255) | 否 | - | 主键 | +| api_id | varchar(255) | 是 | NULL | 接口ID | +| call_auth_id | varchar(255) | 是 | NULL | 调用ID | +| call_time | datetime | 是 | NULL | 调用时间 | +| used_time | bigint(20) | 是 | NULL | 耗时(毫秒) | +| response_time | datetime | 是 | NULL | 响应时间 | + +--- + +### 2.7 定时任务模块 + +定时任务模块基于Quartz框架实现任务调度管理。 + +#### 2.7.1 定时任务配置表 (sys_quartz_job) + +**表名**:`sys_quartz_job` +**描述**:存储定时任务配置 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(32) | 否 | - | 主键 | +| job_class_name | varchar(255) | 是 | NULL | 任务类名 | +| cron_expression | varchar(255) | 是 | NULL | Cron表达式 | +| parameter | varchar(255) | 是 | NULL | 参数 | +| description | varchar(255) | 是 | NULL | 描述 | +| status | int(11) | 是 | NULL | 状态:0正常,-1停止 | +| del_flag | int(11) | 是 | NULL | 删除状态 | +| create_by | varchar(32) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建时间 | +| update_by | varchar(32) | 是 | NULL | 修改人 | +| update_time | datetime | 是 | NULL | 修改时间 | + +--- + +#### 2.7.2 Quartz触发器表 (qrtz_triggers) + +**表名**:`qrtz_triggers` +**描述**:Quartz框架触发器表 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| SCHED_NAME | varchar(120) | 否 | - | 调度器名称 | +| TRIGGER_NAME | varchar(200) | 否 | - | 触发器名称 | +| TRIGGER_GROUP | varchar(200) | 否 | - | 触发器组 | +| JOB_NAME | varchar(200) | 否 | - | 任务名称 | +| JOB_GROUP | varchar(200) | 否 | - | 任务组 | +| DESCRIPTION | varchar(250) | 是 | NULL | 描述 | +| NEXT_FIRE_TIME | bigint(20) | 是 | NULL | 下次触发时间 | +| PREV_FIRE_TIME | bigint(20) | 是 | NULL | 上次触发时间 | +| PRIORITY | int(11) | 是 | NULL | 优先级 | +| TRIGGER_STATE | varchar(16) | 否 | - | 触发器状态 | +| TRIGGER_TYPE | varchar(8) | 否 | - | 触发器类型 | +| START_TIME | bigint(20) | 否 | - | 开始时间 | +| END_TIME | bigint(20) | 是 | NULL | 结束时间 | +| CALENDAR_NAME | varchar(200) | 是 | NULL | 日历名称 | +| MISFIRE_INSTR | smallint(6) | 是 | NULL | 错过触发策略 | +| JOB_DATA | blob | 是 | NULL | 任务数据 | + +--- + +### 2.8 其他模块 + +其他模块包含流水号生成、在线表单、文件管理等辅助功能表。 + +#### 2.8.1 流水号生成表 (generator_sequence) + +**表名**:`generator_sequence` +**描述**:存储业务单据流水号 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | bigint(20) | 否 | AUTO | 主键ID | +| type | varchar(10) | 否 | - | 业务类型,如RK、CK、PD | +| date_str | varchar(6) | 否 | - | 日期字符串,格式yyMMdd | +| current_seq | bigint(20) | 否 | 1 | 当前流水号 | + +**索引**: +| 索引名 | 索引类型 | 索引字段 | +|--------|----------|----------| +| PRIMARY | 主键 | id | +| uk_biz_date | 唯一索引 | type, date_str | + +--- + +#### 2.8.2 文件管理表 (oss_file) + +**表名**:`oss_file` +**描述**:存储OSS文件信息 + +| 字段名 | 数据类型 | 可空 | 默认值 | 说明 | +|--------|----------|------|--------|------| +| id | varchar(32) | 否 | - | 主键ID | +| file_name | varchar(255) | 是 | NULL | 文件名称 | +| url | varchar(1000) | 是 | NULL | 文件地址 | +| create_by | varchar(32) | 是 | NULL | 创建人 | +| create_time | datetime | 是 | NULL | 创建日期 | +| update_by | varchar(32) | 是 | NULL | 更新人 | +| update_time | datetime | 是 | NULL | 更新日期 | + +--- + +## 3. 索引设计 + +### 3.1 索引设计原则 + +1. **主键索引**:所有表均使用主键索引,确保数据唯一性 +2. **唯一索引**:业务编码字段(如单号、编码)使用唯一索引 +3. **组合索引**:高频查询条件组合建立组合索引 +4. **外键索引**:关联字段建立索引,提升JOIN查询性能 + +### 3.2 核心索引统计 + +| 表名 | 索引数量 | 主要索引字段 | +|------|----------|--------------| +| data_inventory | 4 | stock_id, quantity, status, item_id | +| data_inventory_log | 7 | item_id, stock_id, log_type, create_time | +| data_agv_task | 6 | carrier_code, status, agv_vendor | +| sys_user | 8 | username, phone, email, work_no | +| sys_permission | 6 | menu_type, status, del_flag | + +--- + +## 4. 数据字典 + +### 4.1 通用状态字典 + +| 字典编码 | 字典名称 | 值 | 说明 | +|----------|----------|----|----| +| status | 状态 | 0 | 禁用 | +| status | 状态 | 1 | 启用 | +| del_flag | 删除标志 | 0 | 未删除 | +| del_flag | 删除标志 | 1 | 已删除 | +| iz_active | 是否启用 | 0 | 禁用 | +| iz_active | 是否启用 | 1 | 启用 | + +### 4.2 业务状态字典 + +| 字典编码 | 字典名称 | 值 | 说明 | +|----------|----------|----|----| +| order_status | 订单状态 | 1 | 已创建 | +| order_status | 订单状态 | 2 | 执行中 | +| order_status | 订单状态 | 3 | 已完成 | +| order_status | 订单状态 | 4 | 已关闭 | +| order_status | 订单状态 | 5 | 已取消 | +| point_status | 库位状态 | 0 | 空闲 | +| point_status | 库位状态 | 1 | 占用 | +| stock_status | 容器状态 | 0 | 空闲 | +| stock_status | 容器状态 | 1 | 占用 | + +### 4.3 日志类型字典 + +| 字典编码 | 字典名称 | 值 | 说明 | +|----------|----------|----|----| +| log_type | 日志类型 | 1 | 入库 | +| log_type | 日志类型 | 2 | 分配 | +| log_type | 日志类型 | 3 | 取消分配 | +| log_type | 日志类型 | 4 | 拣货 | +| log_type | 日志类型 | 5 | 退拣 | +| log_type | 日志类型 | 6 | 出库 | +| log_type | 日志类型 | 7 | 库存调整 | +| log_type | 日志类型 | 8 | 库位转移 | +| log_type | 日志类型 | 9 | 盘点调整 | + +--- + +## 附录 + +### A. 表命名规范 + +| 前缀 | 说明 | 示例 | +|------|------|------| +| base_ | 基础数据表 | base_item, base_area | +| data_ | 业务数据表 | data_asn, data_pick | +| sys_ | 系统管理表 | sys_user, sys_role | +| qrtz_ | Quartz定时任务表 | qrtz_triggers | +| onl_ | 在线开发表 | onl_cgform_head | +| jimu_ | 积木报表表 | jimu_report | +| airag_ | AI智能表 | airag_app | +| open_ | 开放接口表 | open_api | + +### B. 字段命名规范 + +| 字段名 | 说明 | 数据类型 | +|--------|------|----------| +| id | 主键ID | bigint/varchar | +| create_by | 创建人 | varchar(50) | +| create_time | 创建时间 | datetime | +| update_by | 更新人 | varchar(50) | +| update_time | 更新时间 | datetime | +| del_flag | 删除标志 | int(11) | +| tenant_id | 租户ID | bigint/int | +| sys_org_code | 所属部门 | varchar(64) | +| status | 状态 | int/varchar | +| description | 描述 | varchar | + +### C. 版本历史 + +| 版本 | 日期 | 修改内容 | 修改人 | +|------|------|----------|--------| +| V1.0 | 2026-03-20 | 初始版本 | - | + +--- + +**文档结束**