การกำหนดค่า¶
พารามิเตอร์ระบบ (ir.config_parameter)¶
| Key | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|
roots_hemms_mass_import.row_cap | 5000 | จำนวนแถวข้อมูลสูงสุดต่อไฟล์ XLSX ไฟล์ที่เกินขีดจำกัดจะยกข้อผิดพลาดที่ชัดเจนก่อนการแยกวิเคราะห์เรกคอร์ดใด ๆ เพิ่มเฉพาะเมื่อคุณได้วัดประสิทธิภาพ headroom ของ transaction-timeout บนการ deploy ของคุณแล้ว |
roots_hemms_mass_import.preview_ttl_hours | 1 | อายุของแคชตัวอย่างก่อนนำเข้าของการทดลองรัน (blob data_json บน hemms.import.batch) ชุดข้อมูล (batch) ที่ค้างในสถานะ previewed เกินอายุนี้จะถูกรีเซ็ตเป็น draft และล้างแคชโดย cron GC รายชั่วโมง ไฟล์แนบ file_data ต้นฉบับยังถูกเก็บไว้ ทำให้ผู้ใช้สามารถเรียกใหม่ได้ |
แก้ไขผ่าน Settings → Technical → System Parameters หรือ self.env['ir.config_parameter'].sudo().set_param(key, value)
การดำเนินการตามกำหนดเวลา¶
| ชื่อ | ช่วงเวลา | เมธอด |
|---|---|---|
HEMMS Mass-Import: GC stale preview batches | 1 ชั่วโมง | model._gc_previewed_batches() |
รีเซ็ต hemms.import.batch ใด ๆ ที่ state == "previewed" และ write_date < (now - preview_ttl_hours) กลับเป็น draft และล้าง data_json ของมัน
กลุ่มความปลอดภัย¶
| กลุ่ม | อ่านชุดข้อมูล (batch) | เขียน / ยืนยันการนำเข้า / ลบ |
|---|---|---|
base.group_user | เฉพาะชุดข้อมูล (batch) ที่ตนสร้างหรือยืนยันการนำเข้า | ไม่มี (อ่านอย่างเดียว) |
maintenance.group_equipment_manager | ทุกชุดข้อมูล (batch) | CRUD เต็มรูปแบบ + บังคับลบเลยการ์ด D7 |
record rule บน hemms.import.batch (กำหนดใน security/mass_import_security.xml) จำกัดผู้ที่ไม่ใช่ผู้จัดการให้อยู่กับ ชุดข้อมูล (batch) ของตนเอง ผู้จัดการครุภัณฑ์เห็นและดำเนินการกับทุกชุดข้อมูล (batch) ได้
หน้าต่างการลบ¶
ฮาร์ดโค้ดใน models/hemms_import_batch.py:
ชุดข้อมูล (batch) ที่ committed อาจถูกลบโดยผู้จัดการครุภัณฑ์เมื่อใดก็ได้; ผู้ที่ไม่ใช่ผู้จัดการลบได้เฉพาะภายในหน้าต่างนี้ และเฉพาะเมื่อไม่มี maintenance.request หรือ hemms.service.contract (Q3) ปลายน้ำอ้างอิง เรกคอร์ดที่แท็กไว้ ดู เวิร์กโฟลว์ → การลบชุดข้อมูล (batch)
หากต้องการเปลี่ยนหน้าต่าง ให้แก้ไขค่าคงที่ของโมดูลและอัปเกรด — การปรับ ขณะรันไทม์ต้องเปลี่ยนโค้ดเพราะค่าถูกตรวจสอบในทุกการเรียกลบ
การจับคู่ 82 ชั้นของ MoPH¶
ตัวตรวจสอบของการนำเข้าข้อมูลจำนวนมากใช้ การจับคู่ตรงเป๊ะแบบเข้มงวด เทียบกับข้อมูลตั้งต้นชั้นความเสี่ยงเครื่องมือ (device class) ของ Q5:
- พยายาม
name_enก่อน (case-sensitive, NFC-normalised, ตัด whitespace) - ถ้าไม่ได้ก็ใช้
name_th(case ไม่มีผลกับภาษาไทย) - อย่างอื่น FAIL แถว
นี่เป็นไปโดยเจตนา — การจับคู่แบบ fuzzy / Levenshtein เชื้อเชิญการจัดหมวด ผิดอย่างเงียบ ๆ ซึ่งทำลายรายงาน HA ประจำปี หากต้องการขยายแคตตาล็อก ให้เพิ่ม แถวไปยังตาราง hemms.ha.device.class ผ่านเมนู MoPH Device Classes (HA) (หรือ seed XML แบบต่อการ deploy)
Dependency ของโมดูล¶
| โมดูล | เหตุผล |
|---|---|
mail | แชตเตอร์ (chatter) บนชุดข้อมูล (batch) (ร่องรอยการตรวจสอบ) |
hr | hr.department คือโมเดลเป้าหมายของสถานที่ |
roots_hemms_pm (Q1) | การค้นหาเหตุการณ์ PM สำหรับการ์ดการลบ |
roots_hemms_asset_master | เงื่อนไข SQL ref_uniq บน maintenance.equipment.ref (คีย์ธุรกิจของครุภัณฑ์) |
roots_hemms_ha_report (Q5) | ข้อมูลตั้งต้น 82 ชั้นของ MoPH สำหรับการจับคู่แบบเข้มงวด; ฟิลด์ roots_ha_risk_tier บนครุภัณฑ์ |
ฟิลด์ที่การนำเข้าเติมข้อมูล¶
ครุภัณฑ์¶
| ฟิลด์ | คอลัมน์ต้นทาง | จำเป็น |
|---|---|---|
ref | Equipment Ref. No. | ใช่ (คีย์ธุรกิจ) |
name | Equipment Name | ใช่ |
serial_no | Serial Number | ไม่ |
model | Model | ไม่ |
partner_id | Vendor (จับคู่ด้วยชื่อ) | ไม่ |
department_id | Department (จับคู่ด้วย complete_name) | ไม่ |
device_class_id | MoPH Device Class (EN หรือ TH, จับคู่เข้มงวด) | ไม่ |
roots_ha_risk_tier | Risk Tier (override: high / medium / low) | ไม่ |
current_condition | Condition (in_use / broken / deteriorated / lost / unused) | ไม่ |
ผู้ขาย (res.partner)¶
| ฟิลด์ | คอลัมน์ต้นทาง | จำเป็น |
|---|---|---|
name | Vendor Name | ใช่ (คีย์ธุรกิจ Layer C) |
vat | Tax ID (VAT) | ไม่ (คีย์ธุรกิจ Layer A) |
country_id | Country Code (ISO 2-letter) | ไม่ (คีย์ธุรกิจ Layer B ร่วมกับชื่อ) |
email, phone, street, city | คัดลอกตรง | ไม่ |
สถานที่ (hr.department)¶
| ฟิลด์ | คอลัมน์ต้นทาง | จำเป็น |
|---|---|---|
name | Department Name | ใช่ |
parent_id | Parent Department (จับคู่ด้วย complete_name) | ไม่ |