S4 — ระบบสารสนเทศกลางไกล่เกลี่ยข้อพิพาท ระยะที่ 2 (Mediation System)¶
สถานะการพัฒนาล่าสุด (% ความคืบหน้า / เฟสที่ทำไปแล้ว / ของที่ค้าง): ดู แผนงาน เฟส และความคืบหน้า
⚠️ ระบบที่มีความซับซ้อนระดับสูงสุด (Highest Complexity)
เอกสาร Schema ฐานข้อมูล
ดูโครงสร้างฐานข้อมูล (95 ตาราง, 10 functional groups) → Database Schema — S4 Mediation
ตารางสรุปข้อมูลเบื้องต้น¶
| หัวข้อ | รายละเอียด |
|---|---|
| อ้างอิง TOR | ข้อ 7.14 |
| หน่วยงานรับผิดชอบ | กองส่งเสริมการระงับข้อพิพาท (กสร.) — เจ้าภาพโครงการ Phase 2 |
| ลักษณะการพัฒนา | การปรับปรุงและรวมระบบเดิม (System Consolidation & Improvement) |
| สถานะโครงการ | :large_blue_circle: ต่อเนื่องจาก Phase 1 — Phase 1 ปรับปรุงระบบไกล่เกลี่ยข้อพิพาทไปแล้ว (TOR Phase 1 ข้อ ๖) เฉพาะส่วนเบิกจ่ายค่าตอบแทน, Phase 2 เป็น "ระยะที่ 2" ปรับปรุงระบบงานหลักทั้งหมดเพิ่มเติม |
| ระดับความซับซ้อน | ระดับสูงมาก (🔴 High Risk) |
| URL ปัจจุบัน | www.emediations.rlpd.go.th |
| หมายเหตุ | เป็นระบบที่ถือว่ามีความท้าทายที่สุดในบรรดาทั้ง 9 ระบบของ Phase 2 |
| Interactive Mockup | rlpd-s4-emediation.pages.dev (Cloudflare Pages) |
สถานะปัจจุบัน (Current State)¶
- ปัญหาการแยกเวอร์ชัน (Version Fragmentation): ปัจจุบันมีการใช้งานระบบพร้อมกันถึง 3 รูปแบบ ส่งผลให้ข้อมูลกระจายตัว:
- เวอร์ชัน 1 (v1): พัฒนาปี 2563 — ระบบฐานเดิมที่มีฟังก์ชันส่วนใหญ่
- เวอร์ชัน 2 (v2): พัฒนาปี 2565 — พัฒนาแยกออกมาเพื่อแก้ปัญหาเร่งด่วนของ v1
-
เวอร์ชัน Phase 1: พัฒนาปี 2568 — โดย MFEC มุ่งเน้นเฉพาะส่วนการเบิกจ่ายค่าตอบแทน (ตาม TOR 7.14 ข้อ 6.1)
-
ผลกระทบต่อผู้ใช้งาน (User Experience Impact): ผู้ใช้งานจำเป็นต้อง สลับเวอร์ชันไปมา ด้วยตนเองเพื่อให้ครบวงจรการทำงาน (Workflow)
- ตัวอย่าง: เริ่มบันทึกข้อมูลใน v1 เมนูที่ 4 → ดำเนินงานจนจบขั้นตอน → ต้องสลับไปใช้งาน v2 เพื่อปิดงาน
-
ประเด็นนี้ถือเป็นปัญหา UX ที่ วิกฤติที่สุด และสร้างความสับสนให้แก่เจ้าหน้าที่อย่างมาก
-
ความต้องการของผู้มีส่วนได้ส่วนเสีย (Stakeholder Expectation): กรมฯ ต้องการให้มีการรวมระบบ (Merge) ทั้งหมดเข้าด้วยกันแบบ "ยุบรวมและสร้างใหม่" (Consolidation) ให้เป็นระบบเดียวที่สมบูรณ์
ความคืบหน้าระบบใหม่ (V3 rewrite — Phase 2, อัปเดต 8 ก.ย. 2569)¶
Repo: RLPDxMFEC-DevCode/emediation (NestJS + React/Vite; branch model: งานบน develop,
release-merge + tag จาก main). MVP1 เสร็จและ tag v0.2.0 เมื่อ 13 ส.ค. 2569; ปัจจุบันบน UAT =
v0.9.24 (8 ก.ย. 2569) — รายการ v0.2.x ด้านล่างคือประวัติช่วง ส.ค.; สรุปช่วง v0.3.x–v0.9.24
อยู่ท้ายรายการ:
- v0.2.6 — ไฟล์แนบรูปภาพประกาศศูนย์: ประกาศศูนย์ (
/centers/announcement) แนบรูป/เอกสารได้จริง เก็บใน MinIO ผ่าน shared library rlpdjsStorageModule(ตารางcms_center_announcement_attachmentmigration V072, วงจร staged→claim-on-create ตามแบบหลักฐานคดี V058; ตรวจ magic bytes pdf/jpg/png, รูป ≤5MB / pdf ≤50MB) - v0.2.7 — ประกาศสาธารณะ: endpoint anonymous
GET /api/public/center-announcements(เฉพาะสถานะเผยแพร่ ไม่มีข้อมูลเจ้าหน้าที่) + ดาวน์โหลดไฟล์แนบสาธารณะ (404 ถ้ายังไม่เผยแพร่/เป็น draft/ถูกลบ) แสดงบนพอร์ทัลประชาชน:/public/training-signup(ประเภท รับสมัคร — เพิ่มเป็นประเภทที่ 5) และ/public/news(ประเภท ทั่วไป) พร้อมรูป cover - v0.2.8 — logger fix (ทีม):
service.nameตรงชื่อ containerrlpd-emediation-be - v0.2.9 — สมัครอบรมออนไลน์จริง (training enrollment) — flow: เจ้าหน้าที่สร้างรุ่นอบรม → ประชาชนดู
catalogue → สมัคร → กรอกข้อมูล → ตรวจสอบสถานะ (ทำ V1 ใหม่ 1:1; V2 เคย regressed ทิ้ง public self-register).
migration V073 = 4 ตาราง (
cms_training_topicรุ่น/offering,cms_training_registerการสมัคร,cms_training_register_result(_item) คัดเลือกรอบ 2). BE:backend/src/training/(offering CRUD + registrant list + คัดเลือก 2 รอบ, RBACtraining_topic/training_register) + anonymousGET/POST /api/public/training-courses(/:id/cover)//training-registrations(/check). ปรับปรุงจาก V1/V2: เลขบัตร ปชช. hash+mask ไม่เก็บดิบ (PDPA), checksum mod-11, โควตา/ปิดรับ/ซ้ำ ตรวจใน tx (UPDLOCK/HOLDLOCK กัน over-subscription), ALTCHA แทน captcha รูป, FE 4-step stepper + ThaID prefill + แบนเนอร์รุ่น (อัปโหลด MinIO, แนะนำ 1024×1024). เจ้าหน้าที่ 2 รอบ: qualify (ผ่าน/ไม่ผ่าน) → select/accept/announce. รวมแก้บั๊ก public-page: หน้า/public/*เคยจอเปล่าเมื่อ Keycloak init ล้มเหลว (SSO ล่ม / เบราว์เซอร์บล็อก 3rd-party iframe) — แก้ให้ render แบบ anonymous. e2ee2e:training30/30 (รวมโควตา/ซ้ำ/ปิดรับ/checksum/ cover + 2 รอบ); security review ผ่าน (แก้ 2 LOW: quota race, LIKE escape). - Deploy v0.2.9 บน UAT (ยืนยัน 17 ส.ค. 2569): tag → CI build+push GHCR → CD deploy
.155อัตโนมัติ, รัน migration V073 ด้วยsa(container-env-direct) แล้วทดสอบสมัครจริงผ่าน (MRG001001001, seatsLeft 40→39). - v0.2.10 — ALTCHA ครบทุกฟอร์มสาธารณะ: เพิ่ม self-hosted ALTCHA proof-of-work (rlpdjs
AltchaModule, ตรวจฝั่ง server ก่อน id lookup) บน/public/tracking(mediation-requests/track) และ/public/center-tracking(centers/track) — สองหน้าสุดท้ายที่ยังใช้ image captcha แบบ V1 (center-tracking เดิมไม่มี captcha เลย). ตอนนี้ ทุก ฟอร์มสาธารณะใช้ ALTCHA. ไม่มี migration. Deploy บน UAT ยืนยันแล้ว (no-altcha → 400, solved → 200 ทั้งสอง endpoint). หมายเหตุ CD: รอบนี้ GitHub API ล่มชั่วคราวตอน release ทำให้ repository_dispatch หล่น → CD ไม่ deploy อัตโนมัติ; แก้โดย re-trigger CI ผ่านgh workflow run <ci> -f tag=<version>(build+dispatch ใหม่ ไม่ต้อง tag ใหม่). ห้าม manualdocker compose upบน.155— secret (EMEDIATION_IDCARD_HASH_SECRET, DB/MinIO) ถูก inject จาก CD ไม่มี.envบนเครื่อง; ใส่ผิดจะทำให้ hash เลขบัตรพัง. - v0.2.11 — Accessibility (WCAG 2.2 AA) พอร์ทัลสาธารณะ: จาก audit หน้า public entry แก้:
FieldRowผูก<label htmlFor>จริงกับ input (gen id ด้วยReact.useId, clone ลง child) → ทุกฟอร์มสาธารณะมี accessible name (1.3.1/3.3.2/4.1.2 — placeholder ไม่นับเป็นชื่อ); skip link "ข้ามไปยังเนื้อหาหลัก" →#public-mainใน public shell (App.jsx, 2.4.1); หัวข้อ section หน้าแรกเป็น<h2>จริง (2.4.6); footer contrast (.5→.78ผ่าน 4.5:1, 1.4.3) + target size ปุ่ม ≥24px (2.5.8); logo ปุ่ม header ย่อยalt=""กันชื่อซ้ำ (4.1.2). ยืนยันบน UAT (label ผูกจริง, skip link, h2 render). Follow-up: landmark nesting (<header>/<footer>อยู่ใน<main>) + สแกน screen-reader/axe/Lighthouse เต็ม. CD รอบนี้ deploy อัตโนมัติปกติ (ไม่มี GitHub outage). - คุณภาพ: e2e journey
e2e:announcement-upload26 checks +e2e:training30 checks; ชุด e2e ทั้ง repo รันกับ NestJS + MSSQL จริงผ่านDEV_AUTH_BYPASS
สรุปช่วง v0.3.x → v0.9.24 (ปลาย ส.ค. – 8 ก.ย. 2569) — ทั้งหมดอยู่บน UAT แล้ว:
- Roadmap A–E ครบ: วงจรอบรมเต็ม (เช็คชื่อ → สอบออนไลน์ → ใบรับรอง → ประเมินวิทยากร, V074) · ค่าตอบแทนครบวงจร (เครื่องสถานะ 10 สถานะ + ใบสำคัญ 4 แบบ + bookbank/KTB Corp, Phase C V075) · CMS เว็บไซต์ + รายงานศูนย์ 8 ตระกูล + ชุดรายงาน CSV (Phase D V076) · งานอัตโนมัติรายวัน (แจ้งเตือนใกล้หมดวาระ 90/30 วัน, คิวยุติศูนย์อัตโนมัติ, สรุปผลงานศูนย์) + CR extras + พอร์ทัลสมาชิก (Phase E V077)
- Workflow Engine ใช้จริง: กล่องงานอนุมัติ / ไทม์ไลน์ / มอบอำนาจ / audit + สายอนุมัติ 7 ลำดับขั้น (V096/V097) ครอบงานรับรองศูนย์ + ทะเบียนผู้ไกล่เกลี่ย · สิทธิ์กลางย้ายเป็น SystemCode RLPD017 (จาก RLPD015) + จำกัดขอบเขตรายจังหวัดของเจ้าหน้าที่ (province scope)
- พอร์ทัลสมาชิก/ศูนย์: บทบาท CENTER_OWNER/CENTER_MEMBER + work-queue ผู้ไกล่เกลี่ย + แฟ้มผลงาน
แนบไฟล์จริง + เบิกค่าจัดกระบวนการ v1 (
/compensation/process-cost) · ลงทะเบียนศูนย์สาธารณะ 1:1 กับระบบจริง (V090) + อัปโหลดเอกสาร 5 ช่องจริง (V093) - เลขอ้างอิงมาตรฐานกรม 16 หลัก
MED YYYY TT PP NNNNN(V100,v0.9.22) · วิซาร์ดสร้างหลักสูตร/ คลังข้อสอบแบบเต็มหน้า + สอบออนไลน์หน้าเดี่ยว + pass-lock (v0.9.23) v0.9.24(8 ก.ย. 2569): layout เอกสารจริงของ บัตร/หนังสือรับรอง ผ่าน Template Builder (V104) · แบบประเมินวิทยากรปรับแต่งได้ (V103 — เจ้าหน้าที่แก้หัวข้อ/หมวดจาก/training/eval-form) · process-cost v2 — ยื่นเบิกค่าจัดกระบวนการเปิดสายอนุมัติ Workflowwf-process-cost7 ลำดับขั้นจริง (V101) + ตีกลับแก้ไข + ประธานศูนย์ยื่นเองจาก/mediator/center· menu-IA v2 — ยุบหมวดเมนู "ส่วนขยาย (CR / Phase-2)" เข้าหมวดเจ้าของงาน (ศกช. / ตั้งค่า) และถอดหน้า "แจ้งเตือนหมดอายุ" (/extras/expiry-alert) — การแจ้งเตือนต่ออายุอยู่บนเมนูต่ออายุของเจ้าหน้าที่ (/mediators/renewal- ปุ่มส่งแจ้งเตือนรายคน) และหน้าต่อทะเบียนของสมาชิก (
/mediator/renewal) · search box มาตรฐานเดียว ทั้งระบบ (SearchField)
บน develop ยังไม่ tag / ยังไม่ขึ้น UAT (ณ 8 ก.ย. 2569):
- ตำแหน่งหลักในศูนย์เป็น master data (V102 — บังคับกติกา REQ-MED-003 ที่เดิมไม่ได้ enforce) +
ลิงก์ & QR เข้าสอบ บน
/training/management— งานชุดนี้มี seed-row remap เป็นขั้นตอนตอน deploy (DB บน.155apply V102 แล้ว)
UAT (ยืนยัน 16 ส.ค. 2569): stack V3 อยู่บน 10.136.27.155 (UAT Devphase2,
uat-emediation.rlpd.go.th) — ไม่ใช่ .124 (นั่นคือ V1/V2 legacy). เป็น docker:
rlpd-emediation-be/-web (image ghcr.io/rlpdxmfec-devcode/emediation-{be,web}:<git-tag>,
CI จาก tag → GHCR → CD), rlpd-mssql (DB PSDBDEVDB schema EMEDIATION), rlpd-minio,
rlpd-keycloak (realm rlpd). secrets: credentials/uat_devphase2_sso_secrets.md (ต่อ VPN ก่อน).
Deploy gotchas ที่เจอตอน rollout v0.2.7: (1) container ไม่มีไฟล์ .env → npm run migrate พัง
รัน node -r ts-node/register src/database/migrate.ts ตรง ๆ; (2) migration ต้องใช้ sa (app login
ไม่มีสิทธิ์ DDL); (3) RBAC อ่านจาก PORTAL.AuthzPermissions (SystemCode RLPD017 — ย้ายจาก
RLPD015 ตั้งแต่ V087/web_portal V064) cache 5 นาที — แก้ matrix แล้ว restart BE container;
action publish ของ people_center_announcement ถูกเพิ่มเข้า source matrix แล้ว (ปิดประเด็น patch
UAT ชั่วคราวเดิม).
รายละเอียดทางเทคนิคจาก Phase 1 (Technical Details)¶
| รายการ | ข้อมูลอ้างอิง |
|---|---|
| ขอบเขต Phase 1 | เฉพาะส่วนการเบิกจ่ายค่าตอบแทนและค่าใช้จ่าย (Compensation Flow) |
| เทคโนโลยี (Mediator Site) | PHP + CodeIgniter (Port 9008) — ยืนยันตัวตนผ่าน ThaiD |
| เทคโนโลยี (Officer Site) | Vue.js (Port 9009) |
| เทคโนโลยี (API) | Node.js (Port 4000) |
| การติดตั้ง (Deployment) | Docker Containers บนเครื่อง Linux (10.136.27.124) |
| คะแนนความพึงพอใจ | 3.4/5 (ต่ำที่สุดในกลุ่มระบบ Phase 1 — คะแนนวิทยากร 2.7/5) |
ข้อมูลเซิร์ฟเวอร์ Production จากทีม Phase 1 (สำรวจ 6 เมษายน 2569)¶
| เครื่อง | IP | บทบาท | Stack | หมายเหตุ |
|---|---|---|---|---|
| V1 Production | 10.136.27.41 | ระบบไกล่เกลี่ยเดิม (สร้างปี 2563) | Windows, Apache/XAMPP, PHP 7.2 + CodeIgniter, App v9.0 | emediation.rlpd.go.th |
| V2 Production | 10.136.27.87 | ระบบไกล่เกลี่ยใหม่ (สร้างปี 2565) | Ubuntu 20.04, Node.js 14 + Express + Vue.js, PM2 | emediations.rlpd.go.th |
| UAT (Phase 1) | 10.136.27.124 | VM UAT รวมทุกระบบ Phase 1 | Ubuntu 24.04, Docker | ทั้ง V1 และ V2 รัน Docker containers ร่วมกัน |
ดูผลสำรวจเทคนิคฉบับเต็ม: S4 Technical Reconnaissance
ข้อค้นพบสำคัญจากการสำรวจ¶
- DB Schema เหมือนกัน: ตาราง
cms_mediationมี ~107 คอลัมน์เหมือนกันทั้ง V1 (MEDIATE schema) และ V2 (mediate2020 DB) - ข้อมูลต่างกัน: V1 Production มี 12,378 cases, V2 Legacy มี 55,343 cases
- ไม่มี Stored Procedures / Foreign Keys — business logic อยู่ในโค้ดแอปพลิเคชัน
- 5+ codebases อยู่บนเครื่อง V2 จากนักพัฒนาต่างทีม
- ความยากในการรวม: ระดับ 6/10 (ปานกลาง-สูง) — DB structure ง่าย แต่ code fragmentation สูง
ขั้นตอนการเบิกจ่ายใน Phase 1 (Compensation Workflow)¶
graph LR
A[ผู้ไกล่เกลี่ย] -- ยื่นเอกสาร/เบิกเงิน --> B[เจ้าหน้าที่กรม]
B -- ตรวจสอบ --> C[หัวหน้างาน]
C --> D[ผอ.กอง]
D --> E[รองอธิบดี]
E --> F[อธิบดี]
ข้อควรระวัง: Phase 1 ครอบคลุมเพียงส่วนการเบิกจ่ายเท่านั้น แต่ใน Phase 2 ต้องปรับปรุงระบบงานหลักทั้งหมด (ลงทะเบียน, รับคำร้อง, กระบวนการไกล่เกลี่ยออนไลน์, รายงานสรุป) ซึ่งมีความซับซ้อนเชิงเทคนิคและกฎหมายสูงกว่ามาก
ขอบเขตความต้องการตาม TOR¶
- เพิ่มเมนูและฟีเจอร์ใหม่ตามข้อกำหนดใน Phase 2 (Section 7.14)
- ข้อสังเกตสำคัญ: ข้อกำหนด TOR มุ่งเน้นการ "เพิ่มฟังก์ชัน" (Feature Addition) แต่ความต้องการจริงหน้างานคือการ "ยกเครื่องระบบ" (System Rebuild) ซึ่งอาจส่งผลกระทบต่อกรอบเวลา 270 วัน
ปัญหาและอุปสรรคที่ตรวจพบ (Key Issues)¶
- ขั้นตอนงานไม่สอดคล้องกัน (Inconsistent User Journeys): ขั้นตอนการทำงานใน v1 และ v2 มีตรรกะที่แตกต่างกัน
- เมนูซ้ำซ้อน (Redundant Menus): รายการเมนูในแต่ละเวอร์ชันมีการทับซ้อนและชื่อเรียกไม่เหมือนกัน
- ขาดศูนย์กลางข้อมูล (No Unified Workflow): ไม่มีกระบวนการทำงานที่เป็นมาตรฐานเดียว ทำให้ผู้ใช้ไม่ทราบว่าควรใช้เวอร์ชันใดในสถานการณ์ใด
- ความล่าช้าในการทำงาน (UX Friction): การต้องสลับระบบบ่อยครั้งทำให้ข้อมูลสูญหายหรือผิดพลาดได้ง่าย
- ภาระทางเทคนิค (Technical Debt): การต้องดูแลรักษา Codebase และโครงสร้างฐานข้อมูลที่แยกจากกัน 3 ชุด
ขั้นตอนการทำงาน (Workflow)¶
สถานะปัจจุบัน (Fragmented Workflow): 1. ผู้ใช้เข้าสู่ระบบ Mediation กลาง 2. พบว่าฟังก์ชันที่ต้องการอยู่ใน v1 แต่บางส่วนต้องทำใน v2 3. ผู้ใช้ต้องจดจำและสลับเวอร์ชันด้วยตนเองระหว่างกระบวนการ 4. การทำงานให้เสร็จสิ้น (Closure) ต้องใช้การประมวลผลจากหลายแหล่ง
สถานะที่ต้องการ (Unified Workflow): - มีจุดเข้าใช้งานเดียว (Single Entry Point) - รวมฟังก์ชันทั้งหมดไว้ภายใต้หน้าจอเดียว (Consolidated UI) - กระบวนการทำงานไหลลื่นต่อเนื่อง (Seamless Flow) โดยไม่ต้องสลับเวอร์ชัน
แผนภาพระบบ (Interactive Diagrams)¶
แผนภาพเชิงโต้ตอบของระบบ S4 Mediation: รองรับการซูม/เลื่อน สลับโหมดมืด–สว่าง ค้นหา component และ export เป็นรูปภาพได้จากในหน้าแผนภาพ (แนะนำให้เปิดแบบเต็มจอ)
สถาปัตยกรรมระบบ (System Architecture)¶
ลำดับการทำงานหลัก (Main Sequence)¶
จุดเชื่อมต่อระบบ (System Integration)¶
- เชื่อมโยงกับระบบระงับข้อพิพาทอื่นๆ ของกระทรวงยุติธรรม
- ความสามารถในการติดตามสถานะสำนวนข้ามระบบ (Cross-system Case Tracking)
- ระบบรายงานสถิติการไกล่เกลี่ยเชิงวิเคราะห์
ประเด็นที่ต้องการคำชี้แจง (Open Issues)¶
[ประเด็นเปิด] การรวม v1 + v2 และฟีเจอร์ Phase 2 ทั้งหมด สามารถดำเนินการให้เสร็จสิ้นภายใน 270 วัน พร้อมกับระบบอื่นอีก 8 ระบบได้จริงหรือไม่?
[ประเด็นเปิด] รายการความแตกต่างของฟีเจอร์ (Feature Mapping) ระหว่าง v1 และ v2 มีรายละเอียดชัดเจนเพียงใด? (ฟังก์ชันใดควรคงไว้ ฟังก์ชันใดควรยกเลิก?)
[ตอบแล้วบางส่วน — 6 เม.ย. 2569] โครงสร้างฐานข้อมูล (Database Schema) ของทั้ง 3 ส่วนมีความแตกต่างกันอย่างไร?
คำตอบจากการสำรวจ: Schema
cms_mediationเหมือนกัน ~107 columns ทั้ง V1 (MEDIATE on .149) และ V2 (mediate2020 on .43) ข้อแตกต่างหลัก:
- MEDIATE schema (Production) มี 95 tables รวมตาราง compensation ที่ Phase 1 เพิ่ม (8 tables)
- mediate2020 (Legacy) มี 79 tables เป็นชุดเดิม
- ข้อมูลไม่ตรงกัน: V2 legacy มี 55K cases vs Production 12K → ต้องวิเคราะห์ data reconciliation
- ไม่มี Stored Procedures หรือ Foreign Keys ในทุก schema → migration ง่ายขึ้น
ดูรายละเอียดเต็มที่ S4 Technical Recon
[ประเด็นเปิด] เทคโนโลยีหลัก (Tech Stack) ที่กรมฯ เลือกใช้สำหรับระบบรวมคืออะไร? (เนื่องจากปัจจุบันมีความผสมผสานระหว่าง PHP, Node.js, .NET และ Vue.js)
[ประเด็นเปิด] จะมีการประเมินทรัพยากรที่ต้องใช้จริง (Actual Effort) สำหรับการ "สร้างใหม่" เทียบกับการ "แก้ไขตาม TOR" เพื่อให้ผู้บริหารตัดสินใจเลือกแนวทางที่เหมาะสมที่สุดหรือไม่?
[ประเด็นเปิด — เพิ่ม 6 เม.ย. 2569] ข้อมูลใน mediate2020 (55,343 cases) เทียบกับ MEDIATE schema (12,378 cases) — เป็นข้อมูลชุดเดียวกันที่ย้ายมาบางส่วน หรือเป็นข้อมูลคนละชุดที่ต้อง merge?
[ประเด็นเปิด — เพิ่ม 6 เม.ย. 2569] V1 server (.41) มี MSSQL port 1433 เปิดอยู่ แต่ credentials ที่มีเข้าไม่ได้ — มีฐานข้อมูล local บน V1 ที่ต้อง migrate หรือไม่?
หมายเหตุทางเทคนิคและข้อเสนอแนะ (Technical Notes)¶
แนวทางแบบแบ่งระยะ (Proposed Phased Approach):
- ระยะสั้น (Phase 2 Commitment):
- ประเมินความเป็นไปได้ในการรวมเวอร์ชันภายใต้ข้อจำกัดของเวลาและงบประมาณ
- กรณีไม่สามารถรวมได้สมบูรณ์: ทำการแม็พเมนูอย่างละเอียดและสร้างหน้ากาก (UI Shell) ครอบเพื่อให้ผู้ใช้รู้สึกว่าเป็นระบบเดียว
- ซ่อนเมนูที่ซ้ำซ้อนหรือล้าสมัย (Legacy) เพื่อลดความสับสน
-
พัฒนาฟีเจอร์ใหม่ตามข้อกำหนด TOR 7.14
-
ระยะยาว (Future Phase):
- วางแผนรวม Codebase ของ v1 และ v2 เข้าด้วยกันอย่างถาวร
- รวมฐานข้อมูล (Consolidate Databases) ให้เป็น Single Schema
- ทำการทดสอบระบบ (Unified Testing) และประกันคุณภาพ (QA) เต็มรูปแบบ
มาตรการลดความเสี่ยง: - หารือกับผู้มีส่วนได้ส่วนเสียโดยเร็วที่สุดเพื่อบริหารจัดการความคาดหวัง (Expectation Management) - ขอคำยืนยันเป็นลายลักษณ์อักษรว่าขอบเขตงานคือ "การสร้างใหม่ทั้งหมด" หรือ "การเพิ่มฟังก์ชันตาม TOR" - กำหนดช่วงเวลาการทดสอบระบบร่วมกับเจ้าหน้าที่หน้างาน (Stakeholder Testing) อย่างต่อเนื่อง