| | |
| | | -- ============================================= |
| | | -- 计划排程(MPS)审核流 + 辅料采购 升级脚本 |
| | | -- 1) mes_pro_mps 增加:计划开始日期、审核信息、采购申请单关联 |
| | | -- 1) mes_pro_mps 增加:计划开始日期、审核信息、采购申请单关联、审批流程实例编号 |
| | | -- 2) 字典 mes_pro_mps_status 增加:4-审核中、5-已审核 |
| | | -- 3) 菜单/按钮:提交审核、审核、生成采购申请单 |
| | | -- 3) 菜单/按钮:提交审核、生成采购申请单(页面内「审核」按钮已废弃,审批统一在协同办公完成) |
| | | -- 4) 审批流程:需部署流程定义 mes-pro-mps-audit(见 docs/sql/mes_pro_mps_audit_20261102.bpmn) |
| | | -- 可重复执行,不包含 tenant_id(项目不使用多租户) |
| | | -- ============================================= |
| | | START TRANSACTION; |
| | |
| | | 'SELECT 1'); |
| | | PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; |
| | | |
| | | -- 审批流程实例编号:提交审核后进入协同办公审批,审批结果回写本表 |
| | | SET @exists = (SELECT COUNT(*) FROM information_schema.columns |
| | | WHERE table_schema = DATABASE() AND table_name = 'mes_pro_mps' AND column_name = 'process_instance_id'); |
| | | SET @sql = IF(@exists = 0, |
| | | 'ALTER TABLE mes_pro_mps ADD COLUMN process_instance_id varchar(64) DEFAULT NULL COMMENT ''BPM 流程实例编号'' AFTER purchase_request_id', |
| | | 'SELECT 1'); |
| | | PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; |
| | | |
| | | -- ============================================= |
| | | -- 2. 字典数据:MPS 状态增加 审核中(4)、已审核(5) |
| | | -- ============================================= |
| | |
| | | WHERE NOT EXISTS (SELECT 1 FROM system_dict_data WHERE dict_type = 'mes_pro_mps_status' AND value = '5' AND deleted = b'0'); |
| | | |
| | | -- ============================================= |
| | | -- 3. 按钮权限:提交审核 / 审核 / 生成采购申请单 |
| | | -- 3. 按钮权限:提交审核 / 生成采购申请单 |
| | | -- ============================================= |
| | | SET @mps_page = (SELECT id FROM system_menu WHERE deleted = b'0' AND permission = 'mes:pro-mps:query' ORDER BY id LIMIT 1); |
| | | |
| | | -- 3.0 清理旧版页面内「审核」按钮(审批已改为在协同办公完成) |
| | | DELETE FROM system_role_menu |
| | | WHERE menu_id IN (SELECT id FROM (SELECT id FROM system_menu WHERE permission = 'mes:pro-mps:audit' AND deleted = b'0') t); |
| | | DELETE FROM system_menu WHERE permission = 'mes:pro-mps:audit' AND deleted = b'0'; |
| | | |
| | | -- 3.1 提交审核 |
| | | SET @btn = (SELECT id FROM system_menu WHERE deleted = b'0' AND permission = 'mes:pro-mps:submit' ORDER BY id LIMIT 1); |
| | |
| | | SELECT @next, '生产计划-提交审核', 'mes:pro-mps:submit', 3, 20, @mps_page, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0' |
| | | FROM DUAL WHERE @btn IS NULL AND @mps_page IS NOT NULL; |
| | | |
| | | -- 3.2 审核 |
| | | SET @btn = (SELECT id FROM system_menu WHERE deleted = b'0' AND permission = 'mes:pro-mps:audit' ORDER BY id LIMIT 1); |
| | | SET @next = (SELECT IFNULL(MAX(id), 0) + 1 FROM system_menu); |
| | | INSERT INTO system_menu(id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) |
| | | SELECT @next, '生产计划-审核', 'mes:pro-mps:audit', 3, 21, @mps_page, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0' |
| | | FROM DUAL WHERE @btn IS NULL AND @mps_page IS NOT NULL; |
| | | |
| | | -- 3.3 生成采购申请单 |
| | | -- 3.2 生成采购申请单 |
| | | SET @btn = (SELECT id FROM system_menu WHERE deleted = b'0' AND permission = 'mes:pro-mps:generate-purchase' ORDER BY id LIMIT 1); |
| | | SET @next = (SELECT IFNULL(MAX(id), 0) + 1 FROM system_menu); |
| | | INSERT INTO system_menu(id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted) |
| | |
| | | FROM DUAL WHERE @btn IS NULL AND @mps_page IS NOT NULL; |
| | | |
| | | -- ============================================= |
| | | -- 4. 授权:超级管理员直接拥有全部菜单,此处仅补普通角色按需授权(示例:生产计划已有查询权限的角色) |
| | | -- 4. 协同办公流程分类:生产计划审批(流程定义 mes-pro-mps-audit 部署后归属该分类) |
| | | -- ============================================= |
| | | INSERT INTO bpm_category(name, code, description, status, sort, creator, create_time, updater, update_time, deleted) |
| | | SELECT '生产计划审批', 'mes_pro_mps_approve', 'MES 生产计划审批', 0, 72, '1', NOW(), '1', NOW(), b'0' |
| | | FROM DUAL |
| | | WHERE NOT EXISTS (SELECT 1 FROM bpm_category WHERE code = 'mes_pro_mps_approve' AND deleted = b'0'); |
| | | |
| | | -- ============================================= |
| | | -- 5. 协同办公审批详情:绑定生产计划业务详情组件,审批人可查看计划数据 |
| | | -- ============================================= |
| | | INSERT INTO bpm_business_attach(process_definition_key, business_type, component_path, status, remark, |
| | | creator, create_time, updater, update_time, deleted) |
| | | SELECT 'mes-pro-mps-audit', 'mes_pro_mps', '/mes/pro/mps/detail/approve/index.vue', 0, |
| | | '生产计划审批展示生产计划详情', '1', NOW(), '1', NOW(), b'0' |
| | | FROM DUAL |
| | | WHERE NOT EXISTS (SELECT 1 FROM bpm_business_attach |
| | | WHERE process_definition_key = 'mes-pro-mps-audit' AND deleted = b'0'); |
| | | |
| | | -- ============================================= |
| | | -- 6. 授权:超级管理员直接拥有全部菜单,此处仅补普通角色按需授权(示例:生产计划已有查询权限的角色) |
| | | -- ============================================= |
| | | INSERT INTO system_role_menu(role_id, menu_id, creator, create_time, updater, update_time, deleted) |
| | | SELECT DISTINCT rm.role_id, m.id, '1', NOW(), '1', NOW(), b'0' |
| | | FROM system_role_menu rm |
| | | JOIN system_menu m ON m.permission IN ('mes:pro-mps:submit', 'mes:pro-mps:audit', 'mes:pro-mps:generate-purchase') |
| | | JOIN system_menu m ON m.permission IN ('mes:pro-mps:submit', 'mes:pro-mps:generate-purchase') |
| | | AND m.deleted = b'0' |
| | | JOIN system_menu parent ON parent.id = rm.menu_id AND parent.permission = 'mes:pro-mps:query' AND parent.deleted = b'0' |
| | | WHERE rm.deleted = b'0' |