-- =====================================================
-- 芋道 ruoyi-vue-pro 项目数据库表结构
-- 生成日期: 2026-06-23
-- 基于 yudao-server/pom.xml 中已解锁模块的实体类生成
-- =====================================================

-- 已解锁模块：
-- 1. yudao-module-system (32 张表)
-- 2. yudao-module-infra (11 张表)
-- 3. yudao-module-bpm (8 张表)
-- 4. yudao-module-crm (19 张表)
-- 5. yudao-module-erp (33 张表)
-- 6. yudao-module-mes (133 张表，含 wm 子模块 62 张表)
-- 7. yudao-module-wms (16 张表)
-- 合计: 252 张表

-- =====================================================
-- 第一部分: yudao-module-system 系统管理模块 (32 张表)
-- =====================================================

-- 1.1 管理后台用户表
-- CREATE TABLE `system_users` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
--   `username` varchar(100) DEFAULT NULL COMMENT '用户账号',
--   `password` varchar(100) DEFAULT NULL COMMENT '加密后的密码',
--   `nickname` varchar(100) DEFAULT NULL COMMENT '用户昵称',
--   `remark` varchar(500) DEFAULT NULL COMMENT '备注',
--   `dept_id` bigint DEFAULT NULL COMMENT '部门ID',
--   `post_ids` json DEFAULT NULL COMMENT '岗位编号数组',
--   `email` varchar(100) DEFAULT NULL COMMENT '用户邮箱',
--   `mobile` varchar(100) DEFAULT NULL COMMENT '手机号码',
--   `sex` tinyint DEFAULT NULL COMMENT '用户性别',
--   `avatar` varchar(255) DEFAULT NULL COMMENT '用户头像',
--   `status` tinyint NOT NULL DEFAULT '0' COMMENT '帐号状态（0正常 1停用）',
--   `login_ip` varchar(50) DEFAULT NULL COMMENT '最后登录IP',
--   `login_date` datetime DEFAULT NULL COMMENT '最后登录时间',
--   `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '多租户编号',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='管理后台用户表';
--
-- -- 1.2 部门表
-- CREATE TABLE `system_dept` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '部门ID',
--   `name` varchar(100) DEFAULT NULL COMMENT '部门名称',
--   `parent_id` bigint NOT NULL DEFAULT '0' COMMENT '父部门ID',
--   `sort` int NOT NULL DEFAULT '0' COMMENT '显示顺序',
--   `leader_user_id` bigint DEFAULT NULL COMMENT '负责人',
--   `phone` varchar(50) DEFAULT NULL COMMENT '联系电话',
--   `email` varchar(100) DEFAULT NULL COMMENT '邮箱',
--   `status` tinyint NOT NULL DEFAULT '0' COMMENT '部门状态（0正常 1停用）',
--   `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '多租户编号',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='部门表';
--
-- -- 1.3 岗位表
-- CREATE TABLE `system_post` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '岗位序号',
--   `name` varchar(100) DEFAULT NULL COMMENT '岗位名称',
--   `code` varchar(100) DEFAULT NULL COMMENT '岗位编码',
--   `sort` int NOT NULL DEFAULT '0' COMMENT '岗位排序',
--   `status` tinyint NOT NULL DEFAULT '0' COMMENT '状态（0正常 1停用）',
--   `remark` varchar(500) DEFAULT NULL COMMENT '备注',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='岗位表';
--
-- -- 1.4 用户岗位关联表
-- CREATE TABLE `system_user_post` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键',
--   `user_id` bigint NOT NULL COMMENT '用户ID',
--   `post_id` bigint NOT NULL COMMENT '岗位ID',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='用户岗位关联表';
--
-- -- 1.5 字典类型表
-- CREATE TABLE `system_dict_type` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '字典主键',
--   `name` varchar(100) DEFAULT NULL COMMENT '字典名称',
--   `type` varchar(100) DEFAULT NULL COMMENT '字典类型',
--   `status` tinyint NOT NULL DEFAULT '0' COMMENT '状态（0正常 1停用）',
--   `remark` varchar(500) DEFAULT NULL COMMENT '备注',
--   `deleted_time` datetime DEFAULT NULL COMMENT '删除时间',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='字典类型表';
--
-- -- 1.6 字典数据表
-- CREATE TABLE `system_dict_data` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '字典数据编号',
--   `sort` int NOT NULL DEFAULT '0' COMMENT '字典排序',
--   `label` varchar(100) DEFAULT NULL COMMENT '字典标签',
--   `value` varchar(100) DEFAULT NULL COMMENT '字典值',
--   `dict_type` varchar(100) DEFAULT NULL COMMENT '字典类型',
--   `status` tinyint NOT NULL DEFAULT '0' COMMENT '状态（0正常 1停用）',
--   `color_type` varchar(50) DEFAULT NULL COMMENT '颜色类型',
--   `css_class` varchar(100) DEFAULT NULL COMMENT 'css样式',
--   `remark` varchar(500) DEFAULT NULL COMMENT '备注',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='字典数据表';
--
-- -- 1.7 登录日志表
-- CREATE TABLE `system_login_log` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志主键',
--   `log_type` tinyint NOT NULL COMMENT '日志类型',
--   `trace_id` varchar(64) DEFAULT NULL COMMENT '链路追踪编号',
--   `user_id` bigint NOT NULL COMMENT '用户编号',
--   `user_type` tinyint NOT NULL COMMENT '用户类型',
--   `username` varchar(100) DEFAULT NULL COMMENT '用户账号',
--   `result` tinyint NOT NULL COMMENT '登录结果',
--   `user_ip` varchar(50) DEFAULT NULL COMMENT '用户IP',
--   `user_agent` varchar(512) DEFAULT NULL COMMENT '浏览器UA',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='登录日志表';
--
-- -- 1.8 操作日志表
-- CREATE TABLE `system_operate_log` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志主键',
--   `trace_id` varchar(64) DEFAULT NULL COMMENT '链路追踪编号',
--   `user_id` bigint NOT NULL COMMENT '用户编号',
--   `user_type` tinyint NOT NULL COMMENT '用户类型',
--   `type` varchar(100) DEFAULT NULL COMMENT '操作模块类型',
--   `sub_type` varchar(100) DEFAULT NULL COMMENT '操作名',
--   `biz_id` bigint DEFAULT NULL COMMENT '操作模块业务编号',
--   `action` varchar(2000) DEFAULT NULL COMMENT '日志内容',
--   `extra` varchar(2000) DEFAULT NULL COMMENT '拓展字段',
--   `request_method` varchar(50) DEFAULT NULL COMMENT '请求方法名',
--   `request_url` varchar(255) DEFAULT NULL COMMENT '请求地址',
--   `user_ip` varchar(50) DEFAULT NULL COMMENT '用户IP',
--   `user_agent` varchar(512) DEFAULT NULL COMMENT '浏览器UA',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='操作日志表';
--
-- -- 1.9 通知公告表
-- CREATE TABLE `system_notice` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '公告ID',
--   `title` varchar(200) DEFAULT NULL COMMENT '公告标题',
--   `type` tinyint NOT NULL COMMENT '公告类型',
--   `content` text COMMENT '公告内容',
--   `status` tinyint NOT NULL DEFAULT '0' COMMENT '公告状态（0正常 1关闭）',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='通知公告表';
--
-- -- 1.10 菜单表
-- CREATE TABLE `system_menu` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '菜单编号',
--   `name` varchar(100) DEFAULT NULL COMMENT '菜单名称',
--   `permission` varchar(100) DEFAULT NULL COMMENT '权限标识',
--   `type` tinyint NOT NULL COMMENT '菜单类型',
--   `sort` int NOT NULL DEFAULT '0' COMMENT '显示顺序',
--   `parent_id` bigint NOT NULL DEFAULT '0' COMMENT '父菜单ID',
--   `path` varchar(255) DEFAULT NULL COMMENT '路由地址',
--   `icon` varchar(100) DEFAULT NULL COMMENT '菜单图标',
--   `component` varchar(255) DEFAULT NULL COMMENT '组件路径',
--   `component_name` varchar(100) DEFAULT NULL COMMENT '组件名',
--   `status` tinyint NOT NULL DEFAULT '0' COMMENT '状态（0正常 1停用）',
--   `visible` bit(1) DEFAULT b'1' COMMENT '是否可见',
--   `keep_alive` bit(1) DEFAULT b'1' COMMENT '是否缓存',
--   `always_show` bit(1) DEFAULT b'1' COMMENT '是否总是显示',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='菜单表';
--
-- -- 1.11 角色表
-- CREATE TABLE `system_role` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '角色ID',
--   `name` varchar(100) DEFAULT NULL COMMENT '角色名称',
--   `code` varchar(100) DEFAULT NULL COMMENT '角色标识',
--   `sort` int NOT NULL DEFAULT '0' COMMENT '角色排序',
--   `status` tinyint NOT NULL DEFAULT '0' COMMENT '角色状态（0正常 1停用）',
--   `type` tinyint NOT NULL COMMENT '角色类型',
--   `remark` varchar(500) DEFAULT NULL COMMENT '备注',
--   `data_scope` tinyint DEFAULT NULL COMMENT '数据范围',
--   `data_scope_dept_ids` json DEFAULT NULL COMMENT '数据范围(指定部门数组)',
--   `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '多租户编号',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='角色表';
--
-- -- 1.12 角色菜单关联表
-- CREATE TABLE `system_role_menu` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键',
--   `role_id` bigint NOT NULL COMMENT '角色ID',
--   `menu_id` bigint NOT NULL COMMENT '菜单ID',
--   `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '多租户编号',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='角色菜单关联表';
--
-- -- 1.13 用户角色关联表
-- CREATE TABLE `system_user_role` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键',
--   `user_id` bigint NOT NULL COMMENT '用户ID',
--   `role_id` bigint NOT NULL COMMENT '角色ID',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='用户角色关联表';
--
-- -- 1.14 短信渠道表
-- CREATE TABLE `system_sms_channel` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '渠道编号',
--   `signature` varchar(100) DEFAULT NULL COMMENT '短信签名',
--   `code` varchar(100) DEFAULT NULL COMMENT '渠道编码',
--   `status` tinyint NOT NULL DEFAULT '0' COMMENT '启用状态（0正常 1停用）',
--   `remark` varchar(500) DEFAULT NULL COMMENT '备注',
--   `api_key` varchar(255) DEFAULT NULL COMMENT '短信API的账号',
--   `api_secret` varchar(255) DEFAULT NULL COMMENT '短信API的密钥',
--   `callback_url` varchar(255) DEFAULT NULL COMMENT '短信发送回调URL',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='短信渠道表';
--
-- -- 1.15 手机验证码表
-- CREATE TABLE `system_sms_code` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
--   `mobile` varchar(20) DEFAULT NULL COMMENT '手机号',
--   `code` varchar(20) DEFAULT NULL COMMENT '验证码',
--   `scene` tinyint NOT NULL COMMENT '发送场景',
--   `create_ip` varchar(50) DEFAULT NULL COMMENT '创建IP',
--   `today_index` int DEFAULT NULL COMMENT '今日发送的第几条',
--   `used` bit(1) DEFAULT b'0' COMMENT '是否使用',
--   `used_time` datetime DEFAULT NULL COMMENT '使用时间',
--   `used_ip` varchar(50) DEFAULT NULL COMMENT '使用IP',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`),
--   KEY `idx_mobile` (`mobile`)
-- ) ENGINE=InnoDB COMMENT='手机验证码表';
--
-- -- 1.16 短信模板表
-- CREATE TABLE `system_sms_template` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增编号',
--   `type` tinyint NOT NULL COMMENT '短信类型',
--   `status` tinyint NOT NULL DEFAULT '0' COMMENT '启用状态（0正常 1停用）',
--   `code` varchar(100) DEFAULT NULL COMMENT '模板编码',
--   `name` varchar(100) DEFAULT NULL COMMENT '模板名称',
--   `content` varchar(500) DEFAULT NULL COMMENT '模板内容',
--   `params` json DEFAULT NULL COMMENT '参数数组',
--   `remark` varchar(500) DEFAULT NULL COMMENT '备注',
--   `api_template_id` varchar(100) DEFAULT NULL COMMENT '短信API的模板编号',
--   `channel_id` bigint DEFAULT NULL COMMENT '短信渠道编号',
--   `channel_code` varchar(100) DEFAULT NULL COMMENT '短信渠道编码',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='短信模板表';
--
-- -- 1.17 短信日志表
-- CREATE TABLE `system_sms_log` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增编号',
--   `channel_id` bigint DEFAULT NULL COMMENT '短信渠道编号',
--   `channel_code` varchar(100) DEFAULT NULL COMMENT '短信渠道编码',
--   `template_id` bigint DEFAULT NULL COMMENT '模板编号',
--   `template_code` varchar(100) DEFAULT NULL COMMENT '模板编码',
--   `template_type` tinyint DEFAULT NULL COMMENT '短信类型',
--   `template_content` varchar(500) DEFAULT NULL COMMENT '模板内容',
--   `template_params` json DEFAULT NULL COMMENT '模板参数',
--   `api_template_id` varchar(100) DEFAULT NULL COMMENT '短信API的模板编号',
--   `mobile` varchar(20) DEFAULT NULL COMMENT '手机号',
--   `user_id` bigint DEFAULT NULL COMMENT '用户编号',
--   `user_type` tinyint DEFAULT NULL COMMENT '用户类型',
--   `send_status` tinyint NOT NULL DEFAULT '0' COMMENT '发送状态',
--   `send_time` datetime DEFAULT NULL COMMENT '发送时间',
--   `api_send_code` varchar(100) DEFAULT NULL COMMENT '短信API发送结果的编码',
--   `api_send_msg` varchar(500) DEFAULT NULL COMMENT '短信API发送失败的提示',
--   `api_request_id` varchar(100) DEFAULT NULL COMMENT '短信API发送返回的唯一请求ID',
--   `api_serial_no` varchar(100) DEFAULT NULL COMMENT '短信API发送返回的序号',
--   `receive_status` tinyint NOT NULL DEFAULT '0' COMMENT '接收状态',
--   `receive_time` datetime DEFAULT NULL COMMENT '接收时间',
--   `api_receive_code` varchar(100) DEFAULT NULL COMMENT '短信API接收结果的编码',
--   `api_receive_msg` varchar(500) DEFAULT NULL COMMENT '短信API接收结果的提示',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='短信日志表';
--
-- -- 1.18 社交客户端表
-- CREATE TABLE `system_social_client` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
--   `name` varchar(100) DEFAULT NULL COMMENT '应用名',
--   `social_type` tinyint NOT NULL COMMENT '社交类型',
--   `user_type` tinyint NOT NULL COMMENT '用户类型',
--   `status` tinyint NOT NULL DEFAULT '0' COMMENT '状态（0正常 1停用）',
--   `client_id` varchar(255) DEFAULT NULL COMMENT '客户端id',
--   `client_secret` varchar(255) DEFAULT NULL COMMENT '客户端Secret',
--   `agent_id` varchar(100) DEFAULT NULL COMMENT '代理编号',
--   `public_key` varchar(512) DEFAULT NULL COMMENT 'publicKey公钥',
--   `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '多租户编号',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='社交客户端表';
--
-- -- 1.19 社交用户表
-- CREATE TABLE `system_social_user` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键',
--   `type` tinyint NOT NULL COMMENT '社交平台的类型',
--   `openid` varchar(100) DEFAULT NULL COMMENT '社交openid',
--   `token` varchar(255) DEFAULT NULL COMMENT '社交token',
--   `raw_token_info` text COMMENT '原始Token数据',
--   `nickname` varchar(100) DEFAULT NULL COMMENT '用户昵称',
--   `avatar` varchar(255) DEFAULT NULL COMMENT '用户头像',
--   `raw_user_info` text COMMENT '原始用户数据',
--   `code` varchar(100) DEFAULT NULL COMMENT '最后一次的认证code',
--   `state` varchar(100) DEFAULT NULL COMMENT '最后一次的认证state',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='社交用户表';
--
-- -- 1.20 社交用户绑定表
-- CREATE TABLE `system_social_user_bind` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
--   `user_id` bigint NOT NULL COMMENT '关联的用户编号',
--   `user_type` tinyint NOT NULL COMMENT '用户类型',
--   `social_user_id` bigint NOT NULL COMMENT '社交平台的用户编号',
--   `social_type` tinyint NOT NULL COMMENT '社交平台的类型',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='社交用户绑定表';
--
-- -- 1.21 租户表
-- CREATE TABLE `system_tenant` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '租户编号',
--   `name` varchar(100) DEFAULT NULL COMMENT '租户名',
--   `contact_user_id` bigint DEFAULT NULL COMMENT '联系人的用户编号',
--   `contact_name` varchar(100) DEFAULT NULL COMMENT '联系人',
--   `contact_mobile` varchar(50) DEFAULT NULL COMMENT '联系手机',
--   `status` tinyint NOT NULL DEFAULT '0' COMMENT '租户状态（0正常 1停用）',
--   `websites` json DEFAULT NULL COMMENT '绑定域名列表',
--   `package_id` bigint DEFAULT NULL COMMENT '租户套餐编号',
--   `expire_time` datetime DEFAULT NULL COMMENT '过期时间',
--   `account_count` int DEFAULT NULL COMMENT '账号数量',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='租户表';
--
-- -- 1.22 租户套餐表
-- CREATE TABLE `system_tenant_package` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '套餐编号',
--   `name` varchar(100) DEFAULT NULL COMMENT '套餐名',
--   `status` tinyint NOT NULL DEFAULT '0' COMMENT '租户套餐状态（0正常 1停用）',
--   `remark` varchar(500) DEFAULT NULL COMMENT '备注',
--   `menu_ids` json DEFAULT NULL COMMENT '关联的菜单编号',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='租户套餐表';
--
-- -- 1.23 邮箱账号表
-- CREATE TABLE `system_mail_account` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
--   `mail` varchar(100) DEFAULT NULL COMMENT '邮箱',
--   `username` varchar(100) DEFAULT NULL COMMENT '用户名',
--   `password` varchar(100) DEFAULT NULL COMMENT '密码',
--   `host` varchar(100) DEFAULT NULL COMMENT 'SMTP服务器域名',
--   `port` int DEFAULT NULL COMMENT 'SMTP服务器端口',
--   `ssl_enable` bit(1) DEFAULT b'0' COMMENT '是否开启SSL',
--   `starttls_enable` bit(1) DEFAULT b'0' COMMENT '是否开启STARTTLS',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='邮箱账号表';
--
-- -- 1.24 邮件模版表
-- CREATE TABLE `system_mail_template` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
--   `name` varchar(100) DEFAULT NULL COMMENT '模版名称',
--   `code` varchar(100) DEFAULT NULL COMMENT '模版编号',
--   `account_id` bigint DEFAULT NULL COMMENT '发送的邮箱账号编号',
--   `nickname` varchar(100) DEFAULT NULL COMMENT '发送人名称',
--   `title` varchar(255) DEFAULT NULL COMMENT '标题',
--   `content` text COMMENT '内容',
--   `params` json DEFAULT NULL COMMENT '参数数组',
--   `status` tinyint NOT NULL DEFAULT '0' COMMENT '状态（0正常 1停用）',
--   `remark` varchar(500) DEFAULT NULL COMMENT '备注',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='邮件模版表';
--
-- -- 1.25 邮箱日志表
-- CREATE TABLE `system_mail_log` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志编号',
--   `user_id` bigint DEFAULT NULL COMMENT '用户编码',
--   `user_type` tinyint DEFAULT NULL COMMENT '用户类型',
--   `to_mails` json DEFAULT NULL COMMENT '接收邮箱地址',
--   `cc_mails` json DEFAULT NULL COMMENT '抄送邮箱地址',
--   `bcc_mails` json DEFAULT NULL COMMENT '密送邮箱地址',
--   `account_id` bigint DEFAULT NULL COMMENT '邮箱账号编号',
--   `from_mail` varchar(100) DEFAULT NULL COMMENT '发送邮箱地址',
--   `template_id` bigint DEFAULT NULL COMMENT '模版编号',
--   `template_code` varchar(100) DEFAULT NULL COMMENT '模版编码',
--   `template_nickname` varchar(100) DEFAULT NULL COMMENT '模版发送人名称',
--   `template_title` varchar(255) DEFAULT NULL COMMENT '模版标题',
--   `template_content` text COMMENT '模版内容',
--   `template_params` json DEFAULT NULL COMMENT '模版参数',
--   `send_status` tinyint NOT NULL DEFAULT '0' COMMENT '发送状态',
--   `send_time` datetime DEFAULT NULL COMMENT '发送时间',
--   `send_message_id` varchar(255) DEFAULT NULL COMMENT '发送返回的消息ID',
--   `send_exception` varchar(500) DEFAULT NULL COMMENT '发送异常',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='邮箱日志表';
--
-- -- 1.26 站内信模版表
-- CREATE TABLE `system_notify_template` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
--   `name` varchar(100) DEFAULT NULL COMMENT '模版名称',
--   `code` varchar(100) DEFAULT NULL COMMENT '模版编码',
--   `type` tinyint NOT NULL COMMENT '模版类型',
--   `nickname` varchar(100) DEFAULT NULL COMMENT '发送人名称',
--   `content` varchar(500) DEFAULT NULL COMMENT '模版内容',
--   `params` json DEFAULT NULL COMMENT '参数数组',
--   `status` tinyint NOT NULL DEFAULT '0' COMMENT '状态（0正常 1停用）',
--   `remark` varchar(500) DEFAULT NULL COMMENT '备注',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='站内信模版表';
--
-- -- 1.27 站内信表
-- CREATE TABLE `system_notify_message` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '站内信编号',
--   `user_id` bigint NOT NULL COMMENT '用户编号',
--   `user_type` tinyint NOT NULL COMMENT '用户类型',
--   `template_id` bigint DEFAULT NULL COMMENT '模版编号',
--   `template_code` varchar(100) DEFAULT NULL COMMENT '模版编码',
--   `template_type` tinyint DEFAULT NULL COMMENT '模版类型',
--   `template_nickname` varchar(100) DEFAULT NULL COMMENT '模版发送人名称',
--   `template_content` varchar(500) DEFAULT NULL COMMENT '模版内容',
--   `template_params` json DEFAULT NULL COMMENT '模版参数',
--   `read_status` bit(1) DEFAULT b'0' COMMENT '是否已读',
--   `read_time` datetime DEFAULT NULL COMMENT '阅读时间',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='站内信表';
--
-- -- 1.28 OAuth2客户端表
-- CREATE TABLE `system_oauth2_client` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
--   `client_id` varchar(100) DEFAULT NULL COMMENT '客户端编号',
--   `secret` varchar(255) DEFAULT NULL COMMENT '客户端密钥',
--   `name` varchar(100) DEFAULT NULL COMMENT '应用名',
--   `logo` varchar(255) DEFAULT NULL COMMENT '应用图标',
--   `description` varchar(500) DEFAULT NULL COMMENT '应用描述',
--   `status` tinyint NOT NULL DEFAULT '0' COMMENT '状态（0正常 1停用）',
--   `access_token_validity_seconds` int DEFAULT NULL COMMENT '访问令牌的有效期',
--   `refresh_token_validity_seconds` int DEFAULT NULL COMMENT '刷新令牌的有效期',
--   `redirect_uris` json DEFAULT NULL COMMENT '可重定向的URI地址',
--   `authorized_grant_types` json DEFAULT NULL COMMENT '授权类型',
--   `scopes` json DEFAULT NULL COMMENT '授权范围',
--   `auto_approve_scopes` json DEFAULT NULL COMMENT '自动授权的Scope',
--   `authorities` json DEFAULT NULL COMMENT '权限',
--   `resource_ids` json DEFAULT NULL COMMENT '资源',
--   `additional_information` varchar(2000) DEFAULT NULL COMMENT '附加信息',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='OAuth2客户端表';
--
-- -- 1.29 OAuth2授权码表
-- CREATE TABLE `system_oauth2_code` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
--   `code` varchar(255) DEFAULT NULL COMMENT '授权码',
--   `user_id` bigint NOT NULL COMMENT '用户编号',
--   `user_type` tinyint NOT NULL COMMENT '用户类型',
--   `client_id` varchar(100) DEFAULT NULL COMMENT '客户端编号',
--   `scopes` json DEFAULT NULL COMMENT '授权范围',
--   `redirect_uri` varchar(255) DEFAULT NULL COMMENT '重定向地址',
--   `state` varchar(100) DEFAULT NULL COMMENT '状态',
--   `expires_time` datetime DEFAULT NULL COMMENT '过期时间',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='OAuth2授权码表';
--
-- -- 1.30 OAuth2访问令牌表
-- CREATE TABLE `system_oauth2_access_token` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
--   `access_token` varchar(255) DEFAULT NULL COMMENT '访问令牌',
--   `refresh_token` varchar(255) DEFAULT NULL COMMENT '刷新令牌',
--   `user_id` bigint NOT NULL COMMENT '用户编号',
--   `user_type` tinyint NOT NULL COMMENT '用户类型',
--   `user_info` json DEFAULT NULL COMMENT '用户信息',
--   `client_id` varchar(100) DEFAULT NULL COMMENT '客户端编号',
--   `scopes` json DEFAULT NULL COMMENT '授权范围',
--   `expires_time` datetime DEFAULT NULL COMMENT '过期时间',
--   `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '多租户编号',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='OAuth2访问令牌表';
--
-- -- 1.31 OAuth2刷新令牌表
-- CREATE TABLE `system_oauth2_refresh_token` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
--   `refresh_token` varchar(255) DEFAULT NULL COMMENT '刷新令牌',
--   `user_id` bigint NOT NULL COMMENT '用户编号',
--   `user_type` tinyint NOT NULL COMMENT '用户类型',
--   `client_id` varchar(100) DEFAULT NULL COMMENT '客户端编号',
--   `scopes` json DEFAULT NULL COMMENT '授权范围',
--   `expires_time` datetime DEFAULT NULL COMMENT '过期时间',
--   `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '多租户编号',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='OAuth2刷新令牌表';
--
-- -- 1.32 OAuth2批准表
-- CREATE TABLE `system_oauth2_approve` (
--   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
--   `user_id` bigint NOT NULL COMMENT '用户编号',
--   `user_type` tinyint NOT NULL COMMENT '用户类型',
--   `client_id` varchar(100) DEFAULT NULL COMMENT '客户端编号',
--   `scope` varchar(255) DEFAULT NULL COMMENT '授权范围',
--   `approved` bit(1) DEFAULT b'0' COMMENT '是否接受',
--   `expires_time` datetime DEFAULT NULL COMMENT '过期时间',
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
--   `creator` varchar(64) DEFAULT '' COMMENT '创建者',
--   `updater` varchar(64) DEFAULT '' COMMENT '更新者',
--   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
--   PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB COMMENT='OAuth2批准表';
--
--
-- -- =====================================================
-- -- 第二部分: yudao-module-infra 基础设施模块 (11 张表)
-- -- =====================================================
--
-- -- 2.1 代码生成字段定义表
-- CREATE TABLE `infra_codegen_column` (
--     `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID 编号',
--     `table_id` BIGINT NOT NULL COMMENT '表编号',
--     `column_name` VARCHAR(200) NOT NULL COMMENT '字段名',
--     `data_type` VARCHAR(200) NOT NULL COMMENT '数据库字段类型',
--     `column_comment` VARCHAR(500) DEFAULT NULL COMMENT '字段描述',
--     `nullable` TINYINT(1) NOT NULL COMMENT '是否允许为空',
--     `primary_key` TINYINT(1) NOT NULL COMMENT '是否主键',
--     `ordinal_position` INT NOT NULL COMMENT '排序',
--     `java_type` VARCHAR(200) NOT NULL COMMENT 'Java 属性类型',
--     `java_field` VARCHAR(200) NOT NULL COMMENT 'Java 属性名',
--     `dict_type` VARCHAR(200) DEFAULT NULL COMMENT '字典类型',
--     `example` VARCHAR(500) DEFAULT NULL COMMENT '数据示例',
--     `create_operation` TINYINT(1) NOT NULL COMMENT '是否为 Create 创建操作的字段',
--     `update_operation` TINYINT(1) NOT NULL COMMENT '是否为 Update 更新操作的字段',
--     `list_operation` TINYINT(1) NOT NULL COMMENT '是否为 List 查询操作的字段',
--     `list_operation_condition` VARCHAR(200) NOT NULL COMMENT 'List 查询操作的条件类型',
--     `list_operation_result` TINYINT(1) NOT NULL COMMENT '是否为 List 查询操作的返回字段',
--     `html_type` VARCHAR(200) NOT NULL COMMENT '显示类型',
--     `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
--     `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--     `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
--     `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
--     `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
--     PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='代码生成字段定义表';
--
-- -- 2.2 代码生成表定义表
-- CREATE TABLE `infra_codegen_table` (
--     `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID 编号',
--     `data_source_config_id` BIGINT NOT NULL COMMENT '数据源编号',
--     `scene` INT NOT NULL COMMENT '生成场景',
--     `table_name` VARCHAR(200) NOT NULL COMMENT '表名称',
--     `table_comment` VARCHAR(500) DEFAULT NULL COMMENT '表描述',
--     `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',
--     `module_name` VARCHAR(100) NOT NULL COMMENT '模块名，即一级目录',
--     `business_name` VARCHAR(100) NOT NULL COMMENT '业务名，即二级目录',
--     `class_name` VARCHAR(100) NOT NULL COMMENT '类名称（首字母大写）',
--     `class_comment` VARCHAR(500) DEFAULT NULL COMMENT '类描述',
--     `author` VARCHAR(100) DEFAULT NULL COMMENT '作者',
--     `template_type` INT NOT NULL COMMENT '模板类型',
--     `front_type` INT NOT NULL COMMENT '代码生成的前端类型',
--     `parent_menu_id` BIGINT DEFAULT NULL COMMENT '父菜单编号',
--     `master_table_id` BIGINT DEFAULT NULL COMMENT '主表的编号',
--     `sub_join_column_id` BIGINT DEFAULT NULL COMMENT '子表关联主表的字段编号',
--     `sub_join_many` TINYINT(1) DEFAULT NULL COMMENT '主表与子表是否一对多',
--     `tree_parent_column_id` BIGINT DEFAULT NULL COMMENT '树表的父字段编号',
--     `tree_name_column_id` BIGINT DEFAULT NULL COMMENT '树表的名字字段编号',
--     `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
--     `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--     `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
--     `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
--     `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
--     PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='代码生成表定义表';
--
-- -- 2.3 参数配置表
-- CREATE TABLE `infra_config` (
--     `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '参数主键',
--     `category` VARCHAR(100) NOT NULL COMMENT '参数分类',
--     `name` VARCHAR(100) NOT NULL COMMENT '参数名称',
--     `config_key` VARCHAR(100) NOT NULL COMMENT '参数键名',
--     `value` VARCHAR(500) NOT NULL COMMENT '参数键值',
--     `type` INT NOT NULL COMMENT '参数类型',
--     `visible` TINYINT(1) NOT NULL COMMENT '是否可见',
--     `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',
--     `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
--     `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--     `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
--     `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
--     `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
--     PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='参数配置表';
--
-- -- 2.4 数据源配置表
-- CREATE TABLE `infra_data_source_config` (
--     `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键编号',
--     `name` VARCHAR(100) NOT NULL COMMENT '连接名',
--     `url` VARCHAR(1024) NOT NULL COMMENT '数据源连接',
--     `username` VARCHAR(255) NOT NULL COMMENT '用户名',
--     `password` VARCHAR(255) NOT NULL COMMENT '密码',
--     `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
--     `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--     `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
--     `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
--     `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
--     PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='数据源配置表';
--
-- -- 2.5 文件内容表
-- CREATE TABLE `infra_file_content` (
--     `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号，数据库自增',
--     `config_id` BIGINT NOT NULL COMMENT '配置编号',
--     `path` VARCHAR(512) NOT NULL COMMENT '路径，即文件名',
--     `content` LONGBLOB NOT NULL COMMENT '文件内容',
--     `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
--     `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--     `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
--     `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
--     `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
--     PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件内容表';
--
-- -- 2.6 文件表
-- CREATE TABLE `infra_file` (
--     `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号，数据库自增',
--     `config_id` BIGINT NOT NULL COMMENT '配置编号',
--     `name` VARCHAR(256) DEFAULT NULL COMMENT '原文件名',
--     `path` VARCHAR(512) NOT NULL COMMENT '路径，即文件名',
--     `url` VARCHAR(1024) NOT NULL COMMENT '访问地址',
--     `type` VARCHAR(128) DEFAULT NULL COMMENT '文件的 MIME 类型',
--     `size` BIGINT NOT NULL COMMENT '文件大小',
--     `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
--     `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--     `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
--     `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
--     `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
--     PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件表';
--
-- -- 2.7 文件配置表
-- CREATE TABLE `infra_file_config` (
--     `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '配置编号，数据库自增',
--     `name` VARCHAR(100) NOT NULL COMMENT '配置名',
--     `storage` INT NOT NULL COMMENT '存储器',
--     `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',
--     `master` TINYINT(1) NOT NULL COMMENT '是否为主配置',
--     `config` VARCHAR(4000) NOT NULL COMMENT '文件客户端配置',
--     `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
--     `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--     `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
--     `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
--     `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
--     PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件配置表';
--
-- -- 2.8 定时任务表
-- CREATE TABLE `infra_job` (
--     `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '任务编号',
--     `name` VARCHAR(100) NOT NULL COMMENT '任务名称',
--     `status` INT NOT NULL COMMENT '任务状态',
--     `handler_name` VARCHAR(100) NOT NULL COMMENT '处理器的名字',
--     `handler_param` VARCHAR(500) DEFAULT NULL COMMENT '处理器的参数',
--     `cron_expression` VARCHAR(100) NOT NULL COMMENT 'CRON 表达式',
--     `retry_count` INT NOT NULL DEFAULT 0 COMMENT '重试次数',
--     `retry_interval` INT NOT NULL DEFAULT 0 COMMENT '重试间隔，单位：毫秒',
--     `monitor_timeout` INT DEFAULT NULL COMMENT '监控超时时间，单位：毫秒',
--     `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
--     `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--     `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
--     `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
--     `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
--     PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='定时任务表';
--
-- -- 2.9 定时任务执行日志表
-- CREATE TABLE `infra_job_log` (
--     `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '日志编号',
--     `job_id` BIGINT NOT NULL COMMENT '任务编号',
--     `handler_name` VARCHAR(100) NOT NULL COMMENT '处理器的名字',
--     `handler_param` VARCHAR(500) DEFAULT NULL COMMENT '处理器的参数',
--     `execute_index` INT NOT NULL COMMENT '第几次执行',
--     `begin_time` DATETIME NOT NULL COMMENT '开始执行时间',
--     `end_time` DATETIME DEFAULT NULL COMMENT '结束执行时间',
--     `duration` INT DEFAULT NULL COMMENT '执行时长，单位：毫秒',
--     `status` INT NOT NULL COMMENT '状态',
--     `result` VARCHAR(4000) DEFAULT NULL COMMENT '结果数据',
--     `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
--     `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--     `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
--     `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
--     `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
--     PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='定时任务执行日志表';
--
-- -- 2.10 API 访问日志表
-- CREATE TABLE `infra_api_access_log` (
--     `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
--     `trace_id` VARCHAR(64) DEFAULT NULL COMMENT '链路追踪编号',
--     `user_id` BIGINT DEFAULT NULL COMMENT '用户编号',
--     `user_type` INT DEFAULT NULL COMMENT '用户类型',
--     `application_name` VARCHAR(100) NOT NULL COMMENT '应用名',
--     `request_method` VARCHAR(16) NOT NULL COMMENT '请求方法名',
--     `request_url` VARCHAR(512) NOT NULL COMMENT '访问地址',
--     `request_params` TEXT COMMENT '请求参数',
--     `response_body` TEXT COMMENT '响应结果',
--     `user_ip` VARCHAR(64) NOT NULL COMMENT '用户 IP',
--     `user_agent` VARCHAR(512) DEFAULT NULL COMMENT '浏览器 UA',
--     `operate_module` VARCHAR(100) DEFAULT NULL COMMENT '操作模块',
--     `operate_name` VARCHAR(100) DEFAULT NULL COMMENT '操作名',
--     `operate_type` INT DEFAULT NULL COMMENT '操作分类',
--     `begin_time` DATETIME NOT NULL COMMENT '开始请求时间',
--     `end_time` DATETIME NOT NULL COMMENT '结束请求时间',
--     `duration` INT NOT NULL COMMENT '执行时长，单位：毫秒',
--     `result_code` INT NOT NULL COMMENT '结果码',
--     `result_msg` VARCHAR(512) DEFAULT NULL COMMENT '结果提示',
--     `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
--     `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--     `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
--     `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
--     `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
--     PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='API 访问日志表';
--
-- -- 2.11 API 异常日志表
-- CREATE TABLE `infra_api_error_log` (
--     `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
--     `user_id` BIGINT DEFAULT NULL COMMENT '用户编号',
--     `trace_id` VARCHAR(64) DEFAULT NULL COMMENT '链路追踪编号',
--     `user_type` INT DEFAULT NULL COMMENT '用户类型',
--     `application_name` VARCHAR(100) NOT NULL COMMENT '应用名',
--     `request_method` VARCHAR(16) NOT NULL COMMENT '请求方法名',
--     `request_url` VARCHAR(512) NOT NULL COMMENT '访问地址',
--     `request_params` TEXT COMMENT '请求参数',
--     `user_ip` VARCHAR(64) NOT NULL COMMENT '用户 IP',
--     `user_agent` VARCHAR(512) DEFAULT NULL COMMENT '浏览器 UA',
--     `exception_time` DATETIME NOT NULL COMMENT '异常发生时间',
--     `exception_name` VARCHAR(256) DEFAULT NULL COMMENT '异常名',
--     `exception_message` TEXT COMMENT '异常导致的消息',
--     `exception_root_cause_message` TEXT COMMENT '异常导致的根消息',
--     `exception_stack_trace` TEXT COMMENT '异常的栈轨迹',
--     `exception_class_name` VARCHAR(512) DEFAULT NULL COMMENT '异常发生的类全名',
--     `exception_file_name` VARCHAR(256) DEFAULT NULL COMMENT '异常发生的类文件',
--     `exception_method_name` VARCHAR(128) DEFAULT NULL COMMENT '异常发生的方法名',
--     `exception_line_number` INT DEFAULT NULL COMMENT '异常发生的方法所在行',
--     `process_status` INT NOT NULL COMMENT '处理状态',
--     `process_time` DATETIME DEFAULT NULL COMMENT '处理时间',
--     `process_user_id` BIGINT DEFAULT NULL COMMENT '处理用户编号',
--     `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
--     `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
--     `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
--     `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
--     `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
--     PRIMARY KEY (`id`)
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='API 异常日志表';


-- =====================================================
-- 第三部分: yudao-module-bpm 工作流模块 (8 张表)
-- =====================================================

-- 3.1 BPM 流程分类表
CREATE TABLE `bpm_category` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '分类编号',
    `name` VARCHAR(255) NOT NULL COMMENT '分类名',
    `code` VARCHAR(255) NOT NULL COMMENT '分类标志',
    `description` VARCHAR(500) DEFAULT NULL COMMENT '分类描述',
    `status` TINYINT NOT NULL DEFAULT 0 COMMENT '分类状态（0正常 1停用）',
    `sort` INT NOT NULL DEFAULT 0 COMMENT '分类排序',
    `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='BPM 流程分类表';

-- 3.2 BPM 流程表达式表
CREATE TABLE `bpm_process_expression` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
    `name` VARCHAR(255) NOT NULL COMMENT '表达式名字',
    `status` TINYINT NOT NULL DEFAULT 0 COMMENT '表达式状态（0正常 1停用）',
    `expression` VARCHAR(1024) NOT NULL COMMENT '表达式',
    `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='BPM 流程表达式表';

-- 3.3 BPM 流程监听器表
CREATE TABLE `bpm_process_listener` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID',
    `name` VARCHAR(255) NOT NULL COMMENT '监听器名字',
    `status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态（0正常 1停用）',
    `type` VARCHAR(50) NOT NULL COMMENT '监听类型（execution执行监听器、task任务监听器）',
    `event` VARCHAR(50) NOT NULL COMMENT '监听事件',
    `value_type` VARCHAR(50) NOT NULL COMMENT '值类型（class类、delegateExpression委托表达式、expression表达式）',
    `value` VARCHAR(1024) NOT NULL COMMENT '值',
    `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='BPM 流程监听器表';

-- 3.4 OA 请假申请表
CREATE TABLE `bpm_oa_leave` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '请假表单主键',
    `user_id` BIGINT NOT NULL COMMENT '申请人的用户编号',
    `type` TINYINT NOT NULL COMMENT '请假类型',
    `reason` VARCHAR(500) DEFAULT NULL COMMENT '原因',
    `start_time` DATETIME NOT NULL COMMENT '开始时间',
    `end_time` DATETIME NOT NULL COMMENT '结束时间',
    `day` BIGINT NOT NULL COMMENT '请假天数',
    `status` TINYINT NOT NULL DEFAULT 0 COMMENT '审批结果',
    `process_instance_id` VARCHAR(64) DEFAULT NULL COMMENT '对应的流程编号',
    `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='OA 请假申请表';

-- 3.5 流程抄送表
CREATE TABLE `bpm_process_instance_copy` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
    `start_user_id` BIGINT NOT NULL COMMENT '发起人 Id',
    `process_instance_name` VARCHAR(255) NOT NULL COMMENT '流程名',
    `process_instance_id` VARCHAR(64) NOT NULL COMMENT '流程实例的编号',
    `process_definition_id` VARCHAR(64) NOT NULL COMMENT '流程实例的流程定义编号',
    `category` VARCHAR(64) DEFAULT NULL COMMENT '流程分类',
    `activity_id` VARCHAR(64) DEFAULT NULL COMMENT '流程活动的编号',
    `activity_name` VARCHAR(255) DEFAULT NULL COMMENT '流程活动的名字',
    `task_id` VARCHAR(64) DEFAULT NULL COMMENT '流程任务的编号',
    `user_id` BIGINT NOT NULL COMMENT '用户编号（被抄送的用户编号）',
    `reason` VARCHAR(500) DEFAULT NULL COMMENT '抄送意见',
    `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='流程抄送表';

-- 3.6 BPM 工作流表单定义表
CREATE TABLE `bpm_form` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
    `name` VARCHAR(255) NOT NULL COMMENT '表单名',
    `status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态（0正常 1停用）',
    `conf` TEXT NOT NULL COMMENT '表单的配置',
    `fields` JSON NOT NULL COMMENT '表单项的数组',
    `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',
    `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='BPM 工作流表单定义表';

-- 3.7 BPM 流程定义拓展信息表
CREATE TABLE `bpm_process_definition_info` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
    `process_definition_id` VARCHAR(64) NOT NULL COMMENT '流程定义的编号',
    `model_id` VARCHAR(64) NOT NULL COMMENT '流程模型的编号',
    `model_type` TINYINT NOT NULL DEFAULT 10 COMMENT '流程模型的类型',
    `category` VARCHAR(64) DEFAULT NULL COMMENT '流程分类的编码',
    `icon` VARCHAR(255) DEFAULT NULL COMMENT '图标',
    `description` VARCHAR(500) DEFAULT NULL COMMENT '描述',
    `form_type` TINYINT NOT NULL DEFAULT 10 COMMENT '表单类型（10普通表单 20自定义表单）',
    `form_id` BIGINT DEFAULT NULL COMMENT '动态表单编号',
    `form_conf` TEXT DEFAULT NULL COMMENT '表单的配置',
    `form_fields` JSON DEFAULT NULL COMMENT '表单项的数组',
    `form_custom_create_path` VARCHAR(255) DEFAULT NULL COMMENT '自定义表单的提交路径',
    `form_custom_view_path` VARCHAR(255) DEFAULT NULL COMMENT '自定义表单的查看路径',
    `simple_model` TEXT DEFAULT NULL COMMENT 'SIMPLE 设计器模型数据',
    `visible` BIT(1) NOT NULL DEFAULT b'1' COMMENT '是否可见',
    `sort` BIGINT NOT NULL DEFAULT 0 COMMENT '排序值',
    `start_user_ids` VARCHAR(1024) DEFAULT NULL COMMENT '可发起用户编号数组',
    `start_dept_ids` VARCHAR(1024) DEFAULT NULL COMMENT '可发起部门编号数组',
    `manager_user_ids` VARCHAR(1024) DEFAULT NULL COMMENT '可管理用户编号数组',
    `allow_cancel_running_process` BIT(1) NOT NULL DEFAULT b'1' COMMENT '是否允许撤销审批中的申请',
    `allow_withdraw_task` BIT(1) NOT NULL DEFAULT b'1' COMMENT '是否允许审批人撤回任务',
    `process_id_rule` JSON DEFAULT NULL COMMENT '流程 ID 规则',
    `auto_approval_type` TINYINT DEFAULT NULL COMMENT '自动去重类型',
    `title_setting` JSON DEFAULT NULL COMMENT '标题设置',
    `summary_setting` JSON DEFAULT NULL COMMENT '摘要设置',
    `process_before_trigger_setting` JSON DEFAULT NULL COMMENT '流程前置通知设置',
    `process_after_trigger_setting` JSON DEFAULT NULL COMMENT '流程后置通知设置',
    `task_before_trigger_setting` JSON DEFAULT NULL COMMENT '任务前置通知设置',
    `task_after_trigger_setting` JSON DEFAULT NULL COMMENT '任务后置通知设置',
    `print_template_setting` JSON DEFAULT NULL COMMENT '自定义打印模板设置',
    `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='BPM 流程定义拓展信息表';

-- 3.8 BPM 用户组表
CREATE TABLE `bpm_user_group` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
    `name` VARCHAR(255) NOT NULL COMMENT '组名',
    `description` VARCHAR(500) DEFAULT NULL COMMENT '描述',
    `status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态（0正常 1停用）',
    `user_ids` JSON NOT NULL COMMENT '成员用户编号数组',
    `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='BPM 用户组表';


-- =====================================================
-- 第四部分: yudao-module-crm 客户关系管理模块 (19 张表)
-- =====================================================

-- 4.1 CRM 商机表
CREATE TABLE `crm_business` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
    `name` VARCHAR(255) NOT NULL COMMENT '商机名称',
    `customer_id` BIGINT NOT NULL COMMENT '客户编号',
    `follow_up_status` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '跟进状态',
    `contact_last_time` DATETIME NULL DEFAULT NULL COMMENT '最后跟进时间',
    `contact_next_time` DATETIME NULL DEFAULT NULL COMMENT '下次联系时间',
    `owner_user_id` BIGINT NULL DEFAULT NULL COMMENT '负责人的用户编号',
    `status_type_id` BIGINT NOT NULL COMMENT '商机状态组编号',
    `status_id` BIGINT NOT NULL COMMENT '商机状态编号',
    `end_status` INT NULL DEFAULT NULL COMMENT '结束状态',
    `end_remark` VARCHAR(500) NULL DEFAULT NULL COMMENT '结束时的备注',
    `deal_time` DATETIME NULL DEFAULT NULL COMMENT '预计成交日期',
    `total_product_price` DECIMAL(24, 6) NULL DEFAULT NULL COMMENT '产品总金额，单位：元',
    `discount_percent` DECIMAL(24, 6) NULL DEFAULT NULL COMMENT '整单折扣，百分比',
    `total_price` DECIMAL(24, 6) NULL DEFAULT NULL COMMENT '商机总金额，单位：元',
    `remark` VARCHAR(500) NULL DEFAULT NULL COMMENT '备注',
    `creator` VARCHAR(64) NULL DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) NULL DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 商机表';

-- 4.2 CRM 商机产品关联表
CREATE TABLE `crm_business_product` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
    `business_id` BIGINT NOT NULL COMMENT '商机编号',
    `product_id` BIGINT NOT NULL COMMENT '产品编号',
    `product_price` DECIMAL(24, 6) NULL DEFAULT NULL COMMENT '产品单价，单位：元',
    `business_price` DECIMAL(24, 6) NULL DEFAULT NULL COMMENT '商机价格，单位：元',
    `count` DECIMAL(24, 6) NULL DEFAULT NULL COMMENT '数量',
    `total_price` DECIMAL(24, 6) NULL DEFAULT NULL COMMENT '总计价格，单位：元',
    `creator` VARCHAR(64) NULL DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) NULL DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 商机产品关联表';

-- 4.3 CRM 商机状态表
CREATE TABLE `crm_business_status` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
    `type_id` BIGINT NOT NULL COMMENT '状态类型编号',
    `name` VARCHAR(255) NOT NULL COMMENT '状态名',
    `percent` INT NULL DEFAULT NULL COMMENT '赢单率，百分比',
    `sort` INT NULL DEFAULT NULL COMMENT '排序',
    `creator` VARCHAR(64) NULL DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) NULL DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 商机状态表';

-- 4.4 CRM 商机状态组表
CREATE TABLE `crm_business_status_type` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
    `name` VARCHAR(255) NOT NULL COMMENT '状态类型名',
    `dept_ids` VARCHAR(2048) NULL DEFAULT NULL COMMENT '使用的部门编号',
    `creator` VARCHAR(64) NULL DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) NULL DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 商机状态组表';

-- 4.5 CRM 线索表
CREATE TABLE `crm_clue` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号，主键自增',
    `name` VARCHAR(255) NOT NULL COMMENT '线索名称',
    `follow_up_status` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '跟进状态',
    `contact_last_time` DATETIME NULL DEFAULT NULL COMMENT '最后跟进时间',
    `contact_last_content` VARCHAR(500) NULL DEFAULT NULL COMMENT '最后跟进内容',
    `contact_next_time` DATETIME NULL DEFAULT NULL COMMENT '下次联系时间',
    `owner_user_id` BIGINT NULL DEFAULT NULL COMMENT '负责人的用户编号',
    `transform_status` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '转化状态',
    `customer_id` BIGINT NULL DEFAULT NULL COMMENT '客户编号',
    `mobile` VARCHAR(20) NULL DEFAULT NULL COMMENT '手机号',
    `telephone` VARCHAR(20) NULL DEFAULT NULL COMMENT '电话',
    `qq` VARCHAR(20) NULL DEFAULT NULL COMMENT 'QQ',
    `wechat` VARCHAR(50) NULL DEFAULT NULL COMMENT '微信',
    `email` VARCHAR(100) NULL DEFAULT NULL COMMENT '邮箱',
    `area_id` INT NULL DEFAULT NULL COMMENT '所在地',
    `detail_address` VARCHAR(255) NULL DEFAULT NULL COMMENT '详细地址',
    `industry_id` INT NULL DEFAULT NULL COMMENT '所属行业',
    `level` INT NULL DEFAULT NULL COMMENT '客户等级',
    `source` INT NULL DEFAULT NULL COMMENT '客户来源',
    `remark` VARCHAR(500) NULL DEFAULT NULL COMMENT '备注',
    `creator` VARCHAR(64) NULL DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) NULL DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 线索表';

-- 4.6 CRM 联系人与商机关联表
CREATE TABLE `crm_contact_business` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
    `contact_id` BIGINT NOT NULL COMMENT '联系人编号',
    `business_id` BIGINT NOT NULL COMMENT '商机编号',
    `creator` VARCHAR(64) NULL DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) NULL DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 联系人与商机关联表';

-- 4.7 CRM 联系人表
CREATE TABLE `crm_contact` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
    `name` VARCHAR(255) NOT NULL COMMENT '联系人姓名',
    `customer_id` BIGINT NOT NULL COMMENT '客户编号',
    `contact_last_time` DATETIME NULL DEFAULT NULL COMMENT '最后跟进时间',
    `contact_last_content` VARCHAR(500) NULL DEFAULT NULL COMMENT '最后跟进内容',
    `contact_next_time` DATETIME NULL DEFAULT NULL COMMENT '下次联系时间',
    `owner_user_id` BIGINT NULL DEFAULT NULL COMMENT '负责人用户编号',
    `mobile` VARCHAR(20) NULL DEFAULT NULL COMMENT '手机号',
    `telephone` VARCHAR(20) NULL DEFAULT NULL COMMENT '电话',
    `email` VARCHAR(100) NULL DEFAULT NULL COMMENT '电子邮箱',
    `qq` BIGINT NULL DEFAULT NULL COMMENT 'QQ',
    `wechat` VARCHAR(50) NULL DEFAULT NULL COMMENT '微信',
    `area_id` INT NULL DEFAULT NULL COMMENT '所在地',
    `detail_address` VARCHAR(255) NULL DEFAULT NULL COMMENT '详细地址',
    `sex` INT NULL DEFAULT NULL COMMENT '性别',
    `master` TINYINT(1) NULL DEFAULT NULL COMMENT '是否关键决策人',
    `post` VARCHAR(100) NULL DEFAULT NULL COMMENT '职位',
    `parent_id` BIGINT NULL DEFAULT NULL COMMENT '直属上级',
    `remark` VARCHAR(500) NULL DEFAULT NULL COMMENT '备注',
    `creator` VARCHAR(64) NULL DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) NULL DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 联系人表';

-- 4.8 CRM 合同配置表
CREATE TABLE `crm_contract_config` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
    `notify_enabled` TINYINT(1) NULL DEFAULT NULL COMMENT '是否开启提前提醒',
    `notify_days` INT NULL DEFAULT NULL COMMENT '提前提醒天数',
    `creator` VARCHAR(64) NULL DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) NULL DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 合同配置表';

-- 4.9 CRM 合同表
CREATE TABLE `crm_contract` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '合同编号',
    `name` VARCHAR(255) NOT NULL COMMENT '合同名称',
    `no` VARCHAR(100) NOT NULL COMMENT '合同编号',
    `customer_id` BIGINT NOT NULL COMMENT '客户编号',
    `business_id` BIGINT NULL DEFAULT NULL COMMENT '商机编号',
    `contact_last_time` DATETIME NULL DEFAULT NULL COMMENT '最后跟进时间',
    `owner_user_id` BIGINT NULL DEFAULT NULL COMMENT '负责人的用户编号',
    `process_instance_id` VARCHAR(64) NULL DEFAULT NULL COMMENT '工作流编号',
    `audit_status` INT NULL DEFAULT NULL COMMENT '审批状态',
    `order_date` DATETIME NULL DEFAULT NULL COMMENT '下单日期',
    `start_time` DATETIME NULL DEFAULT NULL COMMENT '开始时间',
    `end_time` DATETIME NULL DEFAULT NULL COMMENT '结束时间',
    `total_product_price` DECIMAL(24, 6) NULL DEFAULT NULL COMMENT '产品总金额，单位：元',
    `discount_percent` DECIMAL(24, 6) NULL DEFAULT NULL COMMENT '整单折扣',
    `total_price` DECIMAL(24, 6) NULL DEFAULT NULL COMMENT '合同总金额，单位：分',
    `sign_contact_id` BIGINT NULL DEFAULT NULL COMMENT '客户签约人',
    `sign_user_id` BIGINT NULL DEFAULT NULL COMMENT '公司签约人',
    `remark` VARCHAR(500) NULL DEFAULT NULL COMMENT '备注',
    `creator` VARCHAR(64) NULL DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) NULL DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 合同表';

-- 4.10 CRM 合同产品关联表
CREATE TABLE `crm_contract_product` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
    `contract_id` BIGINT NOT NULL COMMENT '合同编号',
    `product_id` BIGINT NOT NULL COMMENT '产品编号',
    `product_price` DECIMAL(24, 6) NULL DEFAULT NULL COMMENT '产品单价，单位：元',
    `contract_price` DECIMAL(24, 6) NULL DEFAULT NULL COMMENT '合同价格，单位：元',
    `count` DECIMAL(24, 6) NULL DEFAULT NULL COMMENT '数量',
    `total_price` DECIMAL(24, 6) NULL DEFAULT NULL COMMENT '总计价格，单位：元',
    `creator` VARCHAR(64) NULL DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) NULL DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 合同产品关联表';

-- 4.11 CRM 客户表
CREATE TABLE `crm_customer` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
    `name` VARCHAR(255) NOT NULL COMMENT '客户名称',
    `follow_up_status` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '跟进状态',
    `contact_last_time` DATETIME NULL DEFAULT NULL COMMENT '最后跟进时间',
    `contact_last_content` VARCHAR(500) NULL DEFAULT NULL COMMENT '最后跟进内容',
    `contact_next_time` DATETIME NULL DEFAULT NULL COMMENT '下次联系时间',
    `owner_user_id` BIGINT NULL DEFAULT NULL COMMENT '负责人的用户编号',
    `owner_time` DATETIME NULL DEFAULT NULL COMMENT '成为负责人的时间',
    `lock_status` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '锁定状态',
    `deal_status` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '成交状态',
    `mobile` VARCHAR(20) NULL DEFAULT NULL COMMENT '手机',
    `telephone` VARCHAR(20) NULL DEFAULT NULL COMMENT '电话',
    `qq` VARCHAR(20) NULL DEFAULT NULL COMMENT 'QQ',
    `wechat` VARCHAR(50) NULL DEFAULT NULL COMMENT '微信',
    `email` VARCHAR(100) NULL DEFAULT NULL COMMENT '邮箱',
    `area_id` INT NULL DEFAULT NULL COMMENT '所在地',
    `detail_address` VARCHAR(255) NULL DEFAULT NULL COMMENT '详细地址',
    `industry_id` INT NULL DEFAULT NULL COMMENT '所属行业',
    `level` INT NULL DEFAULT NULL COMMENT '客户等级',
    `source` INT NULL DEFAULT NULL COMMENT '客户来源',
    `remark` VARCHAR(500) NULL DEFAULT NULL COMMENT '备注',
    `creator` VARCHAR(64) NULL DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) NULL DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 客户表';

-- 4.12 CRM 客户限制配置表
CREATE TABLE `crm_customer_limit_config` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
    `type` INT NOT NULL COMMENT '规则类型',
    `user_ids` VARCHAR(2048) NULL DEFAULT NULL COMMENT '规则适用人群',
    `dept_ids` VARCHAR(2048) NULL DEFAULT NULL COMMENT '规则适用部门',
    `max_count` INT NULL DEFAULT NULL COMMENT '数量上限',
    `deal_count_enabled` TINYINT(1) NULL DEFAULT NULL COMMENT '成交客户是否占有拥有客户数',
    `creator` VARCHAR(64) NULL DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) NULL DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 客户限制配置表';

-- 4.13 CRM 客户公海配置表
CREATE TABLE `crm_customer_pool_config` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
    `enabled` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否启用客户公海',
    `contact_expire_days` INT NULL DEFAULT NULL COMMENT '未跟进放入公海天数',
    `deal_expire_days` INT NULL DEFAULT NULL COMMENT '未成交放入公海天数',
    `notify_enabled` TINYINT(1) NULL DEFAULT NULL COMMENT '是否开启提前提醒',
    `notify_days` INT NULL DEFAULT NULL COMMENT '提前提醒天数',
    `creator` VARCHAR(64) NULL DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) NULL DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 客户公海配置表';

-- 4.14 CRM 跟进记录表
CREATE TABLE `crm_follow_up_record` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
    `biz_type` INT NOT NULL COMMENT '数据类型',
    `biz_id` BIGINT NOT NULL COMMENT '数据编号',
    `type` INT NULL DEFAULT NULL COMMENT '跟进类型',
    `content` VARCHAR(2000) NULL DEFAULT NULL COMMENT '跟进内容',
    `next_time` DATETIME NULL DEFAULT NULL COMMENT '下次联系时间',
    `pic_urls` VARCHAR(2048) NULL DEFAULT NULL COMMENT '图片',
    `file_urls` VARCHAR(2048) NULL DEFAULT NULL COMMENT '附件',
    `business_ids` VARCHAR(2048) NULL DEFAULT NULL COMMENT '关联的商机编号数组',
    `contact_ids` VARCHAR(2048) NULL DEFAULT NULL COMMENT '关联的联系人编号数组',
    `creator` VARCHAR(64) NULL DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) NULL DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 跟进记录表';

-- 4.15 CRM 数据权限表
CREATE TABLE `crm_permission` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号，主键自增',
    `biz_type` INT NOT NULL COMMENT '数据类型',
    `biz_id` BIGINT NOT NULL COMMENT '数据编号',
    `user_id` BIGINT NOT NULL COMMENT '用户编号',
    `level` INT NOT NULL COMMENT '权限级别',
    `creator` VARCHAR(64) NULL DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) NULL DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 数据权限表';

-- 4.16 CRM 产品分类表
CREATE TABLE `crm_product_category` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '分类编号',
    `name` VARCHAR(255) NOT NULL COMMENT '分类名称',
    `parent_id` BIGINT NOT NULL DEFAULT 0 COMMENT '父级编号',
    `creator` VARCHAR(64) NULL DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) NULL DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 产品分类表';

-- 4.17 CRM 产品表
CREATE TABLE `crm_product` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
    `name` VARCHAR(255) NOT NULL COMMENT '产品名称',
    `no` VARCHAR(100) NOT NULL COMMENT '产品编码',
    `unit` INT NULL DEFAULT NULL COMMENT '单位',
    `price` DECIMAL(24, 6) NULL DEFAULT NULL COMMENT '价格，单位：元',
    `status` INT NULL DEFAULT NULL COMMENT '状态',
    `category_id` BIGINT NULL DEFAULT NULL COMMENT '产品分类 ID',
    `description` VARCHAR(500) NULL DEFAULT NULL COMMENT '产品描述',
    `owner_user_id` BIGINT NULL DEFAULT NULL COMMENT '负责人的用户编号',
    `creator` VARCHAR(64) NULL DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) NULL DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 产品表';

-- 4.18 CRM 回款表
CREATE TABLE `crm_receivable` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
    `no` VARCHAR(100) NOT NULL COMMENT '回款编号',
    `plan_id` BIGINT NULL DEFAULT NULL COMMENT '回款计划编号',
    `customer_id` BIGINT NOT NULL COMMENT '客户编号',
    `contract_id` BIGINT NOT NULL COMMENT '合同编号',
    `owner_user_id` BIGINT NULL DEFAULT NULL COMMENT '负责人编号',
    `return_time` DATETIME NULL DEFAULT NULL COMMENT '回款日期',
    `return_type` INT NULL DEFAULT NULL COMMENT '回款方式',
    `price` DECIMAL(24, 6) NULL DEFAULT NULL COMMENT '计划回款金额，单位：元',
    `remark` VARCHAR(500) NULL DEFAULT NULL COMMENT '备注',
    `process_instance_id` VARCHAR(64) NULL DEFAULT NULL COMMENT '工作流编号',
    `audit_status` INT NULL DEFAULT NULL COMMENT '审批状态',
    `creator` VARCHAR(64) NULL DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) NULL DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 回款表';

-- 4.19 CRM 回款计划表
CREATE TABLE `crm_receivable_plan` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
    `period` INT NULL DEFAULT NULL COMMENT '期数',
    `customer_id` BIGINT NOT NULL COMMENT '客户编号',
    `contract_id` BIGINT NOT NULL COMMENT '合同编号',
    `owner_user_id` BIGINT NULL DEFAULT NULL COMMENT '负责人编号',
    `return_time` DATETIME NULL DEFAULT NULL COMMENT '计划回款日期',
    `return_type` INT NULL DEFAULT NULL COMMENT '计划回款类型',
    `price` DECIMAL(24, 6) NULL DEFAULT NULL COMMENT '计划回款金额，单位：元',
    `receivable_id` BIGINT NULL DEFAULT NULL COMMENT '回款编号',
    `remind_days` INT NULL DEFAULT NULL COMMENT '提前几天提醒',
    `remind_time` DATETIME NULL DEFAULT NULL COMMENT '提醒日期',
    `remark` VARCHAR(500) NULL DEFAULT NULL COMMENT '备注',
    `creator` VARCHAR(64) NULL DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` VARCHAR(64) NULL DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
    `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM 回款计划表';


-- =====================================================
-- 第五部分: yudao-module-erp 企业资源计划模块 (33 张表)
-- =====================================================

-- 5.1 结算账户表
CREATE TABLE `erp_account` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '结算账户编号',
  `name` VARCHAR(255) NOT NULL COMMENT '账户名称',
  `no` VARCHAR(255) NOT NULL COMMENT '账户编码',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `status` INT NOT NULL COMMENT '开启状态',
  `sort` INT NOT NULL COMMENT '排序',
  `default_status` TINYINT(1) NOT NULL COMMENT '是否默认',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 结算账户';

-- 5.2 付款单表
CREATE TABLE `erp_finance_payment` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `no` VARCHAR(255) NOT NULL COMMENT '付款单号',
  `status` INT NOT NULL COMMENT '付款状态',
  `payment_time` DATETIME NOT NULL COMMENT '付款时间',
  `finance_user_id` BIGINT DEFAULT NULL COMMENT '财务人员编号',
  `supplier_id` BIGINT DEFAULT NULL COMMENT '供应商编号',
  `account_id` BIGINT DEFAULT NULL COMMENT '付款账户编号',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '合计价格，单位：元',
  `discount_price` DECIMAL(24,6) NOT NULL COMMENT '优惠金额，单位：元',
  `payment_price` DECIMAL(24,6) NOT NULL COMMENT '实付金额，单位：分',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 付款单';

-- 5.3 付款单项表
CREATE TABLE `erp_finance_payment_item` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '入库项编号',
  `payment_id` BIGINT DEFAULT NULL COMMENT '付款单编号',
  `biz_type` INT DEFAULT NULL COMMENT '业务类型',
  `biz_id` BIGINT DEFAULT NULL COMMENT '业务编号',
  `biz_no` VARCHAR(255) DEFAULT NULL COMMENT '业务单号',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '应付金额，单位：分',
  `paid_price` DECIMAL(24,6) NOT NULL COMMENT '已付金额，单位：分',
  `payment_price` DECIMAL(24,6) NOT NULL COMMENT '本次付款，单位：分',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 付款项';

-- 5.4 收款单表
CREATE TABLE `erp_finance_receipt` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `no` VARCHAR(255) NOT NULL COMMENT '收款单号',
  `status` INT NOT NULL COMMENT '收款状态',
  `receipt_time` DATETIME NOT NULL COMMENT '收款时间',
  `finance_user_id` BIGINT DEFAULT NULL COMMENT '财务人员编号',
  `customer_id` BIGINT DEFAULT NULL COMMENT '客户编号',
  `account_id` BIGINT DEFAULT NULL COMMENT '收款账户编号',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '合计价格，单位：元',
  `discount_price` DECIMAL(24,6) NOT NULL COMMENT '优惠金额，单位：元',
  `receipt_price` DECIMAL(24,6) NOT NULL COMMENT '实收金额，单位：分',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 收款单';

-- 5.5 收款项表
CREATE TABLE `erp_finance_receipt_item` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '入库项编号',
  `receipt_id` BIGINT DEFAULT NULL COMMENT '收款单编号',
  `biz_type` INT DEFAULT NULL COMMENT '业务类型',
  `biz_id` BIGINT DEFAULT NULL COMMENT '业务编号',
  `biz_no` VARCHAR(255) DEFAULT NULL COMMENT '业务单号',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '应收金额，单位：分',
  `receipted_price` DECIMAL(24,6) NOT NULL COMMENT '已收金额，单位：分',
  `receipt_price` DECIMAL(24,6) NOT NULL COMMENT '本次收款，单位：分',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 收款项';

-- 5.6 产品分类表
CREATE TABLE `erp_product_category` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '分类编号',
  `parent_id` BIGINT NOT NULL COMMENT '父分类编号',
  `name` VARCHAR(255) NOT NULL COMMENT '分类名称',
  `code` VARCHAR(255) NOT NULL COMMENT '分类编码',
  `sort` INT NOT NULL COMMENT '分类排序',
  `status` INT NOT NULL COMMENT '开启状态',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 产品分类';

-- 5.7 产品表
CREATE TABLE `erp_product` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '产品编号',
  `name` VARCHAR(255) NOT NULL COMMENT '产品名称',
  `bar_code` VARCHAR(255) NOT NULL COMMENT '产品条码',
  `category_id` BIGINT DEFAULT NULL COMMENT '产品分类编号',
  `unit_id` BIGINT DEFAULT NULL COMMENT '单位编号',
  `status` INT NOT NULL COMMENT '产品状态',
  `standard` VARCHAR(255) DEFAULT NULL COMMENT '产品规格',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '产品备注',
  `expiry_day` INT DEFAULT NULL COMMENT '保质期天数',
  `weight` DECIMAL(24,6) DEFAULT NULL COMMENT '基础重量（kg）',
  `purchase_price` DECIMAL(24,6) DEFAULT NULL COMMENT '采购价格，单位：元',
  `sale_price` DECIMAL(24,6) DEFAULT NULL COMMENT '销售价格，单位：元',
  `min_price` DECIMAL(24,6) DEFAULT NULL COMMENT '最低价格，单位：元',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 产品';

-- 5.8 产品单位表
CREATE TABLE `erp_product_unit` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '单位编号',
  `name` VARCHAR(255) NOT NULL COMMENT '单位名字',
  `status` INT NOT NULL COMMENT '单位状态',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 产品单位';

-- 5.9 供应商表
CREATE TABLE `erp_supplier` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '供应商编号',
  `name` VARCHAR(255) NOT NULL COMMENT '供应商名称',
  `contact` VARCHAR(255) DEFAULT NULL COMMENT '联系人',
  `mobile` VARCHAR(255) DEFAULT NULL COMMENT '手机号码',
  `telephone` VARCHAR(255) DEFAULT NULL COMMENT '联系电话',
  `email` VARCHAR(255) DEFAULT NULL COMMENT '电子邮箱',
  `fax` VARCHAR(255) DEFAULT NULL COMMENT '传真',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `status` INT NOT NULL COMMENT '开启状态',
  `sort` INT NOT NULL COMMENT '排序',
  `tax_no` VARCHAR(255) DEFAULT NULL COMMENT '纳税人识别号',
  `tax_percent` DECIMAL(24,6) DEFAULT NULL COMMENT '税率',
  `bank_name` VARCHAR(255) DEFAULT NULL COMMENT '开户行',
  `bank_account` VARCHAR(255) DEFAULT NULL COMMENT '开户账号',
  `bank_address` VARCHAR(255) DEFAULT NULL COMMENT '开户地址',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 供应商';

-- 5.10 客户表
CREATE TABLE `erp_customer` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '客户编号',
  `name` VARCHAR(255) NOT NULL COMMENT '客户名称',
  `contact` VARCHAR(255) DEFAULT NULL COMMENT '联系人',
  `mobile` VARCHAR(255) DEFAULT NULL COMMENT '手机号码',
  `telephone` VARCHAR(255) DEFAULT NULL COMMENT '联系电话',
  `email` VARCHAR(255) DEFAULT NULL COMMENT '电子邮箱',
  `fax` VARCHAR(255) DEFAULT NULL COMMENT '传真',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `status` INT NOT NULL COMMENT '开启状态',
  `sort` INT NOT NULL COMMENT '排序',
  `tax_no` VARCHAR(255) DEFAULT NULL COMMENT '纳税人识别号',
  `tax_percent` DECIMAL(24,6) DEFAULT NULL COMMENT '税率',
  `bank_name` VARCHAR(255) DEFAULT NULL COMMENT '开户行',
  `bank_account` VARCHAR(255) DEFAULT NULL COMMENT '开户账号',
  `bank_address` VARCHAR(255) DEFAULT NULL COMMENT '开户地址',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 客户';

-- 5.11 采购订单表
CREATE TABLE `erp_purchase_order` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `no` VARCHAR(255) NOT NULL COMMENT '采购订单号',
  `status` INT NOT NULL COMMENT '采购状态',
  `supplier_id` BIGINT DEFAULT NULL COMMENT '供应商编号',
  `account_id` BIGINT DEFAULT NULL COMMENT '结算账户编号',
  `order_time` DATETIME NOT NULL COMMENT '下单时间',
  `total_count` DECIMAL(24,6) NOT NULL COMMENT '合计数量',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '最终合计价格，单位：元',
  `total_product_price` DECIMAL(24,6) NOT NULL COMMENT '合计产品价格，单位：元',
  `total_tax_price` DECIMAL(24,6) NOT NULL COMMENT '合计税额，单位：元',
  `discount_percent` DECIMAL(24,6) NOT NULL COMMENT '优惠率，百分比',
  `discount_price` DECIMAL(24,6) NOT NULL COMMENT '优惠金额，单位：元',
  `deposit_price` DECIMAL(24,6) NOT NULL COMMENT '定金金额，单位：元',
  `file_url` VARCHAR(255) DEFAULT NULL COMMENT '附件地址',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `in_count` DECIMAL(24,6) DEFAULT NULL COMMENT '采购入库数量',
  `return_count` DECIMAL(24,6) DEFAULT NULL COMMENT '采购退货数量',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 采购订单';

-- 5.12 采购订单项表
CREATE TABLE `erp_purchase_order_items` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `order_id` BIGINT DEFAULT NULL COMMENT '采购订单编号',
  `product_id` BIGINT DEFAULT NULL COMMENT '产品编号',
  `product_unit_id` BIGINT DEFAULT NULL COMMENT '产品单位编号',
  `product_price` DECIMAL(24,6) NOT NULL COMMENT '产品单位单价，单位：元',
  `count` DECIMAL(24,6) NOT NULL COMMENT '数量',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '总价，单位：元',
  `tax_percent` DECIMAL(24,6) DEFAULT NULL COMMENT '税率，百分比',
  `tax_price` DECIMAL(24,6) DEFAULT NULL COMMENT '税额，单位：元',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `in_count` DECIMAL(24,6) DEFAULT NULL COMMENT '采购入库数量',
  `return_count` DECIMAL(24,6) DEFAULT NULL COMMENT '采购退货数量',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 采购订单项';

-- 5.13 采购入库表
CREATE TABLE `erp_purchase_in` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `no` VARCHAR(255) NOT NULL COMMENT '采购入库单号',
  `status` INT NOT NULL COMMENT '入库状态',
  `supplier_id` BIGINT DEFAULT NULL COMMENT '供应商编号',
  `account_id` BIGINT DEFAULT NULL COMMENT '结算账户编号',
  `in_time` DATETIME NOT NULL COMMENT '入库时间',
  `order_id` BIGINT DEFAULT NULL COMMENT '采购订单编号',
  `order_no` VARCHAR(255) DEFAULT NULL COMMENT '采购订单号',
  `total_count` DECIMAL(24,6) NOT NULL COMMENT '合计数量',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '最终合计价格，单位：元',
  `payment_price` DECIMAL(24,6) DEFAULT NULL COMMENT '已支付金额，单位：元',
  `total_product_price` DECIMAL(24,6) NOT NULL COMMENT '合计产品价格，单位：元',
  `total_tax_price` DECIMAL(24,6) NOT NULL COMMENT '合计税额，单位：元',
  `discount_percent` DECIMAL(24,6) DEFAULT NULL COMMENT '优惠率，百分比',
  `discount_price` DECIMAL(24,6) DEFAULT NULL COMMENT '优惠金额，单位：元',
  `other_price` DECIMAL(24,6) DEFAULT NULL COMMENT '其它金额，单位：元',
  `file_url` VARCHAR(255) DEFAULT NULL COMMENT '附件地址',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 采购入库';

-- 5.14 采购入库项表
CREATE TABLE `erp_purchase_in_items` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `in_id` BIGINT DEFAULT NULL COMMENT '采购入库编号',
  `order_item_id` BIGINT DEFAULT NULL COMMENT '采购订单项编号',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库编号',
  `product_id` BIGINT DEFAULT NULL COMMENT '产品编号',
  `product_unit_id` BIGINT DEFAULT NULL COMMENT '产品单位编号',
  `product_price` DECIMAL(24,6) NOT NULL COMMENT '产品单位单价，单位：元',
  `count` DECIMAL(24,6) NOT NULL COMMENT '数量',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '总价，单位：元',
  `tax_percent` DECIMAL(24,6) DEFAULT NULL COMMENT '税率，百分比',
  `tax_price` DECIMAL(24,6) DEFAULT NULL COMMENT '税额，单位：元',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 采购入库项';

-- 5.15 采购退货表
CREATE TABLE `erp_purchase_return` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `no` VARCHAR(255) NOT NULL COMMENT '采购退货单号',
  `status` INT NOT NULL COMMENT '退货状态',
  `supplier_id` BIGINT DEFAULT NULL COMMENT '供应商编号',
  `account_id` BIGINT DEFAULT NULL COMMENT '结算账户编号',
  `return_time` DATETIME NOT NULL COMMENT '退货时间',
  `order_id` BIGINT DEFAULT NULL COMMENT '采购订单编号',
  `order_no` VARCHAR(255) DEFAULT NULL COMMENT '采购订单号',
  `total_count` DECIMAL(24,6) NOT NULL COMMENT '合计数量',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '最终合计价格，单位：元',
  `refund_price` DECIMAL(24,6) DEFAULT NULL COMMENT '已退款金额，单位：元',
  `total_product_price` DECIMAL(24,6) NOT NULL COMMENT '合计产品价格，单位：元',
  `total_tax_price` DECIMAL(24,6) NOT NULL COMMENT '合计税额，单位：元',
  `discount_percent` DECIMAL(24,6) DEFAULT NULL COMMENT '优惠率，百分比',
  `discount_price` DECIMAL(24,6) DEFAULT NULL COMMENT '优惠金额，单位：元',
  `other_price` DECIMAL(24,6) DEFAULT NULL COMMENT '其它金额，单位：元',
  `file_url` VARCHAR(255) DEFAULT NULL COMMENT '附件地址',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 采购退货';

-- 5.16 采购退货项表
CREATE TABLE `erp_purchase_return_items` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `return_id` BIGINT DEFAULT NULL COMMENT '采购退货编号',
  `order_item_id` BIGINT DEFAULT NULL COMMENT '采购订单项编号',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库编号',
  `product_id` BIGINT DEFAULT NULL COMMENT '产品编号',
  `product_unit_id` BIGINT DEFAULT NULL COMMENT '产品单位编号',
  `product_price` DECIMAL(24,6) NOT NULL COMMENT '产品单位单价，单位：元',
  `count` DECIMAL(24,6) NOT NULL COMMENT '数量',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '总价，单位：元',
  `tax_percent` DECIMAL(24,6) DEFAULT NULL COMMENT '税率，百分比',
  `tax_price` DECIMAL(24,6) DEFAULT NULL COMMENT '税额，单位：元',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 采购退货项';

-- 5.17 销售订单表
CREATE TABLE `erp_sale_order` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `no` VARCHAR(255) NOT NULL COMMENT '销售订单号',
  `status` INT NOT NULL COMMENT '销售状态',
  `customer_id` BIGINT DEFAULT NULL COMMENT '客户编号',
  `account_id` BIGINT DEFAULT NULL COMMENT '结算账户编号',
  `sale_user_id` BIGINT DEFAULT NULL COMMENT '销售员编号',
  `order_time` DATETIME NOT NULL COMMENT '下单时间',
  `total_count` DECIMAL(24,6) NOT NULL COMMENT '合计数量',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '最终合计价格，单位：元',
  `total_product_price` DECIMAL(24,6) NOT NULL COMMENT '合计产品价格，单位：元',
  `total_tax_price` DECIMAL(24,6) NOT NULL COMMENT '合计税额，单位：元',
  `discount_percent` DECIMAL(24,6) NOT NULL COMMENT '优惠率，百分比',
  `discount_price` DECIMAL(24,6) NOT NULL COMMENT '优惠金额，单位：元',
  `deposit_price` DECIMAL(24,6) NOT NULL COMMENT '定金金额，单位：元',
  `file_url` VARCHAR(255) DEFAULT NULL COMMENT '附件地址',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `out_count` DECIMAL(24,6) DEFAULT NULL COMMENT '销售出库数量',
  `return_count` DECIMAL(24,6) DEFAULT NULL COMMENT '销售退货数量',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 销售订单';

-- 5.18 销售订单项表
CREATE TABLE `erp_sale_order_items` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `order_id` BIGINT DEFAULT NULL COMMENT '销售订单编号',
  `product_id` BIGINT DEFAULT NULL COMMENT '产品编号',
  `product_unit_id` BIGINT DEFAULT NULL COMMENT '产品单位编号',
  `product_price` DECIMAL(24,6) NOT NULL COMMENT '产品单位单价，单位：元',
  `count` DECIMAL(24,6) NOT NULL COMMENT '数量',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '总价，单位：元',
  `tax_percent` DECIMAL(24,6) DEFAULT NULL COMMENT '税率，百分比',
  `tax_price` DECIMAL(24,6) DEFAULT NULL COMMENT '税额，单位：元',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `out_count` DECIMAL(24,6) DEFAULT NULL COMMENT '销售出库数量',
  `return_count` DECIMAL(24,6) DEFAULT NULL COMMENT '销售退货数量',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 销售订单项';

-- 5.19 销售出库表
CREATE TABLE `erp_sale_out` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `no` VARCHAR(255) NOT NULL COMMENT '销售出库单号',
  `status` INT NOT NULL COMMENT '出库状态',
  `customer_id` BIGINT DEFAULT NULL COMMENT '客户编号',
  `account_id` BIGINT DEFAULT NULL COMMENT '结算账户编号',
  `sale_user_id` BIGINT DEFAULT NULL COMMENT '销售员编号',
  `out_time` DATETIME NOT NULL COMMENT '出库时间',
  `order_id` BIGINT DEFAULT NULL COMMENT '销售订单编号',
  `order_no` VARCHAR(255) DEFAULT NULL COMMENT '销售订单号',
  `total_count` DECIMAL(24,6) NOT NULL COMMENT '合计数量',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '最终合计价格，单位：元',
  `receipt_price` DECIMAL(24,6) DEFAULT NULL COMMENT '已收款金额，单位：元',
  `total_product_price` DECIMAL(24,6) NOT NULL COMMENT '合计产品价格，单位：元',
  `total_tax_price` DECIMAL(24,6) NOT NULL COMMENT '合计税额，单位：元',
  `discount_percent` DECIMAL(24,6) DEFAULT NULL COMMENT '优惠率，百分比',
  `discount_price` DECIMAL(24,6) DEFAULT NULL COMMENT '优惠金额，单位：元',
  `other_price` DECIMAL(24,6) DEFAULT NULL COMMENT '其它金额，单位：元',
  `file_url` VARCHAR(255) DEFAULT NULL COMMENT '附件地址',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 销售出库';

-- 5.20 销售出库项表
CREATE TABLE `erp_sale_out_items` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `out_id` BIGINT DEFAULT NULL COMMENT '销售出库编号',
  `order_item_id` BIGINT DEFAULT NULL COMMENT '销售订单项编号',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库编号',
  `product_id` BIGINT DEFAULT NULL COMMENT '产品编号',
  `product_unit_id` BIGINT DEFAULT NULL COMMENT '产品单位编号',
  `product_price` DECIMAL(24,6) NOT NULL COMMENT '产品单位单价，单位：元',
  `count` DECIMAL(24,6) NOT NULL COMMENT '数量',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '总价，单位：元',
  `tax_percent` DECIMAL(24,6) DEFAULT NULL COMMENT '税率，百分比',
  `tax_price` DECIMAL(24,6) DEFAULT NULL COMMENT '税额，单位：元',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 销售出库项';

-- 5.21 销售退货表
CREATE TABLE `erp_sale_return` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `no` VARCHAR(255) NOT NULL COMMENT '销售退货单号',
  `status` INT NOT NULL COMMENT '退货状态',
  `customer_id` BIGINT DEFAULT NULL COMMENT '客户编号',
  `account_id` BIGINT DEFAULT NULL COMMENT '结算账户编号',
  `sale_user_id` BIGINT DEFAULT NULL COMMENT '销售员编号',
  `return_time` DATETIME NOT NULL COMMENT '退货时间',
  `order_id` BIGINT DEFAULT NULL COMMENT '销售订单编号',
  `order_no` VARCHAR(255) DEFAULT NULL COMMENT '销售订单号',
  `total_count` DECIMAL(24,6) NOT NULL COMMENT '合计数量',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '最终合计价格，单位：元',
  `refund_price` DECIMAL(24,6) DEFAULT NULL COMMENT '已退款金额，单位：元',
  `total_product_price` DECIMAL(24,6) NOT NULL COMMENT '合计产品价格，单位：元',
  `total_tax_price` DECIMAL(24,6) NOT NULL COMMENT '合计税额，单位：元',
  `discount_percent` DECIMAL(24,6) DEFAULT NULL COMMENT '优惠率，百分比',
  `discount_price` DECIMAL(24,6) DEFAULT NULL COMMENT '优惠金额，单位：元',
  `other_price` DECIMAL(24,6) DEFAULT NULL COMMENT '其它金额，单位：元',
  `file_url` VARCHAR(255) DEFAULT NULL COMMENT '附件地址',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 销售退货';

-- 5.22 销售退货项表
CREATE TABLE `erp_sale_return_items` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `return_id` BIGINT DEFAULT NULL COMMENT '销售退货编号',
  `order_item_id` BIGINT DEFAULT NULL COMMENT '销售订单项编号',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库编号',
  `product_id` BIGINT DEFAULT NULL COMMENT '产品编号',
  `product_unit_id` BIGINT DEFAULT NULL COMMENT '产品单位编号',
  `product_price` DECIMAL(24,6) NOT NULL COMMENT '产品单位单价，单位：元',
  `count` DECIMAL(24,6) NOT NULL COMMENT '数量',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '总价，单位：元',
  `tax_percent` DECIMAL(24,6) DEFAULT NULL COMMENT '税率，百分比',
  `tax_price` DECIMAL(24,6) DEFAULT NULL COMMENT '税额，单位：元',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 销售退货项';

-- 5.23 仓库表
CREATE TABLE `erp_warehouse` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '仓库编号',
  `name` VARCHAR(255) NOT NULL COMMENT '仓库名称',
  `address` VARCHAR(255) DEFAULT NULL COMMENT '仓库地址',
  `sort` BIGINT NOT NULL COMMENT '排序',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `principal` VARCHAR(255) DEFAULT NULL COMMENT '负责人',
  `warehouse_price` DECIMAL(24,6) DEFAULT NULL COMMENT '仓储费，单位：元',
  `truckage_price` DECIMAL(24,6) DEFAULT NULL COMMENT '搬运费，单位：元',
  `status` INT NOT NULL COMMENT '开启状态',
  `default_status` TINYINT(1) NOT NULL COMMENT '是否默认',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 仓库';

-- 5.24 产品库存表
CREATE TABLE `erp_stock` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `product_id` BIGINT DEFAULT NULL COMMENT '产品编号',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库编号',
  `count` DECIMAL(24,6) NOT NULL COMMENT '库存数量',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 产品库存';

-- 5.25 产品库存明细表
CREATE TABLE `erp_stock_record` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `product_id` BIGINT DEFAULT NULL COMMENT '产品编号',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库编号',
  `count` DECIMAL(24,6) NOT NULL COMMENT '出入库数量',
  `total_count` DECIMAL(24,6) NOT NULL COMMENT '总库存量',
  `biz_type` INT DEFAULT NULL COMMENT '业务类型',
  `biz_id` BIGINT DEFAULT NULL COMMENT '业务编号',
  `biz_item_id` BIGINT DEFAULT NULL COMMENT '业务项编号',
  `biz_no` VARCHAR(255) DEFAULT NULL COMMENT '业务单号',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 产品库存明细';

-- 5.26 其它入库单表
CREATE TABLE `erp_stock_in` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '入库编号',
  `no` VARCHAR(255) NOT NULL COMMENT '入库单号',
  `supplier_id` BIGINT DEFAULT NULL COMMENT '供应商编号',
  `in_time` DATETIME NOT NULL COMMENT '入库时间',
  `total_count` DECIMAL(24,6) NOT NULL COMMENT '合计数量',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '合计金额，单位：元',
  `status` INT NOT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `file_url` VARCHAR(255) DEFAULT NULL COMMENT '附件 URL',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 其它入库单';

-- 5.27 其它入库单项表
CREATE TABLE `erp_stock_in_item` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '入库项编号',
  `in_id` BIGINT DEFAULT NULL COMMENT '入库编号',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库编号',
  `product_id` BIGINT DEFAULT NULL COMMENT '产品编号',
  `product_unit_id` BIGINT DEFAULT NULL COMMENT '产品单位编号',
  `product_price` DECIMAL(24,6) DEFAULT NULL COMMENT '产品单价',
  `count` DECIMAL(24,6) DEFAULT NULL COMMENT '产品数量',
  `total_price` DECIMAL(24,6) DEFAULT NULL COMMENT '合计金额，单位：元',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 其它入库单项';

-- 5.28 其它出库单表
CREATE TABLE `erp_stock_out` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '出库编号',
  `no` VARCHAR(255) NOT NULL COMMENT '出库单号',
  `customer_id` BIGINT DEFAULT NULL COMMENT '客户编号',
  `out_time` DATETIME NOT NULL COMMENT '出库时间',
  `total_count` DECIMAL(24,6) NOT NULL COMMENT '合计数量',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '合计金额，单位：元',
  `status` INT NOT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `file_url` VARCHAR(255) DEFAULT NULL COMMENT '附件 URL',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 其它出库单';

-- 5.29 其它出库单项表
CREATE TABLE `erp_stock_out_item` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '出库项编号',
  `out_id` BIGINT DEFAULT NULL COMMENT '出库编号',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库编号',
  `product_id` BIGINT DEFAULT NULL COMMENT '产品编号',
  `product_unit_id` BIGINT DEFAULT NULL COMMENT '产品单位编号',
  `product_price` DECIMAL(24,6) DEFAULT NULL COMMENT '产品单价',
  `count` DECIMAL(24,6) DEFAULT NULL COMMENT '产品数量',
  `total_price` DECIMAL(24,6) DEFAULT NULL COMMENT '合计金额，单位：元',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 其它出库单项';

-- 5.30 库存调拨单表
CREATE TABLE `erp_stock_move` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '调拨编号',
  `no` VARCHAR(255) NOT NULL COMMENT '调拨单号',
  `move_time` DATETIME NOT NULL COMMENT '调拨时间',
  `total_count` DECIMAL(24,6) NOT NULL COMMENT '合计数量',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '合计金额，单位：元',
  `status` INT NOT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `file_url` VARCHAR(255) DEFAULT NULL COMMENT '附件 URL',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 库存调拨单';

-- 5.31 库存调拨单项表
CREATE TABLE `erp_stock_move_item` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '调拨项编号',
  `move_id` BIGINT DEFAULT NULL COMMENT '调拨编号',
  `from_warehouse_id` BIGINT DEFAULT NULL COMMENT '调出仓库编号',
  `to_warehouse_id` BIGINT DEFAULT NULL COMMENT '调入仓库编号',
  `product_id` BIGINT DEFAULT NULL COMMENT '产品编号',
  `product_unit_id` BIGINT DEFAULT NULL COMMENT '产品单位编号',
  `product_price` DECIMAL(24,6) DEFAULT NULL COMMENT '产品单价',
  `count` DECIMAL(24,6) DEFAULT NULL COMMENT '产品数量',
  `total_price` DECIMAL(24,6) DEFAULT NULL COMMENT '合计金额，单位：元',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 库存调拨单项';

-- 5.32 库存盘点单表
CREATE TABLE `erp_stock_check` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '盘点编号',
  `no` VARCHAR(255) NOT NULL COMMENT '盘点单号',
  `check_time` DATETIME NOT NULL COMMENT '盘点时间',
  `total_count` DECIMAL(24,6) NOT NULL COMMENT '合计数量',
  `total_price` DECIMAL(24,6) NOT NULL COMMENT '合计金额，单位：元',
  `status` INT NOT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `file_url` VARCHAR(255) DEFAULT NULL COMMENT '附件 URL',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 库存盘点单';

-- 5.33 库存盘点单项表
CREATE TABLE `erp_stock_check_item` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '盘点项编号',
  `check_id` BIGINT DEFAULT NULL COMMENT '盘点编号',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库编号',
  `product_id` BIGINT DEFAULT NULL COMMENT '产品编号',
  `product_unit_id` BIGINT DEFAULT NULL COMMENT '产品单位编号',
  `product_price` DECIMAL(24,6) DEFAULT NULL COMMENT '产品单价',
  `stock_count` DECIMAL(24,6) DEFAULT NULL COMMENT '账面数量（当前库存）',
  `actual_count` DECIMAL(24,6) DEFAULT NULL COMMENT '实际数量（实际库存）',
  `count` DECIMAL(24,6) DEFAULT NULL COMMENT '盈亏数量',
  `total_price` DECIMAL(24,6) DEFAULT NULL COMMENT '合计金额，单位：元',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 库存盘点单项';


-- =====================================================
-- 第六部分: yudao-module-mes 制造执行系统模块 (约 133 张表)
-- =====================================================

-- 6.1 MES 假期设置表
CREATE TABLE `mes_cal_holiday` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `day` DATETIME DEFAULT NULL COMMENT '日期',
  `type` INT DEFAULT NULL COMMENT '日期类型',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 假期设置';

-- 6.2 MES 排班计划表
CREATE TABLE `mes_cal_plan` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '计划编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '计划编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '计划名称',
  `calendar_type` INT DEFAULT NULL COMMENT '班组类型',
  `start_date` DATETIME DEFAULT NULL COMMENT '开始日期',
  `end_date` DATETIME DEFAULT NULL COMMENT '结束日期',
  `shift_type` INT DEFAULT NULL COMMENT '轮班方式',
  `shift_method` INT DEFAULT NULL COMMENT '倒班方式',
  `shift_count` INT DEFAULT NULL COMMENT '倒班天数',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 排班计划';

-- 6.3 MES 计划班次表
CREATE TABLE `mes_cal_plan_shift` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '班次编号',
  `plan_id` BIGINT DEFAULT NULL COMMENT '排班计划编号',
  `sort` INT DEFAULT NULL COMMENT '显示顺序',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '班次名称',
  `start_time` VARCHAR(20) DEFAULT NULL COMMENT '开始时间（HH:mm 格式）',
  `end_time` VARCHAR(20) DEFAULT NULL COMMENT '结束时间（HH:mm 格式）',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 计划班次';

-- 6.4 MES 计划班组关联表
CREATE TABLE `mes_cal_plan_team` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `plan_id` BIGINT DEFAULT NULL COMMENT '排班计划编号',
  `team_id` BIGINT DEFAULT NULL COMMENT '班组编号',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 计划班组关联';

-- 6.5 MES 班组表
CREATE TABLE `mes_cal_team` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '班组编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '班组编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '班组名称',
  `calendar_type` INT DEFAULT NULL COMMENT '班组类型',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 班组';

-- 6.6 MES 班组成员表
CREATE TABLE `mes_cal_team_member` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '班组成员编号',
  `team_id` BIGINT DEFAULT NULL COMMENT '班组编号',
  `user_id` BIGINT DEFAULT NULL COMMENT '用户编号',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 班组成员';

-- 6.7 MES 班组排班表
CREATE TABLE `mes_cal_team_shift` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `plan_id` BIGINT DEFAULT NULL COMMENT '排班计划编号',
  `team_id` BIGINT DEFAULT NULL COMMENT '班组编号',
  `shift_id` BIGINT DEFAULT NULL COMMENT '班次编号',
  `day` DATETIME DEFAULT NULL COMMENT '日期',
  `sort` INT DEFAULT NULL COMMENT '排序',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 班组排班';


-- =====================================================
-- MES 工具管理模块 (tm)
-- =====================================================

-- 6.8 MES 工具类型表
CREATE TABLE `mes_tm_tool_type` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '类型编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '类型名称',
  `code_flag` BIT(1) DEFAULT b'0' COMMENT '是否编码管理',
  `mainten_type` INT DEFAULT NULL COMMENT '保养维护类型',
  `mainten_period` INT DEFAULT NULL COMMENT '保养周期',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 工具类型';

-- 6.9 MES 工具台账表
CREATE TABLE `mes_tm_tool` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '工具编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '工具名称',
  `brand` VARCHAR(100) DEFAULT NULL COMMENT '品牌',
  `specification` VARCHAR(100) DEFAULT NULL COMMENT '型号规格',
  `tool_type_id` BIGINT DEFAULT NULL COMMENT '工具类型编号',
  `quantity` INT DEFAULT NULL COMMENT '数量',
  `available_quantity` INT DEFAULT NULL COMMENT '可用数量',
  `mainten_type` INT DEFAULT NULL COMMENT '保养维护类型',
  `next_mainten_period` INT DEFAULT NULL COMMENT '下次保养周期（次数）',
  `next_mainten_date` DATETIME DEFAULT NULL COMMENT '下次保养日期',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 工具台账';


-- =====================================================
-- MES 设备管理模块 (dv)
-- =====================================================

-- 6.10 MES 设备类型表
CREATE TABLE `mes_dv_machinery_type` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '类型编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '类型名称',
  `parent_id` BIGINT DEFAULT NULL COMMENT '父类型编号',
  `status` INT DEFAULT NULL COMMENT '状态',
  `sort` INT DEFAULT NULL COMMENT '显示排序',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 设备类型';

-- 6.11 MES 设备台账表
CREATE TABLE `mes_dv_machinery` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '设备编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '设备名称',
  `brand` VARCHAR(100) DEFAULT NULL COMMENT '品牌',
  `specification` VARCHAR(100) DEFAULT NULL COMMENT '规格型号',
  `machinery_type_id` BIGINT DEFAULT NULL COMMENT '设备类型编号',
  `workshop_id` BIGINT DEFAULT NULL COMMENT '所属车间编号',
  `status` INT DEFAULT NULL COMMENT '设备状态',
  `last_mainten_time` DATETIME DEFAULT NULL COMMENT '最近保养时间',
  `last_check_time` DATETIME DEFAULT NULL COMMENT '最近点检时间',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 设备台账';

-- 6.12 MES 点检保养项目表
CREATE TABLE `mes_dv_subject` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '项目编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '项目名称',
  `type` INT DEFAULT NULL COMMENT '项目类型',
  `content` VARCHAR(500) DEFAULT NULL COMMENT '项目内容',
  `standard` VARCHAR(500) DEFAULT NULL COMMENT '标准',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 点检保养项目';

-- 6.13 MES 点检保养方案表
CREATE TABLE `mes_dv_check_plan` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '方案编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '方案名称',
  `type` INT DEFAULT NULL COMMENT '方案类型',
  `start_date` DATETIME DEFAULT NULL COMMENT '开始日期',
  `end_date` DATETIME DEFAULT NULL COMMENT '结束日期',
  `cycle_type` INT DEFAULT NULL COMMENT '周期类型',
  `cycle_count` INT DEFAULT NULL COMMENT '周期数量',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 点检保养方案';

-- 6.14 MES 点检保养方案设备表
CREATE TABLE `mes_dv_check_plan_machinery` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `plan_id` BIGINT DEFAULT NULL COMMENT '方案编号',
  `machinery_id` BIGINT DEFAULT NULL COMMENT '设备编号',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 点检保养方案设备';

-- 6.15 MES 点检保养方案项目表
CREATE TABLE `mes_dv_check_plan_subject` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `plan_id` BIGINT DEFAULT NULL COMMENT '方案编号',
  `subject_id` BIGINT DEFAULT NULL COMMENT '项目编号',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 点检保养方案项目';

-- 6.16 MES 设备点检记录表
CREATE TABLE `mes_dv_check_record` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `plan_id` BIGINT DEFAULT NULL COMMENT '点检计划编号',
  `machinery_id` BIGINT DEFAULT NULL COMMENT '设备编号',
  `check_time` DATETIME DEFAULT NULL COMMENT '点检时间',
  `user_id` BIGINT DEFAULT NULL COMMENT '点检人编号',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 设备点检记录';

-- 6.17 MES 设备点检记录明细表
CREATE TABLE `mes_dv_check_record_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `record_id` BIGINT DEFAULT NULL COMMENT '点检记录编号',
  `subject_id` BIGINT DEFAULT NULL COMMENT '点检项目编号',
  `check_status` INT DEFAULT NULL COMMENT '点检结果',
  `check_result` VARCHAR(500) DEFAULT NULL COMMENT '异常描述',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 设备点检记录明细';

-- 6.18 MES 设备保养记录表
CREATE TABLE `mes_dv_mainten_record` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `plan_id` BIGINT DEFAULT NULL COMMENT '计划编号',
  `machinery_id` BIGINT DEFAULT NULL COMMENT '设备编号',
  `mainten_time` DATETIME DEFAULT NULL COMMENT '保养时间',
  `user_id` BIGINT DEFAULT NULL COMMENT '用户编号',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 设备保养记录';

-- 6.19 MES 设备保养记录明细表
CREATE TABLE `mes_dv_mainten_record_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `record_id` BIGINT DEFAULT NULL COMMENT '保养记录编号',
  `subject_id` BIGINT DEFAULT NULL COMMENT '项目编号',
  `status` INT DEFAULT NULL COMMENT '保养结果',
  `result` VARCHAR(500) DEFAULT NULL COMMENT '异常描述',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 设备保养记录明细';

-- 6.20 MES 维修工单表
CREATE TABLE `mes_dv_repair` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '维修工单编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '维修工单名称',
  `machinery_id` BIGINT DEFAULT NULL COMMENT '设备编号',
  `require_date` DATETIME DEFAULT NULL COMMENT '报修日期',
  `finish_date` DATETIME DEFAULT NULL COMMENT '维修完成日期',
  `confirm_date` DATETIME DEFAULT NULL COMMENT '验收日期',
  `result` INT DEFAULT NULL COMMENT '维修结果',
  `accepted_user_id` BIGINT DEFAULT NULL COMMENT '维修人用户编号',
  `confirm_user_id` BIGINT DEFAULT NULL COMMENT '验收人用户编号',
  `source_doc_type` INT DEFAULT NULL COMMENT '来源单据类型',
  `source_doc_id` BIGINT DEFAULT NULL COMMENT '来源单据编号',
  `source_doc_code` VARCHAR(100) DEFAULT NULL COMMENT '来源单据编码',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 维修工单';

-- 6.21 MES 维修工单行表
CREATE TABLE `mes_dv_repair_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `repair_id` BIGINT DEFAULT NULL COMMENT '维修工单编号',
  `subject_id` BIGINT DEFAULT NULL COMMENT '点检保养项目编号',
  `malfunction` VARCHAR(500) DEFAULT NULL COMMENT '故障描述',
  `malfunction_url` VARCHAR(500) DEFAULT NULL COMMENT '故障图片 URL',
  `description` VARCHAR(500) DEFAULT NULL COMMENT '维修描述',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 维修工单行';


-- =====================================================
-- MES 主数据模块 (md)
-- =====================================================

-- 6.22 MES 编码规则组成表
CREATE TABLE `mes_md_auto_code_part` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `rule_id` BIGINT DEFAULT NULL COMMENT '规则编号',
  `sort` INT DEFAULT NULL COMMENT '分段序号',
  `type` INT DEFAULT NULL COMMENT '分段类型',
  `length` INT DEFAULT NULL COMMENT '分段长度',
  `date_format` VARCHAR(100) DEFAULT NULL COMMENT '日期格式',
  `fix_character` VARCHAR(255) DEFAULT NULL COMMENT '固定字符',
  `serial_start_no` INT DEFAULT NULL COMMENT '流水号起始值',
  `serial_step` INT DEFAULT NULL COMMENT '流水号步长',
  `cycle_flag` BIT(1) DEFAULT b'0' COMMENT '流水号是否循环',
  `cycle_method` INT DEFAULT NULL COMMENT '循环方式',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 编码规则组成';

-- 6.23 MES 编码生成记录表
CREATE TABLE `mes_md_auto_code_record` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `rule_id` BIGINT DEFAULT NULL COMMENT '规则编号',
  `result` VARCHAR(255) DEFAULT NULL COMMENT '生成的编码',
  `serial_no` BIGINT DEFAULT NULL COMMENT '生成的流水号',
  `input_char` VARCHAR(255) DEFAULT NULL COMMENT '传入的参数',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 编码生成记录';

-- 6.24 MES 编码规则表
CREATE TABLE `mes_md_auto_code_rule` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '规则编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '规则名称',
  `description` VARCHAR(255) DEFAULT NULL COMMENT '描述',
  `max_length` INT DEFAULT NULL COMMENT '最大长度',
  `padded` BIT(1) DEFAULT b'0' COMMENT '是否补齐',
  `padded_char` VARCHAR(10) DEFAULT NULL COMMENT '补齐字符',
  `padded_method` INT DEFAULT NULL COMMENT '补齐方式',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 编码规则';

-- 6.25 MES 客户表
CREATE TABLE `mes_md_client` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '客户编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '客户名称',
  `nickname` VARCHAR(100) DEFAULT NULL COMMENT '客户简称',
  `english_name` VARCHAR(100) DEFAULT NULL COMMENT '客户英文名称',
  `description` VARCHAR(255) DEFAULT NULL COMMENT '客户简介',
  `logo` VARCHAR(255) DEFAULT NULL COMMENT '客户LOGO地址',
  `type` INT DEFAULT NULL COMMENT '客户类型',
  `address` VARCHAR(255) DEFAULT NULL COMMENT '客户地址',
  `website` VARCHAR(255) DEFAULT NULL COMMENT '客户官网地址',
  `email` VARCHAR(100) DEFAULT NULL COMMENT '客户邮箱地址',
  `telephone` VARCHAR(100) DEFAULT NULL COMMENT '客户电话',
  `contact1_name` VARCHAR(100) DEFAULT NULL COMMENT '联系人1',
  `contact1_telephone` VARCHAR(100) DEFAULT NULL COMMENT '联系人1-电话',
  `contact1_email` VARCHAR(100) DEFAULT NULL COMMENT '联系人1-邮箱',
  `contact2_name` VARCHAR(100) DEFAULT NULL COMMENT '联系人2',
  `contact2_telephone` VARCHAR(100) DEFAULT NULL COMMENT '联系人2-电话',
  `contact2_email` VARCHAR(100) DEFAULT NULL COMMENT '联系人2-邮箱',
  `credit_code` VARCHAR(100) DEFAULT NULL COMMENT '统一社会信用代码',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 客户';

-- 6.26 MES 物料批次属性配置表
CREATE TABLE `mes_md_item_batch_config` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料编号',
  `produce_date_flag` BIT(1) DEFAULT b'0' COMMENT '批次属性-生产日期',
  `expire_date_flag` BIT(1) DEFAULT b'0' COMMENT '批次属性-有效期',
  `receipt_date_flag` BIT(1) DEFAULT b'0' COMMENT '批次属性-入库日期',
  `vendor_flag` BIT(1) DEFAULT b'0' COMMENT '批次属性-供应商',
  `client_flag` BIT(1) DEFAULT b'0' COMMENT '批次属性-客户',
  `sales_order_code_flag` BIT(1) DEFAULT b'0' COMMENT '批次属性-销售订单编号',
  `purchase_order_code_flag` BIT(1) DEFAULT b'0' COMMENT '批次属性-采购订单编号',
  `work_order_flag` BIT(1) DEFAULT b'0' COMMENT '批次属性-生产工单',
  `task_flag` BIT(1) DEFAULT b'0' COMMENT '批次属性-生产任务',
  `workstation_flag` BIT(1) DEFAULT b'0' COMMENT '批次属性-工作站',
  `tool_flag` BIT(1) DEFAULT b'0' COMMENT '批次属性-工具',
  `mold_flag` BIT(1) DEFAULT b'0' COMMENT '批次属性-模具',
  `lot_number_flag` BIT(1) DEFAULT b'0' COMMENT '批次属性-生产批号',
  `quality_status_flag` BIT(1) DEFAULT b'0' COMMENT '批次属性-质量状态',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 物料批次属性配置';

-- 6.27 MES 物料产品表
CREATE TABLE `mes_md_item` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '物料编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '物料名称',
  `specification` VARCHAR(255) DEFAULT NULL COMMENT '规格型号',
  `unit_measure_id` BIGINT DEFAULT NULL COMMENT '计量单位编号',
  `item_type_id` BIGINT DEFAULT NULL COMMENT '物料分类编号',
  `status` INT DEFAULT NULL COMMENT '状态',
  `safe_stock_flag` BIT(1) DEFAULT b'0' COMMENT '是否启用安全库存',
  `min_stock` DECIMAL(24,6) DEFAULT NULL COMMENT '最低库存量',
  `max_stock` DECIMAL(24,6) DEFAULT NULL COMMENT '最高库存量',
  `high_value` BIT(1) DEFAULT b'0' COMMENT '是否高值物料',
  `batch_flag` BIT(1) DEFAULT b'0' COMMENT '是否启用批次管理',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 物料产品';

-- 6.28 MES 物料产品分类表
CREATE TABLE `mes_md_item_type` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '分类编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '分类名称',
  `parent_id` BIGINT DEFAULT NULL COMMENT '父分类编号',
  `item_or_product` VARCHAR(100) DEFAULT NULL COMMENT '物料/产品标识',
  `sort` INT DEFAULT NULL COMMENT '显示排序',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 物料产品分类';

-- 6.29 MES 产品 BOM 表
CREATE TABLE `mes_md_product_bom` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料产品编号',
  `bom_item_id` BIGINT DEFAULT NULL COMMENT 'BOM物料编号',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '物料使用比例',
  `status` INT DEFAULT NULL COMMENT '是否启用',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 产品 BOM';

-- 6.30 MES 产品 SIP 表
CREATE TABLE `mes_md_product_sip` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料产品编号',
  `sort` INT DEFAULT NULL COMMENT '排列顺序',
  `process_id` BIGINT DEFAULT NULL COMMENT '工序编号',
  `title` VARCHAR(100) DEFAULT NULL COMMENT '标题',
  `description` VARCHAR(500) DEFAULT NULL COMMENT '详细描述',
  `url` VARCHAR(255) DEFAULT NULL COMMENT '图片地址',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 产品 SIP';

-- 6.31 MES 产品 SOP 表
CREATE TABLE `mes_md_product_sop` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料产品编号',
  `sort` INT DEFAULT NULL COMMENT '排列顺序',
  `process_id` BIGINT DEFAULT NULL COMMENT '工序编号',
  `title` VARCHAR(100) DEFAULT NULL COMMENT '标题',
  `description` VARCHAR(500) DEFAULT NULL COMMENT '详细描述',
  `url` VARCHAR(255) DEFAULT NULL COMMENT '图片地址',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 产品 SOP';

-- 6.32 MES 计量单位表
CREATE TABLE `mes_md_unit_measure` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '单位编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '单位名称',
  `primary_flag` BIT(1) DEFAULT b'0' COMMENT '是否主单位',
  `primary_id` BIGINT DEFAULT NULL COMMENT '主单位编号',
  `change_rate` DECIMAL(24,6) DEFAULT NULL COMMENT '与主单位换算比例',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 计量单位';

-- 6.33 MES 供应商表
CREATE TABLE `mes_md_vendor` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '供应商编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '供应商名称',
  `nickname` VARCHAR(100) DEFAULT NULL COMMENT '供应商简称',
  `english_name` VARCHAR(100) DEFAULT NULL COMMENT '供应商英文名称',
  `description` VARCHAR(255) DEFAULT NULL COMMENT '供应商简介',
  `logo` VARCHAR(255) DEFAULT NULL COMMENT '供应商LOGO地址',
  `level` VARCHAR(100) DEFAULT NULL COMMENT '供应商等级',
  `score` INT DEFAULT NULL COMMENT '供应商评分',
  `address` VARCHAR(255) DEFAULT NULL COMMENT '供应商地址',
  `website` VARCHAR(255) DEFAULT NULL COMMENT '供应商官网地址',
  `email` VARCHAR(100) DEFAULT NULL COMMENT '供应商邮箱地址',
  `telephone` VARCHAR(100) DEFAULT NULL COMMENT '供应商电话',
  `contact1_name` VARCHAR(100) DEFAULT NULL COMMENT '联系人1',
  `contact1_telephone` VARCHAR(100) DEFAULT NULL COMMENT '联系人1-电话',
  `contact1_email` VARCHAR(100) DEFAULT NULL COMMENT '联系人1-邮箱',
  `contact2_name` VARCHAR(100) DEFAULT NULL COMMENT '联系人2',
  `contact2_telephone` VARCHAR(100) DEFAULT NULL COMMENT '联系人2-电话',
  `contact2_email` VARCHAR(100) DEFAULT NULL COMMENT '联系人2-邮箱',
  `credit_code` VARCHAR(100) DEFAULT NULL COMMENT '统一社会信用代码',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 供应商';

-- 6.34 MES 车间表
CREATE TABLE `mes_md_workshop` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '车间编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '车间名称',
  `area` DECIMAL(24,6) DEFAULT NULL COMMENT '面积（平方米）',
  `charge_user_id` BIGINT DEFAULT NULL COMMENT '负责人用户编号',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 车间';

-- 6.35 MES 工作站表
CREATE TABLE `mes_md_workstation` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '工作站编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '工作站名称',
  `address` VARCHAR(255) DEFAULT NULL COMMENT '工作站地点',
  `workshop_id` BIGINT DEFAULT NULL COMMENT '所在车间编号',
  `process_id` BIGINT DEFAULT NULL COMMENT '工序编号',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '线边库编号',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区编号',
  `area_id` BIGINT DEFAULT NULL COMMENT '库位编号',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 工作站';

-- 6.36 MES 工作站设备资源表
CREATE TABLE `mes_md_workstation_machine` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `workstation_id` BIGINT DEFAULT NULL COMMENT '工作站编号',
  `machinery_id` BIGINT DEFAULT NULL COMMENT '设备编号',
  `quantity` INT DEFAULT NULL COMMENT '数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 工作站设备资源';

-- 6.37 MES 工作站工装夹具资源表
CREATE TABLE `mes_md_workstation_tool` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `workstation_id` BIGINT DEFAULT NULL COMMENT '工作站编号',
  `tool_type_id` BIGINT DEFAULT NULL COMMENT '工具类型编号',
  `quantity` INT DEFAULT NULL COMMENT '数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 工作站工装夹具资源';

-- 6.38 MES 工作站人力资源表
CREATE TABLE `mes_md_workstation_worker` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `workstation_id` BIGINT DEFAULT NULL COMMENT '工作站编号',
  `post_id` BIGINT DEFAULT NULL COMMENT '岗位编号',
  `quantity` INT DEFAULT NULL COMMENT '数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 工作站人力资源';


-- =====================================================
-- MES 生产模块 (pro)
-- =====================================================

-- 6.39 MES 安灯呼叫配置表
CREATE TABLE `mes_pro_andon_config` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `reason` VARCHAR(255) DEFAULT NULL COMMENT '呼叫原因',
  `level` INT DEFAULT NULL COMMENT '级别',
  `handler_role_id` BIGINT DEFAULT NULL COMMENT '处置人角色编号',
  `handler_user_id` BIGINT DEFAULT NULL COMMENT '处置人编号',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 安灯呼叫配置';

-- 6.40 MES 安灯呼叫记录表
CREATE TABLE `mes_pro_andon_record` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `config_id` BIGINT DEFAULT NULL COMMENT '安灯配置编号',
  `workstation_id` BIGINT DEFAULT NULL COMMENT '工作站编号',
  `user_id` BIGINT DEFAULT NULL COMMENT '发起用户编号',
  `work_order_id` BIGINT DEFAULT NULL COMMENT '生产工单编号',
  `process_id` BIGINT DEFAULT NULL COMMENT '工序编号',
  `reason` VARCHAR(255) DEFAULT NULL COMMENT '呼叫原因',
  `level` INT DEFAULT NULL COMMENT '级别',
  `status` INT DEFAULT NULL COMMENT '处置状态',
  `handle_time` DATETIME DEFAULT NULL COMMENT '处置时间',
  `handler_user_id` BIGINT DEFAULT NULL COMMENT '处置人编号',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 安灯呼叫记录';

-- 6.41 MES 生产流转卡表
CREATE TABLE `mes_pro_card` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '流转卡编码',
  `work_order_id` BIGINT DEFAULT NULL COMMENT '生产工单编号',
  `item_id` BIGINT DEFAULT NULL COMMENT '产品物料编号',
  `batch_code` VARCHAR(100) DEFAULT NULL COMMENT '批次号',
  `transfered_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '流转数量',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产流转卡';

-- 6.42 MES 流转卡工序记录表
CREATE TABLE `mes_pro_card_process` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `card_id` BIGINT DEFAULT NULL COMMENT '流转卡编号',
  `sort` INT DEFAULT NULL COMMENT '序号',
  `process_id` BIGINT DEFAULT NULL COMMENT '工序编号',
  `input_time` DATETIME DEFAULT NULL COMMENT '进入工序时间',
  `output_time` DATETIME DEFAULT NULL COMMENT '出工序时间',
  `input_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '投入数量',
  `output_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '产出数量',
  `unqualified_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '不合格品数量',
  `workstation_id` BIGINT DEFAULT NULL COMMENT '工位编号',
  `user_id` BIGINT DEFAULT NULL COMMENT '操作人编号',
  `ipqc_id` BIGINT DEFAULT NULL COMMENT '过程检验单编号',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 流转卡工序记录';

-- 6.43 MES 生产工序表
CREATE TABLE `mes_pro_process` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '工序编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '工序名称',
  `attention` VARCHAR(500) DEFAULT NULL COMMENT '工艺要求',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产工序';

-- 6.44 MES 生产工序内容表
CREATE TABLE `mes_pro_process_content` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `process_id` BIGINT DEFAULT NULL COMMENT '工序编号',
  `sort` INT DEFAULT NULL COMMENT '顺序编号',
  `content` VARCHAR(500) DEFAULT NULL COMMENT '步骤说明',
  `device` VARCHAR(255) DEFAULT NULL COMMENT '辅助设备',
  `material` VARCHAR(255) DEFAULT NULL COMMENT '辅助材料',
  `doc_url` VARCHAR(255) DEFAULT NULL COMMENT '材料文档 URL',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产工序内容';

-- 6.45 MES 工艺路线表
CREATE TABLE `mes_pro_route` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '工艺路线编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '工艺路线名称',
  `description` VARCHAR(255) DEFAULT NULL COMMENT '工艺路线说明',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 工艺路线';

-- 6.46 MES 工艺路线工序表
CREATE TABLE `mes_pro_route_process` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `route_id` BIGINT DEFAULT NULL COMMENT '工艺路线编号',
  `process_id` BIGINT DEFAULT NULL COMMENT '工序编号',
  `sort` INT DEFAULT NULL COMMENT '序号',
  `next_process_id` BIGINT DEFAULT NULL COMMENT '下一道工序编号',
  `link_type` INT DEFAULT NULL COMMENT '与下一道工序关系',
  `prepare_time` INT DEFAULT NULL COMMENT '准备时间（分钟）',
  `wait_time` INT DEFAULT NULL COMMENT '等待时间（分钟）',
  `color_code` VARCHAR(100) DEFAULT NULL COMMENT '甘特图显示颜色',
  `key_flag` BIT(1) DEFAULT b'0' COMMENT '是否关键工序',
  `check_flag` BIT(1) DEFAULT b'0' COMMENT '是否质检工序',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 工艺路线工序';

-- 6.47 MES 工艺路线产品 BOM 表
CREATE TABLE `mes_pro_route_product_bom` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `route_id` BIGINT DEFAULT NULL COMMENT '工艺路线编号',
  `process_id` BIGINT DEFAULT NULL COMMENT '工序编号',
  `product_id` BIGINT DEFAULT NULL COMMENT '产品物料编号',
  `item_id` BIGINT DEFAULT NULL COMMENT 'BOM 物料编号',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '用料比例',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 工艺路线产品 BOM';

-- 6.48 MES 工艺路线产品表
CREATE TABLE `mes_pro_route_product` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `route_id` BIGINT DEFAULT NULL COMMENT '工艺路线编号',
  `item_id` BIGINT DEFAULT NULL COMMENT '产品物料编号',
  `quantity` INT DEFAULT NULL COMMENT '生产数量',
  `production_time` DECIMAL(24,6) DEFAULT NULL COMMENT '生产用时',
  `time_unit_type` VARCHAR(100) DEFAULT NULL COMMENT '时间单位',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 工艺路线产品';

-- 6.49 MES 生产任务表
CREATE TABLE `mes_pro_task` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '任务编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '任务名称',
  `work_order_id` BIGINT DEFAULT NULL COMMENT '生产工单编号',
  `workstation_id` BIGINT DEFAULT NULL COMMENT '工作站编号',
  `route_id` BIGINT DEFAULT NULL COMMENT '工艺路线编号',
  `process_id` BIGINT DEFAULT NULL COMMENT '工序编号',
  `item_id` BIGINT DEFAULT NULL COMMENT '产品物料编号',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '排产数量',
  `produced_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '已生产数量',
  `qualify_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '合格品数量',
  `unqualify_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '不良品数量',
  `changed_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '调整数量',
  `client_id` BIGINT DEFAULT NULL COMMENT '客户编号',
  `start_time` DATETIME DEFAULT NULL COMMENT '开始生产时间',
  `duration` INT DEFAULT NULL COMMENT '生产时长',
  `end_time` DATETIME DEFAULT NULL COMMENT '结束生产时间',
  `color_code` VARCHAR(100) DEFAULT NULL COMMENT '甘特图显示颜色',
  `finish_date` DATETIME DEFAULT NULL COMMENT '完成日期',
  `cancel_date` DATETIME DEFAULT NULL COMMENT '取消日期',
  `status` INT DEFAULT NULL COMMENT '任务状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产任务';

-- 6.50 MES 生产任务投料表
CREATE TABLE `mes_pro_task_issue` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `task_id` BIGINT DEFAULT NULL COMMENT '生产任务编号',
  `work_order_id` BIGINT DEFAULT NULL COMMENT '生产工单编号',
  `workstation_id` BIGINT DEFAULT NULL COMMENT '工作站编号',
  `source_doc_type` VARCHAR(100) DEFAULT NULL COMMENT '来源单据类型',
  `source_doc_id` BIGINT DEFAULT NULL COMMENT '来源单据编号',
  `source_line_id` BIGINT DEFAULT NULL COMMENT '来源单据行编号',
  `source_doc_code` VARCHAR(100) DEFAULT NULL COMMENT '来源单据编码',
  `batch_code` VARCHAR(100) DEFAULT NULL COMMENT '投料批次',
  `item_id` BIGINT DEFAULT NULL COMMENT '产品物料编号',
  `unit_measure_id` BIGINT DEFAULT NULL COMMENT '单位编号',
  `issued_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '总投料数量',
  `available_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '当前可用数量',
  `used_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '当前使用数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产任务投料';

-- 6.51 MES 生产工单表
CREATE TABLE `mes_pro_work_order` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '工单编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '工单名称',
  `type` INT DEFAULT NULL COMMENT '工单类型',
  `order_source_type` INT DEFAULT NULL COMMENT '来源类型',
  `order_source_code` VARCHAR(100) DEFAULT NULL COMMENT '来源单据编号',
  `product_id` BIGINT DEFAULT NULL COMMENT '产品编号',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '生产数量',
  `quantity_produced` DECIMAL(24,6) DEFAULT NULL COMMENT '已生产数量',
  `quantity_changed` DECIMAL(24,6) DEFAULT NULL COMMENT '调整数量',
  `quantity_scheduled` DECIMAL(24,6) DEFAULT NULL COMMENT '已排产数量',
  `client_id` BIGINT DEFAULT NULL COMMENT '客户编号',
  `vendor_id` BIGINT DEFAULT NULL COMMENT '供应商编号',
  `batch_code` VARCHAR(100) DEFAULT NULL COMMENT '批次号',
  `request_date` DATETIME DEFAULT NULL COMMENT '需求日期',
  `parent_id` BIGINT DEFAULT NULL COMMENT '父工单编号',
  `finish_date` DATETIME DEFAULT NULL COMMENT '完成时间',
  `cancel_date` DATETIME DEFAULT NULL COMMENT '取消时间',
  `status` INT DEFAULT NULL COMMENT '工单状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产工单';

-- 6.52 MES 生产工单 BOM 表
CREATE TABLE `mes_pro_work_order_bom` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `work_order_id` BIGINT DEFAULT NULL COMMENT '生产工单编号',
  `item_id` BIGINT DEFAULT NULL COMMENT 'BOM 物料编号',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '预计使用量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产工单 BOM';

-- 6.53 MES 用户工作站绑定关系表
CREATE TABLE `mes_pro_work_record` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `user_id` BIGINT DEFAULT NULL COMMENT '用户编号',
  `workstation_id` BIGINT DEFAULT NULL COMMENT '工作站编号',
  `type` INT DEFAULT NULL COMMENT '当前状态',
  `clock_in_time` DATETIME DEFAULT NULL COMMENT '上工时间',
  `clock_out_time` DATETIME DEFAULT NULL COMMENT '下工时间',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 用户工作站绑定关系';

-- 6.54 MES 上下工记录流水表
CREATE TABLE `mes_pro_work_record_log` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `user_id` BIGINT DEFAULT NULL COMMENT '用户编号',
  `workstation_id` BIGINT DEFAULT NULL COMMENT '工作站编号',
  `type` INT DEFAULT NULL COMMENT '操作类型',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 上下工记录流水';

-- 6.55 MES 生产报工表
CREATE TABLE `mes_pro_feedback` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '报工单编号',
  `type` INT DEFAULT NULL COMMENT '报工类型',
  `channel` VARCHAR(100) DEFAULT NULL COMMENT '报工途径',
  `feedback_time` DATETIME DEFAULT NULL COMMENT '报工时间',
  `workstation_id` BIGINT DEFAULT NULL COMMENT '工作站编号',
  `route_id` BIGINT DEFAULT NULL COMMENT '工艺路线编号',
  `process_id` BIGINT DEFAULT NULL COMMENT '工序编号',
  `work_order_id` BIGINT DEFAULT NULL COMMENT '生产工单编号',
  `task_id` BIGINT DEFAULT NULL COMMENT '生产任务编号',
  `item_id` BIGINT DEFAULT NULL COMMENT '产品物料编号',
  `expire_date` DATETIME DEFAULT NULL COMMENT '过期日期',
  `lot_number` VARCHAR(100) DEFAULT NULL COMMENT '生产批号',
  `scheduled_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '排产数量',
  `feedback_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '本次报工数量',
  `qualified_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '合格品数量',
  `unqualified_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '不良品数量',
  `uncheck_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '待检测数量',
  `labor_scrap_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '工废数量',
  `material_scrap_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '料废数量',
  `other_scrap_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '其他废品数量',
  `feedback_user_id` BIGINT DEFAULT NULL COMMENT '报工用户编号',
  `approve_user_id` BIGINT DEFAULT NULL COMMENT '审核用户编号',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产报工';


-- =====================================================
-- MES 质检模块 (qc)
-- =====================================================

-- 6.56 MES 缺陷类型表
CREATE TABLE `mes_qc_defect` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '缺陷编码',
  `name` VARCHAR(255) DEFAULT NULL COMMENT '缺陷描述',
  `type` INT DEFAULT NULL COMMENT '检测项类型',
  `level` INT DEFAULT NULL COMMENT '缺陷等级',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 缺陷类型';

-- 6.57 MES 质检缺陷记录表
CREATE TABLE `mes_qc_defect_record` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `qc_type` INT DEFAULT NULL COMMENT '检验类型',
  `qc_id` BIGINT DEFAULT NULL COMMENT '检验单编号',
  `line_id` BIGINT DEFAULT NULL COMMENT '检验行编号',
  `name` VARCHAR(255) DEFAULT NULL COMMENT '缺陷描述',
  `level` INT DEFAULT NULL COMMENT '缺陷等级',
  `quantity` INT DEFAULT NULL COMMENT '缺陷数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 质检缺陷记录';

-- 6.58 MES 质检指标表
CREATE TABLE `mes_qc_indicator` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '检测项编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '检测项名称',
  `type` INT DEFAULT NULL COMMENT '检测项类型',
  `tool` VARCHAR(255) DEFAULT NULL COMMENT '检测工具',
  `result_type` INT DEFAULT NULL COMMENT '结果值类型',
  `result_specification` VARCHAR(255) DEFAULT NULL COMMENT '结果值属性',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 质检指标';

-- 6.59 MES 检验结果记录表
CREATE TABLE `mes_qc_indicator_result` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '样品编号',
  `qc_id` BIGINT DEFAULT NULL COMMENT '关联质检单编号',
  `qc_type` INT DEFAULT NULL COMMENT '质检类型',
  `item_id` BIGINT DEFAULT NULL COMMENT '产品物料编号',
  `sn` VARCHAR(100) DEFAULT NULL COMMENT '物资 SN',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 检验结果记录';

-- 6.60 MES 检验结果明细记录表
CREATE TABLE `mes_qc_indicator_result_detail` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `result_id` BIGINT DEFAULT NULL COMMENT '关联检验结果编号',
  `indicator_id` BIGINT DEFAULT NULL COMMENT '检测指标编号',
  `value` VARCHAR(255) DEFAULT NULL COMMENT '检测值',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 检验结果明细记录';

-- 6.61 MES 过程检验单表
CREATE TABLE `mes_qc_ipqc` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '检验单编号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '检验单名称',
  `type` INT DEFAULT NULL COMMENT 'IPQC 检验类型',
  `template_id` BIGINT DEFAULT NULL COMMENT '检验模板编号',
  `source_doc_type` INT DEFAULT NULL COMMENT '来源单据类型',
  `source_doc_id` BIGINT DEFAULT NULL COMMENT '来源单据编号',
  `source_line_id` BIGINT DEFAULT NULL COMMENT '来源单据行编号',
  `source_doc_code` VARCHAR(100) DEFAULT NULL COMMENT '来源单据编号',
  `work_order_id` BIGINT DEFAULT NULL COMMENT '生产工单编号',
  `task_id` BIGINT DEFAULT NULL COMMENT '生产任务编号',
  `workstation_id` BIGINT DEFAULT NULL COMMENT '工位编号',
  `process_id` BIGINT DEFAULT NULL COMMENT '工序编号',
  `item_id` BIGINT DEFAULT NULL COMMENT '产品物料编号',
  `check_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '检测数量',
  `qualified_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '合格品数量',
  `unqualified_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '不合格品数量',
  `labor_scrap_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '工废数量',
  `material_scrap_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '料废数量',
  `other_scrap_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '其他废品数量',
  `critical_rate` DECIMAL(24,6) DEFAULT NULL COMMENT '致命缺陷率',
  `major_rate` DECIMAL(24,6) DEFAULT NULL COMMENT '严重缺陷率',
  `minor_rate` DECIMAL(24,6) DEFAULT NULL COMMENT '轻微缺陷率',
  `critical_quantity` INT DEFAULT NULL COMMENT '致命缺陷数量',
  `major_quantity` INT DEFAULT NULL COMMENT '严重缺陷数量',
  `minor_quantity` INT DEFAULT NULL COMMENT '轻微缺陷数量',
  `check_result` INT DEFAULT NULL COMMENT '检测结果',
  `inspect_date` DATETIME DEFAULT NULL COMMENT '检测日期',
  `inspector_user_id` BIGINT DEFAULT NULL COMMENT '检测人员用户编号',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 过程检验单';

-- 6.62 MES 过程检验单行表
CREATE TABLE `mes_qc_ipqc_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `ipqc_id` BIGINT DEFAULT NULL COMMENT '过程检验单编号',
  `indicator_id` BIGINT DEFAULT NULL COMMENT '检测指标编号',
  `tool` VARCHAR(255) DEFAULT NULL COMMENT '检测工具',
  `check_method` VARCHAR(255) DEFAULT NULL COMMENT '检测方法',
  `standard_value` DECIMAL(24,6) DEFAULT NULL COMMENT '标准值',
  `unit_measure_id` BIGINT DEFAULT NULL COMMENT '计量单位编号',
  `max_threshold` DECIMAL(24,6) DEFAULT NULL COMMENT '误差上限',
  `min_threshold` DECIMAL(24,6) DEFAULT NULL COMMENT '误差下限',
  `critical_quantity` INT DEFAULT NULL COMMENT '致命缺陷数量',
  `major_quantity` INT DEFAULT NULL COMMENT '严重缺陷数量',
  `minor_quantity` INT DEFAULT NULL COMMENT '轻微缺陷数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 过程检验单行';

-- 6.63 MES 来料检验单表
CREATE TABLE `mes_qc_iqc` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '检验单编号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '检验单名称',
  `template_id` BIGINT DEFAULT NULL COMMENT '检验模板编号',
  `source_doc_type` INT DEFAULT NULL COMMENT '来源单据类型',
  `source_doc_id` BIGINT DEFAULT NULL COMMENT '来源单据编号',
  `source_line_id` BIGINT DEFAULT NULL COMMENT '来源单据行编号',
  `source_doc_code` VARCHAR(100) DEFAULT NULL COMMENT '来源单据编号',
  `vendor_id` BIGINT DEFAULT NULL COMMENT '供应商编号',
  `vendor_batch` VARCHAR(100) DEFAULT NULL COMMENT '供应商批次号',
  `item_id` BIGINT DEFAULT NULL COMMENT '产品物料编号',
  `received_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '本次接收数量',
  `check_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '本次检测数量',
  `qualified_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '合格品数量',
  `unqualified_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '不合格品数量',
  `critical_rate` DECIMAL(24,6) DEFAULT NULL COMMENT '致命缺陷率',
  `major_rate` DECIMAL(24,6) DEFAULT NULL COMMENT '严重缺陷率',
  `minor_rate` DECIMAL(24,6) DEFAULT NULL COMMENT '轻微缺陷率',
  `critical_quantity` INT DEFAULT NULL COMMENT '致命缺陷数量',
  `major_quantity` INT DEFAULT NULL COMMENT '严重缺陷数量',
  `minor_quantity` INT DEFAULT NULL COMMENT '轻微缺陷数量',
  `check_result` INT DEFAULT NULL COMMENT '检测结果',
  `receive_date` DATETIME DEFAULT NULL COMMENT '来料日期',
  `inspect_date` DATETIME DEFAULT NULL COMMENT '检测日期',
  `inspector_user_id` BIGINT DEFAULT NULL COMMENT '检测人员用户编号',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 来料检验单';

-- 6.64 MES 来料检验单行表
CREATE TABLE `mes_qc_iqc_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `iqc_id` BIGINT DEFAULT NULL COMMENT '来料检验单编号',
  `indicator_id` BIGINT DEFAULT NULL COMMENT '检测指标编号',
  `tool` VARCHAR(255) DEFAULT NULL COMMENT '检测工具',
  `check_method` VARCHAR(255) DEFAULT NULL COMMENT '检测方法',
  `standard_value` DECIMAL(24,6) DEFAULT NULL COMMENT '标准值',
  `unit_measure_id` BIGINT DEFAULT NULL COMMENT '计量单位编号',
  `max_threshold` DECIMAL(24,6) DEFAULT NULL COMMENT '误差上限',
  `min_threshold` DECIMAL(24,6) DEFAULT NULL COMMENT '误差下限',
  `critical_quantity` INT DEFAULT NULL COMMENT '致命缺陷数量',
  `major_quantity` INT DEFAULT NULL COMMENT '严重缺陷数量',
  `minor_quantity` INT DEFAULT NULL COMMENT '轻微缺陷数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 来料检验单行';

-- 6.65 MES 出货检验单表
CREATE TABLE `mes_qc_oqc` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '检验单编号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '检验单名称',
  `template_id` BIGINT DEFAULT NULL COMMENT '检验模板编号',
  `source_doc_type` INT DEFAULT NULL COMMENT '来源单据类型',
  `source_doc_id` BIGINT DEFAULT NULL COMMENT '来源单据编号',
  `source_line_id` BIGINT DEFAULT NULL COMMENT '来源单据行编号',
  `source_doc_code` VARCHAR(100) DEFAULT NULL COMMENT '来源单据编号',
  `client_id` BIGINT DEFAULT NULL COMMENT '客户编号',
  `batch_code` VARCHAR(100) DEFAULT NULL COMMENT '批次号',
  `item_id` BIGINT DEFAULT NULL COMMENT '产品物料编号',
  `min_check_quantity` INT DEFAULT NULL COMMENT '最低检测数',
  `max_unqualified_quantity` INT DEFAULT NULL COMMENT '最大不合格数',
  `out_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '本次出货数量',
  `check_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '本次检测数量',
  `qualified_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '合格品数量',
  `unqualified_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '不合格品数量',
  `critical_rate` DECIMAL(24,6) DEFAULT NULL COMMENT '致命缺陷率',
  `major_rate` DECIMAL(24,6) DEFAULT NULL COMMENT '严重缺陷率',
  `minor_rate` DECIMAL(24,6) DEFAULT NULL COMMENT '轻微缺陷率',
  `critical_quantity` INT DEFAULT NULL COMMENT '致命缺陷数量',
  `major_quantity` INT DEFAULT NULL COMMENT '严重缺陷数量',
  `minor_quantity` INT DEFAULT NULL COMMENT '轻微缺陷数量',
  `check_result` INT DEFAULT NULL COMMENT '检测结果',
  `out_date` DATETIME DEFAULT NULL COMMENT '出货日期',
  `inspect_date` DATETIME DEFAULT NULL COMMENT '检测日期',
  `inspector_user_id` BIGINT DEFAULT NULL COMMENT '检测人员用户编号',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 出货检验单';

-- 6.66 MES 出货检验单行表
CREATE TABLE `mes_qc_oqc_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `oqc_id` BIGINT DEFAULT NULL COMMENT '出货检验单编号',
  `indicator_id` BIGINT DEFAULT NULL COMMENT '检测指标编号',
  `tool` VARCHAR(255) DEFAULT NULL COMMENT '检测工具',
  `check_method` VARCHAR(255) DEFAULT NULL COMMENT '检测方法',
  `standard_value` DECIMAL(24,6) DEFAULT NULL COMMENT '标准值',
  `unit_measure_id` BIGINT DEFAULT NULL COMMENT '计量单位编号',
  `max_threshold` DECIMAL(24,6) DEFAULT NULL COMMENT '误差上限',
  `min_threshold` DECIMAL(24,6) DEFAULT NULL COMMENT '误差下限',
  `critical_quantity` INT DEFAULT NULL COMMENT '致命缺陷数量',
  `major_quantity` INT DEFAULT NULL COMMENT '严重缺陷数量',
  `minor_quantity` INT DEFAULT NULL COMMENT '轻微缺陷数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 出货检验单行';

-- 6.67 MES 退货检验单表
CREATE TABLE `mes_qc_rqc` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '检验单编号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '检验单名称',
  `template_id` BIGINT DEFAULT NULL COMMENT '检验模板编号',
  `source_doc_type` INT DEFAULT NULL COMMENT '来源单据类型',
  `source_doc_id` BIGINT DEFAULT NULL COMMENT '来源单据编号',
  `source_line_id` BIGINT DEFAULT NULL COMMENT '来源单据行编号',
  `source_doc_code` VARCHAR(100) DEFAULT NULL COMMENT '来源单据编号',
  `type` INT DEFAULT NULL COMMENT '检验类型',
  `item_id` BIGINT DEFAULT NULL COMMENT '产品物料编号',
  `batch_code` VARCHAR(100) DEFAULT NULL COMMENT '批次号',
  `check_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '检测数量',
  `qualified_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '合格品数量',
  `unqualified_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '不合格数量',
  `critical_rate` DECIMAL(24,6) DEFAULT NULL COMMENT '致命缺陷率',
  `major_rate` DECIMAL(24,6) DEFAULT NULL COMMENT '严重缺陷率',
  `minor_rate` DECIMAL(24,6) DEFAULT NULL COMMENT '轻微缺陷率',
  `critical_quantity` INT DEFAULT NULL COMMENT '致命缺陷数量',
  `major_quantity` INT DEFAULT NULL COMMENT '严重缺陷数量',
  `minor_quantity` INT DEFAULT NULL COMMENT '轻微缺陷数量',
  `check_result` INT DEFAULT NULL COMMENT '检测结果',
  `inspect_date` DATETIME DEFAULT NULL COMMENT '检测日期',
  `inspector_user_id` BIGINT DEFAULT NULL COMMENT '检测人员用户编号',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 退货检验单';

-- 6.68 MES 退货检验行表
CREATE TABLE `mes_qc_rqc_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `rqc_id` BIGINT DEFAULT NULL COMMENT '退货检验单编号',
  `indicator_id` BIGINT DEFAULT NULL COMMENT '检测指标编号',
  `tool` VARCHAR(255) DEFAULT NULL COMMENT '检测工具',
  `check_method` VARCHAR(255) DEFAULT NULL COMMENT '检测方法',
  `standard_value` DECIMAL(24,6) DEFAULT NULL COMMENT '标准值',
  `unit_measure_id` BIGINT DEFAULT NULL COMMENT '计量单位编号',
  `max_threshold` DECIMAL(24,6) DEFAULT NULL COMMENT '误差上限',
  `min_threshold` DECIMAL(24,6) DEFAULT NULL COMMENT '误差下限',
  `critical_quantity` INT DEFAULT NULL COMMENT '致命缺陷数量',
  `major_quantity` INT DEFAULT NULL COMMENT '严重缺陷数量',
  `minor_quantity` INT DEFAULT NULL COMMENT '轻微缺陷数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 退货检验行';

-- 6.69 MES 质检方案表
CREATE TABLE `mes_qc_template` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '方案编号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '方案名称',
  `types` VARCHAR(255) DEFAULT NULL COMMENT '检测种类',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 质检方案';

-- 6.70 MES 质检方案检测指标项表
CREATE TABLE `mes_qc_template_indicator` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `template_id` BIGINT DEFAULT NULL COMMENT '质检方案编号',
  `indicator_id` BIGINT DEFAULT NULL COMMENT '质检指标编号',
  `check_method` VARCHAR(255) DEFAULT NULL COMMENT '检测方法',
  `standard_value` DECIMAL(24,6) DEFAULT NULL COMMENT '标准值',
  `unit_measure_id` BIGINT DEFAULT NULL COMMENT '计量单位编号',
  `threshold_max` DECIMAL(24,6) DEFAULT NULL COMMENT '误差上限',
  `threshold_min` DECIMAL(24,6) DEFAULT NULL COMMENT '误差下限',
  `doc_url` VARCHAR(255) DEFAULT NULL COMMENT '说明图 URL',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 质检方案检测指标项';

-- 6.71 MES 质检方案产品关联表
CREATE TABLE `mes_qc_template_item` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `template_id` BIGINT DEFAULT NULL COMMENT '质检方案编号',
  `item_id` BIGINT DEFAULT NULL COMMENT '产品物料编号',
  `quantity_check` INT DEFAULT NULL COMMENT '最低检测数',
  `quantity_unqualified` INT DEFAULT NULL COMMENT '最大不合格数',
  `critical_rate` DECIMAL(24,6) DEFAULT NULL COMMENT '最大致命缺陷率',
  `major_rate` DECIMAL(24,6) DEFAULT NULL COMMENT '最大严重缺陷率',
  `minor_rate` DECIMAL(24,6) DEFAULT NULL COMMENT '最大轻微缺陷率',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 质检方案产品关联';


-- =====================================================
-- 第七部分: yudao-module-wms 仓库管理系统模块 (16 张表)
-- =====================================================

-- 7.1 WMS 库存表
CREATE TABLE `wms_inventory` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `sku_id` BIGINT DEFAULT NULL COMMENT '商品 SKU 编号',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库编号',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '库存数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='WMS 库存';

-- 7.2 WMS 库存流水表
CREATE TABLE `wms_inventory_history` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库编号',
  `sku_id` BIGINT DEFAULT NULL COMMENT '商品 SKU 编号',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '库存变化数量',
  `before_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '变化前库存数量',
  `after_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '变化后库存数量',
  `price` DECIMAL(24,6) DEFAULT NULL COMMENT '单价',
  `total_price` DECIMAL(24,6) DEFAULT NULL COMMENT '库存变化金额',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `order_id` BIGINT DEFAULT NULL COMMENT '单据编号',
  `order_no` VARCHAR(100) DEFAULT NULL COMMENT '单据号',
  `order_type` INT DEFAULT NULL COMMENT '单据类型',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='WMS 库存流水';

-- 7.3 WMS 商品品牌表
CREATE TABLE `wms_item_brand` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '品牌编号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '品牌名称',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='WMS 商品品牌';

-- 7.4 WMS 商品分类表
CREATE TABLE `wms_item_category` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `parent_id` BIGINT DEFAULT NULL COMMENT '父级编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '分类编号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '分类名称',
  `sort` INT DEFAULT NULL COMMENT '排序',
  `status` INT DEFAULT NULL COMMENT '状态',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='WMS 商品分类';

-- 7.5 WMS 商品表
CREATE TABLE `wms_item` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '商品编号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '商品名称',
  `unit` VARCHAR(100) DEFAULT NULL COMMENT '单位',
  `category_id` BIGINT DEFAULT NULL COMMENT '商品分类编号',
  `brand_id` BIGINT DEFAULT NULL COMMENT '商品品牌编号',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='WMS 商品';

-- 7.6 WMS 商品 SKU 表
CREATE TABLE `wms_item_sku` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '规格名称',
  `item_id` BIGINT DEFAULT NULL COMMENT '商品编号',
  `bar_code` VARCHAR(100) DEFAULT NULL COMMENT '条码',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '规格编号',
  `length` DECIMAL(24,6) DEFAULT NULL COMMENT '长，单位 cm',
  `width` DECIMAL(24,6) DEFAULT NULL COMMENT '宽，单位 cm',
  `height` DECIMAL(24,6) DEFAULT NULL COMMENT '高，单位 cm',
  `gross_weight` DECIMAL(24,6) DEFAULT NULL COMMENT '毛重，单位 kg',
  `net_weight` DECIMAL(24,6) DEFAULT NULL COMMENT '净重，单位 kg',
  `cost_price` DECIMAL(24,6) DEFAULT NULL COMMENT '成本价，单位元',
  `selling_price` DECIMAL(24,6) DEFAULT NULL COMMENT '销售价，单位元',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='WMS 商品 SKU';

-- 7.7 WMS 往来企业表
CREATE TABLE `wms_merchant` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '往来企业编号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '往来企业名称',
  `type` INT DEFAULT NULL COMMENT '往来企业类型',
  `level` VARCHAR(100) DEFAULT NULL COMMENT '级别',
  `bank_name` VARCHAR(100) DEFAULT NULL COMMENT '开户行',
  `bank_account` VARCHAR(100) DEFAULT NULL COMMENT '银行账户',
  `address` VARCHAR(255) DEFAULT NULL COMMENT '地址',
  `mobile` VARCHAR(100) DEFAULT NULL COMMENT '手机号',
  `telephone` VARCHAR(100) DEFAULT NULL COMMENT '座机号',
  `contact` VARCHAR(100) DEFAULT NULL COMMENT '联系人',
  `email` VARCHAR(100) DEFAULT NULL COMMENT 'Email',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='WMS 往来企业';

-- 7.8 WMS 仓库表
CREATE TABLE `wms_warehouse` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '仓库编号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '名称',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `sort` INT DEFAULT NULL COMMENT '排序',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='WMS 仓库';

-- 7.9 WMS 盘库单表
CREATE TABLE `wms_check_order` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `no` VARCHAR(100) DEFAULT NULL COMMENT '盘库单号',
  `order_time` DATETIME DEFAULT NULL COMMENT '单据日期',
  `status` INT DEFAULT NULL COMMENT '盘库状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库编号',
  `total_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '盈亏数量',
  `total_price` DECIMAL(24,6) DEFAULT NULL COMMENT '总金额',
  `actual_price` DECIMAL(24,6) DEFAULT NULL COMMENT '实际金额',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='WMS 盘库单';

-- 7.10 WMS 盘库单明细表
CREATE TABLE `wms_check_order_detail` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `order_id` BIGINT DEFAULT NULL COMMENT '盘库单编号',
  `sku_id` BIGINT DEFAULT NULL COMMENT '商品 SKU 编号',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库编号',
  `inventory_id` BIGINT DEFAULT NULL COMMENT '库存编号',
  `receipt_time` DATETIME DEFAULT NULL COMMENT '入库时间',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '账面数量',
  `check_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '实盘数量',
  `price` DECIMAL(24,6) DEFAULT NULL COMMENT '单价',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='WMS 盘库单明细';

-- 7.11 WMS 移库单表
CREATE TABLE `wms_movement_order` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `no` VARCHAR(100) DEFAULT NULL COMMENT '移库单号',
  `order_time` DATETIME DEFAULT NULL COMMENT '单据日期',
  `status` INT DEFAULT NULL COMMENT '移库状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `source_warehouse_id` BIGINT DEFAULT NULL COMMENT '来源仓库编号',
  `target_warehouse_id` BIGINT DEFAULT NULL COMMENT '目标仓库编号',
  `total_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '总数量',
  `total_price` DECIMAL(24,6) DEFAULT NULL COMMENT '总金额',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='WMS 移库单';

-- 7.12 WMS 移库单明细表
CREATE TABLE `wms_movement_order_detail` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `order_id` BIGINT DEFAULT NULL COMMENT '移库单编号',
  `sku_id` BIGINT DEFAULT NULL COMMENT '商品 SKU 编号',
  `source_warehouse_id` BIGINT DEFAULT NULL COMMENT '来源仓库编号',
  `target_warehouse_id` BIGINT DEFAULT NULL COMMENT '目标仓库编号',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '移库数量',
  `price` DECIMAL(24,6) DEFAULT NULL COMMENT '单价',
  `total_price` DECIMAL(24,6) DEFAULT NULL COMMENT '行金额',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='WMS 移库单明细';

-- 7.13 WMS 入库单表
CREATE TABLE `wms_receipt_order` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `no` VARCHAR(100) DEFAULT NULL COMMENT '入库单号',
  `type` INT DEFAULT NULL COMMENT '入库类型',
  `order_time` DATETIME DEFAULT NULL COMMENT '单据日期',
  `status` INT DEFAULT NULL COMMENT '入库状态',
  `biz_order_no` VARCHAR(100) DEFAULT NULL COMMENT '业务订单号',
  `merchant_id` BIGINT DEFAULT NULL COMMENT '供应商编号',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库编号',
  `total_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '总数量',
  `total_price` DECIMAL(24,6) DEFAULT NULL COMMENT '总金额',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='WMS 入库单';

-- 7.14 WMS 入库单明细表
CREATE TABLE `wms_receipt_order_detail` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `order_id` BIGINT DEFAULT NULL COMMENT '入库单编号',
  `sku_id` BIGINT DEFAULT NULL COMMENT '商品 SKU 编号',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库编号',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '入库数量',
  `price` DECIMAL(24,6) DEFAULT NULL COMMENT '单价',
  `total_price` DECIMAL(24,6) DEFAULT NULL COMMENT '行金额',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='WMS 入库单明细';

-- 7.15 WMS 出库单表
CREATE TABLE `wms_shipment_order` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `no` VARCHAR(100) DEFAULT NULL COMMENT '出库单号',
  `type` INT DEFAULT NULL COMMENT '出库类型',
  `order_time` DATETIME DEFAULT NULL COMMENT '单据日期',
  `status` INT DEFAULT NULL COMMENT '出库状态',
  `biz_order_no` VARCHAR(100) DEFAULT NULL COMMENT '业务订单号',
  `merchant_id` BIGINT DEFAULT NULL COMMENT '客户编号',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库编号',
  `total_quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '总数量',
  `total_price` DECIMAL(24,6) DEFAULT NULL COMMENT '总金额',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='WMS 出库单';

-- 7.16 WMS 出库单明细表
CREATE TABLE `wms_shipment_order_detail` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `order_id` BIGINT DEFAULT NULL COMMENT '出库单编号',
  `sku_id` BIGINT DEFAULT NULL COMMENT '商品 SKU 编号',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库编号',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '出库数量',
  `price` DECIMAL(24,6) DEFAULT NULL COMMENT '单价',
  `total_price` DECIMAL(24,6) DEFAULT NULL COMMENT '行金额',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='WMS 出库单明细';


-- =====================================================
-- MES 仓库条码管理表（补充）
-- =====================================================

-- MES 条码配置表
CREATE TABLE `mes_wm_barcode_config` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `format` INT DEFAULT NULL COMMENT '条码格式',
  `biz_type` INT DEFAULT NULL COMMENT '业务类型',
  `content_format` VARCHAR(255) DEFAULT NULL COMMENT '内容格式模板',
  `content_example` VARCHAR(255) DEFAULT NULL COMMENT '内容样例',
  `auto_generate_flag` BIT(1) DEFAULT b'0' COMMENT '是否自动生成',
  `default_template` VARCHAR(500) DEFAULT NULL COMMENT '默认打印模板',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 条码配置';

-- MES 条码清单表
CREATE TABLE `mes_wm_barcode` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `config_id` BIGINT DEFAULT NULL COMMENT '条码配置编号',
  `format` INT DEFAULT NULL COMMENT '条码格式',
  `biz_type` INT DEFAULT NULL COMMENT '业务类型',
  `content` VARCHAR(255) DEFAULT NULL COMMENT '条码内容',
  `biz_id` BIGINT DEFAULT NULL COMMENT '业务编号',
  `biz_code` VARCHAR(100) DEFAULT NULL COMMENT '业务编码',
  `biz_name` VARCHAR(100) DEFAULT NULL COMMENT '业务名称',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 条码清单';

-- =====================================================
-- 6.73 MES 仓库基础设置
-- =====================================================

-- MES 仓库表
CREATE TABLE `mes_wm_warehouse` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '仓库编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '仓库名称',
  `address` VARCHAR(255) DEFAULT NULL COMMENT '仓库地址',
  `area` DECIMAL(24,6) DEFAULT NULL COMMENT '面积',
  `charge_user_id` BIGINT DEFAULT NULL COMMENT '负责人用户编号',
  `frozen` BIT(1) DEFAULT b'0' COMMENT '是否冻结',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 仓库';

-- MES 库区表
CREATE TABLE `mes_wm_warehouse_location` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '库区编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '库区名称',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库编号',
  `area` DECIMAL(24,6) DEFAULT NULL COMMENT '面积',
  `frozen` BIT(1) DEFAULT b'0' COMMENT '是否冻结',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 库区';

-- MES 库位表
CREATE TABLE `mes_wm_warehouse_area` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '库位编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '库位名称',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区编号',
  `area` DECIMAL(24,6) DEFAULT NULL COMMENT '面积',
  `max_load` DECIMAL(24,6) DEFAULT NULL COMMENT '最大载重',
  `position_x` INT DEFAULT NULL COMMENT '位置 X',
  `position_y` INT DEFAULT NULL COMMENT '位置 Y',
  `position_z` INT DEFAULT NULL COMMENT '位置 Z',
  `status` INT DEFAULT NULL COMMENT '状态',
  `frozen` BIT(1) DEFAULT b'0' COMMENT '是否冻结',
  `allow_item_mixing` BIT(1) DEFAULT b'0' COMMENT '是否允许物料混放',
  `allow_batch_mixing` BIT(1) DEFAULT b'0' COMMENT '是否允许批次混放',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 库位';

-- =====================================================
-- 6.74 MES 库存管理
-- =====================================================

-- MES 库存记录表
CREATE TABLE `mes_wm_material_stock` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次 ID',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库 ID',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区 ID',
  `area_id` BIGINT DEFAULT NULL COMMENT '库位 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '库存数量',
  `erp_time` DATETIME DEFAULT NULL COMMENT 'ERP 账期',
  `receipt_time` DATETIME DEFAULT NULL COMMENT '入库时间',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 库存记录';

-- MES 库存事务流水表
CREATE TABLE `mes_wm_transaction` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `type` INT DEFAULT NULL COMMENT '事务类型',
  `biz_type` INT DEFAULT NULL COMMENT '业务类型',
  `biz_id` BIGINT DEFAULT NULL COMMENT '来源业务主单 ID',
  `biz_code` VARCHAR(100) DEFAULT NULL COMMENT '来源业务单号',
  `biz_line_id` BIGINT DEFAULT NULL COMMENT '来源业务行 ID',
  `material_stock_id` BIGINT DEFAULT NULL COMMENT '库存记录 ID',
  `related_transaction_id` BIGINT DEFAULT NULL COMMENT '关联的事务 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '本次变动数量',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次 ID',
  `batch_code` VARCHAR(100) DEFAULT NULL COMMENT '批次号',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库 ID',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区 ID',
  `area_id` BIGINT DEFAULT NULL COMMENT '库位 ID',
  `transaction_time` DATETIME DEFAULT NULL COMMENT '事务发生时间',
  `erp_time` DATETIME DEFAULT NULL COMMENT 'ERP 账期',
  `receipt_time` DATETIME DEFAULT NULL COMMENT '入库时间',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 库存事务流水';

-- MES 批次表
CREATE TABLE `mes_wm_batch` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '批次号',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `produce_date` DATETIME DEFAULT NULL COMMENT '生产日期',
  `expire_date` DATETIME DEFAULT NULL COMMENT '失效日期',
  `vendor_id` BIGINT DEFAULT NULL COMMENT '供应商 ID',
  `vendor_code` VARCHAR(100) DEFAULT NULL COMMENT '供应商编码',
  `vendor_name` VARCHAR(100) DEFAULT NULL COMMENT '供应商名称',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 批次';

-- MES 序列号表
CREATE TABLE `mes_wm_sn` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '序列号',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次 ID',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 序列号';

-- =====================================================
-- 6.75 MES 包装管理
-- =====================================================

-- MES 包装单表
CREATE TABLE `mes_wm_package` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '包装单编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '包装单名称',
  `barcode_id` BIGINT DEFAULT NULL COMMENT '条码 ID',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 包装单';

-- MES 包装单行表
CREATE TABLE `mes_wm_package_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `package_id` BIGINT DEFAULT NULL COMMENT '包装单 ID',
  `material_stock_id` BIGINT DEFAULT NULL COMMENT '库存 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次 ID',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 包装单行';

-- =====================================================
-- 6.76 MES 到货通知单
-- =====================================================

-- MES 到货通知单
CREATE TABLE `mes_wm_arrival_notice` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '单号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '名称',
  `vendor_id` BIGINT DEFAULT NULL COMMENT '供应商 ID',
  `arrival_date` DATETIME DEFAULT NULL COMMENT '预计到货日期',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 到货通知单';

-- MES 到货通知单行
CREATE TABLE `mes_wm_arrival_notice_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `notice_id` BIGINT DEFAULT NULL COMMENT '到货通知单 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 到货通知单行';

-- =====================================================
-- 6.77 MES 销售发货通知单
-- =====================================================

-- MES 销售发货通知单
CREATE TABLE `mes_wm_sales_notice` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '单号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '名称',
  `client_id` BIGINT DEFAULT NULL COMMENT '客户 ID',
  `delivery_date` DATETIME DEFAULT NULL COMMENT '预计发货日期',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 销售发货通知单';

-- MES 销售发货通知单行
CREATE TABLE `mes_wm_sales_notice_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `notice_id` BIGINT DEFAULT NULL COMMENT '销售发货通知单 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 销售发货通知单行';

-- =====================================================
-- 6.78 MES 转移单
-- =====================================================

-- MES 转移单
CREATE TABLE `mes_wm_transfer` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '转移单编号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '转移单名称',
  `type` INT DEFAULT NULL COMMENT '转移单类型',
  `delivery_flag` BIT(1) DEFAULT b'0' COMMENT '是否配送',
  `recipient_name` VARCHAR(100) DEFAULT NULL COMMENT '收货人',
  `recipient_telephone` VARCHAR(100) DEFAULT NULL COMMENT '联系方式',
  `destination_address` VARCHAR(255) DEFAULT NULL COMMENT '目的地',
  `carrier` VARCHAR(100) DEFAULT NULL COMMENT '承运商',
  `shipping_number` VARCHAR(100) DEFAULT NULL COMMENT '运输单号',
  `confirm_flag` BIT(1) DEFAULT b'0' COMMENT '是否已确认',
  `transfer_date` DATETIME DEFAULT NULL COMMENT '转移日期',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 转移单';

-- MES 转移单行
CREATE TABLE `mes_wm_transfer_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `transfer_id` BIGINT DEFAULT NULL COMMENT '转移单编号',
  `material_stock_id` BIGINT DEFAULT NULL COMMENT '库存记录编号',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料编号',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '转移数量',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次编号',
  `from_warehouse_id` BIGINT DEFAULT NULL COMMENT '移出仓库编号',
  `from_location_id` BIGINT DEFAULT NULL COMMENT '移出库区编号',
  `from_area_id` BIGINT DEFAULT NULL COMMENT '移出库位编号',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 转移单行';

-- MES 转移单明细
CREATE TABLE `mes_wm_transfer_detail` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `line_id` BIGINT DEFAULT NULL COMMENT '转移单行编号',
  `transfer_id` BIGINT DEFAULT NULL COMMENT '转移单编号',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料编号',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '上架数量',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次编号',
  `to_warehouse_id` BIGINT DEFAULT NULL COMMENT '移入仓库编号',
  `to_location_id` BIGINT DEFAULT NULL COMMENT '移入库区编号',
  `to_area_id` BIGINT DEFAULT NULL COMMENT '移入库位编号',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 转移单明细';

-- =====================================================
-- 6.79 MES 物料消耗单
-- =====================================================

-- MES 物料消耗单
CREATE TABLE `mes_wm_item_consume` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '单号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '名称',
  `work_order_id` BIGINT DEFAULT NULL COMMENT '生产工单 ID',
  `return_date` DATETIME DEFAULT NULL COMMENT '消耗日期',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 物料消耗单';

-- MES 物料消耗单行
CREATE TABLE `mes_wm_item_consume_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `consume_id` BIGINT DEFAULT NULL COMMENT '消耗单 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 物料消耗单行';

-- MES 物料消耗单明细
CREATE TABLE `mes_wm_item_consume_detail` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `line_id` BIGINT DEFAULT NULL COMMENT '行 ID',
  `consume_id` BIGINT DEFAULT NULL COMMENT '消耗单 ID',
  `material_stock_id` BIGINT DEFAULT NULL COMMENT '库存 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次 ID',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库 ID',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区 ID',
  `area_id` BIGINT DEFAULT NULL COMMENT '库位 ID',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 物料消耗单明细';

-- =====================================================
-- 6.80 MES 物料退库单
-- =====================================================

-- MES 物料退库单
CREATE TABLE `mes_wm_item_receipt` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '单号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '名称',
  `work_order_id` BIGINT DEFAULT NULL COMMENT '生产工单 ID',
  `receipt_date` DATETIME DEFAULT NULL COMMENT '退库日期',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 物料退库单';

-- MES 物料退库单行
CREATE TABLE `mes_wm_item_receipt_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `receipt_id` BIGINT DEFAULT NULL COMMENT '退库单 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 物料退库单行';

-- MES 物料退库单明细
CREATE TABLE `mes_wm_item_receipt_detail` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `line_id` BIGINT DEFAULT NULL COMMENT '行 ID',
  `receipt_id` BIGINT DEFAULT NULL COMMENT '退库单 ID',
  `material_stock_id` BIGINT DEFAULT NULL COMMENT '库存 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次 ID',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库 ID',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区 ID',
  `area_id` BIGINT DEFAULT NULL COMMENT '库位 ID',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 物料退库单明细';

-- =====================================================
-- 6.81 MES 生产领料单
-- =====================================================

-- MES 生产领料单
CREATE TABLE `mes_wm_product_issue` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '单号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '名称',
  `work_order_id` BIGINT DEFAULT NULL COMMENT '生产工单 ID',
  `issue_date` DATETIME DEFAULT NULL COMMENT '领料日期',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产领料单';

-- MES 生产领料单行
CREATE TABLE `mes_wm_product_issue_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `issue_id` BIGINT DEFAULT NULL COMMENT '领料单 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产领料单行';

-- MES 生产领料单明细
CREATE TABLE `mes_wm_product_issue_detail` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `line_id` BIGINT DEFAULT NULL COMMENT '行 ID',
  `issue_id` BIGINT DEFAULT NULL COMMENT '领料单 ID',
  `material_stock_id` BIGINT DEFAULT NULL COMMENT '库存 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次 ID',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库 ID',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区 ID',
  `area_id` BIGINT DEFAULT NULL COMMENT '库位 ID',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产领料单明细';

-- =====================================================
-- 6.82 MES 生产入库单
-- =====================================================

-- MES 生产入库单
CREATE TABLE `mes_wm_product_produce` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '单号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '名称',
  `work_order_id` BIGINT DEFAULT NULL COMMENT '生产工单 ID',
  `produce_date` DATETIME DEFAULT NULL COMMENT '入库日期',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产入库单';

-- MES 生产入库单行
CREATE TABLE `mes_wm_product_produce_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `produce_id` BIGINT DEFAULT NULL COMMENT '入库单 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产入库单行';

-- MES 生产入库单明细
CREATE TABLE `mes_wm_product_produce_detail` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `line_id` BIGINT DEFAULT NULL COMMENT '行 ID',
  `produce_id` BIGINT DEFAULT NULL COMMENT '入库单 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次 ID',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库 ID',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区 ID',
  `area_id` BIGINT DEFAULT NULL COMMENT '库位 ID',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产入库单明细';

-- =====================================================
-- 6.83 MES 生产退料单
-- =====================================================

-- MES 生产退料单
CREATE TABLE `mes_wm_product_receipt` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '单号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '名称',
  `work_order_id` BIGINT DEFAULT NULL COMMENT '生产工单 ID',
  `receipt_date` DATETIME DEFAULT NULL COMMENT '退料日期',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产退料单';

-- MES 生产退料单行
CREATE TABLE `mes_wm_product_receipt_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `receipt_id` BIGINT DEFAULT NULL COMMENT '退料单 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产退料单行';

-- MES 生产退料单明细
CREATE TABLE `mes_wm_product_receipt_detail` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `line_id` BIGINT DEFAULT NULL COMMENT '行 ID',
  `receipt_id` BIGINT DEFAULT NULL COMMENT '退料单 ID',
  `material_stock_id` BIGINT DEFAULT NULL COMMENT '库存 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次 ID',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库 ID',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区 ID',
  `area_id` BIGINT DEFAULT NULL COMMENT '库位 ID',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产退料单明细';

-- =====================================================
-- 6.84 MES 销售出库单
-- =====================================================

-- MES 销售出库单
CREATE TABLE `mes_wm_product_sales` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '单号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '名称',
  `client_id` BIGINT DEFAULT NULL COMMENT '客户 ID',
  `sales_date` DATETIME DEFAULT NULL COMMENT '出库日期',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 销售出库单';

-- MES 销售出库单行
CREATE TABLE `mes_wm_product_sales_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `sales_id` BIGINT DEFAULT NULL COMMENT '出库单 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 销售出库单行';

-- MES 销售出库单明细
CREATE TABLE `mes_wm_product_sales_detail` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `line_id` BIGINT DEFAULT NULL COMMENT '行 ID',
  `sales_id` BIGINT DEFAULT NULL COMMENT '出库单 ID',
  `material_stock_id` BIGINT DEFAULT NULL COMMENT '库存 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次 ID',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库 ID',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区 ID',
  `area_id` BIGINT DEFAULT NULL COMMENT '库位 ID',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 销售出库单明细';

-- =====================================================
-- 6.85 MES 销售退货单
-- =====================================================

-- MES 销售退货单
CREATE TABLE `mes_wm_return_sales` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '单号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '名称',
  `client_id` BIGINT DEFAULT NULL COMMENT '客户 ID',
  `return_date` DATETIME DEFAULT NULL COMMENT '退货日期',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 销售退货单';

-- MES 销售退货单行
CREATE TABLE `mes_wm_return_sales_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `return_id` BIGINT DEFAULT NULL COMMENT '退货单 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 销售退货单行';

-- MES 销售退货单明细
CREATE TABLE `mes_wm_return_sales_detail` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `line_id` BIGINT DEFAULT NULL COMMENT '行 ID',
  `return_id` BIGINT DEFAULT NULL COMMENT '退货单 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次 ID',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库 ID',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区 ID',
  `area_id` BIGINT DEFAULT NULL COMMENT '库位 ID',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 销售退货单明细';

-- =====================================================
-- 6.86 MES 采购退货单
-- =====================================================

-- MES 采购退货单
CREATE TABLE `mes_wm_return_vendor` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '单号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '名称',
  `vendor_id` BIGINT DEFAULT NULL COMMENT '供应商 ID',
  `return_date` DATETIME DEFAULT NULL COMMENT '退货日期',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 采购退货单';

-- MES 采购退货单行
CREATE TABLE `mes_wm_return_vendor_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `return_id` BIGINT DEFAULT NULL COMMENT '退货单 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 采购退货单行';

-- MES 采购退货单明细
CREATE TABLE `mes_wm_return_vendor_detail` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `line_id` BIGINT DEFAULT NULL COMMENT '行 ID',
  `return_id` BIGINT DEFAULT NULL COMMENT '退货单 ID',
  `material_stock_id` BIGINT DEFAULT NULL COMMENT '库存 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次 ID',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库 ID',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区 ID',
  `area_id` BIGINT DEFAULT NULL COMMENT '库位 ID',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 采购退货单明细';

-- =====================================================
-- 6.87 MES 生产退料单（发料）
-- =====================================================

-- MES 生产退料单（发料）
CREATE TABLE `mes_wm_return_issue` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '单号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '名称',
  `work_order_id` BIGINT DEFAULT NULL COMMENT '生产工单 ID',
  `issue_date` DATETIME DEFAULT NULL COMMENT '退料日期',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产退料单（发料）';

-- MES 生产退料单行（发料）
CREATE TABLE `mes_wm_return_issue_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `issue_id` BIGINT DEFAULT NULL COMMENT '退料单 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产退料单行（发料）';

-- MES 生产退料单明细（发料）
CREATE TABLE `mes_wm_return_issue_detail` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `line_id` BIGINT DEFAULT NULL COMMENT '行 ID',
  `issue_id` BIGINT DEFAULT NULL COMMENT '退料单 ID',
  `material_stock_id` BIGINT DEFAULT NULL COMMENT '库存 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次 ID',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库 ID',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区 ID',
  `area_id` BIGINT DEFAULT NULL COMMENT '库位 ID',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 生产退料单明细（发料）';

-- =====================================================
-- 6.88 MES 外协发料单
-- =====================================================

-- MES 外协发料单
CREATE TABLE `mes_wm_outsource_issue` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '单号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '名称',
  `work_order_id` BIGINT DEFAULT NULL COMMENT '外协工单 ID',
  `vendor_id` BIGINT DEFAULT NULL COMMENT '供应商 ID',
  `issue_date` DATETIME DEFAULT NULL COMMENT '发料日期',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 外协发料单';

-- MES 外协发料单行
CREATE TABLE `mes_wm_outsource_issue_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `issue_id` BIGINT DEFAULT NULL COMMENT '发料单 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 外协发料单行';

-- MES 外协发料单明细
CREATE TABLE `mes_wm_outsource_issue_detail` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `line_id` BIGINT DEFAULT NULL COMMENT '行 ID',
  `issue_id` BIGINT DEFAULT NULL COMMENT '发料单 ID',
  `material_stock_id` BIGINT DEFAULT NULL COMMENT '库存 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次 ID',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库 ID',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区 ID',
  `area_id` BIGINT DEFAULT NULL COMMENT '库位 ID',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 外协发料单明细';

-- =====================================================
-- 6.89 MES 外协入库单
-- =====================================================

-- MES 外协入库单
CREATE TABLE `mes_wm_outsource_receipt` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '单号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '名称',
  `work_order_id` BIGINT DEFAULT NULL COMMENT '外协工单 ID',
  `vendor_id` BIGINT DEFAULT NULL COMMENT '供应商 ID',
  `receipt_date` DATETIME DEFAULT NULL COMMENT '入库日期',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 外协入库单';

-- MES 外协入库单行
CREATE TABLE `mes_wm_outsource_receipt_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `receipt_id` BIGINT DEFAULT NULL COMMENT '入库单 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 外协入库单行';

-- MES 外协入库单明细
CREATE TABLE `mes_wm_outsource_receipt_detail` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `line_id` BIGINT DEFAULT NULL COMMENT '行 ID',
  `receipt_id` BIGINT DEFAULT NULL COMMENT '入库单 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次 ID',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库 ID',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区 ID',
  `area_id` BIGINT DEFAULT NULL COMMENT '库位 ID',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 外协入库单明细';

-- =====================================================
-- 6.90 MES 其他入库单
-- =====================================================

-- MES 其他入库单
CREATE TABLE `mes_wm_misc_receipt` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '单号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '名称',
  `receipt_date` DATETIME DEFAULT NULL COMMENT '入库日期',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 其他入库单';

-- MES 其他入库单行
CREATE TABLE `mes_wm_misc_receipt_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `receipt_id` BIGINT DEFAULT NULL COMMENT '入库单 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 其他入库单行';

-- MES 其他入库单明细
CREATE TABLE `mes_wm_misc_receipt_detail` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `line_id` BIGINT DEFAULT NULL COMMENT '行 ID',
  `receipt_id` BIGINT DEFAULT NULL COMMENT '入库单 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次 ID',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库 ID',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区 ID',
  `area_id` BIGINT DEFAULT NULL COMMENT '库位 ID',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 其他入库单明细';

-- =====================================================
-- 6.91 MES 其他出库单
-- =====================================================

-- MES 其他出库单
CREATE TABLE `mes_wm_misc_issue` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '单号',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '名称',
  `issue_date` DATETIME DEFAULT NULL COMMENT '出库日期',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 其他出库单';

-- MES 其他出库单行
CREATE TABLE `mes_wm_misc_issue_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `issue_id` BIGINT DEFAULT NULL COMMENT '出库单 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 其他出库单行';

-- MES 其他出库单明细
CREATE TABLE `mes_wm_misc_issue_detail` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `line_id` BIGINT DEFAULT NULL COMMENT '行 ID',
  `issue_id` BIGINT DEFAULT NULL COMMENT '出库单 ID',
  `material_stock_id` BIGINT DEFAULT NULL COMMENT '库存 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '数量',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次 ID',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库 ID',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区 ID',
  `area_id` BIGINT DEFAULT NULL COMMENT '库位 ID',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 其他出库单明细';

-- =====================================================
-- 6.92 MES 盘点计划
-- =====================================================

-- MES 盘点计划
CREATE TABLE `mes_wm_stock_taking_plan` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '盘点计划编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '盘点计划名称',
  `plan_date` DATETIME DEFAULT NULL COMMENT '盘点日期',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 盘点计划';

-- MES 盘点计划参数
CREATE TABLE `mes_wm_stock_taking_plan_param` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `plan_id` BIGINT DEFAULT NULL COMMENT '盘点计划 ID',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库 ID',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区 ID',
  `area_id` BIGINT DEFAULT NULL COMMENT '库位 ID',
  `item_type_id` BIGINT DEFAULT NULL COMMENT '物料分类 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 盘点计划参数';

-- =====================================================
-- 6.93 MES 盘点任务
-- =====================================================

-- MES 盘点任务
CREATE TABLE `mes_wm_stock_taking_task` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `code` VARCHAR(100) DEFAULT NULL COMMENT '盘点任务编码',
  `name` VARCHAR(100) DEFAULT NULL COMMENT '盘点任务名称',
  `plan_id` BIGINT DEFAULT NULL COMMENT '盘点计划 ID',
  `task_date` DATETIME DEFAULT NULL COMMENT '盘点日期',
  `status` INT DEFAULT NULL COMMENT '状态',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 盘点任务';

-- MES 盘点任务行
CREATE TABLE `mes_wm_stock_taking_task_line` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `task_id` BIGINT DEFAULT NULL COMMENT '盘点任务 ID',
  `material_stock_id` BIGINT DEFAULT NULL COMMENT '库存 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次 ID',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库 ID',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区 ID',
  `area_id` BIGINT DEFAULT NULL COMMENT '库位 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '账面数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 盘点任务行';

-- MES 盘点任务结果
CREATE TABLE `mes_wm_stock_taking_task_result` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号',
  `task_id` BIGINT DEFAULT NULL COMMENT '盘点任务 ID',
  `line_id` BIGINT DEFAULT NULL COMMENT '盘点任务行 ID',
  `material_stock_id` BIGINT DEFAULT NULL COMMENT '库存 ID',
  `item_id` BIGINT DEFAULT NULL COMMENT '物料 ID',
  `batch_id` BIGINT DEFAULT NULL COMMENT '批次 ID',
  `warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库 ID',
  `location_id` BIGINT DEFAULT NULL COMMENT '库区 ID',
  `area_id` BIGINT DEFAULT NULL COMMENT '库位 ID',
  `quantity` DECIMAL(24,6) DEFAULT NULL COMMENT '实盘数量',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MES 盘点任务结果';

-- =====================================================
-- MES 模块条码配置初始化数据
-- =====================================================

-- 插入物料条码配置
INSERT INTO `mes_wm_barcode_config` (`format`, `biz_type`, `content_format`, `content_example`, `auto_generate_flag`, `status`, `creator`, `updater`) VALUES
(1, 600, '{BUSINESSCODE}', 'ITEM-001', b'1', 0, '1', '1');

-- 插入仓库条码配置
INSERT INTO `mes_wm_barcode_config` (`format`, `biz_type`, `content_format`, `content_example`, `auto_generate_flag`, `status`, `creator`, `updater`) VALUES
(1, 102, 'WH-{BUSINESSCODE}', 'WH-001', b'1', 0, '1', '1');

-- 插入库区条码配置
INSERT INTO `mes_wm_barcode_config` (`format`, `biz_type`, `content_format`, `content_example`, `auto_generate_flag`, `status`, `creator`, `updater`) VALUES
(1, 103, 'LOC-{BUSINESSCODE}', 'LOC-001', b'1', 0, '1', '1');

-- 插入库位条码配置
INSERT INTO `mes_wm_barcode_config` (`format`, `biz_type`, `content_format`, `content_example`, `auto_generate_flag`, `status`, `creator`, `updater`) VALUES
(1, 104, 'AREA-{BUSINESSCODE}', 'AREA-001', b'1', 0, '1', '1');

-- 插入供应商条码配置
INSERT INTO `mes_wm_barcode_config` (`format`, `biz_type`, `content_format`, `content_example`, `auto_generate_flag`, `status`, `creator`, `updater`) VALUES
(1, 601, 'VENDOR-{BUSINESSCODE}', 'VENDOR-001', b'1', 0, '1', '1');

-- 插入客户条码配置
INSERT INTO `mes_wm_barcode_config` (`format`, `biz_type`, `content_format`, `content_example`, `auto_generate_flag`, `status`, `creator`, `updater`) VALUES
(1, 605, 'CLIENT-{BUSINESSCODE}', 'CLIENT-001', b'1', 0, '1', '1');

-- 插入工作站条码配置
INSERT INTO `mes_wm_barcode_config` (`format`, `biz_type`, `content_format`, `content_example`, `auto_generate_flag`, `status`, `creator`, `updater`) VALUES
(1, 602, 'WS-{BUSINESSCODE}', 'WS-001', b'1', 0, '1', '1');

-- 插入车间条码配置
INSERT INTO `mes_wm_barcode_config` (`format`, `biz_type`, `content_format`, `content_example`, `auto_generate_flag`, `status`, `creator`, `updater`) VALUES
(1, 603, 'SHOP-{BUSINESSCODE}', 'SHOP-001', b'1', 0, '1', '1');