完善 MCS 桌面代理与开炼机动作同步,修复原料相关菜单权限,桌面端新增上辅机 MES 菜单。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
-- 【设备库桥接】中间库配置增加桌面代理访问模式
|
||||
ALTER TABLE `mes_xsl_mcs_db_config`
|
||||
ADD COLUMN `access_mode` varchar(32) DEFAULT 'DESKTOP_AGENT' COMMENT '访问模式 DESKTOP_AGENT/DIRECT' AFTER `remark`,
|
||||
ADD COLUMN `agent_device_id` varchar(100) DEFAULT NULL COMMENT '绑定桌面代理deviceId' AFTER `access_mode`;
|
||||
@@ -0,0 +1,105 @@
|
||||
-- 【MES上辅机】开炼机动作 MCSToMES_Act_Mill → mes_xsl_mill_action
|
||||
-- 1. MES 接收表
|
||||
-- 2. 采集配置(FULL / 30秒 / GUID 匹配)+ 字段映射
|
||||
-- 3. 中间库原表菜单 + 接收表菜单 + admin 授权
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
-- ===================== 1. MES 接收表 =====================
|
||||
CREATE TABLE IF NOT EXISTS `mes_xsl_mill_action` (
|
||||
`id` varchar(32) NOT NULL COMMENT '主键',
|
||||
`guid` varchar(50) NOT NULL COMMENT '源表GUID(匹配键)',
|
||||
`act_addr` int DEFAULT NULL COMMENT '动作地址',
|
||||
`act_name` varchar(50) DEFAULT NULL COMMENT '动作名称',
|
||||
`act_name_en` varchar(50) DEFAULT NULL COMMENT '动作名称(英)',
|
||||
`act_memo` varchar(20) DEFAULT NULL COMMENT '动作备注',
|
||||
`act_repaddr` int DEFAULT NULL COMMENT '动作关联地址',
|
||||
`write_time` datetime DEFAULT NULL COMMENT '写入时间(源)',
|
||||
`read_time` datetime DEFAULT NULL COMMENT '读取时间(源)',
|
||||
`rw_flag` int DEFAULT NULL COMMENT '读写标识',
|
||||
`tenant_id` int DEFAULT '0' COMMENT '租户',
|
||||
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '部门',
|
||||
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`del_flag` int DEFAULT '0' COMMENT '删除标记(0正常1删除)',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_mma_guid` (`guid`),
|
||||
KEY `idx_mma_act_name` (`act_name`),
|
||||
KEY `idx_mma_write_time` (`write_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='MES开炼机动作接收表(采集自MCSToMES_Act_Mill)';
|
||||
|
||||
-- ===================== 2. 采集配置 + 字段映射 =====================
|
||||
INSERT INTO `mes_xsl_mcs_sync_config`
|
||||
(`id`, `biz_type`, `config_name`, `biz_name`, `source_table`, `source_table_comment`,
|
||||
`target_table`, `target_table_comment`, `interval_seconds`, `status`, `sync_mode`,
|
||||
`remark`, `tenant_id`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`)
|
||||
SELECT '1900000000000000880', 'MILL_ACT', '开炼机动作采集', '开炼机动作', 'MCSToMES_Act_Mill', '开炼机动作',
|
||||
'mes_xsl_mill_action', 'MES开炼机动作接收表', 30, '0', 'FULL',
|
||||
'开炼机动作 FULL 按GUID Upsert,默认30秒', 0, 'admin', NOW(), 'admin', NOW(), 0
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_mcs_sync_config` WHERE `biz_type` = 'MILL_ACT' AND `tenant_id` = 0);
|
||||
|
||||
INSERT INTO `mes_xsl_mcs_sync_field`
|
||||
(`id`, `config_id`, `source_field`, `source_field_comment`, `source_field_type`,
|
||||
`target_field`, `target_field_comment`, `match_key`, `sort_no`,
|
||||
`tenant_id`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`)
|
||||
SELECT * FROM (
|
||||
SELECT '1900000000000000881' id, '1900000000000000880' config_id, 'GUID' sf, 'GUID' sfc, 'varchar' sft, 'guid' tf, '源表GUID' tfc, '1' mk, 1 sn, 0 tid, 'admin' cb, NOW() ct, 'admin' ub, NOW() ut, 0 df
|
||||
UNION ALL SELECT '1900000000000000882', '1900000000000000880', 'act_addr', '动作地址', 'int', 'act_addr', '动作地址', '0', 2, 0, 'admin', NOW(), 'admin', NOW(), 0
|
||||
UNION ALL SELECT '1900000000000000883', '1900000000000000880', 'act_name', '动作名称', 'varchar', 'act_name', '动作名称', '0', 3, 0, 'admin', NOW(), 'admin', NOW(), 0
|
||||
UNION ALL SELECT '1900000000000000884', '1900000000000000880', 'act_name_en', '动作名称(英)', 'varchar', 'act_name_en', '动作名称(英)', '0', 4, 0, 'admin', NOW(), 'admin', NOW(), 0
|
||||
UNION ALL SELECT '1900000000000000885', '1900000000000000880', 'act_memo', '动作备注', 'varchar', 'act_memo', '动作备注', '0', 5, 0, 'admin', NOW(), 'admin', NOW(), 0
|
||||
UNION ALL SELECT '1900000000000000886', '1900000000000000880', 'act_Repaddr', '动作关联地址', 'int', 'act_repaddr', '动作关联地址', '0', 6, 0, 'admin', NOW(), 'admin', NOW(), 0
|
||||
UNION ALL SELECT '1900000000000000887', '1900000000000000880', 'WriteTime', '写入时间', 'datetime', 'write_time', '写入时间', '0', 7, 0, 'admin', NOW(), 'admin', NOW(), 0
|
||||
UNION ALL SELECT '1900000000000000888', '1900000000000000880', 'ReadTime', '读取时间', 'datetime', 'read_time', '读取时间', '0', 8, 0, 'admin', NOW(), 'admin', NOW(), 0
|
||||
UNION ALL SELECT '1900000000000000889', '1900000000000000880', 'RW_Flag', '读写标识', 'int', 'rw_flag', '读写标识', '0', 9, 0, 'admin', NOW(), 'admin', NOW(), 0
|
||||
) t
|
||||
WHERE NOT EXISTS (SELECT 1 FROM `mes_xsl_mcs_sync_field` WHERE `config_id` = '1900000000000000880');
|
||||
|
||||
-- ===================== 3. 中间库原表菜单(上辅机数据) =====================
|
||||
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
|
||||
SELECT '1900000000000000890', '1900000000000000830', '开炼机动作', '/xslmesMcs/mcsToMesActMill', 'xslmesMcs/mcsToMesActMill/index', 1, NULL, NULL, 1, NULL, '0', 5.50, 0, 'ant-design:apartment-outlined', 1, 1, 0, 0, 'MCSToMES_Act_Mill 开炼机动作中间表', 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000890');
|
||||
|
||||
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
|
||||
SELECT '1900000000000000891', '1900000000000000890', '采集设置', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mcsSyncConfig:setting', '1', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000891');
|
||||
|
||||
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
|
||||
SELECT '1900000000000000892', '1900000000000000890', '导出', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mcsToMesActMill:exportXls', '1', 2.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000892');
|
||||
|
||||
-- ===================== 4. MES 接收表菜单(技术管理) =====================
|
||||
UPDATE `sys_permission`
|
||||
SET `is_leaf` = 0, `update_time` = NOW()
|
||||
WHERE `id` = '1900000000000000810' AND `is_leaf` = 1;
|
||||
|
||||
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
|
||||
SELECT '1900000000000000894', '1900000000000000810', '开炼机动作接收', '/xslmes/mesXslMillAction', 'xslmes/mesXslMillAction/MesXslMillActionList', 1, 'MesXslMillActionList', NULL, 1, NULL, '0', 1.10, 0, 'ant-design:cluster-outlined', 1, 1, 0, 0, 'mes_xsl_mill_action 开炼机动作接收表', 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000894');
|
||||
|
||||
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
|
||||
SELECT '1900000000000000895', '1900000000000000894', '采集设置', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mcsSyncConfig:setting', '1', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000895');
|
||||
|
||||
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`)
|
||||
SELECT '1900000000000000896', '1900000000000000894', '导出', NULL, NULL, 0, NULL, NULL, 2, 'xslmes:mes_xsl_mill_action:exportXls', '1', 2.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000896');
|
||||
|
||||
-- admin 授权
|
||||
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
|
||||
SELECT REPLACE(UUID(), '-', ''), r.id, p.id, NULL, NOW(), '127.0.0.1'
|
||||
FROM `sys_role` r
|
||||
JOIN (
|
||||
SELECT id FROM `sys_permission`
|
||||
WHERE id IN (
|
||||
'1900000000000000890','1900000000000000891','1900000000000000892',
|
||||
'1900000000000000894','1900000000000000895','1900000000000000896'
|
||||
)
|
||||
) p ON 1 = 1
|
||||
WHERE r.`role_code` = 'admin'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `sys_role_permission` rp
|
||||
WHERE rp.`role_id` = r.id AND rp.`permission_id` = p.id
|
||||
);
|
||||
@@ -0,0 +1,14 @@
|
||||
-- 开炼机动作中间库原表改由桌面端展示,隐藏 MES Web 中间库菜单
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
UPDATE `sys_permission`
|
||||
SET `del_flag` = 1, `status` = '0', `update_time` = NOW()
|
||||
WHERE `id` IN ('1900000000000000890', '1900000000000000891', '1900000000000000892')
|
||||
AND `del_flag` = 0;
|
||||
|
||||
-- 接收表菜单名称保持「开炼机动作接收」,仅查 MySQL 接收数据
|
||||
UPDATE `sys_permission`
|
||||
SET `name` = '开炼机动作接收',
|
||||
`description` = 'mes_xsl_mill_action 开炼机动作接收表(仅展示采集入库数据)',
|
||||
`update_time` = NOW()
|
||||
WHERE `id` = '1900000000000000894';
|
||||
@@ -0,0 +1,74 @@
|
||||
-- 修复原材料检验标准菜单(避开已被人工小料占用的 0730/0750 等 ID)
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
-- 1) 新建页面菜单:MES原料仓储 下,与送检记录同级
|
||||
INSERT INTO `sys_permission` (
|
||||
`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`,
|
||||
`menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`,
|
||||
`hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`,
|
||||
`del_flag`, `rule_flag`, `status`, `internal_or_external`
|
||||
)
|
||||
SELECT
|
||||
'1900000000000000897', '1900000000000000700', '原材料检验标准', '/mes/rawMaterialInspectStd',
|
||||
'mes/rawmaterialinspectstd/index', 1, NULL, NULL,
|
||||
1, NULL, '0', 21.50, 0, 'ant-design:safety-outlined', 1, 1,
|
||||
0, 0, 'MES原材料检验标准(送检记录匹配用)', 'admin', NOW(), 'admin', NOW(),
|
||||
0, 0, '1', 0
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000897');
|
||||
|
||||
-- 2) 按钮权限改挂到新菜单(从误挂的人工小料计划维护下挪回)
|
||||
UPDATE `sys_permission`
|
||||
SET `parent_id` = '1900000000000000897', `update_time` = NOW()
|
||||
WHERE `id` IN (
|
||||
'1900000000000000732','1900000000000000733','1900000000000000734',
|
||||
'1900000000000000735','1900000000000000736','1900000000000000737'
|
||||
)
|
||||
AND `perms` LIKE 'mes:mes_raw_material_inspect_std:%';
|
||||
|
||||
-- 3) 添加按钮
|
||||
INSERT INTO `sys_permission` (
|
||||
`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`,
|
||||
`menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`,
|
||||
`hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`,
|
||||
`del_flag`, `rule_flag`, `status`, `internal_or_external`
|
||||
)
|
||||
SELECT
|
||||
'1900000000000000898', '1900000000000000897', '添加', NULL, NULL, 0, NULL, NULL,
|
||||
2, 'mes:mes_raw_material_inspect_std:add', '1', 1.00, 0, NULL, 1, 0,
|
||||
0, 0, NULL, 'admin', NOW(), 'admin', NOW(),
|
||||
0, 0, '1', 0
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000898');
|
||||
|
||||
-- 4) admin 授权
|
||||
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
|
||||
SELECT REPLACE(UUID(), '-', ''), r.id, p.id, NULL, NOW(), '127.0.0.1'
|
||||
FROM `sys_role` r
|
||||
JOIN (
|
||||
SELECT id FROM `sys_permission`
|
||||
WHERE id IN (
|
||||
'1900000000000000897','1900000000000000898',
|
||||
'1900000000000000732','1900000000000000733','1900000000000000734',
|
||||
'1900000000000000735','1900000000000000736','1900000000000000737'
|
||||
)
|
||||
) p ON 1 = 1
|
||||
WHERE r.`role_code` = 'admin'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `sys_role_permission` rp
|
||||
WHERE rp.`role_id` = r.id AND rp.`permission_id` = p.id
|
||||
);
|
||||
|
||||
-- 5) 打印实体映射
|
||||
INSERT INTO `print_biz_perm_entity` (`perm_id`, `entity_class`)
|
||||
SELECT '1900000000000000897', 'org.jeecg.modules.mes.material.entity.MesRawMaterialInspectStd'
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `print_biz_perm_entity`
|
||||
WHERE `perm_id` = '1900000000000000897'
|
||||
AND `entity_class` = 'org.jeecg.modules.mes.material.entity.MesRawMaterialInspectStd'
|
||||
);
|
||||
|
||||
SELECT p.id, pp.name AS parent_name, p.name, p.url, p.component
|
||||
FROM sys_permission p
|
||||
LEFT JOIN sys_permission pp ON pp.id = p.parent_id
|
||||
WHERE p.id = '1900000000000000897' OR p.parent_id = '1900000000000000897';
|
||||
@@ -0,0 +1,123 @@
|
||||
-- 补回被需求计划菜单 ID 占用挤掉的两个日志菜单(新 ID,不改动现有需求计划)
|
||||
-- 1) 原材料卡片修改日志
|
||||
-- 2) 原料入场删除日志
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
-- ===================== 1. 原材料卡片修改日志 =====================
|
||||
INSERT INTO `sys_permission` (
|
||||
`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`,
|
||||
`menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`,
|
||||
`hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`,
|
||||
`del_flag`, `rule_flag`, `status`, `internal_or_external`
|
||||
)
|
||||
SELECT
|
||||
'1900000000000000899', '1900000000000000700', '原材料卡片修改日志',
|
||||
'/xslmes/mesXslRawMaterialCardEditLog',
|
||||
'xslmes/mesXslRawMaterialCardEditLog/MesXslRawMaterialCardEditLogList',
|
||||
1, NULL, NULL, 1, NULL, '0', 13.00, 0, 'ant-design:history-outlined', 1, 1,
|
||||
0, 0, '记录 Web/桌面端编辑原材料卡片剩余量与库区', 'admin', NOW(), 'admin', NOW(),
|
||||
0, 0, '1', 0
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000899')
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `sys_permission`
|
||||
WHERE `del_flag` = 0 AND `menu_type` = 1 AND `name` = '原材料卡片修改日志'
|
||||
);
|
||||
|
||||
INSERT INTO `sys_permission` (
|
||||
`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`,
|
||||
`menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`,
|
||||
`hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`,
|
||||
`del_flag`, `rule_flag`, `status`, `internal_or_external`
|
||||
)
|
||||
SELECT
|
||||
'1900000000000000900', '1900000000000000899', '查询', NULL, NULL, 0, NULL, NULL,
|
||||
2, 'xslmes:mes_xsl_raw_material_card_edit_log:list', '1', 1.00, 0, NULL, 1, 0,
|
||||
0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000900');
|
||||
|
||||
-- 原 0712 仍是卡片修改日志导出权限,挪到新菜单下
|
||||
UPDATE `sys_permission`
|
||||
SET `parent_id` = '1900000000000000899', `name` = '导出', `update_time` = NOW()
|
||||
WHERE `id` = '1900000000000000712'
|
||||
AND `perms` = 'xslmes:mes_xsl_raw_material_card_edit_log:exportXls';
|
||||
|
||||
-- 若 0712 已被改成别的权限,则新建导出按钮
|
||||
INSERT INTO `sys_permission` (
|
||||
`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`,
|
||||
`menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`,
|
||||
`hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`,
|
||||
`del_flag`, `rule_flag`, `status`, `internal_or_external`
|
||||
)
|
||||
SELECT
|
||||
'1900000000000000901', '1900000000000000899', '导出', NULL, NULL, 0, NULL, NULL,
|
||||
2, 'xslmes:mes_xsl_raw_material_card_edit_log:exportXls', '1', 2.00, 0, NULL, 1, 0,
|
||||
0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000901')
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `sys_permission`
|
||||
WHERE `parent_id` = '1900000000000000899'
|
||||
AND `perms` = 'xslmes:mes_xsl_raw_material_card_edit_log:exportXls'
|
||||
);
|
||||
|
||||
-- ===================== 2. 原料入场删除日志 =====================
|
||||
INSERT INTO `sys_permission` (
|
||||
`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`,
|
||||
`menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`,
|
||||
`hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`,
|
||||
`del_flag`, `rule_flag`, `status`, `internal_or_external`
|
||||
)
|
||||
SELECT
|
||||
'1900000000000000902', '1900000000000000700', '原料入场删除日志',
|
||||
'/xslmes/mesXslRawMaterialEntryDeleteLog',
|
||||
'xslmes/mesXslRawMaterialEntryDeleteLog/MesXslRawMaterialEntryDeleteLogList',
|
||||
1, NULL, NULL, 1, NULL, '0', 14.00, 0, 'ant-design:delete-row-outlined', 1, 1,
|
||||
0, 0, '查询已逻辑删除的原料入场记录', 'admin', NOW(), 'admin', NOW(),
|
||||
0, 0, '1', 0
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000902')
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `sys_permission`
|
||||
WHERE `del_flag` = 0 AND `menu_type` = 1 AND `name` = '原料入场删除日志'
|
||||
);
|
||||
|
||||
INSERT INTO `sys_permission` (
|
||||
`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`,
|
||||
`menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`,
|
||||
`hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`,
|
||||
`del_flag`, `rule_flag`, `status`, `internal_or_external`
|
||||
)
|
||||
SELECT
|
||||
'1900000000000000903', '1900000000000000902', '查询', NULL, NULL, 0, NULL, NULL,
|
||||
2, 'xslmes:mes_xsl_raw_material_entry_delete_log:list', '1', 1.00, 0, NULL, 1, 0,
|
||||
0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000903');
|
||||
|
||||
-- ===================== 3. admin 授权 =====================
|
||||
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
|
||||
SELECT REPLACE(UUID(), '-', ''), r.id, p.id, NULL, NOW(), '127.0.0.1'
|
||||
FROM `sys_role` r
|
||||
JOIN (
|
||||
SELECT id FROM `sys_permission`
|
||||
WHERE id IN (
|
||||
'1900000000000000899','1900000000000000900','1900000000000000901',
|
||||
'1900000000000000712',
|
||||
'1900000000000000902','1900000000000000903'
|
||||
)
|
||||
) p ON 1 = 1
|
||||
WHERE r.`role_code` = 'admin'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `sys_role_permission` rp
|
||||
WHERE rp.`role_id` = r.id AND rp.`permission_id` = p.id
|
||||
);
|
||||
|
||||
SELECT p.id, pp.name AS parent_name, p.name, p.url, p.component, p.perms
|
||||
FROM sys_permission p
|
||||
LEFT JOIN sys_permission pp ON pp.id = p.parent_id
|
||||
WHERE p.id IN (
|
||||
'1900000000000000899','1900000000000000900','1900000000000000901','1900000000000000712',
|
||||
'1900000000000000902','1900000000000000903'
|
||||
)
|
||||
OR p.parent_id IN ('1900000000000000899','1900000000000000902')
|
||||
ORDER BY p.id;
|
||||
@@ -0,0 +1,149 @@
|
||||
-- 修复挂错父菜单的按钮,并补回被 ID 占用挤掉的页面
|
||||
-- A) 胶料小料锁定日志(0215 被设备对应部位占用)
|
||||
-- B) 清理工序管理/设备类别「新增」按钮上误写的页面 url/component
|
||||
-- C) 原材料检验项目(导入按钮 0067 误挂在工序「新增」下)
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
-- ===================== A. 胶料小料锁定日志 =====================
|
||||
INSERT INTO `sys_permission` (
|
||||
`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `is_route`, `redirect`,
|
||||
`menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`,
|
||||
`hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`,
|
||||
`del_flag`, `rule_flag`, `status`, `internal_or_external`
|
||||
)
|
||||
SELECT
|
||||
'1900000000000000904', '1860000000000000162', '胶料小料锁定日志',
|
||||
'/xslmes/mesXslRubberSmallLockLog',
|
||||
'xslmes/mesXslRubberSmallLockLog/MesXslRubberSmallLockLogList',
|
||||
'MesXslRubberSmallLockLogList', 1, NULL,
|
||||
1, NULL, '0', 7.00, 0, 'ant-design:file-text-outlined', 1, 1,
|
||||
0, 0, 'MES胶料小料锁定日志', 'admin', NOW(), 'admin', NOW(),
|
||||
0, 0, '1', 0
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000904')
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `sys_permission`
|
||||
WHERE `del_flag` = 0 AND `menu_type` = 1 AND `name` = '胶料小料锁定日志'
|
||||
);
|
||||
|
||||
-- 锁定日志按钮从「设备对应部位」挪回
|
||||
UPDATE `sys_permission`
|
||||
SET `parent_id` = '1900000000000000904', `update_time` = NOW()
|
||||
WHERE `id` IN (
|
||||
'1860000000000000217','1860000000000000218','1860000000000000219',
|
||||
'1860000000000000220','1860000000000000221'
|
||||
)
|
||||
AND `perms` LIKE 'mes:mes_xsl_rubber_small_lock_log:%';
|
||||
|
||||
-- 补「新增」(原 0216 已被设备对应部位导出占用)
|
||||
INSERT INTO `sys_permission` (
|
||||
`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`,
|
||||
`menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`,
|
||||
`hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`,
|
||||
`del_flag`, `rule_flag`, `status`, `internal_or_external`
|
||||
)
|
||||
SELECT
|
||||
'1900000000000000905', '1900000000000000904', '新增', NULL, NULL, 0, NULL, NULL,
|
||||
2, 'mes:mes_xsl_rubber_small_lock_log:add', '1', 1.00, 0, NULL, 1, 0,
|
||||
0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0, 0, '1', 0
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000905')
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `sys_permission`
|
||||
WHERE `parent_id` = '1900000000000000904'
|
||||
AND `perms` = 'mes:mes_xsl_rubber_small_lock_log:add'
|
||||
);
|
||||
|
||||
-- ===================== B. 清理按钮上误写的页面路由 =====================
|
||||
UPDATE `sys_permission`
|
||||
SET `url` = NULL, `component` = NULL, `component_name` = NULL, `is_route` = 0, `update_time` = NOW()
|
||||
WHERE `id` IN ('1860000000000000061', '1860000000000000071')
|
||||
AND `menu_type` = 2;
|
||||
|
||||
-- ===================== C. 原材料检验项目 =====================
|
||||
INSERT INTO `sys_permission` (
|
||||
`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`,
|
||||
`menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`,
|
||||
`hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`,
|
||||
`del_flag`, `rule_flag`, `status`, `internal_or_external`
|
||||
)
|
||||
SELECT
|
||||
'1900000000000000906', '1900000000000000700', '原材料检验项目',
|
||||
'/mes/rawMaterialInspectItem', 'mes/rawmaterialinspectitem/index',
|
||||
1, NULL, NULL, 1, NULL, '0', 21.40, 0, 'ant-design:check-square-outlined', 1, 1,
|
||||
0, 0, 'MES原材料检验项目', 'admin', NOW(), 'admin', NOW(),
|
||||
0, 0, '1', 0
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000906')
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `sys_permission`
|
||||
WHERE `del_flag` = 0 AND `menu_type` = 1 AND `name` = '原材料检验项目'
|
||||
);
|
||||
|
||||
-- 导入按钮从工序「新增」下挪到检验项目
|
||||
UPDATE `sys_permission`
|
||||
SET `parent_id` = '1900000000000000906', `name` = '导入', `update_time` = NOW()
|
||||
WHERE `id` = '1860000000000000067'
|
||||
AND `perms` = 'mes:mes_raw_material_inspect_item:importExcel';
|
||||
|
||||
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `menu_type`, `perms`, `perms_type`, `sort_no`, `is_route`, `is_leaf`, `hidden`, `status`, `del_flag`, `create_by`, `create_time`)
|
||||
SELECT '1900000000000000907', '1900000000000000906', '新增', 2, 'mes:mes_raw_material_inspect_item:add', '1', 1.00, 0, 1, 0, '1', 0, 'admin', NOW()
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000907');
|
||||
|
||||
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `menu_type`, `perms`, `perms_type`, `sort_no`, `is_route`, `is_leaf`, `hidden`, `status`, `del_flag`, `create_by`, `create_time`)
|
||||
SELECT '1900000000000000908', '1900000000000000906', '编辑', 2, 'mes:mes_raw_material_inspect_item:edit', '1', 2.00, 0, 1, 0, '1', 0, 'admin', NOW()
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000908');
|
||||
|
||||
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `menu_type`, `perms`, `perms_type`, `sort_no`, `is_route`, `is_leaf`, `hidden`, `status`, `del_flag`, `create_by`, `create_time`)
|
||||
SELECT '1900000000000000909', '1900000000000000906', '删除', 2, 'mes:mes_raw_material_inspect_item:delete', '1', 3.00, 0, 1, 0, '1', 0, 'admin', NOW()
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000909');
|
||||
|
||||
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `menu_type`, `perms`, `perms_type`, `sort_no`, `is_route`, `is_leaf`, `hidden`, `status`, `del_flag`, `create_by`, `create_time`)
|
||||
SELECT '1900000000000000910', '1900000000000000906', '批量删除', 2, 'mes:mes_raw_material_inspect_item:deleteBatch', '1', 4.00, 0, 1, 0, '1', 0, 'admin', NOW()
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000910');
|
||||
|
||||
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `menu_type`, `perms`, `perms_type`, `sort_no`, `is_route`, `is_leaf`, `hidden`, `status`, `del_flag`, `create_by`, `create_time`)
|
||||
SELECT '1900000000000000911', '1900000000000000906', '导出', 2, 'mes:mes_raw_material_inspect_item:exportXls', '1', 5.00, 0, 1, 0, '1', 0, 'admin', NOW()
|
||||
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_permission` WHERE `id` = '1900000000000000911');
|
||||
|
||||
-- ===================== D. admin 授权 =====================
|
||||
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
|
||||
SELECT REPLACE(UUID(), '-', ''), r.id, p.id, NULL, NOW(), '127.0.0.1'
|
||||
FROM `sys_role` r
|
||||
JOIN (
|
||||
SELECT id FROM `sys_permission`
|
||||
WHERE id IN (
|
||||
'1900000000000000904','1900000000000000905',
|
||||
'1860000000000000217','1860000000000000218','1860000000000000219',
|
||||
'1860000000000000220','1860000000000000221',
|
||||
'1900000000000000906','1860000000000000067',
|
||||
'1900000000000000907','1900000000000000908','1900000000000000909',
|
||||
'1900000000000000910','1900000000000000911'
|
||||
)
|
||||
) p ON 1 = 1
|
||||
WHERE r.`role_code` = 'admin'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `sys_role_permission` rp
|
||||
WHERE rp.`role_id` = r.id AND rp.`permission_id` = p.id
|
||||
);
|
||||
|
||||
-- 校验输出
|
||||
SELECT 'lock_log' AS kind, p.id, pp.name AS parent_name, p.name, p.perms, p.url
|
||||
FROM sys_permission p
|
||||
LEFT JOIN sys_permission pp ON pp.id = p.parent_id
|
||||
WHERE p.id = '1900000000000000904' OR p.parent_id = '1900000000000000904'
|
||||
UNION ALL
|
||||
SELECT 'inspect_item', p.id, pp.name, p.name, p.perms, p.url
|
||||
FROM sys_permission p
|
||||
LEFT JOIN sys_permission pp ON pp.id = p.parent_id
|
||||
WHERE p.id = '1900000000000000906' OR p.parent_id = '1900000000000000906'
|
||||
UNION ALL
|
||||
SELECT 'cleaned_btn', p.id, pp.name, p.name, p.perms, p.url
|
||||
FROM sys_permission p
|
||||
LEFT JOIN sys_permission pp ON pp.id = p.parent_id
|
||||
WHERE p.id IN ('1860000000000000061','1860000000000000071')
|
||||
UNION ALL
|
||||
SELECT 'equip_part', p.id, pp.name, p.name, p.perms, p.url
|
||||
FROM sys_permission p
|
||||
LEFT JOIN sys_permission pp ON pp.id = p.parent_id
|
||||
WHERE p.id = '1860000000000000215' OR p.parent_id = '1860000000000000215';
|
||||
@@ -0,0 +1,17 @@
|
||||
-- 原材料检验项目/标准:补授权给 admin/system/vue3/zuhuadmin(菜单恢复后按钮权限未同步到各角色)
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
INSERT INTO `sys_role_permission` (`id`, `role_id`, `permission_id`, `operate_date`, `operate_ip`)
|
||||
SELECT REPLACE(UUID(), '-', ''), r.id, p.id, NOW(), '127.0.0.1'
|
||||
FROM `sys_role` r
|
||||
CROSS JOIN `sys_permission` p
|
||||
WHERE r.role_code IN ('admin', 'system', 'vue3', 'zuhuadmin')
|
||||
AND (
|
||||
p.perms LIKE 'mes:mes_raw_material_inspect_item:%'
|
||||
OR p.perms LIKE 'mes:mes_raw_material_inspect_std:%'
|
||||
OR p.id IN ('1900000000000000897', '1900000000000000906')
|
||||
)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM `sys_role_permission` rp
|
||||
WHERE rp.role_id = r.id AND rp.permission_id = p.id
|
||||
);
|
||||
Reference in New Issue
Block a user