154 lines
4.7 KiB
SQL
154 lines
4.7 KiB
SQL
-- Optional seed data for document version management module
|
||
|
||
INSERT INTO public.studies (
|
||
id, code, name, status, created_at
|
||
) VALUES (
|
||
'dddddddd-1111-2222-3333-444444444444', 'DOC-DEMO', 'Document Demo Study', 'DRAFT', now()
|
||
)
|
||
ON CONFLICT (code) DO NOTHING;
|
||
|
||
INSERT INTO public.workflow_templates (
|
||
id, trial_id, name, description, is_active, created_by, created_at, updated_at
|
||
) VALUES
|
||
(
|
||
'11111111-aaaa-bbbb-cccc-111111111211',
|
||
(SELECT id FROM public.studies WHERE code = 'DOC-DEMO'),
|
||
'标准审批(PM 单签)',
|
||
'PM 单节点审批,适用于一般文件',
|
||
true,
|
||
(SELECT id FROM public.users WHERE email = 'pm@example.com'),
|
||
now(),
|
||
now()
|
||
),
|
||
(
|
||
'11111111-aaaa-bbbb-cccc-111111111212',
|
||
(SELECT id FROM public.studies WHERE code = 'DOC-DEMO'),
|
||
'严格审批(CRA→PM→QA)',
|
||
'三节点审批,适用于关键文件',
|
||
true,
|
||
(SELECT id FROM public.users WHERE email = 'pm@example.com'),
|
||
now(),
|
||
now()
|
||
)
|
||
ON CONFLICT (id) DO UPDATE
|
||
SET name = EXCLUDED.name,
|
||
description = EXCLUDED.description,
|
||
is_active = EXCLUDED.is_active,
|
||
trial_id = EXCLUDED.trial_id,
|
||
created_by = EXCLUDED.created_by,
|
||
updated_at = EXCLUDED.updated_at;
|
||
|
||
INSERT INTO public.workflow_nodes (
|
||
id, template_id, node_order, role, name, is_required, created_at
|
||
) VALUES
|
||
(
|
||
'22222222-aaaa-bbbb-cccc-222222222311',
|
||
'11111111-aaaa-bbbb-cccc-111111111211',
|
||
1,
|
||
'PM',
|
||
'项目经理审批',
|
||
true,
|
||
now()
|
||
),
|
||
(
|
||
'22222222-aaaa-bbbb-cccc-222222222312',
|
||
'11111111-aaaa-bbbb-cccc-111111111212',
|
||
1,
|
||
'CRA',
|
||
'CRA 初审',
|
||
true,
|
||
now()
|
||
),
|
||
(
|
||
'22222222-aaaa-bbbb-cccc-222222222313',
|
||
'11111111-aaaa-bbbb-cccc-111111111212',
|
||
2,
|
||
'PM',
|
||
'项目经理复审',
|
||
true,
|
||
now()
|
||
),
|
||
(
|
||
'22222222-aaaa-bbbb-cccc-222222222314',
|
||
'11111111-aaaa-bbbb-cccc-111111111212',
|
||
3,
|
||
'QA',
|
||
'QA 终审',
|
||
true,
|
||
now()
|
||
)
|
||
ON CONFLICT (id) DO UPDATE
|
||
SET template_id = EXCLUDED.template_id,
|
||
node_order = EXCLUDED.node_order,
|
||
role = EXCLUDED.role,
|
||
name = EXCLUDED.name,
|
||
is_required = EXCLUDED.is_required;
|
||
|
||
INSERT INTO public.documents (
|
||
id, trial_id, site_id, doc_no, doc_type, title, scope_type, owner_id, status, created_at, updated_at
|
||
) VALUES (
|
||
'eeeeeeee-1111-2222-3333-444444444444',
|
||
(SELECT id FROM public.studies WHERE code = 'DOC-DEMO'),
|
||
NULL,
|
||
'SOP-001',
|
||
'SOP',
|
||
'Sample SOP for Versioning',
|
||
'GLOBAL',
|
||
(SELECT id FROM public.users WHERE email = 'pm@example.com'),
|
||
'ACTIVE',
|
||
now(),
|
||
now()
|
||
)
|
||
ON CONFLICT (trial_id, doc_no) DO NOTHING;
|
||
|
||
INSERT INTO public.documents (
|
||
id, trial_id, site_id, doc_no, doc_type, title, scope_type, owner_id, status, created_at, updated_at
|
||
) VALUES (
|
||
'eeeeeeee-1111-2222-3333-444444444445',
|
||
(SELECT id FROM public.studies WHERE code = 'DOC-DEMO'),
|
||
(SELECT id FROM public.sites WHERE study_id = (SELECT id FROM public.studies WHERE code = 'DOC-DEMO') LIMIT 1),
|
||
'SITE-SOP-001',
|
||
'SOP',
|
||
'DOC-DEMO 分中心 SOP',
|
||
'SITE',
|
||
(SELECT id FROM public.users WHERE email = 'pm@example.com'),
|
||
'ACTIVE',
|
||
now(),
|
||
now()
|
||
)
|
||
ON CONFLICT (trial_id, doc_no) DO NOTHING;
|
||
|
||
INSERT INTO public.document_versions (
|
||
id, document_id, version_no, status, file_uri, file_hash, file_size, mime_type, change_summary, created_by, created_at
|
||
) VALUES (
|
||
'ffffffff-1111-2222-3333-444444444444',
|
||
(SELECT id FROM public.documents WHERE doc_no = 'SOP-001' AND trial_id = (SELECT id FROM public.studies WHERE code = 'DOC-DEMO')),
|
||
'V1.0',
|
||
'DRAFT',
|
||
'/uploads/docs/SOP-001/V1.0/sample.pdf',
|
||
'9f2b4c6d8e0f1234567890abcdef1234567890abcdef1234567890abcdef1234',
|
||
2048,
|
||
'application/pdf',
|
||
'初稿',
|
||
(SELECT id FROM public.users WHERE email = 'pm@example.com'),
|
||
now()
|
||
)
|
||
ON CONFLICT (document_id, version_no) DO NOTHING;
|
||
|
||
INSERT INTO public.document_versions (
|
||
id, document_id, version_no, status, file_uri, file_hash, file_size, mime_type, change_summary, created_by, created_at
|
||
) VALUES (
|
||
'ffffffff-1111-2222-3333-444444444445',
|
||
(SELECT id FROM public.documents WHERE doc_no = 'SITE-SOP-001' AND trial_id = (SELECT id FROM public.studies WHERE code = 'DOC-DEMO')),
|
||
'1.0',
|
||
'EFFECTIVE',
|
||
'/code/app/uploads/documents/demo/SITE-SOP-001-v1.pdf',
|
||
'a3b2c1d0e9f8e7d6c5b4a3f2e1d0c9b8a7f6e5d4c3b2a1f0e9d8c7b6a5f4e3d2',
|
||
2048,
|
||
'application/pdf',
|
||
'分中心 SOP 首版',
|
||
(SELECT id FROM public.users WHERE email = 'pm@example.com'),
|
||
now()
|
||
)
|
||
ON CONFLICT (document_id, version_no) DO NOTHING;
|