การนำเข้าข้อมูลจำนวนมาก (roots_hemms_mass_import)
โมดูลการนำเข้าข้อมูลจำนวนมากเปลี่ยน "ส่งไฟล์ Excel ของคุณมาให้เรา" ให้เป็น การดำเนินการ 5 นาทีสำหรับโรงพยาบาลที่ย้ายทะเบียนครุภัณฑ์ที่มีอยู่เข้าสู่ HEMMS โรงพยาบาลขนาด 200 เตียงโดยทั่วไปมีเครื่องมือแพทย์ 800–2,000 ชิ้น, ผู้ขาย 30–80 ราย และแผนก 15–40 แผนกที่ติดตามใน Excel อยู่แล้ว — การป้อน ด้วยมือไม่สมจริงและก่อให้เกิดข้อผิดพลาดในการคัดลอกที่ทำลาย รายงาน PM ประจำปีสำหรับ HA อย่างเงียบ ๆ
สิ่งที่โมดูลทำ
| ความสามารถ | หมายเหตุ |
| ออบเจกต์ 3 ประเภท | ครุภัณฑ์, ผู้ขาย, สถานที่ (หนึ่งไฟล์ต่อหนึ่งออบเจกต์, หนึ่งออบเจกต์ต่อหนึ่งไฟล์) |
| เทมเพลต XLSX ที่เซิร์ฟเวอร์สร้าง | ตรงกับสคีมาของโมเดลสดเสมอ; ส่วนหัวที่แปลตามภาษา (TH/EN) ตามภาษาในเซสชันของผู้ใช้ |
| การทดลองรันแบบจำลองเต็มรูปแบบ | แยกวิเคราะห์ → จับคู่ FK → ตรวจสอบความไม่ซ้ำ → จับคู่ MoPH → คำตัดสินต่อแถวเป็น OK / WARN / FAIL โดยไม่เขียน DB |
| การนำเข้าซ้ำที่ทำซ้ำได้ผลเดิม | การจับคู่คีย์ธุรกิจจะ upsert เรกคอร์ดที่มีอยู่ — การรันไฟล์เดิมซ้ำให้ผล 0 ใหม่, N อัปเดต |
| การจับคู่ 82 ชั้นของ MoPH แบบเข้มงวด | จับคู่ตรงเป๊ะเทียบกับข้อมูลตั้งต้น Q5 (case-sensitive บน EN, NFC-normalised); การจับคู่แบบ fuzzy ถูกปฏิเสธเพื่อปกป้องคุณภาพข้อมูลของรายงาน HA |
| การลบที่แท็กเป็นชุดข้อมูล (batch) | เรกคอร์ดที่นำเข้าทุกรายการมี roots_hemms_import_batch_id; ผู้ใช้สามารถยกเลิกชุดข้อมูล (batch) ล่าสุดได้ในคลิกเดียว (ภายใน 7 วัน หากไม่มีเหตุการณ์ PM หรือสัญญาปลายน้ำอ้างอิงเรกคอร์ด) |
| การส่งออก XLSX ข้อผิดพลาด | แถวที่ล้มเหลวดาวน์โหลดได้เป็น XLSX แผ่นเดียวพร้อม Row / Verdict / Field / Severity / Message / Raw Value |
| การยืนยันการนำเข้าแบบทรานแซกชัน | ห่อด้วย cr.savepoint(), all-or-nothing — ข้อผิดพลาดในขณะเขียนใด ๆ จะย้อนกลับทั้งชุดข้อมูล (batch) |
ลิงก์ด่วน
โมดูลนี้เข้ากับสแต็ก HEMMS อย่างไร
┌─────────────────────────────────────────────────────────────────┐
│ Hospital Excel register (existing legacy data) │
└────────────────────────────────┬────────────────────────────────┘
│ download template + fill in
▼
┌─────────────────────────────────────────────────────────────────┐
│ Mass Import wizard (Q6.4) │
│ Upload → Preview (dry-run) → Commit │
└────────────────────────────────┬────────────────────────────────┘
│ records tagged with batch_id
▼
┌─────────────────────────────────────────────────────────────────┐
│ HEMMS data plane │
│ maintenance.equipment / res.partner / hr.department │
│ ↓ │
│ Q1 PM events, Q3 service contracts, Q5 HA annual report │
└─────────────────────────────────────────────────────────────────┘
ข้อมูลโมดูล
| |
| Module ID | roots_hemms_mass_import |
| Layer | 3 (Hospital lens) |
| License | LGPL-3 |
| Depends on | mail, hr, roots_hemms_pm (Q1), roots_hemms_asset_master, roots_hemms_ha_report (Q5) |
| Status | Alpha |
| Maintainer | jakapolr |