/*
 Navicat Premium Data Transfer

 Source Server         : localhost
 Source Server Type    : MySQL
 Source Server Version : 80038 (8.0.38)
 Source Host           : localhost:3306
 Source Schema         : ry-vue

 Target Server Type    : MySQL
 Target Server Version : 80038 (8.0.38)
 File Encoding         : 65001

 Date: 03/06/2026 19:39:11
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for biz_client_quote
-- ----------------------------
DROP TABLE IF EXISTS `biz_client_quote`;
CREATE TABLE `biz_client_quote`  (
  `quote_id` bigint NOT NULL AUTO_INCREMENT,
  `tenant_id` bigint NOT NULL DEFAULT 1,
  `quote_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `client_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `rfq_id` bigint NULL DEFAULT NULL,
  `rfq_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `rfq_title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'draft',
  `validity_date` datetime NULL DEFAULT NULL,
  `total_amount` decimal(15, 4) NULL DEFAULT 0.0000,
  `currency` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'CNY',
  `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `create_time` datetime NULL DEFAULT NULL,
  `update_time` datetime NULL DEFAULT NULL,
  PRIMARY KEY (`quote_id`) USING BTREE,
  INDEX `idx_cq_create_time`(`create_time` ASC) USING BTREE,
  INDEX `idx_cq_client_name`(`client_name` ASC) USING BTREE,
  INDEX `idx_cq_status`(`status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '甲方报价单' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of biz_client_quote
-- ----------------------------
INSERT INTO `biz_client_quote` VALUES (1, 1, 'CQ-202606-001', 'TEST', 5, 'RFQ-2026-005', 'Q2伺服系统批量采购', 'draft', '2026-06-06 00:00:00', 12.0000, 'CNY', '', 'admin', '2026-06-01 15:09:19', NULL);

-- ----------------------------
-- Table structure for biz_client_quote_item
-- ----------------------------
DROP TABLE IF EXISTS `biz_client_quote_item`;
CREATE TABLE `biz_client_quote_item`  (
  `item_id` bigint NOT NULL AUTO_INCREMENT,
  `quote_id` bigint NOT NULL,
  `material_id` bigint NULL DEFAULT NULL COMMENT '鍏宠仈鐗╂枡ID锛坆iz_material.material_id锛',
  `material_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `spec` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `model_no` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `unit` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `quantity` decimal(15, 4) NULL DEFAULT 0.0000,
  `cost_price` decimal(15, 4) NULL DEFAULT 0.0000,
  `unit_price` decimal(15, 4) NULL DEFAULT 0.0000,
  `total_price` decimal(15, 4) NULL DEFAULT 0.0000,
  `delivery_days` int NULL DEFAULT 0,
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  PRIMARY KEY (`item_id`) USING BTREE,
  INDEX `idx_cqi_quote_id`(`quote_id` ASC) USING BTREE,
  INDEX `idx_cqi_material_id`(`material_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '甲方报价明细' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of biz_client_quote_item
-- ----------------------------
INSERT INTO `biz_client_quote_item` VALUES (1, 1, 3, 'PLC控制器', 'CPU模块，数字量I/O 40点，以太网接口', 'CPU模块，数字量I/O 40点，以太网接口', '套', 4.0000, 2.0000, 3.0000, 12.0000, 0, NULL);

-- ----------------------------
-- Table structure for biz_material
-- ----------------------------
DROP TABLE IF EXISTS `biz_material`;
CREATE TABLE `biz_material`  (
  `material_id` bigint NOT NULL AUTO_INCREMENT,
  `tenant_id` bigint NOT NULL DEFAULT 1,
  `category_id` bigint NULL DEFAULT 0,
  `material_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '物料编码',
  `material_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '物料名称',
  `spec` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '规格型号',
  `unit` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '单位',
  `brand` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '厂家/品牌',
  `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '描述',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `create_time` datetime NULL DEFAULT NULL,
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `update_time` datetime NULL DEFAULT NULL,
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `performance_params` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '性能参数(JSON格式)',
  `material` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '材质(铜/铝合金/PVC等)',
  `purpose` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '用途',
  `image_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '物料图片URL',
  PRIMARY KEY (`material_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '物料' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of biz_material
-- ----------------------------
INSERT INTO `biz_material` VALUES (1, 1, 0, 'M-EL-001', '伺服电机', '额定功率750W，额定转矩2.4N·m，额定转速3000rpm', '台', '松下/安川', NULL, '0', 'admin', '2025-12-01 10:00:00', '', NULL, NULL, NULL, '', '', '');
INSERT INTO `biz_material` VALUES (2, 1, 0, 'M-EL-002', '变频器', '三相380V输入，7.5kW，IP20防护', '台', 'ABB/西门子', NULL, '0', 'admin', '2025-12-01 10:05:00', '', NULL, NULL, NULL, '', '', '');
INSERT INTO `biz_material` VALUES (3, 1, 0, 'M-EL-003', 'PLC控制器', 'CPU模块，数字量I/O 40点，以太网接口', '套', '西门子S7-1200', NULL, '0', 'admin', '2025-12-01 10:10:00', '', NULL, NULL, NULL, '', '', '');
INSERT INTO `biz_material` VALUES (4, 1, 0, 'M-EL-004', '工业交换机', '8口千兆以太网，导轨安装，宽温型', '台', '赫斯曼/菲尼克斯', NULL, '0', 'admin', '2025-12-02 09:00:00', '', NULL, NULL, NULL, '', '', '');
INSERT INTO `biz_material` VALUES (5, 1, 0, 'M-ME-001', '精密导轨', 'THK型，长度1500mm，宽度35mm', '根', 'THK/上银', NULL, '0', 'admin', '2025-12-02 09:05:00', '', NULL, NULL, NULL, '', '', '');
INSERT INTO `biz_material` VALUES (6, 1, 0, 'M-ME-002', '滚珠丝杠', '直径32mm，导程10mm，长度1200mm', '套', 'NSK/银泰', NULL, '0', 'admin', '2025-12-02 09:10:00', '', NULL, NULL, NULL, '', '', '');
INSERT INTO `biz_material` VALUES (7, 1, 0, 'M-ME-003', '减速机', '行星减速比1:10，输出扭矩150N·m，法兰安装', '台', '纽卡特/APEX', NULL, '0', 'admin', '2025-12-03 10:00:00', '', NULL, NULL, NULL, '', '', '');
INSERT INTO `biz_material` VALUES (8, 1, 0, 'M-EL-005', '触摸屏', '7寸TFT，分辨率1024×600，RS485/以太网', '台', '威纶通/昆仑通态', NULL, '0', 'admin', '2025-12-04 10:00:00', '', NULL, NULL, NULL, '', '', '');
INSERT INTO `biz_material` VALUES (9, 1, 0, 'M-ME-004', '气动电磁阀', '5/2通，DC24V，G1/4接口，响应时间≤15ms', '只', 'SMC/费斯托', NULL, '0', 'admin', '2025-12-05 10:00:00', '', NULL, NULL, NULL, '', '', '');
INSERT INTO `biz_material` VALUES (10, 1, 0, 'M-EL-006', '电源模块', '24VDC/10A，输入85-264VAC，效率≥90%', '台', '明纬/西门子', NULL, '0', 'admin', '2025-12-05 10:05:00', '', NULL, NULL, NULL, '', '', '');
INSERT INTO `biz_material` VALUES (11, 103, NULL, 'M-EL-003-1', 'PLC控制器', 'I/O 模块：连接传感器、执行器（数字量/模拟量输入输出）', '套', '三菱FX/iQ-R 系列', NULL, '0', 'admin', '2026-05-29 09:43:31', 'admin', '2026-05-29 09:44:42', NULL, '[]', NULL, NULL, NULL);

-- ----------------------------
-- Table structure for biz_material_category
-- ----------------------------
DROP TABLE IF EXISTS `biz_material_category`;
CREATE TABLE `biz_material_category`  (
  `category_id` bigint NOT NULL AUTO_INCREMENT,
  `tenant_id` bigint NOT NULL DEFAULT 1,
  `category_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `parent_id` bigint NULL DEFAULT 0,
  `ancestors` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `sort` int NULL DEFAULT 0,
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `create_time` datetime NULL DEFAULT NULL,
  PRIMARY KEY (`category_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '物料分类' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of biz_material_category
-- ----------------------------

-- ----------------------------
-- Table structure for biz_order_objection
-- ----------------------------
DROP TABLE IF EXISTS `biz_order_objection`;
CREATE TABLE `biz_order_objection`  (
  `objection_id` bigint NOT NULL AUTO_INCREMENT,
  `tenant_id` bigint NOT NULL DEFAULT 1,
  `po_id` bigint NOT NULL,
  `supplier_id` bigint NOT NULL,
  `reason` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `attachment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'pending',
  `resolution` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `create_time` datetime NULL DEFAULT NULL,
  `resolve_time` datetime NULL DEFAULT NULL,
  PRIMARY KEY (`objection_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '订单异议' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of biz_order_objection
-- ----------------------------
INSERT INTO `biz_order_objection` VALUES (1, 1, 2, 2, 'PO-2026-002第3项滚珠丝杠（NSK品牌）10套中有2套导程误差超出图纸要求±0.05mm/300mm的规定，实测最大误差达0.09mm，要求退换货或索赔。', '', 'resolved', '经双方确认，供应商同意退换该2套滚珠丝杠，并承担往返运费。补货已于2026-02-28送达，复检合格。本次异议结案。', '采购部-李工', '2026-02-22 09:00:00', '2026-03-02 16:00:00');
INSERT INTO `biz_order_objection` VALUES (2, 1, 1, 1, 'PO-2026-001电源模块（批次号：MW-2025-1128）中发现3台开机自检报警，检测为输出纹波超标，不符合采购规格书要求，要求供应商提供原厂检测报告并换货。', '', 'resolved', '供应商已提供原厂检测报告，确认为该批次出厂检验遗漏问题。已更换3台合格品并附出厂测试记录，我司复验通过。', '采购部-王工', '2026-02-10 14:00:00', '2026-02-18 11:00:00');

-- ----------------------------
-- Table structure for biz_purchase_order
-- ----------------------------
DROP TABLE IF EXISTS `biz_purchase_order`;
CREATE TABLE `biz_purchase_order`  (
  `po_id` bigint NOT NULL AUTO_INCREMENT,
  `tenant_id` bigint NOT NULL DEFAULT 1,
  `po_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `rfq_id` bigint NULL DEFAULT NULL,
  `supplier_id` bigint NOT NULL,
  `total_amount` decimal(15, 4) NULL DEFAULT 0.0000,
  `currency` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'CNY',
  `delivery_addr` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `delivery_date` date NULL DEFAULT NULL,
  `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'draft',
  `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `create_time` datetime NULL DEFAULT NULL,
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `update_time` datetime NULL DEFAULT NULL,
  PRIMARY KEY (`po_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '采购单' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of biz_purchase_order
-- ----------------------------
INSERT INTO `biz_purchase_order` VALUES (1, 1, 'PO-2026-001', 1, 1, 57320.0000, 'CNY', '广东省佛山市顺德区福安德工业园仓库（收货人：张仓管 18899998001）', '2026-01-30', 'closed', '对应RFQ-2026-001，已验收入库', 'admin', '2026-01-12 10:00:00', '', '2026-02-05 16:00:00');
INSERT INTO `biz_purchase_order` VALUES (2, 1, 'PO-2026-002', 2, 2, 108500.0000, 'CNY', '广东省佛山市顺德区福安德工业园仓库（收货人：张仓管 18899998001）', '2026-02-20', 'confirmed', '对应RFQ-2026-002，已确认发货', 'admin', '2026-01-28 14:00:00', '', '2026-02-01 09:00:00');
INSERT INTO `biz_purchase_order` VALUES (3, 1, 'PO-2026-003', NULL, 3, 42000.0000, 'CNY', '广东省佛山市顺德区福安德工业园仓库', '2026-03-25', 'draft', '备品备件采购，待财务审批', 'admin', '2026-03-05 10:00:00', '', '2026-03-05 10:00:00');

-- ----------------------------
-- Table structure for biz_purchase_order_item
-- ----------------------------
DROP TABLE IF EXISTS `biz_purchase_order_item`;
CREATE TABLE `biz_purchase_order_item`  (
  `item_id` bigint NOT NULL AUTO_INCREMENT,
  `po_id` bigint NOT NULL,
  `material_id` bigint NULL DEFAULT 0,
  `material_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `spec` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `unit` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `quantity` decimal(15, 4) NOT NULL,
  `unit_price` decimal(15, 4) NOT NULL,
  `total_price` decimal(15, 4) NULL DEFAULT 0.0000,
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  PRIMARY KEY (`item_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '采购单明细' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of biz_purchase_order_item
-- ----------------------------
INSERT INTO `biz_purchase_order_item` VALUES (1, 1, 3, 'PLC控制器', 'CPU模块，数字量I/O 40点，以太网接口', '套', 5.0000, 3180.0000, 15900.0000, '');
INSERT INTO `biz_purchase_order_item` VALUES (2, 1, 2, '变频器', '三相380V输入，7.5kW，IP20防护', '台', 8.0000, 4390.0000, 35120.0000, '');
INSERT INTO `biz_purchase_order_item` VALUES (3, 1, 10, '电源模块', '24VDC/10A，输入85-264VAC，效率≥90%', '台', 20.0000, 315.0000, 6300.0000, '');
INSERT INTO `biz_purchase_order_item` VALUES (4, 2, 1, '伺服电机', '额定功率750W，额定转矩2.4N·m，额定转速3000rpm', '台', 10.0000, 2650.0000, 26500.0000, '');
INSERT INTO `biz_purchase_order_item` VALUES (5, 2, 5, '精密导轨', 'THK型，长度1500mm，宽度35mm', '根', 20.0000, 620.0000, 12400.0000, '');
INSERT INTO `biz_purchase_order_item` VALUES (6, 2, 6, '滚珠丝杠', '直径32mm，导程10mm，长度1200mm', '套', 10.0000, 1750.0000, 17500.0000, '');
INSERT INTO `biz_purchase_order_item` VALUES (7, 2, 7, '减速机', '行星减速比1:10，输出扭矩150N·m，法兰安装', '台', 5.0000, 2420.0000, 12100.0000, '');
INSERT INTO `biz_purchase_order_item` VALUES (8, 3, 9, '气动电磁阀', '5/2通，DC24V，G1/4接口，响应时间≤15ms', '只', 100.0000, 75.0000, 7500.0000, '');
INSERT INTO `biz_purchase_order_item` VALUES (9, 3, 4, '工业交换机', '8口千兆以太网，导轨安装，宽温型', '台', 8.0000, 1800.0000, 14400.0000, '');
INSERT INTO `biz_purchase_order_item` VALUES (10, 3, 10, '电源模块', '24VDC/10A，输入85-264VAC，效率≥90%', '台', 40.0000, 310.0000, 12400.0000, '');
INSERT INTO `biz_purchase_order_item` VALUES (11, 3, 8, '触摸屏', '7寸TFT，分辨率1024×600，RS485/以太网', '台', 4.0000, 1175.0000, 4700.0000, '');
INSERT INTO `biz_purchase_order_item` VALUES (12, 3, 9, '气动电磁阀', '5/2通，DC24V，G1/4接口，响应时间≤15ms', '只', 40.0000, 75.0000, 3000.0000, '');

-- ----------------------------
-- Table structure for biz_quotation
-- ----------------------------
DROP TABLE IF EXISTS `biz_quotation`;
CREATE TABLE `biz_quotation`  (
  `quotation_id` bigint NOT NULL AUTO_INCREMENT,
  `tenant_id` bigint NOT NULL DEFAULT 1,
  `rfq_id` bigint NOT NULL,
  `supplier_id` bigint NOT NULL,
  `quote_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `valid_days` int NULL DEFAULT 30,
  `delivery_days` int NULL DEFAULT 0,
  `total_amount` decimal(15, 4) NULL DEFAULT 0.0000,
  `currency` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'CNY',
  `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'draft',
  `note` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `submit_time` datetime NULL DEFAULT NULL,
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `create_time` datetime NULL DEFAULT NULL,
  `update_time` datetime NULL DEFAULT NULL,
  PRIMARY KEY (`quotation_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '供应商报价单' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of biz_quotation
-- ----------------------------
INSERT INTO `biz_quotation` VALUES (1, 1, 1, 1, 'QT-2026-001-HSD', 30, 25, 57320.0000, 'CNY', 'accepted', '原厂授权经销商，提供原厂质保2年，可开增值税专票', '2026-01-05 15:00:00', 'admin', '2026-01-04 14:00:00', NULL);
INSERT INTO `biz_quotation` VALUES (2, 1, 1, 3, 'QT-2026-001-RD', 30, 20, 61800.0000, 'CNY', 'rejected', '含免费现场调试服务一次', '2026-01-06 10:00:00', 'admin', '2026-01-05 09:00:00', NULL);
INSERT INTO `biz_quotation` VALUES (3, 1, 1, 4, 'QT-2026-001-LM', 30, 30, 55100.0000, 'CNY', 'rejected', '批量可优惠，货期稍长', '2026-01-07 14:00:00', 'admin', '2026-01-06 10:00:00', NULL);
INSERT INTO `biz_quotation` VALUES (4, 1, 2, 2, 'QT-2026-002-BY', 30, 28, 108500.0000, 'CNY', 'accepted', '精密机床专业供应商，提供安装调试支持', '2026-01-22 16:00:00', 'admin', '2026-01-21 10:00:00', NULL);
INSERT INTO `biz_quotation` VALUES (5, 1, 2, 5, 'QT-2026-002-HZ', 30, 35, 112800.0000, 'CNY', 'rejected', '含运费及安装，质保18个月', '2026-01-23 11:00:00', 'admin', '2026-01-22 09:00:00', NULL);
INSERT INTO `biz_quotation` VALUES (6, 1, 2, 1, 'QT-2026-002-HSD', 30, 25, 116200.0000, 'CNY', 'rejected', '原厂品牌，价格含送货到厂', '2026-01-25 09:00:00', 'admin', '2026-01-24 14:00:00', NULL);
INSERT INTO `biz_quotation` VALUES (7, 1, 3, 1, 'QT-2026-003-HSD', 30, 15, 0.0000, 'CNY', 'draft', NULL, NULL, 'admin', '2026-03-01 09:00:00', NULL);
INSERT INTO `biz_quotation` VALUES (8, 1, 4, 3, 'QT-2026-004-RD', 30, 20, 14880.0000, 'CNY', 'submitted', '含调试配置服务', '2026-03-20 14:00:00', 'admin', '2026-03-18 10:00:00', NULL);
INSERT INTO `biz_quotation` VALUES (9, 1, 4, 4, 'QT-2026-004-LM', 30, 25, 16200.0000, 'CNY', 'submitted', '标准交货，验收后付款', '2026-03-22 16:00:00', 'admin', '2026-03-20 10:00:00', NULL);

-- ----------------------------
-- Table structure for biz_quotation_item
-- ----------------------------
DROP TABLE IF EXISTS `biz_quotation_item`;
CREATE TABLE `biz_quotation_item`  (
  `item_id` bigint NOT NULL AUTO_INCREMENT,
  `quotation_id` bigint NOT NULL,
  `rfq_item_id` bigint NOT NULL,
  `material_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `spec` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `unit` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `quantity` decimal(15, 4) NULL DEFAULT 0.0000,
  `unit_price` decimal(15, 4) NOT NULL,
  `total_price` decimal(15, 4) NULL DEFAULT 0.0000,
  `delivery_days` int NULL DEFAULT 0,
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  PRIMARY KEY (`item_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 22 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '报价明细' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of biz_quotation_item
-- ----------------------------
INSERT INTO `biz_quotation_item` VALUES (1, 1, 1, 'PLC控制器', 'CPU模块，数字量I/O 40点，以太网接口', '套', 5.0000, 3180.0000, 15900.0000, 25, '西门子原厂');
INSERT INTO `biz_quotation_item` VALUES (2, 1, 2, '变频器', '三相380V输入，7.5kW，IP20防护', '台', 8.0000, 4390.0000, 35120.0000, 25, 'ABB原厂');
INSERT INTO `biz_quotation_item` VALUES (3, 1, 3, '电源模块', '24VDC/10A，输入85-264VAC，效率≥90%', '台', 20.0000, 315.0000, 6300.0000, 20, '明纬品牌');
INSERT INTO `biz_quotation_item` VALUES (4, 2, 1, 'PLC控制器', 'CPU模块，数字量I/O 40点，以太网接口', '套', 5.0000, 3450.0000, 17250.0000, 20, '含调试服务');
INSERT INTO `biz_quotation_item` VALUES (5, 2, 2, '变频器', '三相380V输入，7.5kW，IP20防护', '台', 8.0000, 4780.0000, 38240.0000, 20, '西门子品牌');
INSERT INTO `biz_quotation_item` VALUES (6, 2, 3, '电源模块', '24VDC/10A，输入85-264VAC，效率≥90%', '台', 20.0000, 315.5000, 6310.0000, 15, '明纬品牌');
INSERT INTO `biz_quotation_item` VALUES (7, 3, 1, 'PLC控制器', 'CPU模块，数字量I/O 40点，以太网接口', '套', 5.0000, 3020.0000, 15100.0000, 30, '国产品牌');
INSERT INTO `biz_quotation_item` VALUES (8, 3, 2, '变频器', '三相380V输入，7.5kW，IP20防护', '台', 8.0000, 4250.0000, 34000.0000, 30, 'ABB');
INSERT INTO `biz_quotation_item` VALUES (9, 3, 3, '电源模块', '24VDC/10A，输入85-264VAC，效率≥90%', '台', 20.0000, 300.0000, 6000.0000, 25, '台湾品牌');
INSERT INTO `biz_quotation_item` VALUES (10, 4, 4, '伺服电机', '额定功率750W，额定转矩2.4N·m，额定转速3000rpm', '台', 10.0000, 2650.0000, 26500.0000, 28, '松下原装');
INSERT INTO `biz_quotation_item` VALUES (11, 4, 5, '精密导轨', 'THK型，长度1500mm，宽度35mm', '根', 20.0000, 620.0000, 12400.0000, 28, 'THK日本原产');
INSERT INTO `biz_quotation_item` VALUES (12, 4, 6, '滚珠丝杠', '直径32mm，导程10mm，长度1200mm', '套', 10.0000, 1750.0000, 17500.0000, 28, 'NSK品牌');
INSERT INTO `biz_quotation_item` VALUES (13, 4, 7, '减速机', '行星减速比1:10，输出扭矩150N·m，法兰安装', '台', 5.0000, 2420.0000, 12100.0000, 28, '纽卡特');
INSERT INTO `biz_quotation_item` VALUES (14, 5, 4, '伺服电机', '额定功率750W，额定转矩2.4N·m，额定转速3000rpm', '台', 10.0000, 2750.0000, 27500.0000, 35, '安川品牌');
INSERT INTO `biz_quotation_item` VALUES (15, 5, 5, '精密导轨', 'THK型，长度1500mm，宽度35mm', '根', 20.0000, 660.0000, 13200.0000, 35, 'THK');
INSERT INTO `biz_quotation_item` VALUES (16, 5, 6, '滚珠丝杠', '直径32mm，导程10mm，长度1200mm', '套', 10.0000, 1850.0000, 18500.0000, 35, 'NSK');
INSERT INTO `biz_quotation_item` VALUES (17, 5, 7, '减速机', '行星减速比1:10，输出扭矩150N·m，法兰安装', '台', 5.0000, 2520.0000, 12600.0000, 35, 'APEX');
INSERT INTO `biz_quotation_item` VALUES (18, 8, 9, '触摸屏', '7寸TFT，分辨率1024×600，RS485/以太网', '台', 6.0000, 1180.0000, 7080.0000, 20, '威纶通');
INSERT INTO `biz_quotation_item` VALUES (19, 8, 10, '工业交换机', '8口千兆以太网，导轨安装，宽温型', '台', 4.0000, 1950.0000, 7800.0000, 20, '赫斯曼');
INSERT INTO `biz_quotation_item` VALUES (20, 9, 9, '触摸屏', '7寸TFT，分辨率1024×600，RS485/以太网', '台', 6.0000, 1250.0000, 7500.0000, 25, '昆仑通态');
INSERT INTO `biz_quotation_item` VALUES (21, 9, 10, '工业交换机', '8口千兆以太网，导轨安装，宽温型', '台', 4.0000, 2175.0000, 8700.0000, 25, '菲尼克斯');

-- ----------------------------
-- Table structure for biz_rfq
-- ----------------------------
DROP TABLE IF EXISTS `biz_rfq`;
CREATE TABLE `biz_rfq`  (
  `rfq_id` bigint NOT NULL AUTO_INCREMENT,
  `tenant_id` bigint NOT NULL DEFAULT 1,
  `rfq_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `rfq_title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `deadline` datetime NULL DEFAULT NULL,
  `delivery_addr` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `client_quote_id` bigint NULL DEFAULT NULL COMMENT '关联甲方报价ID（biz_client_quote.quote_id）',
  `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'draft',
  `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `create_time` datetime NULL DEFAULT NULL,
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `update_time` datetime NULL DEFAULT NULL,
  PRIMARY KEY (`rfq_id`) USING BTREE,
  INDEX `idx_rfq_client_quote_id`(`client_quote_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '报价请求' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of biz_rfq
-- ----------------------------
INSERT INTO `biz_rfq` VALUES (1, 1, 'RFQ-2026-001', '自动化生产线控制系统采购', '2026-01-10 18:00:00', '广东省佛山市顺德区福安德工业园仓库', NULL, 'completed', '用于新建3号生产线控制系统升级项目，需提供原厂质保证明', 'admin', '2025-12-20 09:00:00', '', '2026-01-15 16:00:00');
INSERT INTO `biz_rfq` VALUES (2, 1, 'RFQ-2026-002', '精密运动控制组件采购', '2026-02-05 18:00:00', '广东省佛山市顺德区福安德工业园仓库', NULL, 'completed', '5轴联动机床改造项目，要求交货期不超过30天', 'admin', '2026-01-10 10:00:00', '', '2026-02-10 14:00:00');
INSERT INTO `biz_rfq` VALUES (3, 1, 'RFQ-2026-003', '气动系统元件年度备料采购', '2026-03-15 18:00:00', '广东省佛山市顺德区福安德工业园仓库', NULL, 'published', '年度备件计划，价格参考上年采购单价', 'admin', '2026-02-20 14:00:00', '', '2026-02-20 14:00:00');
INSERT INTO `biz_rfq` VALUES (4, 1, 'RFQ-2026-004', 'HMI及工控网络设备采购', '2026-04-01 18:00:00', '广东省佛山市顺德区福安德工业园仓库', NULL, 'published', '配合MES系统升级项目', 'admin', '2026-03-10 10:00:00', '', '2026-03-10 10:00:00');
INSERT INTO `biz_rfq` VALUES (5, 1, 'RFQ-2026-005', 'Q2伺服系统批量采购', '2026-05-10 18:00:00', '广东省佛山市顺德区福安德工业园仓库', NULL, 'draft', '第二季度计划采购，待审批后发布', 'admin', '2026-04-01 09:00:00', '', '2026-04-01 09:00:00');
INSERT INTO `biz_rfq` VALUES (6, 103, 'RFQ-202606-001', '采购需求: TEST - CQ-202606-001', NULL, '', 1, 'draft', '源自甲方报价单: CQ-202606-001', NULL, '2026-06-02 17:24:47', '', NULL);
INSERT INTO `biz_rfq` VALUES (7, 103, 'RFQ-202606-002', '采购需求: TEST - CQ-202606-001', NULL, '', 1, 'draft', '源自甲方报价单: CQ-202606-001', NULL, '2026-06-02 17:29:22', '', NULL);

-- ----------------------------
-- Table structure for biz_rfq_item
-- ----------------------------
DROP TABLE IF EXISTS `biz_rfq_item`;
CREATE TABLE `biz_rfq_item`  (
  `item_id` bigint NOT NULL AUTO_INCREMENT,
  `rfq_id` bigint NOT NULL,
  `material_id` bigint NULL DEFAULT 0,
  `material_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `spec` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `unit` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `quantity` decimal(15, 4) NOT NULL,
  `expected_price` decimal(15, 4) NULL DEFAULT NULL,
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  PRIMARY KEY (`item_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'RFQ物料明细' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of biz_rfq_item
-- ----------------------------
INSERT INTO `biz_rfq_item` VALUES (1, 1, 3, 'PLC控制器', 'CPU模块，数字量I/O 40点，以太网接口', '套', 5.0000, 3200.0000, '');
INSERT INTO `biz_rfq_item` VALUES (2, 1, 2, '变频器', '三相380V输入，7.5kW，IP20防护', '台', 8.0000, 4500.0000, '');
INSERT INTO `biz_rfq_item` VALUES (3, 1, 10, '电源模块', '24VDC/10A，输入85-264VAC，效率≥90%', '台', 20.0000, 380.0000, '');
INSERT INTO `biz_rfq_item` VALUES (4, 2, 1, '伺服电机', '额定功率750W，额定转矩2.4N·m，额定转速3000rpm', '台', 10.0000, 2800.0000, '');
INSERT INTO `biz_rfq_item` VALUES (5, 2, 5, '精密导轨', 'THK型，长度1500mm，宽度35mm', '根', 20.0000, 650.0000, '');
INSERT INTO `biz_rfq_item` VALUES (6, 2, 6, '滚珠丝杠', '直径32mm，导程10mm，长度1200mm', '套', 10.0000, 1800.0000, '');
INSERT INTO `biz_rfq_item` VALUES (7, 2, 7, '减速机', '行星减速比1:10，输出扭矩150N·m，法兰安装', '台', 5.0000, 3500.0000, '');
INSERT INTO `biz_rfq_item` VALUES (8, 3, 9, '气动电磁阀', '5/2通，DC24V，G1/4接口，响应时间≤15ms', '只', 100.0000, 85.0000, '');
INSERT INTO `biz_rfq_item` VALUES (9, 4, 8, '触摸屏', '7寸TFT，分辨率1024×600，RS485/以太网', '台', 6.0000, 1200.0000, '');
INSERT INTO `biz_rfq_item` VALUES (10, 4, 4, '工业交换机', '8口千兆以太网，导轨安装，宽温型', '台', 4.0000, 1800.0000, '');
INSERT INTO `biz_rfq_item` VALUES (11, 5, 1, '伺服电机', '额定功率750W，额定转矩2.4N·m，额定转速3000rpm', '台', 30.0000, 2600.0000, '');
INSERT INTO `biz_rfq_item` VALUES (12, 5, 2, '变频器', '三相380V输入，7.5kW，IP20防护', '台', 15.0000, 4200.0000, '');
INSERT INTO `biz_rfq_item` VALUES (13, 6, 3, 'PLC控制器', 'CPU模块，数字量I/O 40点，以太网接口', '套', 4.0000, 3.0000, NULL);
INSERT INTO `biz_rfq_item` VALUES (14, 7, 3, 'PLC控制器', 'CPU模块，数字量I/O 40点，以太网接口', '套', 4.0000, 3.0000, NULL);

-- ----------------------------
-- Table structure for biz_rfq_supplier
-- ----------------------------
DROP TABLE IF EXISTS `biz_rfq_supplier`;
CREATE TABLE `biz_rfq_supplier`  (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `rfq_id` bigint NOT NULL,
  `supplier_id` bigint NOT NULL,
  `invited_time` datetime NULL DEFAULT NULL,
  `quoted_time` datetime NULL DEFAULT NULL,
  `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'pending',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `uk_rfq_supplier`(`rfq_id` ASC, `supplier_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of biz_rfq_supplier
-- ----------------------------
INSERT INTO `biz_rfq_supplier` VALUES (1, 1, 1, '2025-12-20 09:30:00', '2026-01-05 15:00:00', 'quoted');
INSERT INTO `biz_rfq_supplier` VALUES (2, 1, 3, '2025-12-20 09:30:00', '2026-01-06 10:00:00', 'quoted');
INSERT INTO `biz_rfq_supplier` VALUES (3, 1, 4, '2025-12-20 09:30:00', '2026-01-07 14:00:00', 'quoted');
INSERT INTO `biz_rfq_supplier` VALUES (4, 2, 2, '2026-01-10 10:30:00', '2026-01-22 16:00:00', 'quoted');
INSERT INTO `biz_rfq_supplier` VALUES (5, 2, 5, '2026-01-10 10:30:00', '2026-01-23 11:00:00', 'quoted');
INSERT INTO `biz_rfq_supplier` VALUES (6, 2, 1, '2026-01-10 10:30:00', '2026-01-25 09:00:00', 'quoted');
INSERT INTO `biz_rfq_supplier` VALUES (7, 3, 1, '2026-02-20 14:30:00', NULL, 'pending');
INSERT INTO `biz_rfq_supplier` VALUES (8, 3, 3, '2026-02-20 14:30:00', NULL, 'pending');
INSERT INTO `biz_rfq_supplier` VALUES (9, 4, 3, '2026-03-10 10:30:00', NULL, 'pending');
INSERT INTO `biz_rfq_supplier` VALUES (10, 4, 4, '2026-03-10 10:30:00', NULL, 'pending');

-- ----------------------------
-- Table structure for biz_supplier
-- ----------------------------
DROP TABLE IF EXISTS `biz_supplier`;
CREATE TABLE `biz_supplier`  (
  `supplier_id` bigint NOT NULL AUTO_INCREMENT,
  `tenant_id` bigint NOT NULL DEFAULT 1,
  `supplier_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `contact` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `address` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `user_id` bigint NULL DEFAULT NULL,
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `create_time` datetime NULL DEFAULT NULL,
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `update_time` datetime NULL DEFAULT NULL,
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  PRIMARY KEY (`supplier_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '供应商' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of biz_supplier
-- ----------------------------
INSERT INTO `biz_supplier` VALUES (1, 1, '深圳市华顺达电子有限公司', '王建国', '13800138001', 'wangjg@hsd-elec.com', '广东省深圳市宝安区西乡街道华顺工业园3栋', NULL, '0', 'admin', '2025-12-01 09:00:00', '', NULL, NULL);
INSERT INTO `biz_supplier` VALUES (2, 1, '苏州博远精密设备有限公司', '李梅', '13900139002', 'limei@boyuan-prc.com', '江苏省苏州市吴中区木渎镇博远路88号', NULL, '0', 'admin', '2025-12-01 09:10:00', '', NULL, NULL);
INSERT INTO `biz_supplier` VALUES (3, 1, '上海瑞达工控科技有限公司', '张明伟', '13700137003', 'zmw@ruida-ctrl.com', '上海市松江区茸北工业区瑞达路12号', NULL, '0', 'admin', '2025-12-02 10:00:00', '', NULL, NULL);
INSERT INTO `biz_supplier` VALUES (4, 1, '广州联盟电气集团股份有限公司', '陈晓燕', '15900159004', 'chenxy@lm-elec.com.cn', '广东省广州市黄埔区联盟电气工业园A区', NULL, '0', 'admin', '2025-12-03 14:00:00', '', NULL, NULL);
INSERT INTO `biz_supplier` VALUES (5, 1, '武汉华中精工机械有限公司', '刘强', '13600136005', 'liuq@hzjg-mach.com', '湖北省武汉市东湖新技术开发区华中精工园', NULL, '0', 'admin', '2025-12-05 09:30:00', '', NULL, NULL);

-- ----------------------------
-- Table structure for biz_supplier_evaluation
-- ----------------------------
DROP TABLE IF EXISTS `biz_supplier_evaluation`;
CREATE TABLE `biz_supplier_evaluation`  (
  `eval_id` bigint NOT NULL AUTO_INCREMENT,
  `tenant_id` bigint NOT NULL DEFAULT 1,
  `po_id` bigint NOT NULL,
  `supplier_id` bigint NOT NULL,
  `quality_score` int NULL DEFAULT 5,
  `delivery_score` int NULL DEFAULT 5,
  `service_score` int NULL DEFAULT 5,
  `price_score` int NULL DEFAULT 5,
  `total_score` decimal(3, 1) NULL DEFAULT 5.0,
  `comment` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `evaluator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `eval_time` datetime NULL DEFAULT NULL,
  PRIMARY KEY (`eval_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '供应商评价' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of biz_supplier_evaluation
-- ----------------------------
INSERT INTO `biz_supplier_evaluation` VALUES (1, 1, 1, 1, 5, 4, 5, 4, 4.5, '产品质量优秀，均通过我司IQC检验，送货及时，销售响应迅速，价格略高于市场均价。综合评价优秀，列为A类合格供应商。', 'admin', '2026-02-05 16:30:00');
INSERT INTO `biz_supplier_evaluation` VALUES (2, 1, 2, 2, 5, 3, 5, 5, 4.5, '精密件质量达到图纸要求，部分导轨延期3天到货（供应商提前告知），安装调试支持专业，价格具有竞争力。推荐继续合作。', 'admin', '2026-03-10 10:00:00');

-- ----------------------------
-- Table structure for biz_transaction
-- ----------------------------
DROP TABLE IF EXISTS `biz_transaction`;
CREATE TABLE `biz_transaction`  (
  `tx_id` bigint NOT NULL AUTO_INCREMENT,
  `tenant_id` bigint NOT NULL DEFAULT 1,
  `po_id` bigint NULL DEFAULT NULL,
  `supplier_id` bigint NULL DEFAULT NULL,
  `tx_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `tx_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `amount` decimal(15, 4) NULL DEFAULT NULL,
  `currency` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'CNY',
  `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
  `operator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '',
  `tx_time` datetime NULL DEFAULT NULL,
  `create_time` datetime NULL DEFAULT NULL,
  PRIMARY KEY (`tx_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '交易记录' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of biz_transaction
-- ----------------------------
INSERT INTO `biz_transaction` VALUES (1, 1, 1, 1, 'PO', 'PO-2026-001', 57320.0000, 'CNY', '创建采购单 PO-2026-001（控制系统采购）', 'admin', '2026-01-12 10:00:00', '2026-01-12 10:00:00');
INSERT INTO `biz_transaction` VALUES (2, 1, 1, 1, 'QUOTE', 'QT-2026-001-HSD', 57320.0000, 'CNY', '采纳供应商 深圳市华顺达电子有限公司 报价单 QT-2026-001-HSD', 'admin', '2026-01-11 14:00:00', '2026-01-11 14:00:00');
INSERT INTO `biz_transaction` VALUES (3, 1, 2, 2, 'PO', 'PO-2026-002', 108500.0000, 'CNY', '创建采购单 PO-2026-002（精密运动控制组件）', 'admin', '2026-01-28 14:00:00', '2026-01-28 14:00:00');
INSERT INTO `biz_transaction` VALUES (4, 1, 2, 2, 'QUOTE', 'QT-2026-002-BY', 108500.0000, 'CNY', '采纳供应商 苏州博远精密设备有限公司 报价单 QT-2026-002-BY', 'admin', '2026-01-27 10:00:00', '2026-01-27 10:00:00');
INSERT INTO `biz_transaction` VALUES (5, 1, 1, 1, 'EVAL', 'EVAL-2026-001', NULL, 'CNY', '对供应商 深圳市华顺达电子有限公司 完成采购评价，综合得分 4.5分', 'admin', '2026-02-05 16:30:00', '2026-02-05 16:30:00');
INSERT INTO `biz_transaction` VALUES (6, 1, 2, 2, 'EVAL', 'EVAL-2026-002', NULL, 'CNY', '对供应商 苏州博远精密设备有限公司 完成采购评价，综合得分 4.5分', 'admin', '2026-03-10 10:00:00', '2026-03-10 10:00:00');
INSERT INTO `biz_transaction` VALUES (7, 1, NULL, NULL, 'RFQ', 'RFQ-2026-003', NULL, 'CNY', '发布报价请求 RFQ-2026-003（气动系统元件年度备料采购）', 'admin', '2026-02-20 14:30:00', '2026-02-20 14:30:00');
INSERT INTO `biz_transaction` VALUES (8, 1, NULL, NULL, 'RFQ', 'RFQ-2026-004', NULL, 'CNY', '发布报价请求 RFQ-2026-004（HMI及工控网络设备采购）', 'admin', '2026-03-10 10:30:00', '2026-03-10 10:30:00');
INSERT INTO `biz_transaction` VALUES (9, 1, 3, 3, 'PO', 'PO-2026-003', 42000.0000, 'CNY', '创建采购单草稿 PO-2026-003（备品备件采购）', 'admin', '2026-03-05 10:00:00', '2026-03-05 10:00:00');

-- ----------------------------
-- Table structure for gen_table
-- ----------------------------
DROP TABLE IF EXISTS `gen_table`;
CREATE TABLE `gen_table`  (
  `table_id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
  `table_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '表名称',
  `table_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '表描述',
  `sub_table_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联子表的表名',
  `sub_table_fk_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '子表关联的外键名',
  `class_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '实体类名称',
  `tpl_category` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'crud' COMMENT '使用的模板（crud单表操作 tree树表操作）',
  `tpl_web_type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '前端模板类型（element-ui模版 element-plus模版）',
  `package_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成包路径',
  `module_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成模块名',
  `business_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成业务名',
  `function_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成功能名',
  `function_author` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成功能作者',
  `form_col_num` int NULL DEFAULT 1 COMMENT '表单布局（单列 双列 三列）',
  `gen_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '生成代码方式（0zip压缩包 1自定义路径）',
  `gen_path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '/' COMMENT '生成路径（不填默认项目路径）',
  `options` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '其它生成选项',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`table_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成业务表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of gen_table
-- ----------------------------

-- ----------------------------
-- Table structure for gen_table_column
-- ----------------------------
DROP TABLE IF EXISTS `gen_table_column`;
CREATE TABLE `gen_table_column`  (
  `column_id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
  `table_id` bigint NULL DEFAULT NULL COMMENT '归属表编号',
  `column_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '列名称',
  `column_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '列描述',
  `column_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '列类型',
  `java_type` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'JAVA类型',
  `java_field` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'JAVA字段名',
  `is_pk` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否主键（1是）',
  `is_increment` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否自增（1是）',
  `is_required` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否必填（1是）',
  `is_insert` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否为插入字段（1是）',
  `is_edit` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否编辑字段（1是）',
  `is_list` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否列表字段（1是）',
  `is_query` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否查询字段（1是）',
  `query_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'EQ' COMMENT '查询方式（等于、不等于、大于、小于、范围）',
  `html_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '显示类型（文本框、文本域、下拉框、复选框、单选框、日期控件）',
  `dict_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典类型',
  `sort` int NULL DEFAULT NULL COMMENT '排序',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`column_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成业务表字段' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of gen_table_column
-- ----------------------------

-- ----------------------------
-- Table structure for sys_config
-- ----------------------------
DROP TABLE IF EXISTS `sys_config`;
CREATE TABLE `sys_config`  (
  `config_id` int NOT NULL AUTO_INCREMENT COMMENT '参数主键',
  `config_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '参数名称',
  `config_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '参数键名',
  `config_value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '参数键值',
  `config_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'N' COMMENT '系统内置（Y是 N否）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`config_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '参数配置表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_config
-- ----------------------------
INSERT INTO `sys_config` VALUES (1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', '2026-05-27 10:56:54', '', NULL, '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow');
INSERT INTO `sys_config` VALUES (2, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', '2026-05-27 10:56:54', '', NULL, '初始化密码 123456');
INSERT INTO `sys_config` VALUES (3, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', '2026-05-27 10:56:54', '', NULL, '深色主题theme-dark，浅色主题theme-light');
INSERT INTO `sys_config` VALUES (4, '账号自助-验证码开关', 'sys.account.captchaEnabled', 'true', 'Y', 'admin', '2026-05-27 10:56:54', '', NULL, '是否开启验证码功能（true开启，false关闭）');
INSERT INTO `sys_config` VALUES (5, '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'false', 'Y', 'admin', '2026-05-27 10:56:54', '', NULL, '是否开启注册用户功能（true开启，false关闭）');
INSERT INTO `sys_config` VALUES (6, '用户登录-黑名单列表', 'sys.login.blackIPList', '', 'Y', 'admin', '2026-05-27 10:56:54', '', NULL, '设置登录IP黑名单限制，多个匹配项以;分隔，支持匹配（*通配、网段）');
INSERT INTO `sys_config` VALUES (7, '用户管理-初始密码修改策略', 'sys.account.initPasswordModify', '1', 'Y', 'admin', '2026-05-27 10:56:54', '', NULL, '0：初始密码修改策略关闭，没有任何提示，1：提醒用户，如果未修改初始密码，则在登录时就会提醒修改密码对话框');
INSERT INTO `sys_config` VALUES (8, '用户管理-账号密码更新周期', 'sys.account.passwordValidateDays', '0', 'Y', 'admin', '2026-05-27 10:56:54', '', NULL, '密码更新周期（填写数字，数据初始化值为0不限制，若修改必须为大于0小于365的正整数），如果超过这个周期登录系统时，则在登录时就会提醒修改密码对话框');
INSERT INTO `sys_config` VALUES (9, '用户管理-密码字符范围', 'sys.account.chrtype', '0', 'Y', 'admin', '2026-05-27 10:56:54', '', NULL, '默认任意字符范围，0任意（密码可以输入任意字符），1数字（密码只能为0-9数字），2英文字母（密码只能为a-z和A-Z字母），3字母和数字（密码必须包含字母，数字）,4字母数字和特殊字符（目前支持的特殊字符包括：~!@#$%^&*()-=_+）');

-- ----------------------------
-- Table structure for sys_dept
-- ----------------------------
DROP TABLE IF EXISTS `sys_dept`;
CREATE TABLE `sys_dept`  (
  `dept_id` bigint NOT NULL AUTO_INCREMENT COMMENT '部门id',
  `parent_id` bigint NULL DEFAULT 0 COMMENT '父部门id',
  `ancestors` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '祖级列表',
  `dept_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '部门名称',
  `order_num` int NULL DEFAULT 0 COMMENT '显示顺序',
  `leader` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '负责人',
  `phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联系电话',
  `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '部门状态（0正常 1停用）',
  `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志（0代表存在 2代表删除）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`dept_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 200 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '部门表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_dept
-- ----------------------------
INSERT INTO `sys_dept` VALUES (100, 0, '0', '若依科技', 0, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2026-05-27 10:56:53', '', NULL);
INSERT INTO `sys_dept` VALUES (101, 100, '0,100', '深圳总公司', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2026-05-27 10:56:53', '', NULL);
INSERT INTO `sys_dept` VALUES (102, 100, '0,100', '长沙分公司', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2026-05-27 10:56:53', '', NULL);
INSERT INTO `sys_dept` VALUES (103, 101, '0,100,101', '研发部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2026-05-27 10:56:53', '', NULL);
INSERT INTO `sys_dept` VALUES (104, 101, '0,100,101', '市场部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2026-05-27 10:56:53', '', NULL);
INSERT INTO `sys_dept` VALUES (105, 101, '0,100,101', '测试部门', 3, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2026-05-27 10:56:53', '', NULL);
INSERT INTO `sys_dept` VALUES (106, 101, '0,100,101', '财务部门', 4, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2026-05-27 10:56:53', '', NULL);
INSERT INTO `sys_dept` VALUES (107, 101, '0,100,101', '运维部门', 5, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2026-05-27 10:56:53', '', NULL);
INSERT INTO `sys_dept` VALUES (108, 102, '0,100,102', '市场部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2026-05-27 10:56:53', '', NULL);
INSERT INTO `sys_dept` VALUES (109, 102, '0,100,102', '财务部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2026-05-27 10:56:53', '', NULL);

-- ----------------------------
-- Table structure for sys_dict_data
-- ----------------------------
DROP TABLE IF EXISTS `sys_dict_data`;
CREATE TABLE `sys_dict_data`  (
  `dict_code` bigint NOT NULL AUTO_INCREMENT COMMENT '字典编码',
  `dict_sort` int NULL DEFAULT 0 COMMENT '字典排序',
  `dict_label` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典标签',
  `dict_value` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典键值',
  `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典类型',
  `css_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '样式属性（其他样式扩展）',
  `list_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '表格回显样式',
  `is_default` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'N' COMMENT '是否默认（Y是 N否）',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '状态（0正常 1停用）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`dict_code`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典数据表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_dict_data
-- ----------------------------
INSERT INTO `sys_dict_data` VALUES (1, 1, '男', '0', 'sys_user_sex', '', '', 'Y', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '性别男');
INSERT INTO `sys_dict_data` VALUES (2, 2, '女', '1', 'sys_user_sex', '', '', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '性别女');
INSERT INTO `sys_dict_data` VALUES (3, 3, '未知', '2', 'sys_user_sex', '', '', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '性别未知');
INSERT INTO `sys_dict_data` VALUES (4, 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '显示菜单');
INSERT INTO `sys_dict_data` VALUES (5, 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '隐藏菜单');
INSERT INTO `sys_dict_data` VALUES (6, 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '正常状态');
INSERT INTO `sys_dict_data` VALUES (7, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '停用状态');
INSERT INTO `sys_dict_data` VALUES (8, 1, '正常', '0', 'sys_job_status', '', 'primary', 'Y', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '正常状态');
INSERT INTO `sys_dict_data` VALUES (9, 2, '暂停', '1', 'sys_job_status', '', 'danger', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '停用状态');
INSERT INTO `sys_dict_data` VALUES (10, 1, '默认', 'DEFAULT', 'sys_job_group', '', '', 'Y', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '默认分组');
INSERT INTO `sys_dict_data` VALUES (11, 2, '系统', 'SYSTEM', 'sys_job_group', '', '', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '系统分组');
INSERT INTO `sys_dict_data` VALUES (12, 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '系统默认是');
INSERT INTO `sys_dict_data` VALUES (13, 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '系统默认否');
INSERT INTO `sys_dict_data` VALUES (14, 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '通知');
INSERT INTO `sys_dict_data` VALUES (15, 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '公告');
INSERT INTO `sys_dict_data` VALUES (16, 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '正常状态');
INSERT INTO `sys_dict_data` VALUES (17, 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '关闭状态');
INSERT INTO `sys_dict_data` VALUES (18, 99, '其他', '0', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '其他操作');
INSERT INTO `sys_dict_data` VALUES (19, 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '新增操作');
INSERT INTO `sys_dict_data` VALUES (20, 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '修改操作');
INSERT INTO `sys_dict_data` VALUES (21, 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '删除操作');
INSERT INTO `sys_dict_data` VALUES (22, 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '授权操作');
INSERT INTO `sys_dict_data` VALUES (23, 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '导出操作');
INSERT INTO `sys_dict_data` VALUES (24, 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '导入操作');
INSERT INTO `sys_dict_data` VALUES (25, 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '强退操作');
INSERT INTO `sys_dict_data` VALUES (26, 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '生成操作');
INSERT INTO `sys_dict_data` VALUES (27, 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '清空操作');
INSERT INTO `sys_dict_data` VALUES (28, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '正常状态');
INSERT INTO `sys_dict_data` VALUES (29, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '停用状态');

-- ----------------------------
-- Table structure for sys_dict_type
-- ----------------------------
DROP TABLE IF EXISTS `sys_dict_type`;
CREATE TABLE `sys_dict_type`  (
  `dict_id` bigint NOT NULL AUTO_INCREMENT COMMENT '字典主键',
  `dict_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典名称',
  `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典类型',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '状态（0正常 1停用）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`dict_id`) USING BTREE,
  UNIQUE INDEX `dict_type`(`dict_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典类型表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_dict_type
-- ----------------------------
INSERT INTO `sys_dict_type` VALUES (1, '用户性别', 'sys_user_sex', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '用户性别列表');
INSERT INTO `sys_dict_type` VALUES (2, '菜单状态', 'sys_show_hide', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '菜单状态列表');
INSERT INTO `sys_dict_type` VALUES (3, '系统开关', 'sys_normal_disable', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '系统开关列表');
INSERT INTO `sys_dict_type` VALUES (4, '任务状态', 'sys_job_status', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '任务状态列表');
INSERT INTO `sys_dict_type` VALUES (5, '任务分组', 'sys_job_group', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '任务分组列表');
INSERT INTO `sys_dict_type` VALUES (6, '系统是否', 'sys_yes_no', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '系统是否列表');
INSERT INTO `sys_dict_type` VALUES (7, '通知类型', 'sys_notice_type', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '通知类型列表');
INSERT INTO `sys_dict_type` VALUES (8, '通知状态', 'sys_notice_status', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '通知状态列表');
INSERT INTO `sys_dict_type` VALUES (9, '操作类型', 'sys_oper_type', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '操作类型列表');
INSERT INTO `sys_dict_type` VALUES (10, '系统状态', 'sys_common_status', '0', 'admin', '2026-05-27 10:56:54', '', NULL, '登录状态列表');

-- ----------------------------
-- Table structure for sys_job
-- ----------------------------
DROP TABLE IF EXISTS `sys_job`;
CREATE TABLE `sys_job`  (
  `job_id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务ID',
  `job_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '任务名称',
  `job_group` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'DEFAULT' COMMENT '任务组名',
  `invoke_target` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调用目标字符串',
  `cron_expression` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'cron执行表达式',
  `misfire_policy` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '3' COMMENT '计划执行错误策略（1立即执行 2执行一次 3放弃执行）',
  `concurrent` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '1' COMMENT '是否并发执行（0允许 1禁止）',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '状态（0正常 1暂停）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注信息',
  PRIMARY KEY (`job_id`, `job_name`, `job_group`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务调度表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_job
-- ----------------------------
INSERT INTO `sys_job` VALUES (1, '系统默认（无参）', 'DEFAULT', 'ryTask.ryNoParams', '0/10 * * * * ?', '3', '1', '1', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_job` VALUES (2, '系统默认（有参）', 'DEFAULT', 'ryTask.ryParams(\'ry\')', '0/15 * * * * ?', '3', '1', '1', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_job` VALUES (3, '系统默认（多参）', 'DEFAULT', 'ryTask.ryMultipleParams(\'ry\', true, 2000L, 316.50D, 100)', '0/20 * * * * ?', '3', '1', '1', 'admin', '2026-05-27 10:56:54', '', NULL, '');

-- ----------------------------
-- Table structure for sys_job_log
-- ----------------------------
DROP TABLE IF EXISTS `sys_job_log`;
CREATE TABLE `sys_job_log`  (
  `job_log_id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务日志ID',
  `job_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '任务名称',
  `job_group` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '任务组名',
  `invoke_target` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调用目标字符串',
  `job_message` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '日志信息',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '执行状态（0正常 1失败）',
  `exception_info` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '异常信息',
  `start_time` datetime NULL DEFAULT NULL COMMENT '执行开始时间',
  `end_time` datetime NULL DEFAULT NULL COMMENT '执行结束时间',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`job_log_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务调度日志表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_job_log
-- ----------------------------

-- ----------------------------
-- Table structure for sys_logininfor
-- ----------------------------
DROP TABLE IF EXISTS `sys_logininfor`;
CREATE TABLE `sys_logininfor`  (
  `info_id` bigint NOT NULL AUTO_INCREMENT COMMENT '访问ID',
  `user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户账号',
  `ipaddr` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '登录IP地址',
  `login_location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '登录地点',
  `browser` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '浏览器类型',
  `os` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '操作系统',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '登录状态（0成功 1失败）',
  `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '提示消息',
  `login_time` datetime NULL DEFAULT NULL COMMENT '访问时间',
  PRIMARY KEY (`info_id`) USING BTREE,
  INDEX `idx_sys_logininfor_s`(`status` ASC) USING BTREE,
  INDEX `idx_sys_logininfor_lt`(`login_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 153 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_logininfor
-- ----------------------------
INSERT INTO `sys_logininfor` VALUES (100, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '1', '验证码错误', '2026-05-27 12:12:25');
INSERT INTO `sys_logininfor` VALUES (101, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-05-27 12:12:28');
INSERT INTO `sys_logininfor` VALUES (102, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-05-27 13:31:40');
INSERT INTO `sys_logininfor` VALUES (103, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-05-27 15:37:31');
INSERT INTO `sys_logininfor` VALUES (104, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '1', '验证码已失效', '2026-05-27 17:22:40');
INSERT INTO `sys_logininfor` VALUES (105, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '1', '验证码已失效', '2026-05-27 17:44:47');
INSERT INTO `sys_logininfor` VALUES (106, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '1', '验证码错误', '2026-05-27 17:44:59');
INSERT INTO `sys_logininfor` VALUES (107, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-05-27 17:45:02');
INSERT INTO `sys_logininfor` VALUES (108, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '1', '验证码错误', '2026-05-27 18:37:53');
INSERT INTO `sys_logininfor` VALUES (109, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-05-27 18:37:56');
INSERT INTO `sys_logininfor` VALUES (110, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-05-27 19:14:31');
INSERT INTO `sys_logininfor` VALUES (111, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-05-27 19:51:45');
INSERT INTO `sys_logininfor` VALUES (112, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-05-28 06:45:22');
INSERT INTO `sys_logininfor` VALUES (113, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-05-28 08:18:59');
INSERT INTO `sys_logininfor` VALUES (114, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '1', '验证码已失效', '2026-05-28 16:51:31');
INSERT INTO `sys_logininfor` VALUES (115, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-05-28 16:51:35');
INSERT INTO `sys_logininfor` VALUES (116, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-05-28 17:57:15');
INSERT INTO `sys_logininfor` VALUES (117, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-05-29 03:33:26');
INSERT INTO `sys_logininfor` VALUES (118, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '1', '验证码已失效', '2026-05-29 08:59:16');
INSERT INTO `sys_logininfor` VALUES (119, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-05-29 08:59:19');
INSERT INTO `sys_logininfor` VALUES (120, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-05-29 10:44:22');
INSERT INTO `sys_logininfor` VALUES (121, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '1', '验证码错误', '2026-05-29 17:46:13');
INSERT INTO `sys_logininfor` VALUES (122, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-05-29 17:46:14');
INSERT INTO `sys_logininfor` VALUES (123, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '1', '验证码错误', '2026-05-29 19:18:47');
INSERT INTO `sys_logininfor` VALUES (124, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-05-29 19:18:49');
INSERT INTO `sys_logininfor` VALUES (125, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-05-29 21:08:13');
INSERT INTO `sys_logininfor` VALUES (126, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-06-01 11:00:38');
INSERT INTO `sys_logininfor` VALUES (127, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '1', '验证码已失效', '2026-06-01 12:18:05');
INSERT INTO `sys_logininfor` VALUES (128, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-06-01 12:18:07');
INSERT INTO `sys_logininfor` VALUES (129, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '1', '验证码错误', '2026-06-01 15:08:07');
INSERT INTO `sys_logininfor` VALUES (130, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-06-01 15:08:11');
INSERT INTO `sys_logininfor` VALUES (131, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-06-01 16:00:10');
INSERT INTO `sys_logininfor` VALUES (132, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-06-01 16:32:19');
INSERT INTO `sys_logininfor` VALUES (133, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-06-01 20:04:18');
INSERT INTO `sys_logininfor` VALUES (134, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-06-02 14:21:51');
INSERT INTO `sys_logininfor` VALUES (135, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '退出成功', '2026-06-02 14:49:08');
INSERT INTO `sys_logininfor` VALUES (136, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-06-02 14:49:38');
INSERT INTO `sys_logininfor` VALUES (137, 'admin', '127.0.0.1', '内网IP', 'Curl 7.65.3', '', '1', '验证码已失效', '2026-06-02 15:02:02');
INSERT INTO `sys_logininfor` VALUES (138, 'admin', '127.0.0.1', '内网IP', 'Curl 7.65.3', '', '1', '验证码已失效', '2026-06-02 15:02:08');
INSERT INTO `sys_logininfor` VALUES (139, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-06-02 16:38:10');
INSERT INTO `sys_logininfor` VALUES (140, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-06-02 17:15:08');
INSERT INTO `sys_logininfor` VALUES (141, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-06-02 18:01:21');
INSERT INTO `sys_logininfor` VALUES (142, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-06-03 11:00:26');
INSERT INTO `sys_logininfor` VALUES (143, 'admin', '127.0.0.1', '内网IP', 'Curl 7.65.3', '', '1', '验证码已失效', '2026-06-03 11:04:53');
INSERT INTO `sys_logininfor` VALUES (144, 'admin', '127.0.0.1', '内网IP', 'Curl 7.65.3', '', '1', '验证码已失效', '2026-06-03 14:02:54');
INSERT INTO `sys_logininfor` VALUES (145, 'admin', '127.0.0.1', '内网IP', 'Curl 7.65.3', '', '0', '登录成功', '2026-06-03 14:15:02');
INSERT INTO `sys_logininfor` VALUES (146, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-06-03 14:15:04');
INSERT INTO `sys_logininfor` VALUES (147, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '退出成功', '2026-06-03 14:22:42');
INSERT INTO `sys_logininfor` VALUES (148, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-06-03 14:23:37');
INSERT INTO `sys_logininfor` VALUES (149, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-06-03 18:36:59');
INSERT INTO `sys_logininfor` VALUES (150, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '退出成功', '2026-06-03 18:37:18');
INSERT INTO `sys_logininfor` VALUES (151, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '1', '验证码错误', '2026-06-03 18:38:36');
INSERT INTO `sys_logininfor` VALUES (152, 'admin', '127.0.0.1', '内网IP', 'Edge 135', 'Windows >=10', '0', '登录成功', '2026-06-03 18:38:40');

-- ----------------------------
-- Table structure for sys_menu
-- ----------------------------
DROP TABLE IF EXISTS `sys_menu`;
CREATE TABLE `sys_menu`  (
  `menu_id` bigint NOT NULL AUTO_INCREMENT COMMENT '菜单ID',
  `menu_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单名称',
  `parent_id` bigint NULL DEFAULT 0 COMMENT '父菜单ID',
  `order_num` int NULL DEFAULT 0 COMMENT '显示顺序',
  `path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '路由地址',
  `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件路径',
  `query` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路由参数',
  `route_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '路由名称',
  `is_frame` int NULL DEFAULT 1 COMMENT '是否为外链（0是 1否）',
  `is_cache` int NULL DEFAULT 0 COMMENT '是否缓存（0缓存 1不缓存）',
  `menu_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '菜单类型（M目录 C菜单 F按钮）',
  `visible` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '菜单状态（0显示 1隐藏）',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '菜单状态（0正常 1停用）',
  `perms` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限标识',
  `icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '#' COMMENT '菜单图标',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
  PRIMARY KEY (`menu_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2068 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '菜单权限表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_menu
-- ----------------------------
INSERT INTO `sys_menu` VALUES (1, '系统管理', 0, 1, 'system', NULL, '', '', 1, 0, 'M', '0', '0', '', 'system', 'admin', '2026-05-27 10:56:53', '', NULL, '系统管理目录');
INSERT INTO `sys_menu` VALUES (2, '系统监控', 0, 2, 'monitor', NULL, '', '', 1, 0, 'M', '0', '0', '', 'monitor', 'admin', '2026-05-27 10:56:53', '', NULL, '系统监控目录');
INSERT INTO `sys_menu` VALUES (3, '系统工具', 0, 3, 'tool', NULL, '', '', 1, 0, 'M', '0', '0', '', 'tool', 'admin', '2026-05-27 10:56:53', '', NULL, '系统工具目录');
INSERT INTO `sys_menu` VALUES (4, '若依官网', 0, 4, 'http://ruoyi.vip', NULL, '', '', 0, 0, 'M', '0', '1', '', 'guide', 'admin', '2026-05-27 10:56:53', 'admin', '2026-05-28 06:45:42', '若依官网地址');
INSERT INTO `sys_menu` VALUES (100, '用户管理', 1, 1, 'user', 'system/user/index', '', '', 1, 0, 'C', '0', '0', 'system:user:list', 'user', 'admin', '2026-05-27 10:56:53', '', NULL, '用户管理菜单');
INSERT INTO `sys_menu` VALUES (101, '角色管理', 1, 2, 'role', 'system/role/index', '', '', 1, 0, 'C', '0', '0', 'system:role:list', 'peoples', 'admin', '2026-05-27 10:56:53', '', NULL, '角色管理菜单');
INSERT INTO `sys_menu` VALUES (102, '菜单管理', 1, 3, 'menu', 'system/menu/index', '', '', 1, 0, 'C', '0', '0', 'system:menu:list', 'tree-table', 'admin', '2026-05-27 10:56:53', '', NULL, '菜单管理菜单');
INSERT INTO `sys_menu` VALUES (103, '部门管理', 1, 4, 'dept', 'system/dept/index', '', '', 1, 0, 'C', '0', '0', 'system:dept:list', 'tree', 'admin', '2026-05-27 10:56:53', '', NULL, '部门管理菜单');
INSERT INTO `sys_menu` VALUES (104, '岗位管理', 1, 5, 'post', 'system/post/index', '', '', 1, 0, 'C', '0', '0', 'system:post:list', 'post', 'admin', '2026-05-27 10:56:53', '', NULL, '岗位管理菜单');
INSERT INTO `sys_menu` VALUES (105, '字典管理', 1, 6, 'dict', 'system/dict/index', '', '', 1, 0, 'C', '0', '0', 'system:dict:list', 'dict', 'admin', '2026-05-27 10:56:53', '', NULL, '字典管理菜单');
INSERT INTO `sys_menu` VALUES (106, '参数设置', 1, 7, 'config', 'system/config/index', '', '', 1, 0, 'C', '0', '0', 'system:config:list', 'edit', 'admin', '2026-05-27 10:56:53', '', NULL, '参数设置菜单');
INSERT INTO `sys_menu` VALUES (107, '通知公告', 1, 8, 'notice', 'system/notice/index', '', '', 1, 0, 'C', '0', '0', 'system:notice:list', 'message', 'admin', '2026-05-27 10:56:53', '', NULL, '通知公告菜单');
INSERT INTO `sys_menu` VALUES (108, '日志管理', 1, 9, 'log', '', '', '', 1, 0, 'M', '0', '0', '', 'log', 'admin', '2026-05-27 10:56:53', '', NULL, '日志管理菜单');
INSERT INTO `sys_menu` VALUES (109, '在线用户', 2, 1, 'online', 'monitor/online/index', '', '', 1, 0, 'C', '0', '0', 'monitor:online:list', 'online', 'admin', '2026-05-27 10:56:53', '', NULL, '在线用户菜单');
INSERT INTO `sys_menu` VALUES (110, '定时任务', 2, 2, 'job', 'monitor/job/index', '', '', 1, 0, 'C', '0', '0', 'monitor:job:list', 'job', 'admin', '2026-05-27 10:56:53', '', NULL, '定时任务菜单');
INSERT INTO `sys_menu` VALUES (111, '数据监控', 2, 3, 'druid', 'monitor/druid/index', '', '', 1, 0, 'C', '0', '0', 'monitor:druid:list', 'druid', 'admin', '2026-05-27 10:56:53', '', NULL, '数据监控菜单');
INSERT INTO `sys_menu` VALUES (112, '服务监控', 2, 4, 'server', 'monitor/server/index', '', '', 1, 0, 'C', '0', '0', 'monitor:server:list', 'server', 'admin', '2026-05-27 10:56:53', '', NULL, '服务监控菜单');
INSERT INTO `sys_menu` VALUES (113, '缓存监控', 2, 5, 'cache', 'monitor/cache/index', '', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis', 'admin', '2026-05-27 10:56:54', '', NULL, '缓存监控菜单');
INSERT INTO `sys_menu` VALUES (114, '缓存列表', 2, 6, 'cacheList', 'monitor/cache/list', '', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis-list', 'admin', '2026-05-27 10:56:54', '', NULL, '缓存列表菜单');
INSERT INTO `sys_menu` VALUES (115, '表单构建', 3, 1, 'build', 'tool/build/index', '', '', 1, 0, 'C', '0', '0', 'tool:build:list', 'build', 'admin', '2026-05-27 10:56:54', '', NULL, '表单构建菜单');
INSERT INTO `sys_menu` VALUES (116, '代码生成', 3, 2, 'gen', 'tool/gen/index', '', '', 1, 0, 'C', '0', '0', 'tool:gen:list', 'code', 'admin', '2026-05-27 10:56:54', '', NULL, '代码生成菜单');
INSERT INTO `sys_menu` VALUES (117, '系统接口', 3, 3, 'swagger', 'tool/swagger/index', '', '', 1, 0, 'C', '0', '0', 'tool:swagger:list', 'swagger', 'admin', '2026-05-27 10:56:54', '', NULL, '系统接口菜单');
INSERT INTO `sys_menu` VALUES (500, '操作日志', 108, 1, 'operlog', 'monitor/operlog/index', '', '', 1, 0, 'C', '0', '0', 'monitor:operlog:list', 'form', 'admin', '2026-05-27 10:56:54', '', NULL, '操作日志菜单');
INSERT INTO `sys_menu` VALUES (501, '登录日志', 108, 2, 'logininfor', 'monitor/logininfor/index', '', '', 1, 0, 'C', '0', '0', 'monitor:logininfor:list', 'logininfor', 'admin', '2026-05-27 10:56:54', '', NULL, '登录日志菜单');
INSERT INTO `sys_menu` VALUES (1000, '用户查询', 100, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:query', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1001, '用户新增', 100, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:add', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1002, '用户修改', 100, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:edit', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1003, '用户删除', 100, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:remove', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1004, '用户导出', 100, 5, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:export', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1005, '用户导入', 100, 6, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:import', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1006, '重置密码', 100, 7, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:resetPwd', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1007, '角色查询', 101, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1008, '角色新增', 101, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1009, '角色修改', 101, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1010, '角色删除', 101, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1011, '角色导出', 101, 5, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1012, '菜单查询', 102, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1013, '菜单新增', 102, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1014, '菜单修改', 102, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1015, '菜单删除', 102, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1016, '部门查询', 103, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:query', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1017, '部门新增', 103, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:add', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1018, '部门修改', 103, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:edit', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1019, '部门删除', 103, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:remove', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1020, '岗位查询', 104, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:query', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1021, '岗位新增', 104, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:add', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1022, '岗位修改', 104, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:edit', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1023, '岗位删除', 104, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:remove', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1024, '岗位导出', 104, 5, '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:export', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1025, '字典查询', 105, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:query', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1026, '字典新增', 105, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:add', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1027, '字典修改', 105, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1028, '字典删除', 105, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1029, '字典导出', 105, 5, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:export', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1030, '参数查询', 106, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:query', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1031, '参数新增', 106, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:add', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1032, '参数修改', 106, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:edit', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1033, '参数删除', 106, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:remove', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1034, '参数导出', 106, 5, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:export', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1035, '公告查询', 107, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:query', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1036, '公告新增', 107, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:add', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1037, '公告修改', 107, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:edit', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1038, '公告删除', 107, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:remove', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1039, '操作查询', 500, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:query', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1040, '操作删除', 500, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:remove', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1041, '日志导出', 500, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:export', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1042, '登录查询', 501, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:query', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1043, '登录删除', 501, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:remove', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1044, '日志导出', 501, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:export', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1045, '账户解锁', 501, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:unlock', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1046, '在线查询', 109, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:online:query', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1047, '批量强退', 109, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:online:batchLogout', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1048, '单条强退', 109, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:online:forceLogout', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1049, '任务查询', 110, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:query', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1050, '任务新增', 110, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:add', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1051, '任务修改', 110, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:edit', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1052, '任务删除', 110, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:remove', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1053, '状态修改', 110, 5, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:changeStatus', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1054, '任务导出', 110, 6, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:export', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1055, '生成查询', 116, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:query', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1056, '生成修改', 116, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:edit', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1057, '生成删除', 116, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:remove', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1058, '导入代码', 116, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:import', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1059, '预览代码', 116, 5, '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:preview', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1060, '生成代码', 116, 6, '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:code', '#', 'admin', '2026-05-27 10:56:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2000, '智慧报价', 0, 5, 'bid', NULL, NULL, '', 1, 0, 'M', '0', '0', '', '#', 'admin', '2026-05-27 10:56:59', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2001, '物料管理', 2000, 1, 'material', 'bid/material/index', NULL, '', 1, 0, 'C', '0', '0', 'bid:material:list', 'component', 'admin', '2026-05-27 10:56:59', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2002, '供应商管理', 2000, 2, 'supplier', 'bid/supplier/index', NULL, '', 1, 0, 'C', '0', '0', 'bid:supplier:list', 'user', 'admin', '2026-05-27 10:56:59', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2003, '报价请求', 2000, 3, 'rfq', 'bid/rfq/index', NULL, '', 1, 0, 'C', '0', '0', 'bid:rfq:list', 'form', 'admin', '2026-05-27 10:56:59', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2004, '供应商报价', 2000, 4, 'quotation', 'bid/quotation/index', NULL, '', 1, 0, 'C', '0', '0', 'bid:quotation:list', 'money', 'admin', '2026-05-27 10:56:59', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2005, '智慧比价', 2000, 5, 'comparison', 'bid/comparison/index', NULL, '', 1, 0, 'C', '0', '0', 'bid:comparison:list', 'chart', 'admin', '2026-05-27 10:56:59', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2006, '采购单', 2000, 6, 'purchaseorder', 'bid/purchaseorder/index', NULL, '', 1, 0, 'C', '0', '0', 'bid:purchaseorder:list', 'shopping', 'admin', '2026-05-27 10:56:59', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2007, '供应商评价', 2000, 7, 'evaluation', 'bid/evaluation/index', NULL, '', 1, 0, 'C', '0', '0', 'bid:evaluation:list', 'star', 'admin', '2026-05-27 10:56:59', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2008, '订单异议', 2000, 8, 'objection', 'bid/objection/index', NULL, '', 1, 0, 'C', '0', '0', 'bid:objection:list', 'warning', 'admin', '2026-05-27 10:56:59', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2009, '交易记录', 2000, 9, 'transaction', 'bid/transaction/index', NULL, '', 1, 0, 'C', '0', '0', 'bid:transaction:list', 'list', 'admin', '2026-05-27 10:56:59', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2010, '租户管理', 2000, 10, 'tenant', 'bid/tenant/index', NULL, '', 1, 0, 'C', '0', '0', 'bid:tenant:list', 'peoples', 'admin', '2026-05-27 10:56:59', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2011, '物料详情', 2001, 1, 'detail', 'bid/material/detail', NULL, '', 1, 0, 'C', '1', '0', 'bid:material:detail', '#', 'admin', '2026-05-27 15:45:23', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2012, '物料新增', 2001, 2, 'add', 'bid/material/add', NULL, '', 1, 0, 'C', '1', '0', 'bid:material:add', '#', 'admin', '2026-05-27 16:06:01', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2013, '物料修改', 2001, 3, 'edit', 'bid/material/edit', NULL, '', 1, 0, 'C', '1', '0', 'bid:material:edit', '#', 'admin', '2026-05-27 16:06:01', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2019, '统计分析', 2000, 0, 'report', NULL, NULL, '', 1, 0, 'M', '0', '0', 'bid:report:list', 'chart', 'admin', '2026-06-03 04:30:55', 'admin', '2026-06-03 13:54:54', '');
INSERT INTO `sys_menu` VALUES (2020, '采购总览', 2019, 1, 'dashboard', 'bid/report/dashboard', NULL, '', 1, 0, 'C', '0', '0', 'bid:report:dashboard', 'dashboard', 'admin', '2026-06-03 04:30:55', 'admin', '2026-06-03 13:53:46', '');
INSERT INTO `sys_menu` VALUES (2021, '成本分析', 2019, 2, 'cost', 'bid/report/cost', NULL, '', 1, 0, 'C', '0', '0', 'bid:report:cost', 'money', 'admin', '2026-06-03 04:30:55', 'admin', '2026-06-03 13:53:54', '');
INSERT INTO `sys_menu` VALUES (2022, '供应商绩效', 2019, 3, 'supplier', 'bid/report/supplier', NULL, '', 1, 0, 'C', '0', '0', 'bid:report:supplier', 'star', 'admin', '2026-06-03 04:30:55', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2051, '比价详情', 2005, 1, 'detail', 'bid/comparison/detail', NULL, '', 1, 0, 'C', '1', '0', 'bid:comparison:detail', '#', 'admin', '2026-05-27 13:38:40', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2060, '甲方报价目录', 2000, 5, 'clientquote', NULL, NULL, '', 1, 0, 'M', '0', '1', '', 'el-icon-document-copy', 'admin', '2026-06-01 05:00:56', 'admin', '2026-06-02 14:58:30', '甲方报价管理模块');
INSERT INTO `sys_menu` VALUES (2061, '甲方报价', 2000, 5, 'index', 'bid/clientquote/index', NULL, '', 1, 0, 'C', '0', '0', 'bid:clientquote:list', 'money', 'admin', '2026-06-01 05:00:56', 'admin', '2026-06-02 14:58:41', '甲方报价历史记录');
INSERT INTO `sys_menu` VALUES (2064, '查询', 2061, 1, '#', NULL, NULL, '', 1, 0, 'F', '0', '0', 'bid:clientquote:query', '#', 'admin', '2026-06-01 05:00:56', 'admin', '2026-06-01 05:00:56', '');
INSERT INTO `sys_menu` VALUES (2065, '新增', 2061, 2, '#', NULL, NULL, '', 1, 0, 'F', '0', '0', 'bid:clientquote:add', '#', 'admin', '2026-06-01 05:00:56', 'admin', '2026-06-01 05:00:56', '');
INSERT INTO `sys_menu` VALUES (2066, '修改', 2061, 3, '#', NULL, NULL, '', 1, 0, 'F', '0', '0', 'bid:clientquote:edit', '#', 'admin', '2026-06-01 05:00:56', 'admin', '2026-06-01 05:00:56', '');
INSERT INTO `sys_menu` VALUES (2067, '删除', 2061, 4, '#', NULL, NULL, '', 1, 0, 'F', '0', '0', 'bid:clientquote:remove', '#', 'admin', '2026-06-01 05:00:56', 'admin', '2026-06-01 05:00:56', '');

-- ----------------------------
-- Table structure for sys_notice
-- ----------------------------
DROP TABLE IF EXISTS `sys_notice`;
CREATE TABLE `sys_notice`  (
  `notice_id` int NOT NULL AUTO_INCREMENT COMMENT '公告ID',
  `notice_title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公告标题',
  `notice_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公告类型（1通知 2公告）',
  `notice_content` longblob NULL COMMENT '公告内容',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '公告状态（0正常 1关闭）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`notice_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '通知公告表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_notice
-- ----------------------------
INSERT INTO `sys_notice` VALUES (1, '温馨提醒：2018-07-01 若依新版本发布啦', '2', 0xE696B0E78988E69CACE58685E5AEB9, '0', 'admin', '2026-05-27 10:56:54', '', NULL, '管理员');
INSERT INTO `sys_notice` VALUES (2, '维护通知：2018-07-01 若依系统凌晨维护', '1', 0xE7BBB4E68AA4E58685E5AEB9, '0', 'admin', '2026-05-27 10:56:54', '', NULL, '管理员');
INSERT INTO `sys_notice` VALUES (3, '若依开源框架介绍', '1', 0x3C703E3C7370616E207374796C653D22636F6C6F723A20726762283233302C20302C2030293B223EE9A1B9E79BAEE4BB8BE7BB8D3C2F7370616E3E3C2F703E3C703E3C666F6E7420636F6C6F723D2223333333333333223E52756F5969E5BC80E6BA90E9A1B9E79BAEE698AFE4B8BAE4BC81E4B89AE794A8E688B7E5AE9AE588B6E79A84E5908EE58FB0E8849AE6898BE69EB6E6A186E69EB6EFBC8CE4B8BAE4BC81E4B89AE68993E980A0E79A84E4B880E7AB99E5BC8FE8A7A3E586B3E696B9E6A188EFBC8CE9998DE4BD8EE4BC81E4B89AE5BC80E58F91E68890E69CACEFBC8CE68F90E58D87E5BC80E58F91E69588E78E87E38082E4B8BBE8A681E58C85E68BACE794A8E688B7E7AEA1E79086E38081E8A792E889B2E7AEA1E79086E38081E983A8E997A8E7AEA1E79086E38081E88F9CE58D95E7AEA1E79086E38081E58F82E695B0E7AEA1E79086E38081E5AD97E585B8E7AEA1E79086E380813C2F666F6E743E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE5B297E4BD8DE7AEA1E790863C2F7370616E3E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE38081E5AE9AE697B6E4BBBBE58AA13C2F7370616E3E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE380813C2F7370616E3E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE69C8DE58AA1E79B91E68EA7E38081E799BBE5BD95E697A5E5BF97E38081E6938DE4BD9CE697A5E5BF97E38081E4BBA3E7A081E7949FE68890E7AD89E58A9FE883BDE38082E585B6E4B8ADEFBC8CE8BF98E694AFE68C81E5A49AE695B0E68DAEE6BA90E38081E695B0E68DAEE69D83E99990E38081E59BBDE99985E58C96E380815265646973E7BC93E5AD98E38081446F636B6572E983A8E7BDB2E38081E6BB91E58AA8E9AA8CE8AF81E7A081E38081E7ACACE4B889E696B9E8AEA4E8AF81E799BBE5BD95E38081E58886E5B883E5BC8FE4BA8BE58AA1E380813C2F7370616E3E3C666F6E7420636F6C6F723D2223333333333333223EE58886E5B883E5BC8FE69687E4BBB6E5AD98E582A83C2F666F6E743E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE38081E58886E5BA93E58886E8A1A8E5A484E79086E7AD89E68A80E69CAFE789B9E782B9E380823C2F7370616E3E3C2F703E3C703E3C696D67207372633D2268747470733A2F2F666F727564612E67697465652E636F6D2F696D616765732F313737333933313834383334323433393033322F61346432323331335F313831353039352E706E6722207374796C653D2277696474683A20363470783B223E3C62723E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A20726762283233302C20302C2030293B223EE5AE98E7BD91E58F8AE6BC94E7A4BA3C2F7370616E3E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE88BA5E4BE9DE5AE98E7BD91E59CB0E59D80EFBC9A266E6273703B3C2F7370616E3E3C6120687265663D22687474703A2F2F72756F79692E76697022207461726765743D225F626C616E6B223E687474703A2F2F72756F79692E7669703C2F613E3C6120687265663D22687474703A2F2F72756F79692E76697022207461726765743D225F626C616E6B223E3C2F613E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE88BA5E4BE9DE69687E6A1A3E59CB0E59D80EFBC9A266E6273703B3C2F7370616E3E3C6120687265663D22687474703A2F2F646F632E72756F79692E76697022207461726765743D225F626C616E6B223E687474703A2F2F646F632E72756F79692E7669703C2F613E3C62723E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE6BC94E7A4BAE59CB0E59D80E38090E4B88DE58886E7A6BBE78988E38091EFBC9A266E6273703B3C2F7370616E3E3C6120687265663D22687474703A2F2F64656D6F2E72756F79692E76697022207461726765743D225F626C616E6B223E687474703A2F2F64656D6F2E72756F79692E7669703C2F613E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE6BC94E7A4BAE59CB0E59D80E38090E58886E7A6BBE78988E69CACE38091EFBC9A266E6273703B3C2F7370616E3E3C6120687265663D22687474703A2F2F7675652E72756F79692E76697022207461726765743D225F626C616E6B223E687474703A2F2F7675652E72756F79692E7669703C2F613E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE6BC94E7A4BAE59CB0E59D80E38090E5BEAEE69C8DE58AA1E78988E38091EFBC9A266E6273703B3C2F7370616E3E3C6120687265663D22687474703A2F2F636C6F75642E72756F79692E76697022207461726765743D225F626C616E6B223E687474703A2F2F636C6F75642E72756F79692E7669703C2F613E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE6BC94E7A4BAE59CB0E59D80E38090E7A7BBE58AA8E7ABAFE78988E38091EFBC9A266E6273703B3C2F7370616E3E3C6120687265663D22687474703A2F2F68352E72756F79692E76697022207461726765743D225F626C616E6B223E687474703A2F2F68352E72756F79692E7669703C2F613E3C2F703E3C703E3C6272207374796C653D22636F6C6F723A207267622834382C2034392C203531293B20666F6E742D66616D696C793A202671756F743B48656C766574696361204E6575652671756F743B2C2048656C7665746963612C20417269616C2C2073616E732D73657269663B20666F6E742D73697A653A20313270783B223E3C2F703E, '0', 'admin', '2026-05-27 10:56:54', '', NULL, '管理员');

-- ----------------------------
-- Table structure for sys_notice_read
-- ----------------------------
DROP TABLE IF EXISTS `sys_notice_read`;
CREATE TABLE `sys_notice_read`  (
  `read_id` bigint NOT NULL AUTO_INCREMENT COMMENT '已读主键',
  `notice_id` int NOT NULL COMMENT '公告id',
  `user_id` bigint NOT NULL COMMENT '用户id',
  `read_time` datetime NOT NULL COMMENT '阅读时间',
  PRIMARY KEY (`read_id`) USING BTREE,
  UNIQUE INDEX `uk_user_notice`(`user_id` ASC, `notice_id` ASC) USING BTREE COMMENT '同一用户同一公告只记录一次'
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '公告已读记录表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_notice_read
-- ----------------------------

-- ----------------------------
-- Table structure for sys_oper_log
-- ----------------------------
DROP TABLE IF EXISTS `sys_oper_log`;
CREATE TABLE `sys_oper_log`  (
  `oper_id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志主键',
  `title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '模块标题',
  `business_type` int NULL DEFAULT 0 COMMENT '业务类型（0其它 1新增 2修改 3删除）',
  `method` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '方法名称',
  `request_method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '请求方式',
  `operator_type` int NULL DEFAULT 0 COMMENT '操作类别（0其它 1后台用户 2手机端用户）',
  `oper_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '操作人员',
  `dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '部门名称',
  `oper_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '请求URL',
  `oper_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '主机地址',
  `oper_location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '操作地点',
  `oper_param` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '请求参数',
  `json_result` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '返回参数',
  `status` int NULL DEFAULT 0 COMMENT '操作状态（0正常 1异常）',
  `error_msg` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '错误消息',
  `oper_time` datetime NULL DEFAULT NULL COMMENT '操作时间',
  `cost_time` bigint NULL DEFAULT 0 COMMENT '消耗时间',
  PRIMARY KEY (`oper_id`) USING BTREE,
  INDEX `idx_sys_oper_log_bt`(`business_type` ASC) USING BTREE,
  INDEX `idx_sys_oper_log_s`(`status` ASC) USING BTREE,
  INDEX `idx_sys_oper_log_ot`(`oper_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 121 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志记录' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_oper_log
-- ----------------------------
INSERT INTO `sys_oper_log` VALUES (100, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '研发部门', '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"createTime\":\"2026-05-27 10:56:53\",\"icon\":\"guide\",\"isCache\":\"0\",\"isFrame\":\"0\",\"menuId\":4,\"menuName\":\"若依官网\",\"menuType\":\"M\",\"orderNum\":4,\"params\":{},\"parentId\":0,\"path\":\"http://ruoyi.vip\",\"perms\":\"\",\"query\":\"\",\"routeName\":\"\",\"status\":\"1\",\"updateBy\":\"admin\",\"visible\":\"0\"} ', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2026-05-28 06:45:42', 36);
INSERT INTO `sys_oper_log` VALUES (101, '物料管理', 1, 'com.ruoyi.web.controller.bid.BizMaterialController.add()', 'POST', 1, 'admin', '研发部门', '/bid/material', '127.0.0.1', '内网IP', '{\"createBy\":\"admin\",\"materialCode\":\"M-EL-003-1\",\"materialName\":\"PLC控制器\",\"params\":{},\"status\":\"0\"} ', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLIntegrityConstraintViolationException: Column \'tenant_id\' cannot be null\r\n### The error may exist in file [D:\\DeXun_workspace\\projects\\erp-next\\ruoyi-system\\target\\classes\\mapper\\bid\\BizMaterialMapper.xml]\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: INSERT INTO biz_material(tenant_id,category_id,material_code,material_name,spec,unit,brand,       description,status,performance_params,material,purpose,image_url,create_by,create_time)     VALUES(?,?,?,?,?,?,?,       ?,?,?,?,?,?,?,NOW())\r\n### Cause: java.sql.SQLIntegrityConstraintViolationException: Column \'tenant_id\' cannot be null\n; Column \'tenant_id\' cannot be null', '2026-05-29 09:21:31', 177);
INSERT INTO `sys_oper_log` VALUES (102, '物料管理', 1, 'com.ruoyi.web.controller.bid.BizMaterialController.add()', 'POST', 1, 'admin', '研发部门', '/bid/material', '127.0.0.1', '内网IP', '{\"brand\":\"三菱FX/iQ-R 系列\",\"createBy\":\"admin\",\"materialCode\":\"M-EL-003-1\",\"materialId\":11,\"materialName\":\"PLC控制器\",\"params\":{},\"spec\":\"I/O 模块：连接传感器、执行器（数字量/模拟量输入输出）\",\"status\":\"0\",\"tenantId\":103} ', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2026-05-29 09:43:31', 135);
INSERT INTO `sys_oper_log` VALUES (103, '物料管理', 2, 'com.ruoyi.web.controller.bid.BizMaterialController.edit()', 'PUT', 1, 'admin', '研发部门', '/bid/material', '127.0.0.1', '内网IP', '{\"brand\":\"三菱FX/iQ-R 系列\",\"createBy\":\"admin\",\"createTime\":\"2026-05-29 09:43:31\",\"materialCode\":\"M-EL-003-1\",\"materialId\":11,\"materialName\":\"PLC控制器\",\"params\":{},\"performanceParams\":\"[]\",\"spec\":\"I/O 模块：连接传感器、执行器（数字量/模拟量输入输出）\",\"status\":\"0\",\"tenantId\":103,\"unit\":\"套\",\"updateBy\":\"admin\"} ', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2026-05-29 09:44:42', 14);
INSERT INTO `sys_oper_log` VALUES (104, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '研发部门', '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"component\":\"bid/clientquote/index\",\"createTime\":\"2026-06-01 05:00:56\",\"icon\":\"money\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2063,\"menuName\":\"甲方报价列表\",\"menuType\":\"C\",\"orderNum\":3,\"params\":{},\"parentId\":2000,\"path\":\"index\",\"perms\":\"bid:clientquote:list\",\"routeName\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"} ', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2026-06-01 11:22:25', 36);
INSERT INTO `sys_oper_log` VALUES (105, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '研发部门', '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"component\":\"bid/clientquote/history/index\",\"createTime\":\"2026-06-01 05:00:56\",\"icon\":\"el-icon-document-copy\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2061,\"menuName\":\"甲方报价历史\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2060,\"path\":\"history\",\"perms\":\"bid:clientquote:history\",\"routeName\":\"\",\"status\":\"1\",\"updateBy\":\"admin\",\"visible\":\"0\"} ', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2026-06-01 11:22:34', 13);
INSERT INTO `sys_oper_log` VALUES (106, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '研发部门', '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"component\":\"bid/clientquote/index\",\"createTime\":\"2026-06-01 05:00:56\",\"icon\":\"money\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2063,\"menuName\":\"甲方报价列表\",\"menuType\":\"C\",\"orderNum\":3,\"params\":{},\"parentId\":2000,\"path\":\"index\",\"perms\":\"bid:clientquote:list\",\"routeName\":\"\",\"status\":\"1\",\"updateBy\":\"admin\",\"visible\":\"0\"} ', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2026-06-01 11:23:13', 13);
INSERT INTO `sys_oper_log` VALUES (107, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '研发部门', '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"createTime\":\"2026-06-01 05:00:56\",\"icon\":\"el-icon-document-copy\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2060,\"menuName\":\"甲方报价\",\"menuType\":\"M\",\"orderNum\":5,\"params\":{},\"parentId\":2000,\"path\":\"clientquote\",\"perms\":\"\",\"routeName\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"} ', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2026-06-01 11:23:27', 13);
INSERT INTO `sys_oper_log` VALUES (108, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '研发部门', '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"component\":\"bid/clientquote/history/index\",\"createTime\":\"2026-06-01 05:00:56\",\"icon\":\"el-icon-document-copy\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2061,\"menuName\":\"甲方报价历史\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2060,\"path\":\"history\",\"perms\":\"bid:clientquote:history\",\"routeName\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"} ', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2026-06-01 11:23:36', 11);
INSERT INTO `sys_oper_log` VALUES (109, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '研发部门', '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"component\":\"bid/clientquote/index\",\"createTime\":\"2026-06-01 05:00:56\",\"icon\":\"money\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2063,\"menuName\":\"甲方报价列表\",\"menuType\":\"C\",\"orderNum\":3,\"params\":{},\"parentId\":2060,\"path\":\"index\",\"perms\":\"bid:clientquote:list\",\"routeName\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"} ', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2026-06-01 11:27:07', 19);
INSERT INTO `sys_oper_log` VALUES (110, '报价请求', 1, 'com.ruoyi.web.controller.bid.BizRfqController.createFromQuote()', 'POST', 1, 'admin', '研发部门', '/bid/rfq/create-from-quote/1', '127.0.0.1', '内网IP', '1 ', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLIntegrityConstraintViolationException: Column \'tenant_id\' cannot be null\r\n### The error may exist in file [D:\\DeXun_workspace\\projects\\erp-next\\ruoyi-system\\target\\classes\\mapper\\bid\\BizRfqMapper.xml]\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: INSERT INTO biz_rfq(tenant_id,rfq_no,rfq_title,deadline,delivery_addr,client_quote_id,status,remark,create_by,create_time)     VALUES(?,?,?,?,?,?,?,?,?,NOW())\r\n### Cause: java.sql.SQLIntegrityConstraintViolationException: Column \'tenant_id\' cannot be null\n; Column \'tenant_id\' cannot be null', '2026-06-02 14:28:27', 256);
INSERT INTO `sys_oper_log` VALUES (111, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '研发部门', '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"component\":\"bid/clientquote/index\",\"createTime\":\"2026-06-01 05:00:56\",\"icon\":\"money\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2061,\"menuName\":\"甲方报价\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2000,\"path\":\"index\",\"perms\":\"bid:clientquote:list\",\"routeName\":\"\",\"status\":\"0\",\"visible\":\"0\"} ', '{\"msg\":\"修改菜单\'甲方报价\'失败，菜单名称已存在\",\"code\":500}', 0, NULL, '2026-06-02 14:57:37', 16);
INSERT INTO `sys_oper_log` VALUES (112, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '研发部门', '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"component\":\"bid/clientquote/index\",\"createTime\":\"2026-06-01 05:00:56\",\"icon\":\"money\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2061,\"menuName\":\"甲方报价1\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2000,\"path\":\"index\",\"perms\":\"bid:clientquote:list\",\"routeName\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"} ', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2026-06-02 14:57:50', 16);
INSERT INTO `sys_oper_log` VALUES (113, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '研发部门', '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"createTime\":\"2026-06-01 05:00:56\",\"icon\":\"el-icon-document-copy\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2060,\"menuName\":\"甲方报价1\",\"menuType\":\"M\",\"orderNum\":5,\"params\":{},\"parentId\":2000,\"path\":\"clientquote\",\"perms\":\"\",\"routeName\":\"\",\"status\":\"1\",\"visible\":\"0\"} ', '{\"msg\":\"修改菜单\'甲方报价1\'失败，菜单名称已存在\",\"code\":500}', 0, NULL, '2026-06-02 14:58:24', 2);
INSERT INTO `sys_oper_log` VALUES (114, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '研发部门', '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"createTime\":\"2026-06-01 05:00:56\",\"icon\":\"el-icon-document-copy\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2060,\"menuName\":\"甲方报价目录\",\"menuType\":\"M\",\"orderNum\":5,\"params\":{},\"parentId\":2000,\"path\":\"clientquote\",\"perms\":\"\",\"routeName\":\"\",\"status\":\"1\",\"updateBy\":\"admin\",\"visible\":\"0\"} ', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2026-06-02 14:58:30', 12);
INSERT INTO `sys_oper_log` VALUES (115, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '研发部门', '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"component\":\"bid/clientquote/index\",\"createTime\":\"2026-06-01 05:00:56\",\"icon\":\"money\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2061,\"menuName\":\"甲方报价\",\"menuType\":\"C\",\"orderNum\":5,\"params\":{},\"parentId\":2000,\"path\":\"index\",\"perms\":\"bid:clientquote:list\",\"routeName\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"} ', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2026-06-02 14:58:41', 8);
INSERT INTO `sys_oper_log` VALUES (116, '报价请求', 1, 'com.ruoyi.web.controller.bid.BizRfqController.createFromQuote()', 'POST', 1, 'admin', '研发部门', '/bid/rfq/create-from-quote/1', '127.0.0.1', '内网IP', '1 ', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLIntegrityConstraintViolationException: Column \'rfq_no\' cannot be null\r\n### The error may exist in file [D:\\DeXun_workspace\\projects\\erp-next\\ruoyi-system\\target\\classes\\mapper\\bid\\BizRfqMapper.xml]\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: INSERT INTO biz_rfq(tenant_id,rfq_no,rfq_title,deadline,delivery_addr,client_quote_id,status,remark,create_by,create_time)     VALUES(?,?,?,?,?,?,?,?,?,NOW())\r\n### Cause: java.sql.SQLIntegrityConstraintViolationException: Column \'rfq_no\' cannot be null\n; Column \'rfq_no\' cannot be null', '2026-06-02 15:06:21', 220);
INSERT INTO `sys_oper_log` VALUES (117, '报价请求', 1, 'com.ruoyi.web.controller.bid.BizRfqController.createFromQuote()', 'POST', 1, 'admin', '研发部门', '/bid/rfq/create-from-quote/1', '127.0.0.1', '内网IP', '1 ', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLIntegrityConstraintViolationException: Column \'rfq_no\' cannot be null\r\n### The error may exist in file [D:\\DeXun_workspace\\projects\\erp-next\\ruoyi-system\\target\\classes\\mapper\\bid\\BizRfqMapper.xml]\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: INSERT INTO biz_rfq(tenant_id,rfq_no,rfq_title,deadline,delivery_addr,client_quote_id,status,remark,create_by,create_time)     VALUES(?,?,?,?,?,?,?,?,?,NOW())\r\n### Cause: java.sql.SQLIntegrityConstraintViolationException: Column \'rfq_no\' cannot be null\n; Column \'rfq_no\' cannot be null', '2026-06-02 16:38:40', 252);
INSERT INTO `sys_oper_log` VALUES (118, '报价请求', 1, 'com.ruoyi.web.controller.bid.BizRfqController.createFromQuote()', 'POST', 1, 'admin', '研发部门', '/bid/rfq/create-from-quote/1', '127.0.0.1', '内网IP', '1 ', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLIntegrityConstraintViolationException: Column \'rfq_no\' cannot be null\r\n### The error may exist in file [D:\\DeXun_workspace\\projects\\erp-next\\ruoyi-system\\target\\classes\\mapper\\bid\\BizRfqMapper.xml]\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: INSERT INTO biz_rfq(tenant_id,rfq_no,rfq_title,deadline,delivery_addr,client_quote_id,status,remark,create_by,create_time)     VALUES(?,?,?,?,?,?,?,?,?,NOW())\r\n### Cause: java.sql.SQLIntegrityConstraintViolationException: Column \'rfq_no\' cannot be null\n; Column \'rfq_no\' cannot be null', '2026-06-02 17:15:45', 33);
INSERT INTO `sys_oper_log` VALUES (119, '报价请求', 1, 'com.ruoyi.web.controller.bid.BizRfqController.createFromQuote()', 'POST', 1, 'admin', '研发部门', '/bid/rfq/create-from-quote/1', '127.0.0.1', '内网IP', '1 ', '{\"msg\":\"操作成功\",\"code\":200,\"data\":{\"clientName\":\"TEST\",\"clientQuoteId\":1,\"clientQuoteNo\":\"CQ-202606-001\",\"createTime\":\"2026-06-02 17:24:47\",\"params\":{},\"remark\":\"源自甲方报价单: CQ-202606-001\",\"rfqId\":6,\"rfqNo\":\"RFQ-202606-001\",\"rfqTitle\":\"采购需求: TEST - CQ-202606-001\",\"status\":\"draft\",\"tenantId\":103}}', 0, NULL, '2026-06-02 17:24:47', 99);
INSERT INTO `sys_oper_log` VALUES (120, '报价请求', 1, 'com.ruoyi.web.controller.bid.BizRfqController.createFromQuote()', 'POST', 1, 'admin', '研发部门', '/bid/rfq/create-from-quote/1', '127.0.0.1', '内网IP', '1 ', '{\"msg\":\"操作成功\",\"code\":200,\"data\":{\"clientName\":\"TEST\",\"clientQuoteId\":1,\"clientQuoteNo\":\"CQ-202606-001\",\"createTime\":\"2026-06-02 17:29:22\",\"params\":{},\"remark\":\"源自甲方报价单: CQ-202606-001\",\"rfqId\":7,\"rfqNo\":\"RFQ-202606-002\",\"rfqTitle\":\"采购需求: TEST - CQ-202606-001\",\"status\":\"draft\",\"tenantId\":103}}', 0, NULL, '2026-06-02 17:29:22', 40);

-- ----------------------------
-- Table structure for sys_post
-- ----------------------------
DROP TABLE IF EXISTS `sys_post`;
CREATE TABLE `sys_post`  (
  `post_id` bigint NOT NULL AUTO_INCREMENT COMMENT '岗位ID',
  `post_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '岗位编码',
  `post_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '岗位名称',
  `post_sort` int NOT NULL COMMENT '显示顺序',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '状态（0正常 1停用）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`post_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '岗位信息表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_post
-- ----------------------------
INSERT INTO `sys_post` VALUES (1, 'ceo', '董事长', 1, '0', 'admin', '2026-05-27 10:56:53', '', NULL, '');
INSERT INTO `sys_post` VALUES (2, 'se', '项目经理', 2, '0', 'admin', '2026-05-27 10:56:53', '', NULL, '');
INSERT INTO `sys_post` VALUES (3, 'hr', '人力资源', 3, '0', 'admin', '2026-05-27 10:56:53', '', NULL, '');
INSERT INTO `sys_post` VALUES (4, 'user', '普通员工', 4, '0', 'admin', '2026-05-27 10:56:53', '', NULL, '');

-- ----------------------------
-- Table structure for sys_role
-- ----------------------------
DROP TABLE IF EXISTS `sys_role`;
CREATE TABLE `sys_role`  (
  `role_id` bigint NOT NULL AUTO_INCREMENT COMMENT '角色ID',
  `role_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色名称',
  `role_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色权限字符串',
  `role_sort` int NOT NULL COMMENT '显示顺序',
  `data_scope` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '1' COMMENT '数据范围（1：全部数据权限 2：自定数据权限 3：本部门数据权限 4：本部门及以下数据权限）',
  `menu_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '菜单树选择项是否关联显示',
  `dept_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '部门树选择项是否关联显示',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色状态（0正常 1停用）',
  `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志（0代表存在 2代表删除）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`role_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色信息表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_role
-- ----------------------------
INSERT INTO `sys_role` VALUES (1, '超级管理员', 'admin', 1, '1', 1, 1, '0', '0', 'admin', '2026-05-27 10:56:53', '', NULL, '超级管理员');
INSERT INTO `sys_role` VALUES (2, '普通角色', 'common', 2, '2', 1, 1, '0', '0', 'admin', '2026-05-27 10:56:53', '', NULL, '普通角色');

-- ----------------------------
-- Table structure for sys_role_dept
-- ----------------------------
DROP TABLE IF EXISTS `sys_role_dept`;
CREATE TABLE `sys_role_dept`  (
  `role_id` bigint NOT NULL COMMENT '角色ID',
  `dept_id` bigint NOT NULL COMMENT '部门ID',
  PRIMARY KEY (`role_id`, `dept_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色和部门关联表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_role_dept
-- ----------------------------
INSERT INTO `sys_role_dept` VALUES (2, 100);
INSERT INTO `sys_role_dept` VALUES (2, 101);
INSERT INTO `sys_role_dept` VALUES (2, 105);

-- ----------------------------
-- Table structure for sys_role_menu
-- ----------------------------
DROP TABLE IF EXISTS `sys_role_menu`;
CREATE TABLE `sys_role_menu`  (
  `role_id` bigint NOT NULL COMMENT '角色ID',
  `menu_id` bigint NOT NULL COMMENT '菜单ID',
  PRIMARY KEY (`role_id`, `menu_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_role_menu
-- ----------------------------
INSERT INTO `sys_role_menu` VALUES (1, 2019);
INSERT INTO `sys_role_menu` VALUES (1, 2020);
INSERT INTO `sys_role_menu` VALUES (1, 2021);
INSERT INTO `sys_role_menu` VALUES (1, 2022);
INSERT INTO `sys_role_menu` VALUES (1, 2060);
INSERT INTO `sys_role_menu` VALUES (1, 2061);
INSERT INTO `sys_role_menu` VALUES (1, 2064);
INSERT INTO `sys_role_menu` VALUES (1, 2065);
INSERT INTO `sys_role_menu` VALUES (1, 2066);
INSERT INTO `sys_role_menu` VALUES (1, 2067);
INSERT INTO `sys_role_menu` VALUES (2, 1);
INSERT INTO `sys_role_menu` VALUES (2, 2);
INSERT INTO `sys_role_menu` VALUES (2, 3);
INSERT INTO `sys_role_menu` VALUES (2, 4);
INSERT INTO `sys_role_menu` VALUES (2, 100);
INSERT INTO `sys_role_menu` VALUES (2, 101);
INSERT INTO `sys_role_menu` VALUES (2, 102);
INSERT INTO `sys_role_menu` VALUES (2, 103);
INSERT INTO `sys_role_menu` VALUES (2, 104);
INSERT INTO `sys_role_menu` VALUES (2, 105);
INSERT INTO `sys_role_menu` VALUES (2, 106);
INSERT INTO `sys_role_menu` VALUES (2, 107);
INSERT INTO `sys_role_menu` VALUES (2, 108);
INSERT INTO `sys_role_menu` VALUES (2, 109);
INSERT INTO `sys_role_menu` VALUES (2, 110);
INSERT INTO `sys_role_menu` VALUES (2, 111);
INSERT INTO `sys_role_menu` VALUES (2, 112);
INSERT INTO `sys_role_menu` VALUES (2, 113);
INSERT INTO `sys_role_menu` VALUES (2, 114);
INSERT INTO `sys_role_menu` VALUES (2, 115);
INSERT INTO `sys_role_menu` VALUES (2, 116);
INSERT INTO `sys_role_menu` VALUES (2, 117);
INSERT INTO `sys_role_menu` VALUES (2, 500);
INSERT INTO `sys_role_menu` VALUES (2, 501);
INSERT INTO `sys_role_menu` VALUES (2, 1000);
INSERT INTO `sys_role_menu` VALUES (2, 1001);
INSERT INTO `sys_role_menu` VALUES (2, 1002);
INSERT INTO `sys_role_menu` VALUES (2, 1003);
INSERT INTO `sys_role_menu` VALUES (2, 1004);
INSERT INTO `sys_role_menu` VALUES (2, 1005);
INSERT INTO `sys_role_menu` VALUES (2, 1006);
INSERT INTO `sys_role_menu` VALUES (2, 1007);
INSERT INTO `sys_role_menu` VALUES (2, 1008);
INSERT INTO `sys_role_menu` VALUES (2, 1009);
INSERT INTO `sys_role_menu` VALUES (2, 1010);
INSERT INTO `sys_role_menu` VALUES (2, 1011);
INSERT INTO `sys_role_menu` VALUES (2, 1012);
INSERT INTO `sys_role_menu` VALUES (2, 1013);
INSERT INTO `sys_role_menu` VALUES (2, 1014);
INSERT INTO `sys_role_menu` VALUES (2, 1015);
INSERT INTO `sys_role_menu` VALUES (2, 1016);
INSERT INTO `sys_role_menu` VALUES (2, 1017);
INSERT INTO `sys_role_menu` VALUES (2, 1018);
INSERT INTO `sys_role_menu` VALUES (2, 1019);
INSERT INTO `sys_role_menu` VALUES (2, 1020);
INSERT INTO `sys_role_menu` VALUES (2, 1021);
INSERT INTO `sys_role_menu` VALUES (2, 1022);
INSERT INTO `sys_role_menu` VALUES (2, 1023);
INSERT INTO `sys_role_menu` VALUES (2, 1024);
INSERT INTO `sys_role_menu` VALUES (2, 1025);
INSERT INTO `sys_role_menu` VALUES (2, 1026);
INSERT INTO `sys_role_menu` VALUES (2, 1027);
INSERT INTO `sys_role_menu` VALUES (2, 1028);
INSERT INTO `sys_role_menu` VALUES (2, 1029);
INSERT INTO `sys_role_menu` VALUES (2, 1030);
INSERT INTO `sys_role_menu` VALUES (2, 1031);
INSERT INTO `sys_role_menu` VALUES (2, 1032);
INSERT INTO `sys_role_menu` VALUES (2, 1033);
INSERT INTO `sys_role_menu` VALUES (2, 1034);
INSERT INTO `sys_role_menu` VALUES (2, 1035);
INSERT INTO `sys_role_menu` VALUES (2, 1036);
INSERT INTO `sys_role_menu` VALUES (2, 1037);
INSERT INTO `sys_role_menu` VALUES (2, 1038);
INSERT INTO `sys_role_menu` VALUES (2, 1039);
INSERT INTO `sys_role_menu` VALUES (2, 1040);
INSERT INTO `sys_role_menu` VALUES (2, 1041);
INSERT INTO `sys_role_menu` VALUES (2, 1042);
INSERT INTO `sys_role_menu` VALUES (2, 1043);
INSERT INTO `sys_role_menu` VALUES (2, 1044);
INSERT INTO `sys_role_menu` VALUES (2, 1045);
INSERT INTO `sys_role_menu` VALUES (2, 1046);
INSERT INTO `sys_role_menu` VALUES (2, 1047);
INSERT INTO `sys_role_menu` VALUES (2, 1048);
INSERT INTO `sys_role_menu` VALUES (2, 1049);
INSERT INTO `sys_role_menu` VALUES (2, 1050);
INSERT INTO `sys_role_menu` VALUES (2, 1051);
INSERT INTO `sys_role_menu` VALUES (2, 1052);
INSERT INTO `sys_role_menu` VALUES (2, 1053);
INSERT INTO `sys_role_menu` VALUES (2, 1054);
INSERT INTO `sys_role_menu` VALUES (2, 1055);
INSERT INTO `sys_role_menu` VALUES (2, 1056);
INSERT INTO `sys_role_menu` VALUES (2, 1057);
INSERT INTO `sys_role_menu` VALUES (2, 1058);
INSERT INTO `sys_role_menu` VALUES (2, 1059);
INSERT INTO `sys_role_menu` VALUES (2, 1060);

-- ----------------------------
-- Table structure for sys_user
-- ----------------------------
DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user`  (
  `user_id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  `dept_id` bigint NULL DEFAULT NULL COMMENT '部门ID',
  `user_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户账号',
  `nick_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户昵称',
  `user_type` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '00' COMMENT '用户类型（00系统用户）',
  `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户邮箱',
  `phonenumber` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '手机号码',
  `sex` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '用户性别（0男 1女 2未知）',
  `avatar` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '头像地址',
  `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '密码',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '账号状态（0正常 1停用）',
  `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志（0代表存在 2代表删除）',
  `login_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '最后登录IP',
  `login_date` datetime NULL DEFAULT NULL COMMENT '最后登录时间',
  `pwd_update_date` datetime NULL DEFAULT NULL COMMENT '密码最后更新时间',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  `tenant_id` bigint NULL DEFAULT 1 COMMENT '所属租户',
  PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户信息表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_user
-- ----------------------------
INSERT INTO `sys_user` VALUES (1, 103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2026-06-03 18:38:40', '2026-05-27 10:56:53', 'admin', '2026-05-27 10:56:53', '', NULL, '管理员', 1);
INSERT INTO `sys_user` VALUES (2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2026-05-27 10:56:53', '2026-05-27 10:56:53', 'admin', '2026-05-27 10:56:53', '', NULL, '测试员', 1);

-- ----------------------------
-- Table structure for sys_user_post
-- ----------------------------
DROP TABLE IF EXISTS `sys_user_post`;
CREATE TABLE `sys_user_post`  (
  `user_id` bigint NOT NULL COMMENT '用户ID',
  `post_id` bigint NOT NULL COMMENT '岗位ID',
  PRIMARY KEY (`user_id`, `post_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户与岗位关联表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_user_post
-- ----------------------------
INSERT INTO `sys_user_post` VALUES (1, 1);
INSERT INTO `sys_user_post` VALUES (2, 2);

-- ----------------------------
-- Table structure for sys_user_role
-- ----------------------------
DROP TABLE IF EXISTS `sys_user_role`;
CREATE TABLE `sys_user_role`  (
  `user_id` bigint NOT NULL COMMENT '用户ID',
  `role_id` bigint NOT NULL COMMENT '角色ID',
  PRIMARY KEY (`user_id`, `role_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户和角色关联表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_user_role
-- ----------------------------
INSERT INTO `sys_user_role` VALUES (1, 1);
INSERT INTO `sys_user_role` VALUES (2, 2);

SET FOREIGN_KEY_CHECKS = 1;
