ข้ามไปที่เนื้อหา

บันทึกการเผยแพร่

โมดูล 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.contract PDF ที่ลงนามแล้วแนบเข้า 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) เป้าหมาย Makefile lint/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)

เปลี่ยน

  • การกำหนดเส้นทางขั้นเริ่มต้นของ PMroots_hemms_pm ตอนนี้ override maintenance.request.stage_id เพื่อยกเว้นขั้นเริ่มต้นของ PM ออกจากตัวเลือก เริ่มต้น หากไม่มีสิ่งนี้ คำขอการซ่อมแก้ไขใหม่ทุกคำขอจะ ตกอยู่ใน PM Scheduled เพราะขั้นนั้นมีลำดับต่ำสุด (commit 3a63274, Q7)
  • ตัด numbercall ออกจากข้อมูล cron — Odoo 18 ลบฟิลด์ numbercall บน ir.cron ออก cron ทั้งหมดของ HEMMS ได้รับการอัปเดต (commit b55c4cd, Q7)
  • sign_oca _sign_all ต้องการสถานะ sent — ตัวช่วยทดสอบของ roots_hemms_ha_report ตอนนี้เรียก action_send() ก่อน _sign_all() เพื่อให้ ตรงกับ state machine ของการใช้งานจริง (commit 3a63274, Q7)

แก้ไข

  • การชนกันของฟิลด์ hemms.ha.report.lineroots_risk_tier เดิม ชนกับ roots_hemms_criticality.roots_risk_tier เปลี่ยนชื่อเป็น roots_ha_risk_tier และ roots_ha_risk_tier_source (commit d82f278, Q5)
  • ความล้มเหลวของ smoke-test รายงาน HA — แก้บั๊กที่เกิดเฉพาะตอนติดตั้ง 6 รายการใน f95afad: menu xmlid เป็น menu_m_reports ไม่ใช่ menu_maintenance_reports การยุบ QWeb arch_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-rule AccessError กำลังบดบังการ์ด ภายในเส้นทางการลบมาตรฐาน) (Q6.6)
  • การแก้ไขตามรอบ CI — ระบุ bash shell ชัดเจนใน tests.yml ลิงก์ เอกสารสถาปัตยกรรมที่เสีย การกำหนดขอบเขต --test-tags ผู้ลงนามภายนอกของ test_i4 ต้องการ action_send() ด้วย (commits c038fb7, b55c4cd, 3a63274, 08243ca)

ปัญหาที่ทราบแล้ว

  • ข้าม I1 supplier-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) c9791f31bba093 + f15dbbb 2026-05-22
Q3 service_contracts 950b8aeade8216 2026-05-22
Q4 signature (+ vendored sign_oca) 02bd1fee56903b 2026-05-22
Q5 ha_report c5da40cf95afad 2026-05-22
Q6 mass_import 4527e8ad59f3d5 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 + อินเทอร์เฟซมือถือ ดู แผนงาน) คำแนะนำการอัปเกรดจะ ปรากฏใน คู่มือการอัปเกรด

การรายงานปัญหา

พบบั๊กหรือการถดถอย?

  1. ตรวจสอบรายการ ปัญหาที่ทราบแล้ว ด้านบน
  2. ค้นหา open issues บน GitHub
  3. ยื่น issue ใหม่พร้อม commit hash ที่ล้มเหลว ชื่อฐานข้อมูล (hemms_demo เทียบกับ hemms_private) และส่วนหนึ่งของเอาต์พุต make test หากเกี่ยวข้อง

สำหรับลูกค้าที่ deploy ภายใน ให้ติดต่อช่องทางสนับสนุนของ Trinity Roots ของคุณ — ดู Roots Health Vertical ว่าทำงานอย่างไร