INSERT INTO organizations (id, organization_code, organization_name) VALUES ( 1, 'กทท.' , 'การท่าเรือแห่งประเทศไทย'), ( 10, 'สคฉ.3' , 'โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3' ), ( 11, 'สคฉ.3-01' , 'ตรวจรับพัสดุ ที่ปรึกษาควบคุมงาน'), ( 12, 'สคฉ.3-02' , 'ตรวจรับพัสดุ งานทางทะเล'), ( 13, 'สคฉ.3-03' , 'ตรวจรับพัสดุ อาคารและระบบสาธารณูปโภค'), ( 14, 'สคฉ.3-04' , 'ตรวจรับพัสดุ ตรวจสอบผลกระทบสิ่งแวดล้อม'), ( 15, 'สคฉ.3-05' , 'ตรวจรับพัสดุ เยียวยาการประมง'), ( 16, 'สคฉ.3-06' , 'ตรวจรับพัสดุ งานก่อสร้าง ส่วนที่ 3'), ( 17, 'สคฉ.3-07' , 'ตรวจรับพัสดุ งานก่อสร้าง ส่วนที่ 4'), ( 18, 'สคฉ.3-xx' , 'ตรวจรับพัสดุ ที่ปรึกษาออกแบบ ส่วนที่ 4'), ( 21, 'TEAM' , 'Designer Consulting Ltd.'), ( 22, 'คคง.' , 'Construction Supervision Ltd.'), ( 41, 'ผรม.1' , 'Contractor งานทางทะเล'), ( 42, 'ผรม.2' , 'Contractor อาคารและระบบ'), ( 43, 'ผรม.3' , 'Contractor #3 Ltd.'), ( 44, 'ผรม.4' , 'Contractor #4 Ltd.'), ( 31, 'EN' , 'Third Party Environment'), ( 32, 'CAR' , 'Third Party Fishery Care'); -- 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';