690325:2132 Fixing Naming convention missunderstand #01
This commit is contained in:
@@ -803,7 +803,7 @@ services:
|
||||
```bash
|
||||
PUT /api/v1/document-numbering/configs/{configId}
|
||||
{
|
||||
"template": "{ORIGINATOR}-{RECIPIENT}-{SEQ:4}-{YEAR:B.E.}",
|
||||
"template": "{ORIGINATOR}-{RECIPIENT}-{SEQ:4}/{YEAR:B.E.}",
|
||||
"change_reason": "เหตุผลในการเปลี่ยนแปลง"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -2178,7 +2178,7 @@ VALUES (
|
||||
1,
|
||||
NULL,
|
||||
0,
|
||||
'{ORG}-{RECIPIENT}-{SEQ:4}-{YEAR}',
|
||||
'{ORG}-{RECIPIENT}-{SEQ:4}/{YEAR}',
|
||||
1,
|
||||
1,
|
||||
NULL,
|
||||
@@ -2190,7 +2190,7 @@ VALUES (
|
||||
2,
|
||||
NULL,
|
||||
0,
|
||||
'{ORG}-{RECIPIENT}-{SEQ:4}-{YEAR}',
|
||||
'{ORG}-{RECIPIENT}-{SEQ:4}/{YEAR}',
|
||||
1,
|
||||
1,
|
||||
NULL,
|
||||
|
||||
@@ -48,14 +48,15 @@
|
||||
|
||||
### **2.4 ข้อตกลงในการตั้งชื่อ (Naming Conventions)**
|
||||
|
||||
| Entity (สิ่งที่ตั้งชื่อ) | Convention (รูปแบบ) | Example (ตัวอย่าง) |
|
||||
| :----------------------- | :------------------ | :--------------------------------- |
|
||||
| Classes | PascalCase | UserService |
|
||||
| Property | snake_case | user_id |
|
||||
| Variables & Functions | camelCase | getUserInfo |
|
||||
| Files & Folders | kebab-case | user-service.ts |
|
||||
| Environment Variables | UPPERCASE | DATABASE_URL |
|
||||
| Booleans | Verb + Noun | isActive, canDelete, hasPermission |
|
||||
| Entity (สิ่งที่ตั้งชื่อ) | Convention (รูปแบบ) | Example (ตัวอย่าง) | Note |
|
||||
| :----------------------- | :------------------ | :--------------------------------- | :--------------------------------- |
|
||||
| Classes | PascalCase | UserService | |
|
||||
| Property (Code) | camelCase | userId, typeCode, isActive | Backend Entity, DTO, Frontend |
|
||||
| Database Column | snake_case | user_id, type_code, is_active | MariaDB column names |
|
||||
| Variables & Functions | camelCase | getUserInfo | |
|
||||
| Files & Folders | kebab-case | user-service.ts | |
|
||||
| Environment Variables | UPPERCASE | DATABASE_URL | |
|
||||
| Booleans | Verb + Noun | isActive, canDelete, hasPermission | |
|
||||
|
||||
ใช้คำเต็ม — ไม่ใช้อักษรย่อ — ยกเว้นคำมาตรฐาน (เช่น API, URL, req, res, err, ctx)
|
||||
|
||||
|
||||
@@ -225,13 +225,13 @@ The system resolves the numbering format using the following priority:
|
||||
|
||||
1. **Specific Format:** Search for a record matching both `project_id` and `correspondence_type_id`.
|
||||
2. **Default Format:** If not found, search for a record with matching `project_id` where `correspondence_type_id` is `NULL`.
|
||||
3. **System Fallback:** If neither exists, use the hardcoded system default: `{ORG}-{RECIPIENT}-{SEQ:4}-{YEAR:BE}`.
|
||||
3. **System Fallback:** If neither exists, use the hardcoded system default: `{ORG}-{RECIPIENT}-{SEQ:4}/{YEAR:BE}`.
|
||||
|
||||
| Priority | Scenario | Template Source | Counter Scope (Key) | Reset Behavior |
|
||||
| -------- | --------------------- | --------------------------------------------------- | ----------------------------- | ----------------------------------- |
|
||||
| 1 | Specific Format Found | Database (project_id, type_id) | Specific Type (type_id) | Based on reset_sequence_yearly flag |
|
||||
| 2 | Default Format Found | Database (project_id, type_id=NULL) | Shared Counter (type_id=NULL) | Based on reset_sequence_yearly flag |
|
||||
| 3 | Fallback (No Config) | System Default: {ORG}-{RECIPIENT}-{SEQ:4}-{YEAR:BE} | Shared Counter (type_id=NULL) | Reset Yearly (Default: True) |
|
||||
| 3 | Fallback (No Config) | System Default: {ORG}-{RECIPIENT}-{SEQ:4}/{YEAR:BE} | Shared Counter (type_id=NULL) | Reset Yearly (Default: True) |
|
||||
|
||||
### Format Examples by Document Type
|
||||
|
||||
|
||||
@@ -202,7 +202,7 @@ Result: NAP-PAT-LET-67-0001
|
||||
|
||||
1. **Specific Format**: project_id + correspondence_type_id
|
||||
2. **Default Format**: project_id + correspondence_type_id = NULL
|
||||
3. **Fallback**: `{ORG}-{RECIPIENT}-{SEQ:4}-{YEAR:BE}`
|
||||
3. **Fallback**: `{ORG}-{RECIPIENT}-{SEQ:4}/{YEAR:BE}`
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -175,7 +175,7 @@ src/modules/document-numbering/
|
||||
|
||||
- Query document_number_formats by project_id + type_id.
|
||||
- If no result, query by project_id + NULL (Default Project Format).
|
||||
- If still no result, apply System Default Template: `{ORG}-{RECIPIENT}-{SEQ:4}-{YEAR:BE}`.
|
||||
- If still no result, apply System Default Template: `{ORG}-{RECIPIENT}-{SEQ:4}/{YEAR:BE}`.
|
||||
- Determine resetSequenceYearly flag from the found format (default: true)
|
||||
|
||||
#### 2.2.2. Determine Counter Key:
|
||||
|
||||
@@ -5,6 +5,7 @@ VALUES (1, 'OWNER'),
|
||||
(4, 'CONTRACTOR'),
|
||||
(5, 'THIRD PARTY'),
|
||||
(6, 'GUEST');
|
||||
|
||||
INSERT INTO organizations (
|
||||
id,
|
||||
organization_code,
|
||||
@@ -79,6 +80,7 @@ VALUES (1, 'กทท.', 'การท่าเรือแห่งประเ
|
||||
),
|
||||
(31, 'EN', 'Third Party Environment', 5),
|
||||
(32, 'CAR', 'Third Party Fishery Care', 5);
|
||||
|
||||
-- Seed project
|
||||
INSERT INTO projects (project_code, project_name)
|
||||
VALUES (
|
||||
@@ -105,6 +107,7 @@ VALUES (
|
||||
'LCBP3-EN',
|
||||
'โครงการพัฒนาท่าเรือแหลมฉบัง ระยะที่ 3 (ส่วนที่ 4) งานก่อสร้าง'
|
||||
);
|
||||
|
||||
-- Seed contract
|
||||
-- ใช้ Subquery เพื่อดึง project_id มาเชื่อมโยง ทำให้ไม่ต้องมานั่งจัดการ ID ด้วยตัวเอง
|
||||
INSERT INTO contracts (
|
||||
@@ -183,6 +186,7 @@ VALUES (
|
||||
),
|
||||
TRUE
|
||||
);
|
||||
|
||||
-- Seed user
|
||||
-- Initial SUPER_ADMIN user
|
||||
INSERT INTO users (
|
||||
@@ -235,6 +239,7 @@ VALUES (
|
||||
NULL,
|
||||
10
|
||||
);
|
||||
|
||||
-- ==========================================================
|
||||
-- Seed Roles (บทบาทพื้นฐาน 5 บทบาท ตาม Req 4.3)
|
||||
-- ==========================================================
|
||||
@@ -288,6 +293,7 @@ VALUES (
|
||||
'Contract',
|
||||
'ผู้ดูแลสัญญา: จัดการสมาชิกในสัญญา, สร้าง / จัดการข้อมูลหลักเฉพาะสัญญา, และอนุมัติเอกสารในสัญญา'
|
||||
);
|
||||
|
||||
-- ==========================================================
|
||||
-- Seed Role-Permissions Mapping (จับคู่สิทธิ์เริ่มต้น)
|
||||
-- ==========================================================
|
||||
@@ -315,6 +321,7 @@ VALUES (1, 1, 1, NULL, NULL, NULL, NULL),
|
||||
(3, 3, 4, 41, NULL, NULL, 1),
|
||||
-- editor01: Editor role (role_id=4) at organization 41 (คคง.), assigned by superadmin
|
||||
(4, 4, 5, 10, NULL, NULL, 1);
|
||||
|
||||
-- viewer01: Viewer role (role_id=5) at organization 10 (สคฉ.03), assigned by superadmin
|
||||
-- =====================================================
|
||||
-- == 4. การเชื่อมโยงโครงการกับองค์กร (project_organizations) ==
|
||||
@@ -340,6 +347,7 @@ WHERE organization_code IN (
|
||||
'EN',
|
||||
'CAR'
|
||||
);
|
||||
|
||||
-- โครงการย่อย (LCBP3C1) จะมีเฉพาะองค์กรที่เกี่ยวข้อง
|
||||
INSERT INTO project_organizations (project_id, organization_id)
|
||||
SELECT (
|
||||
@@ -356,6 +364,7 @@ WHERE organization_code IN (
|
||||
'คคง.',
|
||||
'ผรม.1 '
|
||||
);
|
||||
|
||||
-- ทำเช่นเดียวกันสำหรับโครงการอื่นๆ (ตัวอย่าง)
|
||||
INSERT INTO project_organizations (project_id, organization_id)
|
||||
SELECT (
|
||||
@@ -372,6 +381,7 @@ WHERE organization_code IN (
|
||||
'คคง.',
|
||||
'ผรม.2'
|
||||
);
|
||||
|
||||
-- =====================================================
|
||||
-- == 5. การเชื่อมโยงสัญญากับองค์กร (contract_organizations) ==
|
||||
-- =====================================================
|
||||
@@ -403,6 +413,7 @@ VALUES (
|
||||
),
|
||||
'Designer'
|
||||
);
|
||||
|
||||
-- สัญญาที่ปรึกษาควบคุมงาน (PSLCBP3)
|
||||
INSERT INTO contract_organizations (contract_id, organization_id, role_in_contract)
|
||||
VALUES (
|
||||
@@ -431,6 +442,7 @@ VALUES (
|
||||
),
|
||||
'Consultant'
|
||||
);
|
||||
|
||||
-- สัญญางานก่อสร้าง ส่วนที่ 1 (LCBP3-C1)
|
||||
INSERT INTO contract_organizations (contract_id, organization_id, role_in_contract)
|
||||
VALUES (
|
||||
@@ -459,6 +471,7 @@ VALUES (
|
||||
),
|
||||
'Contractor'
|
||||
);
|
||||
|
||||
-- สัญญางานก่อสร้าง ส่วนที่ 2 (LCBP3-C2)
|
||||
INSERT INTO contract_organizations (contract_id, organization_id, role_in_contract)
|
||||
VALUES (
|
||||
@@ -487,6 +500,7 @@ VALUES (
|
||||
),
|
||||
'Contractor'
|
||||
);
|
||||
|
||||
-- สัญญาตรวจสอบสิ่งแวดล้อม (LCBP3-EN)
|
||||
INSERT INTO contract_organizations (contract_id, organization_id, role_in_contract)
|
||||
VALUES (
|
||||
@@ -515,6 +529,7 @@ VALUES (
|
||||
),
|
||||
'Consultant'
|
||||
);
|
||||
|
||||
-- Seed correspondence_status
|
||||
INSERT INTO correspondence_status (
|
||||
status_code,
|
||||
@@ -545,6 +560,7 @@ VALUES ('DRAFT', 'Draft', 10, 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),
|
||||
@@ -557,6 +573,7 @@ VALUES ('RFA', 'Request for Approval', 1, 1),
|
||||
('MOM', 'Minutes of Meeting', 8, 1),
|
||||
('NOTICE', 'Notice', 9, 1),
|
||||
('OTHER', 'Other', 10, 1);
|
||||
|
||||
-- Seed rfa_types
|
||||
INSERT INTO rfa_types (
|
||||
contract_id,
|
||||
@@ -1046,6 +1063,7 @@ SELECT id,
|
||||
'รายงานการฝึกปฏิบัติ'
|
||||
FROM contracts
|
||||
WHERE contract_code = 'LCBP3-C2';
|
||||
|
||||
-- Seed rfa_status_codes
|
||||
INSERT INTO rfa_status_codes (
|
||||
status_code,
|
||||
@@ -1060,6 +1078,7 @@ VALUES ('DFT', 'Draft', 'ฉบับร่าง', 1),
|
||||
('ASB', 'AS - Built', 'แบบก่อสร้างจริง', 30),
|
||||
('OBS', 'Obsolete', 'ไม่ใช้งาน', 80),
|
||||
('CC', 'Canceled', 'ยกเลิก', 99);
|
||||
|
||||
INSERT INTO rfa_approve_codes (
|
||||
approve_code,
|
||||
approve_name,
|
||||
@@ -1074,12 +1093,14 @@ VALUES ('1A', 'Approved by Authority', 10, 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)
|
||||
@@ -1343,6 +1364,7 @@ SELECT id,
|
||||
'Other'
|
||||
FROM contracts
|
||||
WHERE contract_code = 'LCBP3-C1';
|
||||
|
||||
-- LCBP3-C2
|
||||
INSERT INTO disciplines (
|
||||
contract_id,
|
||||
@@ -1587,6 +1609,7 @@ SELECT id,
|
||||
'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
|
||||
@@ -1637,6 +1660,7 @@ 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,
|
||||
@@ -1684,6 +1708,7 @@ 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,
|
||||
@@ -1731,6 +1756,7 @@ FROM contracts c,
|
||||
correspondence_types ct
|
||||
WHERE c.contract_code = 'LCBP3-C3'
|
||||
AND ct.type_code = 'RFA';
|
||||
|
||||
-- LCBP3-C4
|
||||
INSERT INTO correspondence_sub_types (
|
||||
contract_id,
|
||||
@@ -1778,6 +1804,7 @@ FROM contracts c,
|
||||
correspondence_types ct
|
||||
WHERE c.contract_code = 'LCBP3-C4'
|
||||
AND ct.type_code = 'RFA';
|
||||
|
||||
INSERT INTO `correspondences` (
|
||||
`id`,
|
||||
`correspondence_number`,
|
||||
@@ -1814,6 +1841,7 @@ VALUES (
|
||||
1,
|
||||
NULL
|
||||
);
|
||||
|
||||
INSERT INTO `correspondence_revisions` (
|
||||
`id`,
|
||||
`correspondence_id`,
|
||||
@@ -1852,6 +1880,7 @@ VALUES (
|
||||
1,
|
||||
NULL
|
||||
);
|
||||
|
||||
INSERT INTO `rfas` (
|
||||
`id`,
|
||||
`rfa_type_id`,
|
||||
@@ -1860,6 +1889,7 @@ INSERT INTO `rfas` (
|
||||
`deleted_at`
|
||||
)
|
||||
VALUES (2, 68, '2025-12-06 05:40:02', 1, NULL);
|
||||
|
||||
INSERT INTO `rfa_revisions` (
|
||||
`id`,
|
||||
`rfa_id`,
|
||||
@@ -1900,6 +1930,7 @@ VALUES (
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
|
||||
-- ==========================================================
|
||||
-- 20. Workflow Definitions (Unified Workflow Engine)
|
||||
-- ==========================================================
|
||||
@@ -2136,6 +2167,7 @@ VALUES (
|
||||
NOW(),
|
||||
NOW()
|
||||
);
|
||||
|
||||
INSERT INTO `document_number_formats` (
|
||||
`id`,
|
||||
`project_id`,
|
||||
@@ -2153,7 +2185,7 @@ VALUES (
|
||||
1,
|
||||
NULL,
|
||||
0,
|
||||
'{ORG}-{RECIPIENT}-{SEQ:4}-{YEAR}',
|
||||
'{ORG}-{RECIPIENT}-{SEQ:4}/{YEAR}',
|
||||
1,
|
||||
1,
|
||||
NULL,
|
||||
@@ -2165,10 +2197,10 @@ VALUES (
|
||||
2,
|
||||
NULL,
|
||||
0,
|
||||
'{ORG}-{RECIPIENT}-{SEQ:4}-{YEAR}',
|
||||
'{ORG}-{RECIPIENT}-{SEQ:4}/{YEAR}',
|
||||
1,
|
||||
1,
|
||||
NULL,
|
||||
'2025-12-16 09:34:10',
|
||||
'2025-12-16 09:34:10'
|
||||
);
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user