Files
MES/yawei-mes/.sql/2025-11-10_init前的sql文件/2025-10-17_兴万达改进(库存预警).sql

226 lines
5.3 KiB
MySQL
Raw Normal View History

2026-04-02 10:38:23 +08:00
-- ============================================
-- 兴万达MES系统改进 - 库存预警功能
-- 创建时间2025-10-17
-- ============================================
--
-- 本脚本包含库存预警功能的数据库变更:
-- 1. 创建库存预警配置表
-- 2. 创建菜单及权限配置
--
-- 执行前请备份数据库!
-- ============================================
-- ============================================
-- 1. 创建库存预警配置表
-- ============================================
CREATE TABLE IF NOT EXISTS `wm_inventory_alert` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`material_id` BIGINT NOT NULL COMMENT '物料ID',
`material_number` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '物料编号(冗余字段)',
`material_name` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '物料名称(冗余字段)',
`specification` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '规格型号(冗余字段)',
`warehouse_id` BIGINT DEFAULT NULL COMMENT '仓库IDNULL表示所有仓库',
`warehouse_name` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '仓库名称(冗余字段)',
`max_quantity` DECIMAL(15,2) DEFAULT NULL COMMENT '库存上限数量',
`min_quantity` DECIMAL(15,2) DEFAULT NULL COMMENT '库存下限数量',
`status` CHAR(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '状态0启用 1停用',
`remark` VARCHAR(500) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '备注',
`create_by` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '创建者',
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
`update_by` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '更新者',
`update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
INDEX `idx_material_id` (`material_id`) USING BTREE,
INDEX `idx_warehouse_id` (`warehouse_id`) USING BTREE,
INDEX `idx_status` (`status`) USING BTREE,
UNIQUE INDEX `uk_material_warehouse` (`material_id`, `warehouse_id`) USING BTREE COMMENT '同一物料在同一仓库只能有一条预警配置'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='库存预警配置表';
-- ============================================
-- 2. 插入菜单和权限配置
-- ============================================
-- 2.1 插入库存预警主菜单(与即时库存同级)
INSERT INTO `sys_menu` VALUES (
2400,
'库存预警',
2082,
1,
'inventoryAlert',
'mes/warehouse/inventoryAlert/index',
NULL,
1,
0,
'C',
'0',
'0',
'warehouse:inventoryAlert:list',
'warning',
'admin',
NOW(),
'',
NULL,
'库存预警菜单'
);
-- 2.2 插入库存预警-查询权限
INSERT INTO `sys_menu` VALUES (
2401,
'库存预警查询',
2400,
1,
'#',
'',
NULL,
1,
0,
'F',
'0',
'0',
'warehouse:inventoryAlert:query',
'#',
'admin',
NOW(),
'',
NULL,
''
);
-- 2.3 插入库存预警-新增权限
INSERT INTO `sys_menu` VALUES (
2402,
'库存预警新增',
2400,
2,
'#',
'',
NULL,
1,
0,
'F',
'0',
'0',
'warehouse:inventoryAlert:add',
'#',
'admin',
NOW(),
'',
NULL,
''
);
-- 2.4 插入库存预警-修改权限
INSERT INTO `sys_menu` VALUES (
2403,
'库存预警修改',
2400,
3,
'#',
'',
NULL,
1,
0,
'F',
'0',
'0',
'warehouse:inventoryAlert:edit',
'#',
'admin',
NOW(),
'',
NULL,
''
);
-- 2.5 插入库存预警-删除权限
INSERT INTO `sys_menu` VALUES (
2404,
'库存预警删除',
2400,
4,
'#',
'',
NULL,
1,
0,
'F',
'0',
'0',
'warehouse:inventoryAlert:remove',
'#',
'admin',
NOW(),
'',
NULL,
''
);
-- 2.6 插入库存预警-导出权限
INSERT INTO `sys_menu` VALUES (
2405,
'库存预警导出',
2400,
5,
'#',
'',
NULL,
1,
0,
'F',
'0',
'0',
'warehouse:inventoryAlert:export',
'#',
'admin',
NOW(),
'',
NULL,
''
);
-- ============================================
-- 3. 测试数据(可选,用于开发测试)
-- ============================================
-- 示例:为某个物料设置库存预警
-- INSERT INTO `wm_inventory_alert` VALUES (
-- 1,
-- 100,
-- 'MAT001',
-- '测试物料',
-- '100*200*300',
-- 9,
-- '原材料仓库',
-- 1000.00,
-- 100.00,
-- '0',
-- '测试预警配置',
-- 'admin',
-- NOW(),
-- '',
-- NULL
-- );
-- ============================================
-- 验证查询(执行后运行这些查询验证结果)
-- ============================================
-- 验证1检查表是否创建成功
-- SELECT COUNT(*) as table_exists
-- FROM INFORMATION_SCHEMA.TABLES
-- WHERE TABLE_SCHEMA = DATABASE()
-- AND TABLE_NAME = 'wm_inventory_alert';
-- 验证2检查菜单是否创建成功
-- SELECT menu_id, menu_name, parent_id, path, component, perms
-- FROM sys_menu
-- WHERE menu_id >= 2400 AND menu_id <= 2405
-- ORDER BY menu_id;
-- 验证3检查库存预警配置数据
-- SELECT * FROM wm_inventory_alert;
-- ============================================
-- 脚本执行完成
-- ============================================