บันทึกการเผยแพร่¶
โมดูล roots_hemms_* ทั้งหมดติดตามเวอร์ชันหลักของ Odoo ที่จัดส่งคู่กัน ซีรีส์ปัจจุบันคือ 18.0.1.0 การเผยแพร่จะติดป้ายตามไตรมาสแทนที่จะตาม SemVer minor — Q1, Q2, ... จับคู่กับชุดของโมดูลที่เกี่ยวข้องซึ่งจัดส่งพร้อมกัน ไฟล์ __manifest__.py ของแต่ละโมดูลถือสตริงเวอร์ชันที่เป็นทางการ (18.0.1.0.0 ทั่วทั้งชุดในวันนี้)
รูปแบบ
การเผยแพร่แต่ละครั้งจะระบุ Added, Changed, Fixed และ Deprecated ตามลำดับนั้น วันที่สะท้อนการ merge เข้า main บน github.com/jakapolr/hemms-demo
v18.0.1.0 — 2026-05-23 (ปัจจุบัน)¶
การเผยแพร่ที่เสถียรแบบครบวงจรครั้งแรก รวม Q1 → Q7 พร้อมการปรับปรุง การนำทางหลัง Q7 ทุกไตรมาสถูก merge ผ่าน pull request ด้วย CI สีเขียว การทดสอบ HEMMS 177 รายการ กั้นทุก PR
เพิ่ม¶
roots_hemms_workflow— ขั้นตอนการซ่อม 5 ขั้น (Submitted → Pending Review → In Repair → Awaiting Pickup → Received) ชั่วโมง SLA ต่อขั้น การค้นหาroots_is_sla_breachedร่องรอยการตรวจสอบhemms.stage.transition.logที่แก้ไขไม่ได้ (Q1, พฤษภาคม 2026)roots_hemms_criticality— เมทริกซ์ 2 มิติ Value × Risk พร้อมgreen/yellow/redในroots_criticality_colorการคำนวณป้ายสองภาษา สำหรับภาษาที่ใช้งานอยู่ (Q1, พฤษภาคม 2026)roots_hemms_asset_master— ข้อมูลหลักยี่ห้อ / รุ่น ความเป็นเอกลักษณ์ ของรหัสครุภัณฑ์ (Ref. No.) การติดตามสภาพ (in-use / broken / deteriorated / lost / unused) (Q1, พฤษภาคม 2026)roots_hemms_asset_inspection— การตรวจนับพัสดุประจำปี ปจป. พร้อม การกำหนดคณะกรรมการ การส่งต่อสภาพ ลำดับเลขที่ (AI/YYYY/NNNNN) รายงาน PDF (Q1, พฤษภาคม 2026)roots_hemms_pm— ประเภท PM ของโรงพยาบาล (ข้อมูลตั้งต้น 3 รายการสองภาษา) ขั้นเริ่มต้นPM Scheduledการกำหนดเส้นทางขั้นเริ่มต้นที่รับรู้ PM (Q1, พฤษภาคม 2026)roots_hemms_spare_parts— รายการเทมเพลตอะไหล่ต่อเครื่องมือแพทย์ เลขลำดับ Stock Request, cron รายวันสำหรับอะไหล่วิกฤตสต็อกต่ำ การร่าง ใบเบิก Consumption อัตโนมัติเมื่อ cron PM ทำงาน (Q2, 2026-05-22)roots_hemms_service_contracts— ประเภทสัญญา (Warranty / Extended / MA / Spare-only / Labor-only) เมทริกซ์ความคุ้มครองต่อประเภท พร้อมincluded_in_contract+billable_to_hospitalการลิงก์อัตโนมัติกับ คำขอการบำรุงรักษา cron วงจรชีวิตรายวัน การแจ้งเตือนการต่ออายุ 60 วัน_name_searchสองภาษา (Q3, 2026-05-22)roots_hemms_signature— สะพานเชื่อมsign_ocaครอบhemms.asset.inspectionและhemms.service.contractPDF ที่ลงนามแล้วแนบเข้า chatter อัตโนมัติเมื่อ_check_signedการลงนามภายในแอปพร้อมเส้นทางพอร์ทัลสำหรับผู้ขาย (Q4, 2026-05-22)roots_hemms_ha_report— รายงาน HA Thailand Annual PM:hemms.ha.device.classพร้อมข้อมูลตั้งต้น MoPH 82 แถว waterfall ความเสี่ยง 3 ขั้น (override → device class → WHO EM-score) JSON snapshot ที่แก้ไขไม่ได้ เมื่อส่ง เทมเพลต QWeb 7 ส่วน การลงนามอิเล็กทรอนิกส์ 3 ผู้ลงนาม (BME Head / Engineering Head / Director) (Q5, 2026-05-22)roots_hemms_mass_import— การอัปโหลด XLSX สำหรับ Equipment / Vendors / Locations วิซาร์ด 3 ขั้น (Upload → Preview → Commit) เครื่องมือ dry-run การจับคู่ business-key แบบ idempotent หน้าต่างการลบที่ติดแท็กชุด (7 วัน) การตรวจสอบ MoPH 82-class อย่างเข้มงวด การส่งออก XLSX ของแถวที่ผิดพลาด (Q6, 2026-05-22)- CI/CD —
.github/workflows/lint.yml(ruff + pylint_odoo + oca-checks) และtests.yml(Postgres 15 + คอนเทนเนอร์ Odoo 18 โมดูลปลายทาง สี่ตัวดึงทุกอย่างที่เหลือมาแบบ transitive) เป้าหมายMakefilelint/test/ciสำหรับความเท่าเทียมในเครื่อง (Q7, PR #5 →08243ca) - การปรับปรุงการนำทาง — เมนู "Reporting" ระดับบนสุดเดียว (Asset Inspection + HA Report ภายใต้พ่อแม่เดียวกัน) ย้าย Mass Import ไปยัง Configuration จัดลำดับแถบด้านบนใหม่เป็น Dashboard → Maintenance → Equipment → Asset Inspection → Service Contracts → Reporting → Configuration ป้ายเมนูพื้นฐานเป็นภาษาอังกฤษล้วน (ภาษาไทยจัดการผ่าน การแปล
.po) (PR #7, 2026-05-23)
เปลี่ยน¶
- การกำหนดเส้นทางขั้นเริ่มต้นของ PM —
roots_hemms_pmตอนนี้ overridemaintenance.request.stage_idเพื่อยกเว้นขั้นเริ่มต้นของ PM ออกจากตัวเลือก เริ่มต้น หากไม่มีสิ่งนี้ คำขอการซ่อมแก้ไขใหม่ทุกคำขอจะ ตกอยู่ใน PM Scheduled เพราะขั้นนั้นมีลำดับต่ำสุด (commit3a63274, Q7) - ตัด
numbercallออกจากข้อมูล cron — Odoo 18 ลบฟิลด์numbercallบนir.cronออก cron ทั้งหมดของ HEMMS ได้รับการอัปเดต (commitb55c4cd, Q7) sign_oca_sign_allต้องการสถานะ sent — ตัวช่วยทดสอบของroots_hemms_ha_reportตอนนี้เรียกaction_send()ก่อน_sign_all()เพื่อให้ ตรงกับ state machine ของการใช้งานจริง (commit3a63274, Q7)
แก้ไข¶
- การชนกันของฟิลด์
hemms.ha.report.line—roots_risk_tierเดิม ชนกับroots_hemms_criticality.roots_risk_tierเปลี่ยนชื่อเป็นroots_ha_risk_tierและroots_ha_risk_tier_source(commitd82f278, Q5) - ความล้มเหลวของ smoke-test รายงาน HA — แก้บั๊กที่เกิดเฉพาะตอนติดตั้ง 6 รายการใน
f95afad: menu xmlid เป็นmenu_m_reportsไม่ใช่menu_maintenance_reportsการยุบ QWebarch_db%%→%sign_oca._check_signedต้องการสถานะ0_sentดังนั้นตัวช่วยทดสอบ ต้องเรียกaction_send()ก่อน QWeb safe-eval บล็อกenv['model']และdict(_fields[...].selection)— รีแฟกเตอร์เป็น ตัวช่วยระดับ instance +t-field(การตามผล Q5) - การ์ดป้องกันการลบของ
roots_hemms_mass_import— ทดสอบ_check_delete_blockersโดยตรง (record-ruleAccessErrorกำลังบดบังการ์ด ภายในเส้นทางการลบมาตรฐาน) (Q6.6) - การแก้ไขตามรอบ CI — ระบุ bash shell ชัดเจนใน
tests.ymlลิงก์ เอกสารสถาปัตยกรรมที่เสีย การกำหนดขอบเขต--test-tagsผู้ลงนามภายนอกของtest_i4ต้องการaction_send()ด้วย (commitsc038fb7,b55c4cd,3a63274,08243ca)
ปัญหาที่ทราบแล้ว¶
- ข้าม
I1supplier-domain test ในroots_hemms_service_contracts— ฟิลด์ผู้ขายบนสัญญาไม่สามารถกรองเป็นsupplier_rank > 0โดยไม่พึ่งพาpurchase(หรือนำธงroots_is_vendorมาใช้) การทดสอบถูกตกแต่งด้วย@unittest.skipพร้อมหมายเหตุตามผล - การถดถอยของ
numbercall— หากคุณนำสาขาเก่าที่มีnumbercall="..."บน cron มาข้างหน้า การติดตั้งจะล้มเหลวบน Odoo 18 การแก้ไขคือการแก้ไข XML หนึ่งบรรทัด - จำนวนข้อมูลตั้งต้น device-class ของ MoPH ใน Q5.2 คือ 82 ไม่ใช่ 83 — แถวที่ 4 ใน PDF ต้นทาง
(พ.ศ. 2564)หายไป ข้อมูลตั้งต้นยึดตามเอกสารต้นฉบับ
เลิกใช้¶
ยังไม่มี — นี่คือซีรีส์ที่เสถียรครั้งแรก
ตารางการ merge รายไตรมาส¶
| ไตรมาส | โมดูลที่จัดส่ง | Merge commit | วันที่ |
|---|---|---|---|
| Q1 | workflow, criticality, asset_master, asset_inspection, pm | various | 2026-05-12 → 2026-05-19 |
| Q2 | spare_parts (+ vendored maintenance_stock) | c9791f3 → 1bba093 + f15dbbb | 2026-05-22 |
| Q3 | service_contracts | 950b8ae → ade8216 | 2026-05-22 |
| Q4 | signature (+ vendored sign_oca) | 02bd1fe → e56903b | 2026-05-22 |
| Q5 | ha_report | c5da40c → f95afad | 2026-05-22 |
| Q6 | mass_import | 4527e8a → d59f3d5 | 2026-05-22 → 2026-05-23 |
| Q7 | CI/CD (.github/workflows/lint.yml, tests.yml, Makefile) | PR #5 → 08243ca | 2026-05-23 |
| Nav polish | menu consolidation | PR #7 → b0cfd62 | 2026-05-23 |
เรียกดู git log แบบเต็ม สำหรับรายละเอียดต่อ commit หรืออ่านแผนการออกแบบของแต่ละไตรมาสที่ นักพัฒนา → Q-plans
หมายเหตุการย้ายข้อมูล¶
ยังไม่มีอะไรที่ทำให้เสียหายต้องย้าย — ทุกการเผยแพร่ในซีรีส์นี้เป็นการเพิ่มเติม บนของเดิม เมื่อซีรีส์ v18.0.2 เปิด (depreciation + อินเทอร์เฟซมือถือ ดู แผนงาน) คำแนะนำการอัปเกรดจะ ปรากฏใน คู่มือการอัปเกรด
การรายงานปัญหา¶
พบบั๊กหรือการถดถอย?
- ตรวจสอบรายการ ปัญหาที่ทราบแล้ว ด้านบน
- ค้นหา open issues บน GitHub
- ยื่น issue ใหม่พร้อม commit hash ที่ล้มเหลว ชื่อฐานข้อมูล (
hemms_demoเทียบกับhemms_private) และส่วนหนึ่งของเอาต์พุตmake testหากเกี่ยวข้อง
สำหรับลูกค้าที่ deploy ภายใน ให้ติดต่อช่องทางสนับสนุนของ Trinity Roots ของคุณ — ดู Roots Health Vertical ว่าทำงานอย่างไร