226 lines
5.3 KiB
MySQL
226 lines
5.3 KiB
MySQL
|
|
-- ============================================
|
|||
|
|
-- 兴万达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 '仓库ID(NULL表示所有仓库)',
|
|||
|
|
`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;
|
|||
|
|
|
|||
|
|
-- ============================================
|
|||
|
|
-- 脚本执行完成
|
|||
|
|
-- ============================================
|
|||
|
|
|