INSERT INTO organization_roles (id, role_name) VALUES (1, 'OWNER'), (2, 'DESIGNER'), (3, 'CONSULTANT'), (4, 'CONTRACTOR'), (5, 'THIRD PARTY'), (6, 'GUEST'); INSERT INTO organizations ( id, organization_code, organization_name, role_id ) VALUES ( 1, 'กทท.', 'การท่าเรือแห่งประเทศไทย', 1 ), ( 10, 'สคฉ.3', 'โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3', 1 ), ( 11, 'สคฉ.3-01', 'ตรวจรับพัสดุ ที่ปรึกษาควบคุมงาน', 1 ), ( 12, 'สคฉ.3-02', 'ตรวจรับพัสดุ งานทางทะเล', 1 ), ( 13, 'สคฉ.3-03', 'ตรวจรับพัสดุ อาคารและระบบสาธารณูปโภค', 1 ), ( 14, 'สคฉ.3-04', 'ตรวจรับพัสดุ ตรวจสอบผลกระทบสิ่งแวดล้อม', 1 ), ( 15, 'สคฉ.3-05', 'ตรวจรับพัสดุ เยียวยาการประมง', 1 ), ( 16, 'สคฉ.3-06', 'ตรวจรับพัสดุ งานก่อสร้าง ส่วนที่ 3', 1 ), ( 17, 'สคฉ.3-07', 'ตรวจรับพัสดุ งานก่อสร้าง ส่วนที่ 4', 1 ), ( 18, 'สคฉ.3-xx', 'ตรวจรับพัสดุ ที่ปรึกษาออกแบบ ส่วนที่ 4', 1 ), ( 21, 'TEAM', 'Designer Consulting Ltd.', 2 ), ( 22, 'คคง.', 'Construction Supervision Ltd.', 3 ), ( 41, 'ผรม.1', 'Contractor งานทางทะเล', 4 ), ( 42, 'ผรม.2', 'Contractor อาคารและระบบ', 4 ), ( 43, 'ผรม.3', 'Contractor งานก่อสร้าง ส่วนที่ 3', 4 ), ( 44, 'ผรม.4', 'Contractor งานก่อสร้าง ส่วนที่ 4', 4 ), ( 31, 'EN', 'Third Party Environment', 5 ), ( 32, 'CAR', 'Third Party Fishery Care', 5 ); -- Seed project INSERT INTO projects (project_code, project_name) VALUES ( 'LCBP3', 'โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 1-4)' ), ( 'LCBP3-C1', 'โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 1) งานก่อสร้างงานทางทะเล' ), ( 'LCBP3-C2', 'โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 2) งานก่อสร้างอาคาร ท่าเทียบเรือ ระบบถนน และระบบสาธารณูปโภค' ), ( 'LCBP3-C3', 'โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 3) งานก่อสร้าง' ), ( 'LCBP3-C4', 'โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 4) งานก่อสร้าง' ), ( 'LCBP3-EN', 'โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 4) งานก่อสร้าง' ); -- Seed contract -- ใช้ Subquery เพื่อดึง project_id มาเชื่อมโยง ทำให้ไม่ต้องมานั่งจัดการ ID ด้วยตัวเอง INSERT INTO contracts ( contract_code, contract_name, project_id, is_active ) VALUES ( 'LCBP3-DS', 'งานจ้างที่ปรีกษาออกแบบ โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 1-4)', ( SELECT id FROM projects WHERE project_code = 'LCBP3' ), TRUE ), ( 'LCBP3-PS', 'งานจ้างที่ปรีกษาควบคุมงาน โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 1-4)', ( SELECT id FROM projects WHERE project_code = 'LCBP3' ), TRUE ), ( 'LCBP3-C1', 'งานก่อสร้าง โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 1) งานก่อสร้างงานทางทะเล', ( SELECT id FROM projects WHERE project_code = 'LCBP3-C1' ), TRUE ), ( 'LCBP3-C2', 'งานก่อสร้าง โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 2) งานก่อสร้างอาคาร ท่าเทียบเรือ ระบบถนน และระบบสาธารณูปโภค', ( SELECT id FROM projects WHERE project_code = 'LCBP3-C2' ), TRUE ), ( 'LCBP3-C3', 'งานก่อสร้าง โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 3) งานก่อสร้าง', ( SELECT id FROM projects WHERE project_code = 'LCBP3-C3' ), TRUE ), ( 'LCBP3-C4', 'งานก่อสร้าง โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 4) งานก่อสร้าง', ( SELECT id FROM projects WHERE project_code = 'LCBP3-C4' ), TRUE ), ( 'LCBP3-EN', 'งานจ้างเหมาตรวจสอบผลกระทบสิ่งแวดล้อมนะหว่างงานก่อสร้างโครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 1-4)', ( SELECT id FROM projects WHERE project_code = 'LCBP3' ), TRUE ); -- Seed user -- Initial SUPER_ADMIN user INSERT INTO users ( `user_id`, `username`, `password_hash`, `first_name`, `last_name`, `email`, `line_id`, `primary_organization_id` ) VALUES ( 1, 'superadmin', '$2b$10$E6d5k.f46jr.POGWKHhiQ.X1ZsFrMpZox//sCxeOiLUULGuAHO0NW', 'Super', 'Admin', 'superadmin @example.com', NULL, NULL ), ( 2, 'admin', '$2b$10$E6d5k.f46jr.POGWKHhiQ.X1ZsFrMpZox//sCxeOiLUULGuAHO0NW', 'Admin', 'คคง.', 'admin@example.com', NULL, 1 ), ( 3, 'editor01', '$2b$10$E6d5k.f46jr.POGWKHhiQ.X1ZsFrMpZox//sCxeOiLUULGuAHO0NW', 'DC', 'C1', 'editor01 @example.com', NULL, 41 ), ( 4, 'viewer01', '$2b$10$E6d5k.f46jr.POGWKHhiQ.X1ZsFrMpZox//sCxeOiLUULGuAHO0NW', 'Viewer', 'สคฉ.03', 'viewer01 @example.com', NULL, 10 ); -- ========================================================== -- Seed Roles (บทบาทพื้นฐาน 5 บทบาท ตาม Req 4.3) -- ========================================================== -- 1. Superadmin (Global) INSERT INTO roles (role_id, role_name, scope, description) VALUES ( 1, 'Superadmin', 'Global', 'ผู้ดูแลระบบสูงสุด: สามารถทำทุกอย่างในระบบ, จัดการองค์กร, และจัดการข้อมูลหลักระดับ Global' ).-- 2. Org Admin (Organization) ( 2, 'Org Admin', 'Organization', 'ผู้ดูแลองค์กร: จัดการผู้ใช้ในองค์กร, จัดการบทบาท / สิทธิ์ภายในองค์กร, และดูรายงานขององค์กร' ), -- 3. Document Control (Organization) ( 3, 'Document Control', 'Organization', 'ควบคุมเอกสารขององค์กร: เพิ่ม / แก้ไข / ลบเอกสาร, และกำหนดสิทธิ์เอกสารภายในองค์กร' ), -- 4. Editor (Organization) ( 4, 'Editor', 'Organization', 'ผู้แก้ไขเอกสารขององค์กร: เพิ่ม / แก้ไขเอกสารที่ได้รับมอบหมาย' ), -- 5. Viewer (Organization) ( 5, 'Viewer', 'Organization', 'ผู้ดูเอกสารขององค์กร: ดูเอกสารที่มีสิทธิ์เข้าถึงเท่านั้น' ), -- 6. Project Manager (Project) ( 6, 'Project Manager', 'Project', 'ผู้จัดการโครงการ: จัดการสมาชิกในโครงการ, สร้าง / จัดการสัญญาในโครงการ, และดูรายงานโครงการ' ), -- 7. Contract Admin (Contract) ( 7, 'Contract Admin', 'Contract', 'ผู้ดูแลสัญญา: จัดการสมาชิกในสัญญา, สร้าง / จัดการข้อมูลหลักเฉพาะสัญญา, และอนุมัติเอกสารในสัญญา' ); -- ===================================================== -- 2. Seed Permissions (สิทธิ์การใช้งานทั้งหมด) -- สิทธิ์ระดับระบบและการจัดการหลัก (System & Master Data) -- ===================================================== INSERT INTO permissions ( permission_id, permission_name, description ) VALUES ( 1, 'system.manage_all', 'ทำทุกอย่างในระบบ (Superadmin Power)' ), -- การจัดการองค์กร ( 2, 'organization.create', 'สร้างองค์กรใหม่' ), ( 3, 'organization.edit', 'แก้ไขข้อมูลองค์กร' ), ( 4, 'organization.delete', 'ลบองค์กร' ), ( 5, 'organization.view', 'ดูรายการองค์กร' ), -- การจัดการโครงการ ( 6, 'project.create', 'สร้างโครงการใหม่' ), ( 7, 'project.edit', 'แก้ไขข้อมูลโครงการ' ), ( 8, 'project.delete', 'ลบโครงการ' ), ( 9, 'project.view', 'ดูรายการโครงการ' ), -- การจัดการบทบาทและสิทธิ์ (Roles & Permissions) ( 10, 'role.create', 'สร้างบทบาท (Role) ใหม่' ), ( 11, 'role.edit', 'แก้ไขบทบาท (Role)' ), ( 12, 'role.delete', 'ลบบทบาท (Role)' ), ( 13, 'permission.assign', 'มอบสิทธิ์ให้กับบทบาท (Role)' ), -- การจัดการข้อมูลหลัก (Master Data) ( 14, 'master_data.document_type.manage', 'จัดการประเภทเอกสาร (Document Types)' ), ( 15, 'master_data.document_status.manage', 'จัดการสถานะเอกสาร (Document Statuses)' ), ( 16, 'master_data.drawing_category.manage', 'จัดการหมวดหมู่แบบ (Drawing Categories)' ), ( 17, 'master_data.tag.manage', 'จัดการ Tags' ), -- การจัดการผู้ใช้งาน ( 18, 'user.create', 'สร้างผู้ใช้งานใหม่' ), ( 19, 'user.edit', 'แก้ไขข้อมูลผู้ใช้งาน' ), ( 20, 'user.delete', 'ลบ / ปิดการใช้งานผู้ใช้' ), ( 21, 'user.view', 'ดูข้อมูลผู้ใช้งาน' ), ( 22, 'user.assign_organization', 'มอบผู้ใช้งานให้กับองค์กร' ); -- ===================================================== -- == 2. สิทธิ์การจัดการโครงการและสัญญา (Project & Contract) == -- ===================================================== INSERT INTO permissions ( permission_id, permission_name, description ) VALUES ( 23, 'project.manage_members', 'จัดการสมาชิกในโครงการ (เชิญ / ถอดสมาชิก)' ), ( 24, 'project.create_contracts', 'สร้างสัญญาในโครงการ' ), ( 25, 'project.manage_contracts', 'จัดการสัญญาในโครงการ' ), ( 26, 'project.view_reports', 'ดูรายงานระดับโครงการ' ), ( 27, 'contract.manage_members', 'จัดการสมาชิกในสัญญา' ), ( 28, 'contract.view', 'ดูข้อมูลสัญญา' ); -- ===================================================== -- == 3. สิทธิ์การจัดการเอกสาร (Document Management) == -- ===================================================== -- สิทธิ์ทั่วไปสำหรับเอกสารทุกประเภท INSERT INTO permissions ( permission_id, permission_name, description ) VALUES ( 29, 'document.create_draft', 'สร้างเอกสารในสถานะฉบับร่าง (Draft) ' ), ( 30, 'document.submit', 'ส่งเอกสาร (Submitted)' ), ( 31, 'document.view', 'ดูเอกสาร' ), ( 32, 'document.edit', 'แก้ไขเอกสาร (ทั่วไป)' ), ( 33, 'document.admin_edit', 'แก้ไข / ถอน / ยกเลิกเอกสารที่ส่งแล้ว (Admin Power) ' ), ( 34, 'document.delete', 'ลบเอกสาร' ), ( 35, 'document.attach', 'จัดการไฟล์แนบ (อัปโหลด / ลบ) ' ), -- สิทธิ์เฉพาะสำหรับ Correspondence ( 36, 'correspondence.create', 'สร้างเอกสารโต้ตอบ (Correspondence) ' ), -- สิทธิ์เฉพาะสำหรับ Request for Approval (RFA) ( 37, 'rfa.create', 'สร้างเอกสารขออนุมัติ (RFA)' ), ( 38, 'rfa.manage_shop_drawings', 'จัดการข้อมูล Shop Drawing และ Contract Drawing ที่เกี่ยวข้อง' ), -- สิทธิ์เฉพาะสำหรับ Shop Drawing & Contract Drawing ( 39, 'drawing.create', 'สร้าง / แก้ไขข้อมูลแบบ (Shop / Contract Drawing)' ), -- สิทธิ์เฉพาะสำหรับ Transmittal ( 40, 'transmittal.create', 'สร้างเอกสารนำส่ง (Transmittal)' ), -- สิทธิ์เฉพาะสำหรับ Circulation Sheet (ใบเวียน) ( 41, 'circulation.create', 'สร้างใบเวียนเอกสาร (Circulation)' ), ( 42, 'circulation.respond', 'ตอบกลับใบเวียน (Main / Action)' ), ( 43, 'circulation.acknowledge', 'รับทราบใบเวียน (Information)' ), ( 44, 'circulation.close', 'ปิดใบเวียน' ); -- ===================================================== -- == 4. สิทธิ์การจัดการ Workflow == -- ===================================================== INSERT INTO permissions ( permission_id, permission_name, description ) VALUES ( 45, 'workflow.action_review', 'ดำเนินการในขั้นตอนปัจจุบัน (เช่น ตรวจสอบแล้ว)' ), ( 46, 'workflow.force_proceed', 'บังคับไปยังขั้นตอนถัดไป (Document Control Power)' ), ( 47, 'workflow.revert', 'ย้อนกลับไปยังขั้นตอนก่อนหน้า (Document Control Power)' ); -- ===================================================== -- == 5. สิทธิ์ด้านการค้นหาและรายงาน (Search & Reporting) == -- ===================================================== INSERT INTO permissions ( permission_id, permission_name, description ) VALUES ( 48, 'search.advanced', 'ใช้งานการค้นหาขั้นสูง' ), ( 49, 'report.generate', 'สร้างรายงานสรุป (รายวัน / สัปดาห์ / เดือน / ปี)' ); -- ========================================================== -- Seed Role-Permissions Mapping (จับคู่สิทธิ์เริ่มต้น) -- ========================================================== -- Seed data for the 'role_permissions 'table -- This table links roles to their specific permissions. -- NOTE: This assumes the role_id and permission_id FROM the previous seed data files. -- Superadmin (role_id = 1), Org Admin (role_id = 2), Document Control (role_id = 3), etc. -- ===================================================== -- == 1. Superadmin (role_id = 1) - Gets ALL permissions == -- ===================================================== -- Superadmin can do everything. We can dynamically link all permissions to this role. -- This is a robust way to ensure Superadmin always has full power. INSERT INTO role_permissions (role_id, permission_id) SELECT 1, permission_id FROM permissions; -- ===================================================== -- == 2. Org Admin (role_id = 2) == -- ===================================================== INSERT INTO role_permissions (role_id, permission_id) VALUES -- จัดการผู้ใช้ในองค์กร (2, 18), -- user.create (2, 19), -- user.edit (2, 20), -- user.delete (2, 21), -- user.view (2, 22), -- user.assign_organization -- จัดการองค์กร (2, 3), -- organization.edit (2, 5), -- organization.view -- จัดการข้อมูลหลักที่อนุญาต (เฉพาะ Tags) (2, 17), -- master_data.tag.manage -- ดูข้อมูลต่างๆ ในองค์กร (2, 31), -- document.view (2, 9), -- project.view (2, 28), -- contract.view -- การค้นหาและรายงาน (2, 48), -- search.advanced (2, 49); -- report.generate -- ===================================================== -- == 3. Document Control (role_id = 3) == -- ===================================================== INSERT INTO role_permissions (role_id, permission_id) VALUES -- สิทธิ์จัดการเอกสารทั้งหมด (3, 29), -- document.create_draft (3, 30), -- document.submit (3, 31), -- document.view (3, 32), -- document.edit (3, 33), -- document.admin_edit (3, 34), -- document.delete (3, 35), -- document.attach -- สิทธิ์สร้างเอกสารแต่ละประเภท (3, 36), -- correspondence.create (3, 37), -- rfa.create (3, 39), -- drawing.create (3, 40), -- transmittal.create (3, 41), -- circulation.create -- สิทธิ์จัดการ Workflow (3, 45), -- workflow.action_review (3, 46), -- workflow.force_proceed (3, 47), -- workflow.revert -- สิทธิ์จัดการ Circulation (3, 42), -- circulation.respond (3, 43), -- circulation.acknowledge (3, 44), -- circulation.close -- สิทธิ์อื่นๆ ที่จำเป็น (3, 38), -- rfa.manage_shop_drawings (3, 48), -- search.advanced (3, 49); -- report.generate -- ===================================================== -- == 4. Editor (role_id = 4) == -- ===================================================== INSERT INTO role_permissions (role_id, permission_id) VALUES -- สิทธิ์แก้ไขเอกสาร (แต่ไม่ใช่สิทธิ์ Admin) (4, 29), -- document.create_draft (4, 30), -- document.submit (4, 31), -- document.view (4, 32), -- document.edit (4, 35), -- document.attach -- สิทธิ์สร้างเอกสารแต่ละประเภท (4, 36), -- correspondence.create (4, 37), -- rfa.create (4, 39), -- drawing.create (4, 40), -- transmittal.create (4, 41), -- circulation.create -- สิทธิ์อื่นๆ ที่จำเป็น (4, 38), -- rfa.manage_shop_drawings (4, 48); -- search.advanced -- ===================================================== -- == 5. Viewer (role_id = 5) == -- ===================================================== INSERT INTO role_permissions (role_id, permission_id) VALUES -- สิทธิ์ดูเท่านั้น (5, 31), -- document.view (5, 48); -- search.advanced -- ===================================================== -- == 6. Project Manager (role_id = 6) == -- ===================================================== INSERT INTO role_permissions (role_id, permission_id) VALUES -- สิทธิ์จัดการโครงการ (6, 23), -- project.manage_members (6, 24), -- project.create_contracts (6, 25), -- project.manage_contracts (6, 26), -- project.view_reports (6, 9), -- project.view -- สิทธิ์จัดการข้อมูลหลักระดับโครงการ (6, 16), -- master_data.drawing_category.manage -- สิทธิ์ดูข้อมูลในสัญญา (6, 28), -- contract.view -- สิทธิ์ในการจัดการเอกสาร (ระดับ Editor) (6, 29), -- document.create_draft (6, 30), -- document.submit (6, 31), -- document.view (6, 32), -- document.edit (6, 35), -- document.attach (6, 36), -- correspondence.create (6, 37), -- rfa.create (6, 39), -- drawing.create (6, 40), -- transmittal.create (6, 41), -- circulation.create (6, 38), -- rfa.manage_shop_drawings (6, 48), -- search.advanced (6, 49); -- report.generate -- ===================================================== -- == 7. Contract Admin (role_id = 7) == -- ===================================================== INSERT INTO role_permissions (role_id, permission_id) VALUES -- สิทธิ์จัดการสัญญา (7, 27), -- contract.manage_members (7, 28), -- contract.view -- สิทธิ์ในการอนุมัติ (ส่วนหนึ่งของ Workflow) (7, 45), -- workflow.action_review -- สิทธิ์จัดการข้อมูลเฉพาะสัญญา (7, 38), -- rfa.manage_shop_drawings (7, 39), -- drawing.create -- สิทธิ์ในการจัดการเอกสาร (ระดับ Editor) (7, 29), -- document.create_draft (7, 30), -- document.submit (7, 31), -- document.view (7, 32), -- document.edit (7, 35), -- document.attach (7, 36), -- correspondence.create (7, 37), -- rfa.create (7, 40), -- transmittal.create (7, 41), -- circulation.create (7, 48); -- Seed data for the 'user_assignments' table INSERT INTO `user_assignments` ( `id`, `user_id`, `role_id`, `organization_id`, `project_id`, `contract_id`, `assigned_by_user_id` ) VALUES ( 1, 1, 1, NULL, NULL, NULL, NULL ), (2, 2, 2, 1, NULL, NULL, NULL); -- ===================================================== -- == 4. การเชื่อมโยงโครงการกับองค์กร (project_organizations) == -- ===================================================== -- โครงการหลัก (LCBP3) จะมีองค์กรหลักๆ เข้ามาเกี่ยวข้องทั้งหมด INSERT INTO project_organizations (project_id, organization_id) SELECT ( SELECT id FROM projects WHERE project_code = 'LCBP3 ' ), id FROM organizations WHERE organization_code IN ( 'กทท.', 'สคฉ.3', 'TEAM', 'คคง.', 'ผรม.1', 'ผรม.2', 'ผรม.3', 'ผรม.4', 'EN', 'CAR ' ); -- โครงการย่อย (LCBP3C1) จะมีเฉพาะองค์กรที่เกี่ยวข้อง INSERT INTO project_organizations (project_id, organization_id) SELECT ( SELECT id FROM projects WHERE project_code = 'LCBP3-C1 ' ), id FROM organizations WHERE organization_code IN ( 'กทท.', 'สคฉ.3', 'สคฉ.3 -02', 'คคง.', 'ผรม.1 ' ); -- ทำเช่นเดียวกันสำหรับโครงการอื่นๆ (ตัวอย่าง) INSERT INTO project_organizations (project_id, organization_id) SELECT ( SELECT id FROM projects WHERE project_code = 'LCBP3-C2 ' ), id FROM organizations WHERE organization_code IN ( 'กทท.', 'สคฉ.3', 'สคฉ.3 -03', 'คคง.', 'ผรม.2 ' ); -- ===================================================== -- == 5. การเชื่อมโยงสัญญากับองค์กร (contract_organizations) == -- ===================================================== -- สัญญาที่ปรึกษาออกแบบ (DSLCBP3) INSERT INTO contract_organizations ( contract_id, organization_id, role_in_contract ) VALUES ( ( SELECT id FROM contracts WHERE contract_code = 'LCBP3-DS' ), ( SELECT id FROM organizations WHERE organization_code = 'กทท.' ), 'Owner' ), ( ( SELECT id FROM contracts WHERE contract_code = 'LCBP3-DS' ), ( SELECT id FROM organizations WHERE organization_code = 'TEAM' ), 'Designer' ); -- สัญญาที่ปรึกษาควบคุมงาน (PSLCBP3) INSERT INTO contract_organizations ( contract_id, organization_id, role_in_contract ) VALUES ( ( SELECT id FROM contracts WHERE contract_code = 'LCBP3-PS' ), ( SELECT id FROM organizations WHERE organization_code = 'กทท.' ), 'Owner' ), ( ( SELECT id FROM contracts WHERE contract_code = 'LCBP3-PS' ), ( SELECT id FROM organizations WHERE organization_code = 'คคง.' ), 'Consultant' ); -- สัญญางานก่อสร้าง ส่วนที่ 1 (LCBP3-C1) INSERT INTO contract_organizations ( contract_id, organization_id, role_in_contract ) VALUES ( ( SELECT id FROM contracts WHERE contract_code = 'LCBP3-C1' ), ( SELECT id FROM organizations WHERE organization_code = 'กทท.' ), 'Owner' ), ( ( SELECT id FROM contracts WHERE contract_code = 'LCBP3-C1' ), ( SELECT id FROM organizations WHERE organization_code = 'ผรม.1' ), 'Contractor' ); -- สัญญางานก่อสร้าง ส่วนที่ 2 (LCBP3-C2) INSERT INTO contract_organizations ( contract_id, organization_id, role_in_contract ) VALUES ( ( SELECT id FROM contracts WHERE contract_code = 'LCBP3-C2' ), ( SELECT id FROM organizations WHERE organization_code = 'กทท.' ), 'Owner' ), ( ( SELECT id FROM contracts WHERE contract_code = 'LCBP3-C2' ), ( SELECT id FROM organizations WHERE organization_code = 'ผรม.2' ), 'Contractor' ); -- สัญญาตรวจสอบสิ่งแวดล้อม (LCBP3-EN) INSERT INTO contract_organizations ( contract_id, organization_id, role_in_contract ) VALUES ( ( SELECT id FROM contracts WHERE contract_code = 'LCBP3-EN' ), ( SELECT id FROM organizations WHERE organization_code = 'กทท.' ), 'Owner' ), ( ( SELECT id FROM contracts WHERE contract_code = 'LCBP3-EN' ), ( SELECT id FROM organizations WHERE organization_code = 'EN' ), 'Consultant' ); -- Seed correspondence_status INSERT INTO correspondence_status ( status_code, status_name, sort_order, is_active ) VALUES ('DRAFT', 'Draft', 10, 1), ( 'SUBOWN', 'Submitted to Owner', 21, 1 ), ( 'SUBDSN', 'Submitted to Designer', 22, 1 ), ( 'SUBCSC', 'Submitted to CSC', 23, 1 ), ( 'SUBCON', 'Submitted to Contractor', 24, 1 ), ( 'SUBOTH', 'Submitted to Others', 25, 1 ), ( 'REPOWN', 'Reply by Owner', 31, 1 ), ( 'REPDSN', 'Reply by Designer', 32, 1 ), ( 'REPCSC', 'Reply by CSC', 33, 1 ), ( 'REPCON', 'Reply by Contractor', 34, 1 ), ( 'REPOTH', 'Reply by Others', 35, 1 ), ( 'RSBOWN', 'Resubmited by Owner', 41, 1 ), ( 'RSBDSN', 'Resubmited by Designer', 42, 1 ), ( 'RSBCSC', 'Resubmited by CSC', 43, 1 ), ( 'RSBCON', 'Resubmited by Contractor', 44, 1 ), ( 'CLBOWN', 'Closed by Owner', 51, 1 ), ( 'CLBDSN', 'Closed by Designer', 52, 1 ), ( 'CLBCSC', 'Closed by CSC', 53, 1 ), ( 'CLBCON', 'Closed by Contractor', 54, 1 ), ( 'CCBOWN', 'Canceled by Owner', 91, 1 ), ( 'CCBDSN', 'Canceled by Designer', 92, 1 ), ( 'CCBCSC', 'Canceled by CSC', 93, 1 ), ( 'CCBCON', 'Canceled by Contractor', 94, 1 ); -- Seed correspondence_types INSERT INTO correspondence_types ( type_code, type_name, sort_order, is_active ) VALUES ( 'RFA', 'Request for Approval', 1, 1 ), ( 'RFI', 'Request for Information', 2, 1 ), ( 'TRANSMITTAL', 'Transmittal', 3, 1 ), ('EMAIL', 'Email', 4, 1), ( 'INSTRUCTION', 'Instruction', 5, 1 ), ('LETTER', 'Letter', 6, 1), ('MEMO', 'Memorandum', 7, 1), ( 'MOM', 'Minutes of Meeting', 8, 1 ), ('NOTICE', 'Notice', 9, 1), ('OTHER', 'Other', 10, 1); -- Seed rfa_types INSERT INTO rfa_types ( contract_id, type_code, type_name_en, type_name_th ) SELECT id, 'ADW', 'As Built Drawing', 'แบบร่างหลังการก่อสร้าง' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'BC', 'Box Culvert', 'ท่อระบายน้ำรูปกล่อง' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'BM', 'Benchmark', 'หมุดหลักฐาน' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'CER', 'Certificates', 'ใบรับรอง' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'CN', 'Canal Drainage', 'ระบบระบายน้ำในคลอง' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'CON', 'Contract', 'สัญญา' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'DDS', 'Design Data Submission', 'นำส่งข้อมูลการออกแบบ' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'DDW', 'Draft Drawing', 'แบบร่าง' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'DRW', 'Drawings (All Types)', 'แบบก่อสร้าง' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'DSN', 'Design/Calculation/Manual (All Stages)', 'ออกแบบ / คำนวณ / คู่มือ' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'GEN', 'General', 'ทั่วไป' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'ICR', 'Incident Report', 'รายงานการเกิดอุบัติเหตุและการบาดเจ็บ' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'INS', 'Insurances/Bond/Guarantee', 'การประกัน / พันธบัตร / การค้ำประกัน' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'INR', 'Inspection/Audit/Surveillance Report', 'รายงานการตรวจสอบ / การตรวจสอบ / รายงานการเฝ้าระวัง' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'ITP', 'Inspection and Test Plan', 'แผนการตรวจสอบและทดสอบ' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'JSA', 'Jobs Analysis', 'รายงานการวิเคราะห์ความปลอดภัย' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'MAN', 'Manual', 'คู่มือ' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'MAT', 'Materials/Equipment/Plant', 'วัสดุ / อุปกรณ์ / โรงงาน' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'MOM', 'Minutes of Meeting', 'รายงานการประชุม' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'MPR', 'Monthly Progress Report', 'รายงานความคืบหน้าประจำเดือน' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'MST', 'Method Statement for Construction/Installation', 'ขั้นตอนการก่อสร้าง / ติดตั้ง' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'NDS', 'Non-Design Data Submission', 'นำส่งข้อมูลที่ไม่เกี่ยวข้องกับการออกแบบ' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'PMA', 'Payment/Invoice/Retention/Estimate', 'การชำระเงิน / ใบแจ้งหนี้ / ประกันผลงาน / ประมาณการ' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'PRD', 'Procedure', 'ระเบียบปฏิบัติ' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'PRG', 'Progress of Construction', 'ความคืบหน้าของการก่อสร้าง / ภาพถ่าย / วิดีโอ' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'QMS', 'Quality Document (Plan/Work Instruction)', 'เอกสารด้านคุณภาพ (แผนงาน / ข้อแนะนำในการทำงาน)' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'RPT', 'Report', 'รายงาน' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'SAR', 'Semi Annual Report', 'รายงานประจำหกเดือน' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'SCH', 'Schedule and Program', 'แผนงาน' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'SDW', 'Shop Drawing', 'แบบขยายรายละเอียด' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'SI', 'Soil Investigation', 'การตรวจสอบดิน' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'SPE', 'Specification', 'ข้อกำหนด' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'TNR', 'Training Report', 'รายงานการฝึกปฏิบัติ' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'UC', 'Underground Construction', 'โครงสร้างใต้ดิน' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'VEN', 'Vendor', 'ผู้ขาย' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'VRO', 'Variation Request/Instruction/Order', 'คำขอเปลี่ยนแปลง / ข้อเสนอแนะ / ข้อเรียกร้อง' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'WTY', 'Warranty', 'การประกัน' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'GEN', 'General', 'ทั่วไป' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'CON', 'Contract', 'สัญญา' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'INS', 'Insurances/Bond/Guarantee', 'การประกัน / พันธบัตร / การค้ำประกัน' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'SCH', 'Schedule and Program', 'แผนงาน' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'PMA', 'Payment/Invoice/Retention/Estimate', 'การชำระเงิน / ใบแจ้งหนี้ / ประกันผลงาน / ประมาณการ' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'VRO', 'Variation Request/Instruction/Order', 'คำขอเปลี่ยนแปลง / ข้อเสนอแนะ / ข้อเรียกร้อง' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'VEN', 'Vendor', 'ผู้ขาย' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'WTY', 'Warranty', 'การประกัน' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'DRW', 'Drawings (All Types)', 'แบบก่อสร้าง' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'DDW', 'Draft Drawing', 'แบบร่าง' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'SDW', 'Shop Drawing', 'แบบขยายรายละเอียด' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'ADW', 'As Built Drawing', 'แบบร่างหลังการก่อสร้าง' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'DDS', 'Design Data Submission', 'นำส่งข้อมูลการออกแบบ' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'DSN', 'Design/Calculation/Manual (All Stages)', 'ออกแบบ / คำนวณ / คู่มือ' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'NDS', 'Non-Design Data Submission', 'นำส่งข้อมูลที่ไม่เกี่ยวข้องกับการออกแบบ' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'PRD', 'Procedure', 'ระเบียบปฏิบัติ' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'MST', 'Method Statement for Construction/Installation', 'ขั้นตอนการก่อสร้าง / ติดตั้ง' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'QMS', 'Quality Document (Plan/Work Instruction)', 'เอกสารด้านคุณภาพ (แผนงาน / ข้อแนะนำในการทำงาน)' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'INR', 'Inspection/Audit/Surveillance Report', 'รายงานการตรวจสอบ / การตรวจสอบ / รายงานการเฝ้าระวัง' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'ITP', 'Inspection and Test Plan', 'แผนการตรวจสอบและทดสอบ' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'MAT', 'Materials/Equipment/Plant', 'วัสดุ / อุปกรณ์ / โรงงาน' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'SPE', 'Specification', 'ข้อกำหนด' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'MAN', 'Manual', 'คู่มือ' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'CER', 'Certificates', 'ใบรับรอง' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'SAR', 'Semi Annual Report', 'รายงานประจำหกเดือน' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'JSA', 'Jobs Analysis', 'รายงานการวิเคราะห์ความปลอดภัย' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'MOM', 'Minutes of Meeting', 'รายงานการประชุม' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'MPR', 'Monthly Progress Report', 'รายงานความคืบหน้าประจำเดือน' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'ICR', 'Incident Report', 'รายงานการเกิดอุบัติเหตุและการบาดเจ็บ' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'PRG', 'Progress of Construction', 'ความคืบหน้าของการก่อสร้าง / ภาพถ่าย / วิดีโอ' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'RPT', 'Report', 'รายงาน' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'TNR', 'Training Report', 'รายงานการฝึกปฏิบัติ' FROM contracts WHERE contract_code = 'LCBP3-C2'; -- Seed rfa_status_codes INSERT INTO rfa_status_codes ( status_code, status_name, description, sort_order ) VALUES ('DFT', 'Draft', 'ฉบับร่าง', 1), ( 'FAP', 'For Approve', 'เพื่อขออนุมัติ', 11 ), ( 'FRE', 'For Review', 'เพื่อตรวจสอบ', 12 ), ( 'FCO', 'For Construction', 'เพื่อก่อสร้าง', 20 ), ( 'ASB', 'AS - Built', 'แบบก่อสร้างจริง', 30 ), ( 'OBS', 'Obsolete', 'ไม่ใช้งาน', 80 ), ( 'CC', 'Canceled', 'ยกเลิก', 99 ); INSERT INTO rfa_approve_codes ( approve_code, approve_name, sort_order, is_active ) VALUES ( '1A', 'Approved by Authority', 10, 1 ), ( '1C', 'Approved by CSC', 11, 1 ), ( '1N', 'Approved As Note', 12, 1 ), ( '1R', 'Approved with Remarks', 13, 1 ), ( '3C', 'Consultant Comments', 31, 1 ), ( '3R', 'Revise and Resubmit', 32, 1 ), ('4X', 'Reject', 40, 1), ( '5N', 'No Further Action', 50, 1 ); -- Seed circulation_status_codes INSERT INTO circulation_status_codes (code, description, sort_order) VALUES ('OPEN', 'Open', 1), ('IN_REVIEW', 'In Review', 2), ('COMPLETED', 'ปCompleted', 3), ( 'CANCELLED', 'Cancelled / Withdrawn', 9 ); -- ตาราง "แม่" ของ RFA (มีความสัมพันธ์ 1:N กับ rfa_revisions) -- ========================================================== -- SEED DATA 6B.md (Disciplines, RFA Types, Sub Types) -- ========================================================== -- 1. Seed ข้อมูล Disciplines (สาขางาน) -- LCBP3-C1 INSERT INTO disciplines ( contract_id, discipline_code, code_name_th, code_name_en ) SELECT id, 'GEN', 'งานบริหารโครงการ', 'General Management' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'COD', 'สัญญาและข้อโต้แย้ง', 'Contracting' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'QSB', 'สำรวจปริมาณและควบคุมงบประมาณ', 'Quantity Survey and Budget Control' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'PPG', 'บริหารแผนและความก้าวหน้า', 'Plan and Progress Management' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'PRC', 'งานจัดซื้อ', 'Procurement' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'SUB', 'ผู้รับเหมาช่วง', 'Subcontractor' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'ODC', 'สำนักงาน-ควบคุมเอกสาร', 'Operation Docment Control' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'LAW', 'กฎหมาย', 'Law' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'TRF', 'จราจร', 'Traffic' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'BIM', 'BIM', 'Building information modeling' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'SRV', 'งานสำรวจ', 'Survey' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'SFT', 'ความปลอดภัย', 'Safety' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'BST', 'งานโครงสร้างอาคาร', 'Building Structure Work' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'TEM', 'งานชั่วคราว', 'Temporary Work' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'UTL', 'งานระบบสาธารณูปโภค', 'Utility' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'EPW', 'งานระบบไฟฟ้า', 'Electrical Power Work' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'ECM', 'งานระบบไฟฟ้าสื่อสาร', 'Electrical Communication Work' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'ENV', 'สิ่งแวดล้อม', 'Environment' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'AQV', 'คุณภาพอากาศและความสั่นสะเทือน', 'Air quality and vibration' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'WAB', 'คุณภาพน้ำและชีววิทยาทางน้ำ', 'Water quality and Aquatic biology' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'ONS', 'วิศวกรรมชายฝั่ง', 'Onshore Engineer Work' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'PPR', 'มวลชนสัมพันธ์และการประชาสัมพันธ์', 'Public Relations' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'OSW', 'งานก่อสร้างงานทางทะเล', 'Offshore Work' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'DRE', 'งานขุดและถมทะเล', 'Dredging and Reclamation' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'REV', 'งานคันหินล้อมพื้นที่ถมทะเล', 'Revetment' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'BRW', 'งานเขื่อนกันคลื่น', 'Breakwater' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'SOI', 'ปรับปรุงคุณภาพดิน', 'Soil Improvement' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'BLC', 'งานปรับปรุงคลองบางละมุง', 'Bang Lamung Canal Bank Protection' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'FUP', 'งานประตูระบายน้ำและท่อลอด', 'Floodgate & Under Ground Piping Works' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'SWP', 'งานอาคารควบคุมสถานีสูบน้ำทะเล', 'Sea Water Pumping Station Control BuilDing' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'NAV', 'งานติดตั้งเครื่องหมายช่วงการเดินเรือ', 'Navigations Aids' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'GEO', 'งานด้านธรณีเทคนิค', 'Geotechnical' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'CRW', 'งานด้านโยธา - Rock Works', 'Civil-Rock work' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'DVR', 'ทีมนักประดาน้ำ', 'Dive Work' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'MTS', 'งานทดสอบวัสดุและธรณีเทคนิค', 'Materials and Geotechnical Testing' FROM contracts WHERE contract_code = 'LCBP3-C1' UNION ALL SELECT id, 'OTH', 'อื่นๆ', 'Other' FROM contracts WHERE contract_code = 'LCBP3-C1'; -- LCBP3-C2 INSERT INTO disciplines ( contract_id, discipline_code, code_name_th, code_name_en ) SELECT id, 'GEN', 'งานบริหารโครงการ', 'Project Management' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'COD', 'สัญญาและข้อโต้แย้ง', 'Contracts and arguments' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'QSB', 'สำรวจปริมาณและควบคุมงบประมาณ', 'Survey the quantity and control the budget' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'PPM', 'บริหารแผนและความก้าวหน้า', 'Plan Management & Progress' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'ODC', 'สำนักงาน-ควบคุมเอกสาร', 'Document Control Office' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'LAW', 'กฎหมาย', 'Law' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'TRF', 'จราจร', 'Traffic' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'BIM', 'Building Information Modeling', 'Building Information Modeling' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'SRV', 'งานสำรวจ', 'Survey' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'SFT', 'ความปลอดภัย', 'Safety' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'BST', 'งานโครงสร้างอาคาร', 'Building Structure' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'UTL', 'งานะบบสาธารณูปโภค', 'Public Utilities' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'EPW', 'งานระบบไฟฟ้า', 'Electrical Systems' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'ECM', 'งานระบบไฟฟ้าสื่อสาร', 'Electrical Communication System' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'ENV', 'สิ่งแวดล้อม', 'Environment' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'AQV', 'คุณภาพอากาศและความสั่นสะเทือน', 'Air Quality and Vibration' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'WAB', 'คุณภาพน้ำและชีววิทยาทางน้ำ', 'Water Quality and Aquatic Biology' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'ONS', 'วิศวกรรมชายฝั่ง', 'Coastal Engineering' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'PPR', 'มวลชนสัมพันธ์และประชาสัมพันธ์', 'Mass Relations and Public Relations' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'OFW', 'งานก่อสร้างทางทะเล', 'Marine Construction' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'EXR', 'งานขุดและถมทะเล', 'Excavation and reclamation' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'GEO', 'งานด้านธรณีเทคนิค', 'Geotechnical work' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'CRW', 'งานด้านโยธา - Rock Works', 'Civil Works - Rock Works' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'DVW', 'ทีมนักประดาน้ำ', 'Team of Divers' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'MTT', 'งานทดสอบวัสดุ', 'Materials Testing' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'ARC', 'งานสถาปัตยกรรม', 'Architecture' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'STR', 'งานโครงสร้าง', 'Structural work' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'SAN', 'งานระบบสุขาภิบาล', 'Sanitation System' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'DRA', 'งานระบบระบายน้ำ', 'Drainage system work' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'TER', 'งานท่าเทียบเรือ', 'Terminal Work work' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'BUD', 'งานอาคาร', 'Building' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'ROW', 'งานถนนและสะพาน', 'Road and Bridge Work' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'MEC', 'งานเคริองกล', 'Mechanical work' FROM contracts WHERE contract_code = 'LCBP3-C2' UNION ALL SELECT id, 'OTH', 'อื่น ๆ', 'Others' FROM contracts WHERE contract_code = 'LCBP3-C2'; -- 2. Seed ข้อมูล Correspondence Sub Types (Mapping RFA Types กับ Number) -- เนื่องจาก sub_type_code ตรงกับ RFA Type Code แต่ Req ต้องการ Mapping เป็น Number -- LCBP3-C1 INSERT INTO correspondence_sub_types ( contract_id, correspondence_type_id, sub_type_code, sub_type_name, ) SELECT c.id, ct.id, 'MAT', 'Material Approval', '11' FROM contracts c, correspondence_types ct WHERE c.contract_code = 'LCBP3-C1' AND ct.type_code = 'RFA' UNION ALL SELECT c.id, ct.id, 'SHP', 'Shop Drawing Submittal', '12' FROM contracts c, correspondence_types ct WHERE c.contract_code = 'LCBP3-C1' AND ct.type_code = 'RFA' UNION ALL SELECT c.id, ct.id, 'DWG', 'Document Approval', '13' FROM contracts c, correspondence_types ct WHERE c.contract_code = 'LCBP3-C1' AND ct.type_code = 'RFA' UNION ALL SELECT c.id, ct.id, 'MET', 'Engineering Document Submittal', '14' FROM contracts c, correspondence_types ct WHERE c.contract_code = 'LCBP3-C1' AND ct.type_code = 'RFA'; -- LCBP3-C2 INSERT INTO correspondence_sub_types ( contract_id, correspondence_type_id, sub_type_code, sub_type_name, sub_type_number ) SELECT c.id, ct.id, 'MAT', 'Material Approval', '21' FROM contracts c, correspondence_types ct WHERE c.contract_code = 'LCBP3-C2' AND ct.type_code = 'RFA' UNION ALL SELECT c.id, ct.id, 'SHP', 'Shop Drawing Submittal', '22' FROM contracts c, correspondence_types ct WHERE c.contract_code = 'LCBP3-C2' AND ct.type_code = 'RFA' UNION ALL SELECT c.id, ct.id, 'DWG', 'Document Approval', '23' FROM contracts c, correspondence_types ct WHERE c.contract_code = 'LCBP3-C2' AND ct.type_code = 'RFA' UNION ALL SELECT c.id, ct.id, 'MET', 'Engineering Document Submittal', '24' FROM contracts c, correspondence_types ct WHERE c.contract_code = 'LCBP3-C2' AND ct.type_code = 'RFA'; -- LCBP3-C3 INSERT INTO correspondence_sub_types ( contract_id, correspondence_type_id, sub_type_code, sub_type_name, sub_type_number ) SELECT c.id, ct.id, 'MAT', 'Material Approval', '31' FROM contracts c, correspondence_types ct WHERE c.contract_code = 'LCBP3-C3' AND ct.type_code = 'RFA' UNION ALL SELECT c.id, ct.id, 'SHP', 'Shop Drawing Submittal', '32' FROM contracts c, correspondence_types ct WHERE c.contract_code = 'LCBP3-C3' AND ct.type_code = 'RFA' UNION ALL SELECT c.id, ct.id, 'DWG', 'Document Approval', '33' FROM contracts c, correspondence_types ct WHERE c.contract_code = 'LCBP3-C3' AND ct.type_code = 'RFA' UNION ALL SELECT c.id, ct.id, 'MET', 'Engineering Document Submittal', '34' FROM contracts c, correspondence_types ct WHERE c.contract_code = 'LCBP3-C4' AND ct.type_code = 'RFA'; -- Note: 6B data has C4 on the right column for MET but C3 on left, checking logic... MD says C3 for first 3 rows, then C4 mixed. I will assume C4 starts at row 12 in the MD table. -- LCBP3-C4 INSERT INTO correspondence_sub_types ( contract_id, correspondence_type_id, sub_type_code, sub_type_name, sub_type_number ) SELECT c.id, ct.id, 'MAT', 'Material Approval', '41' FROM contracts c, correspondence_types ct WHERE c.contract_code = 'LCBP3-C4' AND ct.type_code = 'RFA' UNION ALL SELECT c.id, ct.id, 'SHP', 'Shop Drawing Submittal', '42' FROM contracts c, correspondence_types ct WHERE c.contract_code = 'LCBP3-C4' AND ct.type_code = 'RFA' UNION ALL SELECT c.id, ct.id, 'DWG', 'Document Approval', '43' FROM contracts c, correspondence_types ct WHERE c.contract_code = 'LCBP3-C4' AND ct.type_code = 'RFA' UNION ALL SELECT c.id, ct.id, 'MET', 'Engineering Document Submittal', '44' FROM contracts c, correspondence_types ct WHERE c.contract_code = 'LCBP3-C4' AND ct.type_code = 'RFA';