Files
lcbp3/docs/8_lcbp3_v1_5_1_seed.sql
admin d74218bb2a
Some checks failed
Spec Validation / validate-markdown (push) Has been cancelled
Spec Validation / validate-diagrams (push) Has been cancelled
Spec Validation / check-todos (push) Has been cancelled
251202:2300 Prepare 1.5.1
2025-12-03 01:16:27 +07:00

1749 lines
56 KiB
SQL

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';