This commit is contained in:
zlwu committed 2026-06-13 19:47:22 +08:00
1 parent e1d6de45a3
commit 5ad07c8cac
616 files changed
+181132 -35125

No files matched your search

-36
View File
@@ -1,36 +0,0 @@
-- =====================================================
-- 菜单结构调整:插入 5 个一级菜单到 sys_menu 表
-- 执行时间:2026-06-12
-- 说明:新增 5 个一级菜单(市场、生产、质检、运营支撑、系统管理)
-- =====================================================
-- 一级菜单
INSERT INTO sys_menu (id, menu_name, parent_id, menu_type, path, component, perms, is_frame, visible, status, tenant_no, order_num, create_by, create_dept_id, create_time, update_by, update_time, del_flag) VALUES
('TOP00000000000000000000000000001', '市场', '0', 'M', '/market', '/index/index', 'menu:market', 1, '1', '1', 'zkxw', 1, 'system', '', NOW(), 'system', NOW(), 0),
('TOP00000000000000000000000000002', '生产', '0', 'M', '/production-group', '/index/index', 'menu:production', 1, '1', '1', 'zkxw', 2, 'system', '', NOW(), 'system', NOW(), 0),
('TOP00000000000000000000000000003', '质检', '0', 'M', '/quality-group', '/index/index', 'menu:quality', 1, '1', '1', 'zkxw', 3, 'system', '', NOW(), 'system', NOW(), 0),
('TOP00000000000000000000000000004', '运营支撑', '0', 'M', '/operations-group', '/index/index', 'menu:operations', 1, '1', '1', 'zkxw', 4, 'system', '', NOW(), 'system', NOW(), 0),
('TOP00000000000000000000000000005', '系统管理', '0', 'M', '/system-manage', '/index/index', 'menu:system-manage', 1, '1', '1', 'zkxw', 5, 'system', '', NOW(), 'system', NOW(), 0);
-- =====================================================
-- 注意事项:
-- 1. 执行前请确认 tenant_no 是否正确
-- 2. 如果需要为超级管理员角色分配这些菜单权限,请执行以下 SQL:
--
-- -- 假设 super_admin 角色的 id 为 '1',根据实际情况调整
-- INSERT INTO sys_role_menu (id, role_id, menu_id, tenant_no, order_num, create_by, create_dept_id, create_time, update_by, update_time, del_flag)
-- SELECT
-- REPLACE(UUID(), '-', ''),
-- '1', -- 替换为实际的超级管理员角色ID
-- id,
-- tenant_no,
-- order_num,
-- 'system',
-- '',
-- NOW(),
-- 'system',
-- NOW(),
-- 0
-- FROM sys_menu
-- WHERE menu_type = 'M' AND parent_id = '0' AND del_flag = 0;
-- =====================================================
+92
View File
@@ -0,0 +1,92 @@
-- 菜单层级修复:5 个一级分组归入 Web端菜单(id=2) 下,原二级菜单归入对应 TOP 分组
SET NAMES utf8mb4;
UPDATE sys_menu SET parent_id='2', path='/market', component='/index/index', perms='menu:market', visible='1', order_num=1, menu_type='M' WHERE id='TOP00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000001', path='cell-storage', component=NULL, perms=NULL, visible='1', order_num=1, menu_type='M' WHERE id='CEL00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='CEL00000000000000000000000000001', path='protocol', component='/cell-storage/protocol/index', perms='biz:cellStorageProtocol:list', visible='0', order_num=1, menu_type='C' WHERE id='50000000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='CEL00000000000000000000000000001', path='protocol-audit', component='/cell-storage/protocol-audit/index', perms='biz:cellStorageProtocolAudit:list', visible='1', order_num=2, menu_type='C' WHERE id='50000000000000000000000000000003' AND del_flag=0;
UPDATE sys_menu SET parent_id='CEL00000000000000000000000000001', path='sample-info', component='/cell-storage/sample-info/index', perms='cell-storage:sample-info:list', visible='1', order_num=3, menu_type='C' WHERE id='50000000000000000000000000000013' AND del_flag=0;
UPDATE sys_menu SET parent_id='CEL00000000000000000000000000001', path='payment-confirm', component='/cell-storage/payment-confirm/index', perms='biz:cellStoragePaymentConfirm:list', visible='1', order_num=4, menu_type='C' WHERE id='50000000000000000000000000000004' AND del_flag=0;
UPDATE sys_menu SET parent_id='CEL00000000000000000000000000001', path='storage-release-review', component='/quality-inspection/storage-release-review/index', perms='biz:storageReleaseReview:list', visible='1', order_num=5, menu_type='C' WHERE id='70000000000000000000000000000011' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000001', path='research-donation', component=NULL, perms=NULL, visible='1', order_num=2, menu_type='M' WHERE id='RSC00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='RSC00000000000000000000000000001', path='list', component='/research-donation/list/index', perms='biz:researchDonation:list', visible='0', order_num=1, menu_type='C' WHERE id='60000000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='RSC00000000000000000000000000001', path='audit', component='/research-donation/audit/index', perms='biz:researchDonationAudit:list', visible='1', order_num=2, menu_type='C' WHERE id='60000000000000000000000000000003' AND del_flag=0;
UPDATE sys_menu SET parent_id='RSC00000000000000000000000000001', path='sample-info', component='/research-donation/sample-info/index', perms='research-donation:sample-info:list', visible='1', order_num=3, menu_type='C' WHERE id='60000000000000000000000000000004' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000001', path='pilot-service', component=NULL, perms=NULL, visible='1', order_num=3, menu_type='M' WHERE id='PIL00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='PIL00000000000000000000000000001', path='pilot-application', component='/pilot-service/pilot-application/index', perms='pilot-service:pilot-application:list', visible='1', order_num=1, menu_type='C' WHERE id='80000000000000000000000000000010' AND del_flag=0;
UPDATE sys_menu SET parent_id='PIL00000000000000000000000000001', path='outbound-release-review', component='/pilot-service/outbound-release-review/index', perms='pilot-service:outbound-release-review:list', visible='1', order_num=2, menu_type='C' WHERE id='PIL00000000000000000000000000004' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000001', path='basic-experiment', component=NULL, perms=NULL, visible='1', order_num=4, menu_type='M' WHERE id='BEX00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='BEX00000000000000000000000000001', path='application', component='/pilot-service/pilot-application/index', perms='basic-experiment:application:list', visible='1', order_num=1, menu_type='C' WHERE id='BEX00000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='BEX00000000000000000000000000001', path='payment-confirm', component='/pilot-service/clinical-payment-confirm/index', perms='basic-experiment:payment-confirm:list', visible='1', order_num=2, menu_type='C' WHERE id='BEX00000000000000000000000000003' AND del_flag=0;
UPDATE sys_menu SET parent_id='BEX00000000000000000000000000001', path='outbound-release-review', component='/pilot-service/outbound-release-review/index', perms='basic-experiment:outbound-release-review:list', visible='1', order_num=3, menu_type='C' WHERE id='BEX00000000000000000000000000004' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000001', path='market-info', component=NULL, perms=NULL, visible='1', order_num=5, menu_type='M' WHERE id='MKT00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='MKT00000000000000000000000000001', path='cell-sample-type', component='/basic-info/cell-sample-type/index', perms='biz:cellSampleType:list', visible='1', order_num=1, menu_type='C' WHERE id='122' AND del_flag=0;
UPDATE sys_menu SET parent_id='MKT00000000000000000000000000001', path='collection-region', component='/basic-info/collection-region/index', perms='biz:collectionRegion:list', visible='1', order_num=2, menu_type='C' WHERE id='123' AND del_flag=0;
UPDATE sys_menu SET parent_id='MKT00000000000000000000000000001', path='cell-product-type', component='/pilot-service/cell-product-type/index', perms='pilot-service:cell-product-type:list', visible='1', order_num=3, menu_type='C' WHERE id='80000000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='MKT00000000000000000000000000001', path='insurance-company', component='/basic-info/insurance-company/index', perms='basic-info:insurance-company:list', visible='1', order_num=4, menu_type='C' WHERE id='40000000000000000000000000000007' AND del_flag=0;
UPDATE sys_menu SET parent_id='MKT00000000000000000000000000001', path='checkup-institution', component='/pilot-service/checkup-institution/index', perms='pilot-service:checkup-institution:list', visible='1', order_num=5, menu_type='C' WHERE id='80000000000000000000000000000007' AND del_flag=0;
UPDATE sys_menu SET parent_id='MKT00000000000000000000000000001', path='material', component='/cell-storage/material/index', perms='biz:material:list', visible='1', order_num=6, menu_type='C' WHERE id='50000000000000000000000000000009' AND del_flag=0;
UPDATE sys_menu SET parent_id='MKT00000000000000000000000000001', path='customer', component='/basic-info/customer/index', perms='biz:customer:list', visible='1', order_num=7, menu_type='C' WHERE id='121' AND del_flag=0;
UPDATE sys_menu SET parent_id='MKT00000000000000000000000000001', path='channel', component='/pilot-service/channel/index', perms='pilot-service:channel:list', visible='1', order_num=8, menu_type='C' WHERE id='80000000000000000000000000000006' AND del_flag=0;
UPDATE sys_menu SET parent_id='MKT00000000000000000000000000001', path='channel-service-order-finance', component='/pilot-service/channel-service-order-finance/index', perms='pilot-service:channel-service-order-finance:list', visible='1', order_num=9, menu_type='C' WHERE id='80000000000000000000000000000009' AND del_flag=0;
UPDATE sys_menu SET parent_id='2', path='/production-group', component='/index/index', perms='menu:production', visible='1', order_num=2, menu_type='M' WHERE id='TOP00000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000002', path='clinical-application', component=NULL, perms=NULL, visible='0', order_num=1, menu_type='M' WHERE id='CLI00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='CLI00000000000000000000000000001', path='clinical-application', component='/pilot-service/pilot-application/index', perms='clinical-application:application:list', visible='0', order_num=1, menu_type='C' WHERE id='CLI00000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='CLI00000000000000000000000000001', path='clinical-checkup-management', component='/pilot-service/checkup-management/index', perms='clinical-application:checkup-management:list', visible='0', order_num=2, menu_type='C' WHERE id='CLI00000000000000000000000000003' AND del_flag=0;
UPDATE sys_menu SET parent_id='CLI00000000000000000000000000001', path='clinical-infusion-schedule-management', component='/pilot-service/infusion-schedule-management/index', perms='clinical-application:infusion-schedule-management:list', visible='0', order_num=3, menu_type='C' WHERE id='CLI00000000000000000000000000004' AND del_flag=0;
UPDATE sys_menu SET parent_id='CLI00000000000000000000000000001', path='clinical-payment-info', component='/pilot-service/clinical-payment-info/index', perms='clinical-application:payment-info:list', visible='0', order_num=4, menu_type='C' WHERE id='CLI00000000000000000000000000005' AND del_flag=0;
UPDATE sys_menu SET parent_id='CLI00000000000000000000000000001', path='clinical-payment-confirm', component='/pilot-service/clinical-payment-confirm/index', perms='clinical-application:payment-confirm:list', visible='0', order_num=5, menu_type='C' WHERE id='CLI00000000000000000000000000006' AND del_flag=0;
UPDATE sys_menu SET parent_id='CLI00000000000000000000000000001', path='clinical-refund-confirm', component='/pilot-service/clinical-refund-confirm/index', perms='clinical-application:refund-confirm:list', visible='1', order_num=6, menu_type='C' WHERE id='CLI00000000000000000000000000007' AND del_flag=0;
UPDATE sys_menu SET parent_id='CLI00000000000000000000000000001', path='clinical-outbound-release-review', component='/pilot-service/outbound-release-review/index', perms='clinical-application:outbound-release-review:list', visible='0', order_num=7, menu_type='C' WHERE id='CLI00000000000000000000000000008' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000002', path='production', component=NULL, perms=NULL, visible='1', order_num=2, menu_type='M' WHERE id='PRM00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRM00000000000000000000000000001', path='storage-facility', component='/operations/storage-facility/index', perms='operations:storage-facility:list', visible='1', order_num=1, menu_type='C' WHERE id='61000000000000000000000000000003' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRM00000000000000000000000000001', path='cell-product', component='/production/cell-product/index', perms='production:cell-product:list', visible='1', order_num=2, menu_type='C' WHERE id='90000000000000000000000000000013' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRM00000000000000000000000000001', path='production-work-order', component='/production/production-work-order/index', perms='production:work-order:list', visible='1', order_num=3, menu_type='C' WHERE id='90000000000000000000000000000011' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRM00000000000000000000000000001', path='my-production-task', component='/production/my-production-task/index', perms='production:my-task:list', visible='1', order_num=4, menu_type='C' WHERE id='94000000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRM00000000000000000000000000001', path='my-production-material-usage', component='/production/my-production-material-usage/index', perms='production:my-material-usage:list', visible='1', order_num=5, menu_type='C' WHERE id='94000000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRM00000000000000000000000000001', path='sample-reception-completion', component='/production/sample-reception-completion/index', perms='production:sample-reception-completion:list', visible='1', order_num=6, menu_type='C' WHERE id='91000000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRM00000000000000000000000000001', path='cleanroom-garment', component='/production/cleanroom-garment/index', perms='production:cleanroom-garment:list', visible='1', order_num=7, menu_type='C' WHERE id='95000000000000000000000000000003' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000002', path='production-base', component=NULL, perms=NULL, visible='1', order_num=3, menu_type='M' WHERE id='PRB00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRB00000000000000000000000000001', path='production-material', component='/production/production-material/index', perms='production:material:list', visible='1', order_num=1, menu_type='C' WHERE id='90000000000000000000000000000014' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRB00000000000000000000000000001', path='consumable', component='/production/consumable/index', perms='production:consumable:list', visible='0', order_num=2, menu_type='C' WHERE id='90000000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRB00000000000000000000000000001', path='reagent', component='/production/reagent/index', perms='production:reagent:list', visible='0', order_num=3, menu_type='C' WHERE id='90000000000000000000000000000003' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRB00000000000000000000000000001', path='sop', component='/production/sop/index', perms='production:sop-document:list', visible='1', order_num=4, menu_type='C' WHERE id='90000000000000000000000000000004' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRB00000000000000000000000000001', path='process-category', component='/production/process-category/index', perms='production:process-category:list', visible='1', order_num=5, menu_type='C' WHERE id='90000000000000000000000000000005' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRB00000000000000000000000000001', path='process', component='/production/process/index', perms='production:process:list', visible='1', order_num=6, menu_type='C' WHERE id='90000000000000000000000000000008' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRB00000000000000000000000000001', path='equipment', component='/production/equipment/index', perms='production:equipment:list', visible='1', order_num=7, menu_type='C' WHERE id='90000000000000000000000000000009' AND del_flag=0;
UPDATE sys_menu SET parent_id='2', path='/quality-group', component='/index/index', perms='menu:quality', visible='1', order_num=3, menu_type='M' WHERE id='TOP00000000000000000000000000003' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000003', path='quality-manage', component=NULL, perms=NULL, visible='1', order_num=1, menu_type='M' WHERE id='QCM00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='QCM00000000000000000000000000001', path='sample-reception', component='/quality-inspection/sample-reception/index', perms='biz:sampleReception:list', visible='1', order_num=1, menu_type='C' WHERE id='70000000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='QCM00000000000000000000000000001', path='qc-work-order', component='/quality-inspection/qc-work-order/index', perms='biz:qcWorkOrder:list', visible='1', order_num=2, menu_type='C' WHERE id='70000000000000000000000000000007' AND del_flag=0;
UPDATE sys_menu SET parent_id='QCM00000000000000000000000000001', path='env-detect-record', component='/quality-inspection/env-detect-record/index', perms='biz:envDetectRecord:list', visible='1', order_num=3, menu_type='C' WHERE id='71000000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='QCM00000000000000000000000000001', path='my-qc-material-usage', component='/quality-inspection/my-qc-material-usage/index', perms='biz:myQcMaterialUsage:list', visible='1', order_num=4, menu_type='C' WHERE id='92000000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='QCM00000000000000000000000000001', path='my-qc-task', component='/quality-inspection/my-qc-task/index', perms='biz:myQcTask:list', visible='1', order_num=5, menu_type='C' WHERE id='93000000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000003', path='quality-base', component=NULL, perms=NULL, visible='1', order_num=2, menu_type='M' WHERE id='QCB00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='QCB00000000000000000000000000001', path='sample-reception-check-item', component='/quality-inspection/sample-reception-check-item/index', perms='biz:sampleReceptionCheckItem:list', visible='1', order_num=1, menu_type='C' WHERE id='70000000000000000000000000000003' AND del_flag=0;
UPDATE sys_menu SET parent_id='QCB00000000000000000000000000001', path='lab-test-item', component='/quality-inspection/lab-test-item/index', perms='biz:qcLabTestItem:list', visible='1', order_num=2, menu_type='C' WHERE id='70000000000000000000000000000006' AND del_flag=0;
UPDATE sys_menu SET parent_id='QCB00000000000000000000000000001', path='env-detect-item', component='/quality-inspection/env-detect-item/index', perms='biz:envDetectItem:list', visible='1', order_num=3, menu_type='C' WHERE id='71000000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='QCB00000000000000000000000000001', path='qc-material', component='/quality-inspection/qc-material/index', perms='biz:qcMaterial:list', visible='1', order_num=4, menu_type='C' WHERE id='70000000000000000000000000000009' AND del_flag=0;
UPDATE sys_menu SET parent_id='2', path='/operations-group', component='/index/index', perms='menu:operations', visible='1', order_num=4, menu_type='M' WHERE id='TOP00000000000000000000000000004' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000004', path='system-base', component=NULL, perms=NULL, visible='1', order_num=1, menu_type='M' WHERE id='SYSB000000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSB000000000000000000000000000001', path='site', component='/system/site/index', perms='system:site:list', visible='1', order_num=1, menu_type='C' WHERE id='107' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSB000000000000000000000000000001', path='unit', component='/system/unit/index', perms='system:unit:list', visible='1', order_num=2, menu_type='C' WHERE id='109' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSB000000000000000000000000000001', path='express', component='/system/express/index', perms='system:express:list', visible='1', order_num=3, menu_type='C' WHERE id='110' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000004', path='operations', component=NULL, perms=NULL, visible='1', order_num=2, menu_type='M' WHERE id='OPS00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='OPS00000000000000000000000000001', path='clean-room', component='/operations/clean-room/index', perms='operations:clean-room:list', visible='1', order_num=1, menu_type='C' WHERE id='61000000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='OPS00000000000000000000000000001', path='exhibition-appointment', component='/operations/exhibition-appointment/index', perms='operations:exhibition-appointment:list', visible='1', order_num=2, menu_type='C' WHERE id='61000000000000000000000000000004' AND del_flag=0;
UPDATE sys_menu SET parent_id='2', path='/system-manage', component='/index/index', perms='menu:system-manage', visible='1', order_num=5, menu_type='M' WHERE id='TOP00000000000000000000000000005' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000005', path='system', component=NULL, perms=NULL, visible='1', order_num=1, menu_type='M' WHERE id='SYSM000000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSM000000000000000000000000000001', path='tenant', component='/system/tenant/index', perms='system:tenant:list', visible='1', order_num=1, menu_type='C' WHERE id='101' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSM000000000000000000000000000001', path='dict', component='/system/dict/index', perms='system:dict:list', visible='1', order_num=2, menu_type='C' WHERE id='102' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSM000000000000000000000000000001', path='menu', component='/system/menu/index', perms='system:menu:list', visible='1', order_num=3, menu_type='C' WHERE id='106' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSM000000000000000000000000000001', path='dept', component='/system/dept/index', perms='system:dept:list', visible='1', order_num=4, menu_type='C' WHERE id='103' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSM000000000000000000000000000001', path='role', component='/system/role/index', perms='system:role:list', visible='1', order_num=5, menu_type='C' WHERE id='105' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSM000000000000000000000000000001', path='user', component='/system/user/index', perms='system:user:list', visible='1', order_num=6, menu_type='C' WHERE id='104' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSM000000000000000000000000000001', path='post', component='/system/post/index', perms='system:post:list', visible='1', order_num=7, menu_type='C' WHERE id='108' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSM000000000000000000000000000001', path='user/detail', component='/system/user/detail', perms=NULL, visible='0', order_num=8, menu_type='C' WHERE id='10000000000000000000000000000008' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000005', path='workflow', component=NULL, perms=NULL, visible='1', order_num=2, menu_type='M' WHERE id='WKF00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='WKF00000000000000000000000000001', path='process', component='/system/workflow/process/index', perms='workflow:process', visible='1', order_num=1, menu_type='C' WHERE id='10000000000000000000000000000wf01' AND del_flag=0;
UPDATE sys_menu SET parent_id='WKF00000000000000000000000000001', path='pending', component='/system/workflow/task-pending/index', perms='workflow:pending', visible='1', order_num=2, menu_type='C' WHERE id='10000000000000000000000000000wf02' AND del_flag=0;
UPDATE sys_menu SET parent_id='WKF00000000000000000000000000001', path='completed', component='/system/workflow/task-completed/index', perms='workflow:completed', visible='1', order_num=3, menu_type='C' WHERE id='10000000000000000000000000000wf03' AND del_flag=0;
UPDATE sys_menu SET parent_id='WKF00000000000000000000000000001', path='my-applications', component='/system/workflow/my-applications/index', perms='workflow:myApplications', visible='1', order_num=4, menu_type='C' WHERE id='10000000000000000000000000000wf05' AND del_flag=0;
UPDATE sys_menu SET parent_id='WKF00000000000000000000000000001', path='leave', component='/system/leave/index', perms='workflow:leave', visible='1', order_num=5, menu_type='C' WHERE id='10000000000000000000000000000wf04' AND del_flag=0;
@@ -1,6 +0,0 @@
-- 母亲邮箱:采集协议当事人、科研捐赠当事人
ALTER TABLE `biz_protocol_party_customer`
ADD COLUMN `mother_email` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '母亲邮箱' AFTER `mother_ethnic`;
ALTER TABLE `biz_research_donation_party`
ADD COLUMN `mother_email` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '母亲邮箱' AFTER `mother_ethnic`;
@@ -1,4 +0,0 @@
-- 中试/临床申请单:知情同意书与其他附件
ALTER TABLE `biz_pilot_application`
ADD COLUMN `consent_form_urls` varchar(4000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '知情同意书附件URL(逗号分隔)' AFTER `remark`,
ADD COLUMN `attachment_urls` varchar(4000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '其他附件URL(逗号分隔)' AFTER `consent_form_urls`;
@@ -1,3 +0,0 @@
-- 每期间隔(月)支持小数,如 0.1、0.5
ALTER TABLE `biz_protocol_payment`
MODIFY COLUMN `installment_interval_months` decimal(10, 2) DEFAULT NULL COMMENT '每期间隔(月)';
@@ -1,109 +0,0 @@
-- ============================================================
-- 基础实验:sys_menu 菜单数据 + 隐藏临床应用菜单
-- 与 web-admin/src/router/modules/sqxp.ts、backend/app/api/menu.py 对齐
-- ============================================================
-- 1. 一级菜单:基础实验(挂在 Web 端虚拟根「2」下,order_num=4 接替临床应用位置)
INSERT INTO `sys_menu` (
`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
`is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
) VALUES (
'BEX00000000000000000000000000001', '基础实验', '2', 'M', '/basic-experiment', '/index/index', NULL,
1, '1', '1', 'zkxw', 4, NULL,
NULL, '', NOW(), NULL, NOW(), 0
)
ON DUPLICATE KEY UPDATE
`menu_name` = VALUES(`menu_name`),
`parent_id` = VALUES(`parent_id`),
`menu_type` = VALUES(`menu_type`),
`path` = VALUES(`path`),
`component` = VALUES(`component`),
`visible` = '1',
`status` = '1',
`order_num` = VALUES(`order_num`),
`update_time` = NOW(),
`del_flag` = 0;
-- 2. 二级菜单
INSERT INTO `sys_menu` (
`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
`is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
) VALUES
(
'BEX00000000000000000000000000002', '基础实验申请单', 'BEX00000000000000000000000000001', 'C',
'application', '/pilot-service/pilot-application/index', 'basic-experiment:application:list',
1, '1', '1', 'zkxw', 1, NULL,
NULL, '', NOW(), NULL, NOW(), 0
),
(
'BEX00000000000000000000000000003', '缴退费财务确认', 'BEX00000000000000000000000000001', 'C',
'payment-confirm', '/pilot-service/clinical-payment-confirm/index', 'basic-experiment:payment-confirm:list',
1, '1', '1', 'zkxw', 2, NULL,
NULL, '', NOW(), NULL, NOW(), 0
),
(
'BEX00000000000000000000000000004', '出库放行审核', 'BEX00000000000000000000000000001', 'C',
'outbound-release-review', '/pilot-service/outbound-release-review/index', 'basic-experiment:outbound-release-review:list',
1, '1', '1', 'zkxw', 3, NULL,
NULL, '', NOW(), NULL, NOW(), 0
)
ON DUPLICATE KEY UPDATE
`menu_name` = VALUES(`menu_name`),
`parent_id` = VALUES(`parent_id`),
`path` = VALUES(`path`),
`component` = VALUES(`component`),
`perms` = VALUES(`perms`),
`visible` = '1',
`status` = '1',
`order_num` = VALUES(`order_num`),
`update_time` = NOW(),
`del_flag` = 0;
-- 3. 隐藏临床应用菜单(侧栏不展示,与 sqxp.ts isHide 一致)
UPDATE `sys_menu`
SET `visible` = '0', `update_time` = NOW()
WHERE `id` IN (
'CLI00000000000000000000000000001',
'CLI00000000000000000000000000002',
'CLI00000000000000000000000000006',
'CLI00000000000000000000000000008'
)
AND `del_flag` = 0;
-- 4. 为已授权「中试服务」一级菜单的角色,自动授予「基础实验」一级菜单(含子菜单需在角色管理中勾选,或执行下方扩展)
INSERT INTO `sys_role_menu` (
`id`, `role_id`, `menu_id`, `tenant_no`, `order_num`, `remark`,
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
)
SELECT
UPPER(REPLACE(UUID(), '-', '')),
rm.`role_id`,
m.`id`,
'zkxw',
0,
'基础实验菜单迁移自动授权',
NULL,
'',
NOW(),
NULL,
NOW(),
0
FROM `sys_role_menu` rm
CROSS JOIN (
SELECT 'BEX00000000000000000000000000001' AS id UNION ALL
SELECT 'BEX00000000000000000000000000002' UNION ALL
SELECT 'BEX00000000000000000000000000003' UNION ALL
SELECT 'BEX00000000000000000000000000004'
) m
WHERE rm.`menu_id` = 'PIL00000000000000000000000000001'
AND rm.`del_flag` = 0
AND rm.`tenant_no` = 'zkxw'
AND NOT EXISTS (
SELECT 1 FROM `sys_role_menu` x
WHERE x.`role_id` = rm.`role_id`
AND x.`menu_id` = m.`id`
AND x.`del_flag` = 0
AND x.`tenant_no` = 'zkxw'
);
@@ -1,14 +0,0 @@
-- 基础实验:biz_pilot_application 扩展
ALTER TABLE biz_pilot_application
MODIFY COLUMN biz_type VARCHAR(20) NOT NULL DEFAULT 'pilot_service'
COMMENT '业务类型: pilot_service=中试服务, clinical_application=临床应用, basic_experiment=基础实验';
ALTER TABLE biz_pilot_application
ADD COLUMN project_title VARCHAR(200) DEFAULT NULL COMMENT '课题名称(基础实验)' AFTER application_name,
ADD COLUMN customer_name VARCHAR(200) DEFAULT NULL COMMENT '客户名称(基础实验)' AFTER project_title,
ADD COLUMN customer_contact VARCHAR(100) DEFAULT NULL COMMENT '客户联系人(基础实验)' AFTER customer_name,
ADD COLUMN customer_phone VARCHAR(32) DEFAULT NULL COMMENT '客户联系方式(基础实验)' AFTER customer_contact;
ALTER TABLE biz_pilot_payment
MODIFY COLUMN biz_type VARCHAR(20) NOT NULL DEFAULT 'clinical_application'
COMMENT '业务类型: clinical_application=临床应用, basic_experiment=基础实验';
@@ -1,4 +0,0 @@
-- 采集协议单分期:应缴费提前天数 + 各期缴费比例
ALTER TABLE `biz_protocol_payment`
ADD COLUMN `installment_advance_days` INT NULL DEFAULT 30 COMMENT '第2期起应缴费提前天数' AFTER `installment_start_date`,
ADD COLUMN `installment_ratios` VARCHAR(256) NULL COMMENT '各期缴费比例JSON数组' AFTER `installment_advance_days`;
@@ -1,6 +0,0 @@
-- 采集协议单样本:增加原价格字段,price 注释调整为优惠价格
ALTER TABLE `biz_protocol_sample`
ADD COLUMN `original_price` decimal(18,2) DEFAULT NULL COMMENT '原价格(元)' AFTER `price`;
ALTER TABLE `biz_protocol_sample`
MODIFY COLUMN `price` decimal(18,2) DEFAULT NULL COMMENT '优惠价格(元)';
@@ -1,104 +0,0 @@
-- ============================================================
-- 环境检测:主数据 + 登记记录 + 菜单 + 种子数据
-- 与 docs/superpowers/specs/2026-06-11-env-detect-design.md 对齐
-- ============================================================
-- 1. 环境检测项(主数据)
DROP TABLE IF EXISTS `biz_env_detect_record`;
DROP TABLE IF EXISTS `biz_env_detect_item`;
CREATE TABLE `biz_env_detect_item` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`item_code` varchar(64) NOT NULL COMMENT '项目编码',
`item_name` varchar(200) NOT NULL COMMENT '项目名称',
`status` char(1) NOT NULL DEFAULT '1' COMMENT '1启用 0停用',
`tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_env_item_tenant_code` (`tenant_no`, `item_code`, `del_flag`),
KEY `idx_env_item_tenant_status` (`tenant_no`, `status`, `del_flag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='环境检测项';
-- 2. 环境检测登记
CREATE TABLE `biz_env_detect_record` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`record_no` varchar(32) NOT NULL COMMENT '登记编号',
`detect_time` datetime NOT NULL COMMENT '检测时间',
`inspector_ids` varchar(500) NOT NULL COMMENT '检测人用户ID,逗号分隔',
`inspector_names` varchar(500) NOT NULL COMMENT '检测人姓名快照,逗号分隔',
`env_detect_item_id` varchar(64) NOT NULL COMMENT '检测项目ID',
`item_code` varchar(64) NOT NULL COMMENT '项目编码快照',
`item_name` varchar(200) NOT NULL COMMENT '项目名称快照',
`result_desc` varchar(2000) NOT NULL COMMENT '检测结果描述',
`attachment_urls` varchar(2000) DEFAULT NULL COMMENT '检测附件URL,逗号分隔',
`tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_env_rec_tenant_no` (`tenant_no`, `record_no`, `del_flag`),
KEY `idx_env_rec_tenant_time` (`tenant_no`, `detect_time`, `del_flag`),
KEY `idx_env_rec_tenant_item` (`tenant_no`, `env_detect_item_id`, `del_flag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='环境检测登记';
-- 3. 种子:6 项初始检测项目(租户 zkxw)
INSERT INTO `biz_env_detect_item` (
`id`, `item_code`, `item_name`, `status`, `tenant_no`, `order_num`, `remark`,
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
) VALUES
('ENVITEM00000000000000000000000001', 'BMWS', '表面微生物检测', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('ENVITEM00000000000000000000000002', 'SYFS', '实验室风速检测', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('ENVITEM00000000000000000000000003', 'ZWQD', '紫外灯强度检测', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('ENVITEM00000000000000000000000004', 'CJJ', '沉降菌检测', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('ENVITEM00000000000000000000000005', 'JJZY', '洁净区噪音检测', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('ENVITEM00000000000000000000000006', 'XFZL', '洁净区悬浮粒子检测', '1', 'zkxw', 6, NULL, NULL, '', NOW(), NULL, NOW(), 0)
ON DUPLICATE KEY UPDATE
`item_name` = VALUES(`item_name`),
`status` = VALUES(`status`),
`order_num` = VALUES(`order_num`),
`update_time` = NOW(),
`del_flag` = 0;
-- 4. 菜单
INSERT INTO `sys_menu` (
`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
`is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
) VALUES
(
'71000000000000000000000000000001', '环境检测项维护',
'QCB00000000000000000000000000001', 'C', 'env-detect-item',
'/quality-inspection/env-detect-item/index', 'biz:envDetectItem:list',
1, '1', '1', 'zkxw', 7, NULL,
NULL, '', NOW(), NULL, NOW(), 0
),
(
'71000000000000000000000000000002', '环境检测管理',
'QCM00000000000000000000000000001', 'C', 'env-detect-record',
'/quality-inspection/env-detect-record/index', 'biz:envDetectRecord:list',
1, '1', '1', 'zkxw', 3, NULL,
NULL, '', NOW(), NULL, NOW(), 0
)
ON DUPLICATE KEY UPDATE
`menu_name` = VALUES(`menu_name`),
`parent_id` = VALUES(`parent_id`),
`path` = VALUES(`path`),
`component` = VALUES(`component`),
`perms` = VALUES(`perms`),
`visible` = '1',
`status` = '1',
`order_num` = VALUES(`order_num`),
`update_time` = NOW(),
`del_flag` = 0;
@@ -1,27 +0,0 @@
-- ============================================================
-- 质检管理 · 我的物料领用记录
-- 与 web-admin/src/router/modules/sqxp.ts、backend/app/api/menu.py 对齐
-- ============================================================
INSERT INTO `sys_menu` (
`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
`is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
) VALUES (
'92000000000000000000000000000001', '我的物料领用记录', 'QCM00000000000000000000000000001', 'C',
'my-qc-material-usage', '/quality-inspection/my-qc-material-usage/index',
'biz:myQcMaterialUsage:list',
1, '1', '1', 'zkxw', 4, NULL,
NULL, '', NOW(), NULL, NOW(), 0
)
ON DUPLICATE KEY UPDATE
`menu_name` = VALUES(`menu_name`),
`parent_id` = VALUES(`parent_id`),
`path` = VALUES(`path`),
`component` = VALUES(`component`),
`perms` = VALUES(`perms`),
`visible` = '1',
`status` = '1',
`order_num` = VALUES(`order_num`),
`update_time` = NOW(),
`del_flag` = 0;
@@ -1,27 +0,0 @@
-- ============================================================
-- 生产管理 · 样本接收信息完善
-- 与 web-admin/src/router/modules/sqxp.ts、backend/app/api/menu.py 对齐
-- ============================================================
INSERT INTO `sys_menu` (
`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
`is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
) VALUES (
'91000000000000000000000000000001', '样本接收信息完善', 'PRM00000000000000000000000000001', 'C',
'sample-reception-completion', '/production/sample-reception-completion/index',
'production:sample-reception-completion:list',
1, '1', '1', 'zkxw', 4, NULL,
NULL, '', NOW(), NULL, NOW(), 0
)
ON DUPLICATE KEY UPDATE
`menu_name` = VALUES(`menu_name`),
`parent_id` = VALUES(`parent_id`),
`path` = VALUES(`path`),
`component` = VALUES(`component`),
`perms` = VALUES(`perms`),
`visible` = '1',
`status` = '1',
`order_num` = VALUES(`order_num`),
`update_time` = NOW(),
`del_flag` = 0;
@@ -1,21 +0,0 @@
-- 质检物料库 · 清除旧数据(批次改造上线前)
-- 执行时机:DDL 已执行 + 代码已部署后,导入测试数据前
-- 默认采用物理 DELETE;若需保留审计可改为 UPDATE ... SET del_flag=1
SET FOREIGN_KEY_CHECKS = 0;
-- 变动记录(含旧版无 batch_id 的行)
DELETE FROM `biz_qc_material_usage`;
-- 入库批次(新表,若曾手工插入过也一并清空)
DELETE FROM `biz_qc_material_stock_batch`;
-- 物资目录
DELETE FROM `biz_qc_material`;
SET FOREIGN_KEY_CHECKS = 1;
-- 软删替代方案(按需取消注释,勿与上方 DELETE 同时执行):
-- UPDATE `biz_qc_material_usage` SET `del_flag` = 1 WHERE `del_flag` = 0;
-- UPDATE `biz_qc_material_stock_batch` SET `del_flag` = 1 WHERE `del_flag` = 0;
-- UPDATE `biz_qc_material` SET `del_flag` = 1 WHERE `del_flag` = 0;
@@ -1,130 +0,0 @@
-- 质检物料库 · 批次管理测试数据
-- 执行时机:clear-data 脚本之后
-- 租户:zkxw;覆盖单物资多批次、零库存批次、入出库流水
SET @tenant := 'zkxw';
SET @now := NOW();
-- ========== 物资目录(3 种) ==========
INSERT INTO `biz_qc_material` (
`id`, `material_code`, `material_name`, `spec_model`, `unit`,
`stock_qty`, `warning_qty`, `status`, `tenant_no`, `order_num`, `remark`,
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
) VALUES
(
'qc-mat-001', 'QC-M-001', 'DMEM 培养基', '500mL/瓶', '瓶',
15.0000, 5.0000, '1', @tenant, 1, '测试物资-培养基',
'admin', '', @now, 'admin', @now, 0
),
(
'qc-mat-002', 'QC-M-002', '胎牛血清', '100mL/瓶', '瓶',
8.0000, 3.0000, '1', @tenant, 2, '测试物资-血清',
'admin', '', @now, 'admin', @now, 0
),
(
'qc-mat-003', 'QC-M-003', '胰酶消化液', '100mL/瓶', '瓶',
0.0000, 2.0000, '1', @tenant, 3, '测试物资-已全部出清',
'admin', '', @now, 'admin', @now, 0
);
-- ========== 入库批次 ==========
-- DMEM:2 批次(一批有库存,一批零库存)
INSERT INTO `biz_qc_material_stock_batch` (
`id`, `material_id`, `material_code`, `material_name`, `spec_model`, `unit`,
`stock_in_no`, `stock_in_date`, `catalog_no`, `batch_no`, `manufacturer`,
`unit_price`, `amount`, `in_qty`, `remaining_qty`,
`tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
) VALUES
(
'qc-batch-001', 'qc-mat-001', 'QC-M-001', 'DMEM 培养基', '500mL/瓶', '瓶',
'RK-202606-001', '2026-06-01', 'SH30022.01', 'LOT-A202601', '赛默飞',
280.00, 2800.00, 10.0000, 8.0000,
@tenant, 1, '首批入库', 'admin', '', @now, 'admin', @now, 0
),
(
'qc-batch-002', 'qc-mat-001', 'QC-M-001', 'DMEM 培养基', '500mL/瓶', '瓶',
'RK-202606-002', '2026-06-05', 'SH30022.01', 'LOT-B202602', '赛默飞',
295.00, 1475.00, 5.0000, 0.0000,
@tenant, 2, '第二批已出清', 'admin', '', @now, 'admin', @now, 0
),
(
'qc-batch-003', 'qc-mat-002', 'QC-M-002', '胎牛血清', '100mL/瓶', '瓶',
'RK-202606-003', '2026-06-03', '10270-106', 'SER-202603', 'Gibco',
1200.00, 9600.00, 8.0000, 8.0000,
@tenant, 1, '血清入库', 'admin', '', @now, 'admin', @now, 0
),
(
'qc-batch-004', 'qc-mat-003', 'QC-M-003', '胰酶消化液', '100mL/瓶', '瓶',
'RK-202606-004', '2026-06-08', '25200-056', 'TRY-202604', 'Sigma',
350.00, 1050.00, 3.0000, 0.0000,
@tenant, 1, '零库存展示用', 'admin', '', @now, 'admin', @now, 0
);
-- ========== 变动记录(入库 / 手动出库) ==========
INSERT INTO `biz_qc_material_usage` (
`id`, `material_id`, `material_code`, `material_name`,
`batch_id`, `stock_in_no`, `catalog_no`, `batch_no`, `manufacturer`, `unit_price`, `amount`,
`change_type`, `change_qty`, `stock_before`, `stock_after`,
`qc_task_id`, `qc_task_no`, `receiver`, `purpose`, `source_type`,
`tenant_no`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
) VALUES
-- batch-001 入库 10
(
'qc-usage-in-001', 'qc-mat-001', 'QC-M-001', 'DMEM 培养基',
'qc-batch-001', 'RK-202606-001', 'SH30022.01', 'LOT-A202601', '赛默飞', 280.00, 2800.00,
'in', 10.0000, 0.0000, 10.0000,
NULL, NULL, NULL, NULL, 'manual_in',
@tenant, '首批入库', 'admin', '', @now, 'admin', @now, 0
),
-- batch-002 入库 5
(
'qc-usage-in-002', 'qc-mat-001', 'QC-M-001', 'DMEM 培养基',
'qc-batch-002', 'RK-202606-002', 'SH30022.01', 'LOT-B202602', '赛默飞', 295.00, 1475.00,
'in', 5.0000, 10.0000, 15.0000,
NULL, NULL, NULL, NULL, 'manual_in',
@tenant, '第二批入库', 'admin', '', @now, 'admin', @now, 0
),
-- batch-002 手动出库 5(出清)
(
'qc-usage-out-001', 'qc-mat-001', 'QC-M-001', 'DMEM 培养基',
'qc-batch-002', 'RK-202606-002', 'SH30022.01', 'LOT-B202602', '赛默飞', NULL, NULL,
'use', -5.0000, 15.0000, 10.0000,
NULL, NULL, '张三', '实验室领用', 'manual_out',
@tenant, '第二批全部出库', 'admin', '', @now, 'admin', @now, 0
),
-- batch-001 手动出库 2
(
'qc-usage-out-002', 'qc-mat-001', 'QC-M-001', 'DMEM 培养基',
'qc-batch-001', 'RK-202606-001', 'SH30022.01', 'LOT-A202601', '赛默飞', NULL, NULL,
'use', -2.0000, 10.0000, 8.0000,
NULL, NULL, '李四', '质检实验', 'manual_out',
@tenant, '部分出库', 'admin', '', @now, 'admin', @now, 0
),
-- batch-003 血清入库
(
'qc-usage-in-003', 'qc-mat-002', 'QC-M-002', '胎牛血清',
'qc-batch-003', 'RK-202606-003', '10270-106', 'SER-202603', 'Gibco', 1200.00, 9600.00,
'in', 8.0000, 0.0000, 8.0000,
NULL, NULL, NULL, NULL, 'manual_in',
@tenant, '血清入库', 'admin', '', @now, 'admin', @now, 0
),
-- batch-004 胰酶入库后全部出库(物资汇总库存 0)
(
'qc-usage-in-004', 'qc-mat-003', 'QC-M-003', '胰酶消化液',
'qc-batch-004', 'RK-202606-004', '25200-056', 'TRY-202604', 'Sigma', 350.00, 1050.00,
'in', 3.0000, 0.0000, 3.0000,
NULL, NULL, NULL, NULL, 'manual_in',
@tenant, '胰酶入库', 'admin', '', @now, 'admin', @now, 0
),
(
'qc-usage-out-003', 'qc-mat-003', 'QC-M-003', '胰酶消化液',
'qc-batch-004', 'RK-202606-004', '25200-056', 'TRY-202604', 'Sigma', NULL, NULL,
'use', -3.0000, 3.0000, 0.0000,
NULL, NULL, '王五', '细胞消化', 'manual_out',
@tenant, '全部出库', 'admin', '', @now, 'admin', @now, 0
);
-- 汇总库存与批次 remaining_qty 已在 INSERT 中对齐:
-- qc-mat-001 stock_qty=15 (batch-001:8 + batch-002:0,其中 batch-002 已出清)
-- 修正 qc-mat-001 汇总为 8(10+5 入库,出库 7)
UPDATE `biz_qc_material` SET `stock_qty` = 8.0000 WHERE `id` = 'qc-mat-001';
@@ -1,48 +0,0 @@
-- 质检物料库 · 入库批次管理 DDL
-- 执行顺序:本脚本 → 部署代码 → clear-data → test-data
-- 1. 入库批次表
CREATE TABLE IF NOT EXISTS `biz_qc_material_stock_batch` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`material_id` varchar(64) NOT NULL COMMENT '关联 biz_qc_material.id',
`material_code` varchar(64) DEFAULT NULL COMMENT '物料编码快照',
`material_name` varchar(200) DEFAULT NULL COMMENT '物料名称快照',
`spec_model` varchar(200) DEFAULT NULL COMMENT '规格型号快照',
`unit` varchar(32) DEFAULT NULL COMMENT '单位快照',
`stock_in_no` varchar(64) NOT NULL COMMENT '入库编号(用户录入,租户内唯一)',
`stock_in_date` date NOT NULL COMMENT '入库日期',
`catalog_no` varchar(128) NOT NULL COMMENT '货号',
`batch_no` varchar(128) NOT NULL COMMENT '批号',
`manufacturer` varchar(200) NOT NULL COMMENT '厂家',
`unit_price` decimal(18,2) NOT NULL COMMENT '单价(元)',
`amount` decimal(18,2) NOT NULL COMMENT '金额(元)',
`in_qty` decimal(18,4) NOT NULL COMMENT '入库数量',
`remaining_qty` decimal(18,4) NOT NULL COMMENT '剩余数量',
`tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_qc_batch_tenant_stock_in_no` (`tenant_no`,`stock_in_no`,`del_flag`),
KEY `idx_qc_batch_material` (`material_id`,`del_flag`),
KEY `idx_qc_batch_tenant_date` (`tenant_no`,`stock_in_date`,`del_flag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='质检物料入库批次';
-- 2. 扩展变动记录表
ALTER TABLE `biz_qc_material_usage`
ADD COLUMN `batch_id` varchar(64) DEFAULT NULL COMMENT '关联入库批次ID' AFTER `material_name`,
ADD COLUMN `stock_in_no` varchar(64) DEFAULT NULL COMMENT '入库编号快照' AFTER `batch_id`,
ADD COLUMN `catalog_no` varchar(128) DEFAULT NULL COMMENT '货号快照' AFTER `stock_in_no`,
ADD COLUMN `batch_no` varchar(128) DEFAULT NULL COMMENT '批号快照' AFTER `catalog_no`,
ADD COLUMN `manufacturer` varchar(200) DEFAULT NULL COMMENT '厂家快照' AFTER `batch_no`,
ADD COLUMN `unit_price` decimal(18,2) DEFAULT NULL COMMENT '单价快照(元)' AFTER `manufacturer`,
ADD COLUMN `amount` decimal(18,2) DEFAULT NULL COMMENT '金额快照(元)' AFTER `unit_price`,
ADD COLUMN `stock_before` decimal(18,4) DEFAULT NULL COMMENT '变动前物资汇总库存' AFTER `change_qty`;
ALTER TABLE `biz_qc_material_usage`
ADD KEY `idx_qc_mu_batch` (`batch_id`,`del_flag`);
@@ -1,91 +0,0 @@
-- 质检物料库:过期日期 + 库存盘点
-- 执行前请确认无未补填 expire_date 的历史批次(见 spec)
ALTER TABLE `biz_qc_material_stock_batch`
ADD COLUMN `expire_date` date NULL COMMENT '过期日期' AFTER `stock_in_date`;
-- 历史数据临时回填(须由业务核对后改为真实过期日;此处用入库日期占位以便 NOT NULL)
UPDATE `biz_qc_material_stock_batch`
SET `expire_date` = `stock_in_date`
WHERE `expire_date` IS NULL AND `del_flag` = 0;
ALTER TABLE `biz_qc_material_stock_batch`
MODIFY COLUMN `expire_date` date NOT NULL COMMENT '过期日期';
CREATE TABLE IF NOT EXISTS `biz_qc_material_stock_check` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`title` varchar(200) NOT NULL COMMENT '盘点标题',
`check_time` datetime NOT NULL COMMENT '盘点时间',
`status` varchar(16) NOT NULL DEFAULT 'draft' COMMENT 'draft/completed/cancelled',
`complete_time` datetime DEFAULT NULL COMMENT '完成时间',
`tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
`update_time` datetime NOT NULL COMMENT '更新时间',
`del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记',
PRIMARY KEY (`id`),
KEY `idx_qc_stock_check_tenant_time` (`tenant_no`, `check_time`, `del_flag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='质检物料库存盘点单';
CREATE TABLE IF NOT EXISTS `biz_qc_material_stock_check_batch_line` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`check_id` varchar(64) NOT NULL COMMENT '盘点单ID',
`batch_id` varchar(64) NOT NULL COMMENT '原入库批次ID',
`material_id` varchar(64) NOT NULL COMMENT '物资ID',
`material_code` varchar(64) DEFAULT NULL COMMENT '物料编码快照',
`material_name` varchar(200) DEFAULT NULL COMMENT '物料名称快照',
`spec_model` varchar(200) DEFAULT NULL COMMENT '规格型号快照',
`unit` varchar(32) DEFAULT NULL COMMENT '单位快照',
`stock_in_no` varchar(64) NOT NULL COMMENT '入库编号快照',
`stock_in_date` date NOT NULL COMMENT '入库日期快照',
`expire_date` date NOT NULL COMMENT '过期日期快照',
`catalog_no` varchar(128) NOT NULL COMMENT '货号快照',
`batch_no` varchar(128) NOT NULL COMMENT '批号快照',
`manufacturer` varchar(200) NOT NULL COMMENT '厂家快照',
`unit_price` decimal(18,2) NOT NULL COMMENT '单价快照(元)',
`amount` decimal(18,2) NOT NULL COMMENT '批次金额快照(元)',
`remaining_qty` decimal(18,4) NOT NULL COMMENT '快照时点剩余数量',
`tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
`update_time` datetime NOT NULL COMMENT '更新时间',
`del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记',
PRIMARY KEY (`id`),
KEY `idx_qc_check_batch_line_check` (`check_id`, `del_flag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='质检物料盘点-系统库存快照行';
CREATE TABLE IF NOT EXISTS `biz_qc_material_stock_check_unused_line` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`check_id` varchar(64) NOT NULL COMMENT '盘点单ID',
`material_code` varchar(64) DEFAULT NULL COMMENT '物料编码',
`material_name` varchar(200) NOT NULL COMMENT '物料名称',
`spec_model` varchar(200) DEFAULT NULL COMMENT '规格型号',
`unit` varchar(32) DEFAULT NULL COMMENT '单位',
`stock_in_no` varchar(64) DEFAULT NULL COMMENT '入库编号',
`stock_in_date` date DEFAULT NULL COMMENT '入库日期',
`expire_date` date DEFAULT NULL COMMENT '过期日期',
`catalog_no` varchar(128) DEFAULT NULL COMMENT '货号',
`batch_no` varchar(128) DEFAULT NULL COMMENT '批号',
`manufacturer` varchar(200) DEFAULT NULL COMMENT '厂家',
`holder` varchar(64) DEFAULT NULL COMMENT '持有人/领用人',
`unused_qty` decimal(18,4) NOT NULL COMMENT '未用完数量',
`tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
`update_time` datetime NOT NULL COMMENT '更新时间',
`del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记',
PRIMARY KEY (`id`),
KEY `idx_qc_check_unused_line_check` (`check_id`, `del_flag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='质检物料盘点-领用未用完登记行';
@@ -1,3 +0,0 @@
-- Part B 未用完登记行增加单价快照(检索批次填入或手工场景可选)
ALTER TABLE `biz_qc_material_stock_check_unused_line`
ADD COLUMN `unit_price` decimal(18,2) DEFAULT NULL COMMENT '单价快照(元)' AFTER `manufacturer`;
@@ -1,4 +0,0 @@
-- 质检物料变动:任务使用关联领用记录 + 自由用量单位
ALTER TABLE `biz_qc_material_usage`
ADD COLUMN `parent_usage_id` varchar(64) DEFAULT NULL COMMENT '关联领用记录ID(task_complete指向manual_out)' AFTER `qc_task_no`,
ADD COLUMN `usage_unit` varchar(32) DEFAULT NULL COMMENT '用量单位(领用/任务使用登记)' AFTER `change_qty`;
@@ -1,23 +0,0 @@
-- 质检管理 · 我的质检任务
INSERT INTO `sys_menu` (
`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
`is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
) VALUES (
'93000000000000000000000000000001', '我的质检任务', 'QCM00000000000000000000000000001', 'C',
'my-qc-task', '/quality-inspection/my-qc-task/index',
'biz:myQcTask:list',
1, '1', '1', 'zkxw', 5, NULL,
NULL, '', NOW(), NULL, NOW(), 0
)
ON DUPLICATE KEY UPDATE
`menu_name` = VALUES(`menu_name`),
`parent_id` = VALUES(`parent_id`),
`path` = VALUES(`path`),
`component` = VALUES(`component`),
`perms` = VALUES(`perms`),
`visible` = '1',
`status` = '1',
`order_num` = VALUES(`order_num`),
`update_time` = NOW(),
`del_flag` = 0;
@@ -1,4 +0,0 @@
-- 修复 biz_qc_task_assignee 与 biz_qc_task 排序规则不一致(Illegal mix of collations)
-- biz_qc_task 为 utf8mb4 默认排序规则,assignee 表应对齐
ALTER TABLE `biz_qc_task_assignee` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
@@ -1,18 +0,0 @@
-- 质检任务负责人关联表
CREATE TABLE IF NOT EXISTS `biz_qc_task_assignee` (
`id` varchar(64) NOT NULL COMMENT '主键',
`task_id` varchar(64) NOT NULL COMMENT '质检任务ID',
`user_id` varchar(64) NOT NULL COMMENT '负责人用户ID',
`tenant_no` varchar(64) NOT NULL COMMENT '租户编号',
`order_num` int DEFAULT 0 COMMENT '展示顺序',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
`create_dept_id` varchar(64) DEFAULT NULL COMMENT '创建人部门ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` tinyint DEFAULT 0 COMMENT '删除标志',
PRIMARY KEY (`id`),
KEY `idx_qc_task_assignee_task` (`task_id`, `del_flag`),
KEY `idx_qc_task_assignee_user` (`user_id`, `tenant_no`, `del_flag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='质检任务负责人';
@@ -1,13 +0,0 @@
-- 质检工单:生产过程触发来源字段
ALTER TABLE biz_qc_work_order
ADD COLUMN trigger_source VARCHAR(20) NOT NULL DEFAULT 'reception'
COMMENT '触发来源 reception=样本接收 production=生产过程' AFTER qc_biz_type,
ADD COLUMN production_work_order_id VARCHAR(64) NULL
COMMENT '关联生产工单ID(生产过程触发时)' AFTER cell_product_id,
ADD COLUMN production_task_id VARCHAR(64) NULL
COMMENT '关联生产任务ID(可选)' AFTER production_work_order_id;
UPDATE biz_qc_work_order SET trigger_source = 'reception' WHERE trigger_source IS NULL OR trigger_source = '';
CREATE INDEX idx_qc_wo_sample_trigger ON biz_qc_work_order (tenant_no, sample_code, trigger_source, del_flag);
CREATE INDEX idx_qc_wo_prod_wo ON biz_qc_work_order (production_work_order_id, del_flag);
@@ -1,8 +0,0 @@
-- 样本接收 — 实验室入库编码
ALTER TABLE biz_sample_reception
ADD COLUMN lab_storage_code VARCHAR(32) NULL
COMMENT '实验室入库编码 RK+接收日期YYYYMMDD+3位序号'
AFTER sample_code;
CREATE UNIQUE INDEX uk_sr_tenant_lab_code
ON biz_sample_reception (tenant_no, lab_storage_code, del_flag);
+101
View File
@@ -0,0 +1,101 @@
-- Web 端 sys_menu 初始化(根节点 + 5 个一级分组 + 二级/三级业务菜单)
-- 生成:backend/scripts/reorder_web_menus.py
-- 层级:Web端菜单(id=2) → 市场/生产/质检/运营支撑/系统管理(TOP*) → 业务二级 → 页面三级
-- 一级分组顺序:市场 → 生产 → 质检 → 运营支撑 → 系统管理
SET NAMES utf8mb4;
INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES
('1', '移动端菜单', '0', 'M', '/mini', NULL, NULL, 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('2', 'Web端菜单', '0', 'M', '/web', NULL, NULL, 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0);
INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES
('TOP00000000000000000000000000001', '市场', '2', 'M', '/market', '/index/index', 'menu:market', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('CEL00000000000000000000000000001', '细胞存储', 'TOP00000000000000000000000000001', 'M', 'cell-storage', NULL, NULL, 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('50000000000000000000000000000002', '采集协议单录入', 'CEL00000000000000000000000000001', 'C', 'protocol', '/cell-storage/protocol/index', 'biz:cellStorageProtocol:list', 1, '0', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('50000000000000000000000000000003', '采集协议单', 'CEL00000000000000000000000000001', 'C', 'protocol-audit', '/cell-storage/protocol-audit/index', 'biz:cellStorageProtocolAudit:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('50000000000000000000000000000013', '样本信息管理', 'CEL00000000000000000000000000001', 'C', 'sample-info', '/cell-storage/sample-info/index', 'cell-storage:sample-info:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('50000000000000000000000000000004', '缴退费财务确认', 'CEL00000000000000000000000000001', 'C', 'payment-confirm', '/cell-storage/payment-confirm/index', 'biz:cellStoragePaymentConfirm:list', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('70000000000000000000000000000011', '入库放行审核', 'CEL00000000000000000000000000001', 'C', 'storage-release-review', '/quality-inspection/storage-release-review/index', 'biz:storageReleaseReview:list', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('RSC00000000000000000000000000001', '科研捐赠', 'TOP00000000000000000000000000001', 'M', 'research-donation', NULL, NULL, 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('60000000000000000000000000000002', '捐赠协议单录入', 'RSC00000000000000000000000000001', 'C', 'list', '/research-donation/list/index', 'biz:researchDonation:list', 1, '0', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('60000000000000000000000000000003', '捐赠协议单', 'RSC00000000000000000000000000001', 'C', 'audit', '/research-donation/audit/index', 'biz:researchDonationAudit:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('60000000000000000000000000000004', '样本信息管理', 'RSC00000000000000000000000000001', 'C', 'sample-info', '/research-donation/sample-info/index', 'research-donation:sample-info:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('PIL00000000000000000000000000001', '中试服务', 'TOP00000000000000000000000000001', 'M', 'pilot-service', NULL, NULL, 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('80000000000000000000000000000010', '中试服务申请单', 'PIL00000000000000000000000000001', 'C', 'pilot-application', '/pilot-service/pilot-application/index', 'pilot-service:pilot-application:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('PIL00000000000000000000000000004', '出库放行审核', 'PIL00000000000000000000000000001', 'C', 'outbound-release-review', '/pilot-service/outbound-release-review/index', 'pilot-service:outbound-release-review:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('BEX00000000000000000000000000001', '基础实验', 'TOP00000000000000000000000000001', 'M', 'basic-experiment', NULL, NULL, 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('BEX00000000000000000000000000002', '基础实验申请单', 'BEX00000000000000000000000000001', 'C', 'application', '/pilot-service/pilot-application/index', 'basic-experiment:application:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('BEX00000000000000000000000000003', '缴退费财务确认', 'BEX00000000000000000000000000001', 'C', 'payment-confirm', '/pilot-service/clinical-payment-confirm/index', 'basic-experiment:payment-confirm:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('BEX00000000000000000000000000004', '出库放行审核', 'BEX00000000000000000000000000001', 'C', 'outbound-release-review', '/pilot-service/outbound-release-review/index', 'basic-experiment:outbound-release-review:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('MKT00000000000000000000000000001', '市场基础信息', 'TOP00000000000000000000000000001', 'M', 'market-info', NULL, NULL, 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('122', '细胞样本基础信息维护', 'MKT00000000000000000000000000001', 'C', 'cell-sample-type', '/basic-info/cell-sample-type/index', 'biz:cellSampleType:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('123', '细胞采集基础信息维护', 'MKT00000000000000000000000000001', 'C', 'collection-region', '/basic-info/collection-region/index', 'biz:collectionRegion:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('80000000000000000000000000000002', '细胞产品基础信息维护', 'MKT00000000000000000000000000001', 'C', 'cell-product-type', '/pilot-service/cell-product-type/index', 'pilot-service:cell-product-type:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('40000000000000000000000000000007', '保险公司及险种价格', 'MKT00000000000000000000000000001', 'C', 'insurance-company', '/basic-info/insurance-company/index', 'basic-info:insurance-company:list', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('80000000000000000000000000000007', '体检机构及项目价格', 'MKT00000000000000000000000000001', 'C', 'checkup-institution', '/pilot-service/checkup-institution/index', 'pilot-service:checkup-institution:list', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('50000000000000000000000000000009', '市场物料库', 'MKT00000000000000000000000000001', 'C', 'material', '/cell-storage/material/index', 'biz:material:list', 1, '1', '1', 'zkxw', 6, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('121', '客户管理', 'MKT00000000000000000000000000001', 'C', 'customer', '/basic-info/customer/index', 'biz:customer:list', 1, '1', '1', 'zkxw', 7, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('80000000000000000000000000000006', '渠道信息管理', 'MKT00000000000000000000000000001', 'C', 'channel', '/pilot-service/channel/index', 'pilot-service:channel:list', 1, '1', '1', 'zkxw', 8, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('80000000000000000000000000000009', '渠道服务订单(财务确认)', 'MKT00000000000000000000000000001', 'C', 'channel-service-order-finance', '/pilot-service/channel-service-order-finance/index', 'pilot-service:channel-service-order-finance:list', 1, '1', '1', 'zkxw', 9, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('TOP00000000000000000000000000002', '生产', '2', 'M', '/production-group', '/index/index', 'menu:production', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('CLI00000000000000000000000000001', '临床应用', 'TOP00000000000000000000000000002', 'M', 'clinical-application', NULL, NULL, 1, '0', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('CLI00000000000000000000000000002', '临床申请单', 'CLI00000000000000000000000000001', 'C', 'clinical-application', '/pilot-service/pilot-application/index', 'clinical-application:application:list', 1, '0', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('CLI00000000000000000000000000003', '体检管理', 'CLI00000000000000000000000000001', 'C', 'clinical-checkup-management', '/pilot-service/checkup-management/index', 'clinical-application:checkup-management:list', 1, '0', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('CLI00000000000000000000000000004', '输注计划管理', 'CLI00000000000000000000000000001', 'C', 'clinical-infusion-schedule-management', '/pilot-service/infusion-schedule-management/index', 'clinical-application:infusion-schedule-management:list', 1, '0', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('CLI00000000000000000000000000005', '缴费信息', 'CLI00000000000000000000000000001', 'C', 'clinical-payment-info', '/pilot-service/clinical-payment-info/index', 'clinical-application:payment-info:list', 1, '0', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('CLI00000000000000000000000000006', '缴退费财务确认', 'CLI00000000000000000000000000001', 'C', 'clinical-payment-confirm', '/pilot-service/clinical-payment-confirm/index', 'clinical-application:payment-confirm:list', 1, '0', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('CLI00000000000000000000000000007', '退费确认(财务)', 'CLI00000000000000000000000000001', 'C', 'clinical-refund-confirm', '/pilot-service/clinical-refund-confirm/index', 'clinical-application:refund-confirm:list', 1, '1', '1', 'zkxw', 6, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('CLI00000000000000000000000000008', '出库放行审核', 'CLI00000000000000000000000000001', 'C', 'clinical-outbound-release-review', '/pilot-service/outbound-release-review/index', 'clinical-application:outbound-release-review:list', 1, '0', '1', 'zkxw', 7, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('PRM00000000000000000000000000001', '生产管理', 'TOP00000000000000000000000000002', 'M', 'production', NULL, NULL, 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('61000000000000000000000000000003', '库位管理', 'PRM00000000000000000000000000001', 'C', 'storage-facility', '/operations/storage-facility/index', 'operations:storage-facility:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('90000000000000000000000000000013', '细胞产品库', 'PRM00000000000000000000000000001', 'C', 'cell-product', '/production/cell-product/index', 'production:cell-product:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('90000000000000000000000000000011', '生产工单', 'PRM00000000000000000000000000001', 'C', 'production-work-order', '/production/production-work-order/index', 'production:work-order:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('94000000000000000000000000000001', '我的生产任务', 'PRM00000000000000000000000000001', 'C', 'my-production-task', '/production/my-production-task/index', 'production:my-task:list', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('94000000000000000000000000000002', '我的物料领用记录', 'PRM00000000000000000000000000001', 'C', 'my-production-material-usage', '/production/my-production-material-usage/index', 'production:my-material-usage:list', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('91000000000000000000000000000001', '样本接收信息完善', 'PRM00000000000000000000000000001', 'C', 'sample-reception-completion', '/production/sample-reception-completion/index', 'production:sample-reception-completion:list', 1, '1', '1', 'zkxw', 6, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('95000000000000000000000000000003', '洁净服管理', 'PRM00000000000000000000000000001', 'C', 'cleanroom-garment', '/production/cleanroom-garment/index', 'production:cleanroom-garment:list', 1, '1', '1', 'zkxw', 7, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('PRB00000000000000000000000000001', '生产基础信息', 'TOP00000000000000000000000000002', 'M', 'production-base', NULL, NULL, 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('90000000000000000000000000000014', '生产物料库', 'PRB00000000000000000000000000001', 'C', 'production-material', '/production/production-material/index', 'production:material:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('90000000000000000000000000000002', '耗材管理', 'PRB00000000000000000000000000001', 'C', 'consumable', '/production/consumable/index', 'production:consumable:list', 1, '0', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('90000000000000000000000000000003', '试剂管理', 'PRB00000000000000000000000000001', 'C', 'reagent', '/production/reagent/index', 'production:reagent:list', 1, '0', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('90000000000000000000000000000004', 'SOP文档', 'PRB00000000000000000000000000001', 'C', 'sop', '/production/sop/index', 'production:sop-document:list', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('90000000000000000000000000000005', '工艺基础信息维护', 'PRB00000000000000000000000000001', 'C', 'process-category', '/production/process-category/index', 'production:process-category:list', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('90000000000000000000000000000008', '工艺库管理', 'PRB00000000000000000000000000001', 'C', 'process', '/production/process/index', 'production:process:list', 1, '1', '1', 'zkxw', 6, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('90000000000000000000000000000009', '设备管理', 'PRB00000000000000000000000000001', 'C', 'equipment', '/production/equipment/index', 'production:equipment:list', 1, '1', '1', 'zkxw', 7, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('TOP00000000000000000000000000003', '质检', '2', 'M', '/quality-group', '/index/index', 'menu:quality', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('QCM00000000000000000000000000001', '质检管理', 'TOP00000000000000000000000000003', 'M', 'quality-manage', NULL, NULL, 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('70000000000000000000000000000002', '样本接收', 'QCM00000000000000000000000000001', 'C', 'sample-reception', '/quality-inspection/sample-reception/index', 'biz:sampleReception:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('70000000000000000000000000000007', '质检工单', 'QCM00000000000000000000000000001', 'C', 'qc-work-order', '/quality-inspection/qc-work-order/index', 'biz:qcWorkOrder:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('71000000000000000000000000000002', '环境检测管理', 'QCM00000000000000000000000000001', 'C', 'env-detect-record', '/quality-inspection/env-detect-record/index', 'biz:envDetectRecord:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('92000000000000000000000000000001', '我的物料领用记录', 'QCM00000000000000000000000000001', 'C', 'my-qc-material-usage', '/quality-inspection/my-qc-material-usage/index', 'biz:myQcMaterialUsage:list', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('93000000000000000000000000000001', '我的质检任务', 'QCM00000000000000000000000000001', 'C', 'my-qc-task', '/quality-inspection/my-qc-task/index', 'biz:myQcTask:list', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('QCB00000000000000000000000000001', '质检基础信息', 'TOP00000000000000000000000000003', 'M', 'quality-base', NULL, NULL, 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('70000000000000000000000000000003', '接收检查项配置', 'QCB00000000000000000000000000001', 'C', 'sample-reception-check-item', '/quality-inspection/sample-reception-check-item/index', 'biz:sampleReceptionCheckItem:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('70000000000000000000000000000006', '质检项目管理', 'QCB00000000000000000000000000001', 'C', 'lab-test-item', '/quality-inspection/lab-test-item/index', 'biz:qcLabTestItem:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('71000000000000000000000000000001', '环境检测项维护', 'QCB00000000000000000000000000001', 'C', 'env-detect-item', '/quality-inspection/env-detect-item/index', 'biz:envDetectItem:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('70000000000000000000000000000009', '质检物料库', 'QCB00000000000000000000000000001', 'C', 'qc-material', '/quality-inspection/qc-material/index', 'biz:qcMaterial:list', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('TOP00000000000000000000000000004', '运营支撑', '2', 'M', '/operations-group', '/index/index', 'menu:operations', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('SYSB000000000000000000000000000001', '系统基础信息', 'TOP00000000000000000000000000004', 'M', 'system-base', NULL, NULL, 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('107', '站点管理', 'SYSB000000000000000000000000000001', 'C', 'site', '/system/site/index', 'system:site:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('109', '物品单位管理', 'SYSB000000000000000000000000000001', 'C', 'unit', '/system/unit/index', 'system:unit:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('110', '快递公司', 'SYSB000000000000000000000000000001', 'C', 'express', '/system/express/index', 'system:express:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('OPS00000000000000000000000000001', '运营支撑', 'TOP00000000000000000000000000004', 'M', 'operations', NULL, NULL, 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('61000000000000000000000000000002', '洁净室管理', 'OPS00000000000000000000000000001', 'C', 'clean-room', '/operations/clean-room/index', 'operations:clean-room:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('61000000000000000000000000000004', '展馆预约', 'OPS00000000000000000000000000001', 'C', 'exhibition-appointment', '/operations/exhibition-appointment/index', 'operations:exhibition-appointment:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('TOP00000000000000000000000000005', '系统管理', '2', 'M', '/system-manage', '/index/index', 'menu:system-manage', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('SYSM000000000000000000000000000001', '系统管理', 'TOP00000000000000000000000000005', 'M', 'system', NULL, NULL, 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('101', '租户管理', 'SYSM000000000000000000000000000001', 'C', 'tenant', '/system/tenant/index', 'system:tenant:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('102', '字典管理', 'SYSM000000000000000000000000000001', 'C', 'dict', '/system/dict/index', 'system:dict:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('106', '菜单管理', 'SYSM000000000000000000000000000001', 'C', 'menu', '/system/menu/index', 'system:menu:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('103', '组织管理', 'SYSM000000000000000000000000000001', 'C', 'dept', '/system/dept/index', 'system:dept:list', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('105', '角色管理', 'SYSM000000000000000000000000000001', 'C', 'role', '/system/role/index', 'system:role:list', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('104', '用户管理', 'SYSM000000000000000000000000000001', 'C', 'user', '/system/user/index', 'system:user:list', 1, '1', '1', 'zkxw', 6, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('108', '职位管理', 'SYSM000000000000000000000000000001', 'C', 'post', '/system/post/index', 'system:post:list', 1, '1', '1', 'zkxw', 7, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('10000000000000000000000000000008', '用户详情', 'SYSM000000000000000000000000000001', 'C', 'user/detail', '/system/user/detail', NULL, 1, '0', '1', 'zkxw', 8, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('WKF00000000000000000000000000001', '工作流管理', 'TOP00000000000000000000000000005', 'M', 'workflow', NULL, NULL, 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('10000000000000000000000000000wf01', '流程配置', 'WKF00000000000000000000000000001', 'C', 'process', '/system/workflow/process/index', 'workflow:process', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('10000000000000000000000000000wf02', '待办中心', 'WKF00000000000000000000000000001', 'C', 'pending', '/system/workflow/task-pending/index', 'workflow:pending', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('10000000000000000000000000000wf03', '已办中心', 'WKF00000000000000000000000000001', 'C', 'completed', '/system/workflow/task-completed/index', 'workflow:completed', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('10000000000000000000000000000wf05', '我的申请', 'WKF00000000000000000000000000001', 'C', 'my-applications', '/system/workflow/my-applications/index', 'workflow:myApplications', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('10000000000000000000000000000wf04', '请假申请', 'WKF00000000000000000000000000001', 'C', 'leave', '/system/leave/index', 'workflow:leave', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0);
+5421 -87
View File
File diff suppressed because it is too large. Load diff