-- ==========================================================
-- DMS v0.5.0
-- Database v5.1 - Seed data
-- Server: Container Station on QNAPQNAP TS-473A
-- Database service: MariaDB 10.11
-- database ui: phpmyadmin 5-apache
-- backend sevice: node.js
-- frontend sevice: next.js
-- reverse proxy: nginx 1.27-alpine
-- cron service: n8n
-- scripts: alpine:3.20
-- Notes:
-- ==========================================================

SET NAMES utf8mb4;
SET time_zone = '+07:00';
SET FOREIGN_KEY_CHECKS=0;
-- organizations
INSERT INTO organizations (org_code, org_name, primary_role) VALUES
-- 1-7
 ('กทท.','การท่าเรือแห่งประเทศไทย','OWNER'),
 ('สคฉ.3','สำนักงานโครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 1-4)','OWNER'),
 ('สคฉ.3-01','คณะกรรมการตรวจรับพัสดุ งานจ้างที่ปรีกษาควบคุมงานโครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 1-4)','OWNER'),
 ('สคฉ.3-02','สคฉ.3-02 คณะกรรมการตรวจรับพัสดุ งานก่อสร้าง โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 1) งานก่อสร้างงานทางทะเล','OWNER'),
 ('สคฉ.3-03','สคฉ.3-03 คณะกรรมการตรวจรับพัสดุ งานก่อสร้าง โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 2) งานก่อสร้างอาคาร ท่าเทียบเรือ ระบบถนน และระบบสาธารณูปโภค','OWNER'),
 ('สคฉ.3-06','สคฉ.3-06 คณะกรรมการตรวจรับพัสดุ งานก่อสร้าง โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 3) งานก่อสร้าง','OWNER'),
 ('สคฉ.3-07','สคฉ.3-07 คณะกรรมการตรวจรับพัสดุ งานก่อสร้าง โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 4) งานก่อสร้าง','OWNER'),
 -- 8-9
 ('สคฉ.3-04','สคฉ.3-04 คณะกรรมการตรวจรับพัสด งานจ้างเหมาตรวจสอบผลกระทบสิ่งแวดล้อมนะหว่างงานก่อสร้างโครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 1-4)','OWNER'),
 ('สคฉ.3-05','สคฉ.3-05 คณะกรรมการตรวจรับพัสดุ งานเยียวยาการประมงและเพาะเลี้ยงสัตว์น้ำ','OWNER'),
 -- 10-11
 ('TEAM',' Designer Consulting Ltd.','DESIGNER'),
 ('คคง.','Construction Supervision Ltd.','CONSULTANT'),
 -- 12-15
 ('ผรม.1',' โครงการพัฒนาท่าเรือแหลมฉบังระยะที่ 3 (ส่วนที่ 1) งานก่อสร้างงานทางทะเล','CONTRACTOR'),
 ('ผรม.2','ผรม.2 โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 2) งานก่อสร้างอาคาร ท่าเทียบเรือ ระบบถนน และระบบสาธารณูปโภค','CONTRACTOR'),
 ('ผรม.3','ผรม.3 Contractor Company #3 Ltd.','CONTRACTOR'),
 ('ผรม.4','ผรม.4 Contractor Company #4 Ltd.','CONTRACTOR'),
 -- 16-17
 ('EN','Third Party Environment','THIRD_PARTY'),
 ('CAR','Third Party Care for Fishery','THIRD_PARTY');



-- circulation_status_codes

INSERT INTO cir_status_codes (code, description, sort_order) VALUES
('OPEN', 'Open', 10),
('IN_REVIEW', 'In Review', 20),
('COMPLETED', 'ปCompleted', 30),
('CANCELLED', 'Cancelled/Withdrawn', 99);


-- projects
INSERT INTO projects (project_code, project_name) VALUES
 ('LCBP3','โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 1-4)'),
 ('PSLCBP3','งานจ้างที่ปรีกษาควบคุมงานโครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 1-4)'),
 ('LCBP3C1','งานก่อสร้าง โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 1) งานก่อสร้างงานทางทะเล'),
 ('LCBP3C2','งานก่อสร้าง โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 2) งานก่อสร้างอาคาร ท่าเทียบเรือ ระบบถนน และระบบสาธารณูปโภค'),
 ('LCBP3C3','งานก่อสร้าง โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 3) งานก่อสร้าง'),
 ('LCBP3C4','งานก่อสร้าง โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 4) งานก่อสร้าง'),
 ('ENVLCBP3','งานจ้างเหมาตรวจสอบผลกระทบสิ่งแวดล้อมนะหว่างงานก่อสร้างโครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 1-4)')
 ;

-- correspondence_types
INSERT INTO correspondence_types (type_code, type_name, sort_order, is_active) VALUES
 ('RFA',         'Request for Approval',       10,1),
 ('EMAIL',       'Email',                      20,1), 
 ('INSTRUCTION', 'Instruction',                30,1),
 ('LETTER',      'Letter',                     40,1),
 ('MEMO',        'Memorandum',                 50,1),
 ('MOM',         'Minutes of Meeting',         60,1),
 ('RFI',         'Request for Information',    70,1),
 ('TRANSMITTAL', 'Transmittal',                80,1);


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

-- approve_codes
INSERT INTO approve_codes (code, description, 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);

-- Document Tyes
INSERT INTO document_types (code, name, sort_order, is_active) VALUES
  ('DWG',    'Shop Drawing',       10, 1),
  ('DOC',    'Document',           20, 1),
  ('MES',    'Method Statement',   30, 1),
  ('MAT',    'Material',           40, 1),
--  ('SPC',    'Specification',      21, 1),
--  ('CAL',    'Calculation',        22, 1),
--  ('TRP',    'Test Report',        23, 1),
--  ('SRY',    'Survey Report',      24, 1),
--  ('QAQC',   'QA/QC Document',     25, 1),
  ('ASB',    'As-Built',           50, 1),
  ('OTH',    'Other',              99, 1);

 
 -- Drawing status codes
INSERT INTO document_status_codes (code, 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);

-- global default roles seed: OWNER x7, DESIGNER x1, CONSULTANT x1 (from organizations.primary_role)
-- OWNER
INSERT INTO global_default_roles (id, role, position, org_id)
SELECT 1, 'OWNER', pos, org_id
FROM (
  SELECT org_id, ROW_NUMBER() OVER (ORDER BY org_id) AS pos
  FROM organizations
  WHERE primary_role='OWNER'
) t
WHERE t.pos BETWEEN 1 AND 7
ON DUPLICATE KEY UPDATE org_id=VALUES(org_id);

-- DESIGNER
INSERT INTO global_default_roles (id, role, position, org_id)
SELECT 1, 'DESIGNER', 1, org_id
FROM organizations
WHERE primary_role='DESIGNER'
ORDER BY org_id
LIMIT 1
ON DUPLICATE KEY UPDATE org_id=VALUES(org_id);

-- CONSULTANT
INSERT INTO global_default_roles (id, role, position, org_id)
SELECT 1, 'CONSULTANT', 1, org_id
FROM organizations
WHERE primary_role='CONSULTANT'
ORDER BY org_id
LIMIT 1
ON DUPLICATE KEY UPDATE org_id=VALUES(org_id);

INSERT INTO project_parties (`project_id`, `org_id`, `role`) VALUES
-- 1 LCBP3
  ('1', '1', 'OWNER'), ('1', '2', 'OWNER'), ('1', '3', 'OWNER'), ('1', '4', 'OWNER'), ('1', '5', 'OWNER'), ('1', '6', 'OWNER'), ('1', '7', 'OWNER'), ('1', '10', 'DESIGNER'), ('1', '11', 'CONSULTANT'),
-- 2 PSLCBP3
  ('2', '1', 'OWNER'), ('2', '2', 'OWNER'), ('2', '3', 'OWNER'), ('2', '4', 'OWNER'), ('2', '5', 'OWNER'), ('2', '6', 'OWNER'), ('2', '7', 'OWNER'), ('2', '10', 'DESIGNER'), ('2', '11', 'CONSULTANT'),
-- 3-6 LCBP3 C1-C4
  ('3', '1', 'OWNER'), ('3', '2', 'OWNER'), ('3', '3', 'OWNER'), ('3', '4', 'OWNER'), ('3', '5', 'OWNER'), ('3', '6', 'OWNER'), ('3', '7', 'OWNER'), ('3', '10', 'DESIGNER'), ('3', '11', 'CONSULTANT'),
  ('4', '1', 'OWNER'), ('4', '2', 'OWNER'), ('4', '3', 'OWNER'), ('4', '4', 'OWNER'), ('4', '5', 'OWNER'), ('4', '6', 'OWNER'), ('4', '7', 'OWNER'), ('4', '10', 'DESIGNER'), ('4', '11', 'CONSULTANT'),
  ('5', '1', 'OWNER'), ('5', '2', 'OWNER'), ('5', '3', 'OWNER'), ('5', '4', 'OWNER'), ('5', '5', 'OWNER'), ('5', '6', 'OWNER'), ('5', '7', 'OWNER'), ('5', '10', 'DESIGNER'), ('5', '11', 'CONSULTANT'),
  ('6', '1', 'OWNER'), ('6', '2', 'OWNER'), ('6', '3', 'OWNER'), ('6', '4', 'OWNER'), ('6', '5', 'OWNER'), ('6', '6', 'OWNER'), ('6', '7', 'OWNER'), ('6', '10', 'DESIGNER'), ('6', '11', 'CONSULTANT')
  ;

SET FOREIGN_KEY_CHECKS=1;