อะไหล่: การตั้งค่า¶
หน้านี้ครอบคลุมทุกแง่มุมที่ปรับตั้งค่าได้ของโมดูลอะไหล่ ตั้งแต่ สินค้าไปจนถึงลำดับเลข
สินค้า¶
การเพิ่มชื่อสินค้าภาษาไทย¶
roots_hemms_spare_parts เพิ่มฟิลด์ roots_name_th (ชื่อภาษาไทย) ให้กับ product.template การกรอกชื่อภาษาไทยช่วยให้แสดงผลแบบสองภาษาและ ทำให้ค้นหาสินค้าด้วยข้อความภาษาไทยได้
- เปิด :menuselection:
Inventory --> Products→ คลิกสินค้า - ในฟิลด์ชื่อสินค้าด้านบน ชื่อภาษาอังกฤษคือฟิลด์
nameมาตรฐาน - เลื่อนไปยังแท็บ HEMMS (หรือมองหาฟิลด์ Thai Name บนแท็บ General Information)
- กรอกชื่อสินค้าภาษาไทยใน Thai Name (ชื่อสินค้า TH) เช่น:
สายนำสัญญาณ ECG 5 ขั้ว - บันทึก
การค้นหาใช้ได้ทั้งสองภาษา
การค้นหา display_name บน product.template ได้รับการขยายให้ รวม roots_name_th ด้วย ผู้ใช้ที่พิมพ์ข้อความภาษาไทยในแถบค้นหาสินค้า บนฟอร์มรายการอะไหล่จะได้ผลลัพธ์ที่ตรงกัน
การตั้ง flag สินค้าให้เป็นอะไหล่สำคัญวิกฤต¶
อะไหล่สำคัญวิกฤตคืออะไหล่ที่หากขาดไปอาจทำให้การซ่อมบำรุงเครื่องมือแพทย์ ที่มีความสำคัญต่อชีวิตล่าช้า เมื่อตั้ง flag แล้ว รายการอะไหล่ทุกรายการสำหรับสินค้านี้ บนเครื่องมือแพทย์ใด ๆ จะแสดงป้าย Critical สีแดง — และงานตามเวลา (cron) รายวัน จะกำหนดกิจกรรมแจ้งเตือนหากสินค้าลดลงเหลือสต็อกศูนย์
- เปิดฟอร์มสินค้า
- เปิดแท็บ HEMMS
- เปิดใช้ Critical Spare (
roots_is_critical_spare) - บันทึก
flag ที่คำนวณได้ — ไม่ต้องเขียนทับ
คุณไม่จำเป็นต้องตั้งค่าอะไรบนรายการอะไหล่เอง ฟิลด์ roots_is_critical บน hemms.equipment.spare.line เป็นฟิลด์คำนวณที่จัดเก็บไว้ ซึ่งจะ คำนวณใหม่ทุกครั้งที่ flag ของสินค้า หรือ สีระดับความวิกฤตของเครื่องมือแพทย์ เปลี่ยนแปลง
อะไหล่สำคัญวิกฤตที่แนะนำให้พิจารณา¶
| หมวดหมู่สินค้า | ทำไมจึงวิกฤต |
|---|---|
| แผ่นแปะ / แบตเตอรี่เครื่องกระตุกหัวใจ (Defibrillator) | ใช้ค้ำจุนชีวิตโดยตรงในการกู้ชีพ |
| วงจรหายใจของเครื่องช่วยหายใจ (Ventilator) | สิ้นเปลืองต่อผู้ป่วยรายเดียว หาของทดแทนยาก |
| ชุดให้สารน้ำของเครื่องปั๊มสารละลาย (Infusion pump) | ปริมาณการใช้สูง ไม่มีของเทียบเท่าทดแทน |
| โพรบเครื่องวัดออกซิเจนในเลือด (สำหรับทารกแรกเกิด) | เฉพาะทาง — ไม่ใช้ร่วมกับหอผู้ป่วยผู้ใหญ่ |
| อิเล็กโทรด ECG สำหรับระบบทดสอบสมรรถภาพ | จำเป็นสำหรับทุกการสอบเทียบ (calibration) |
การตั้งค่าเครื่องมือแพทย์¶
allow_consumptions¶
ฟิลด์: maintenance.equipment.allow_consumptions (เพิ่มโดย OCA maintenance_stock)
ที่ตั้งค่า: ฟอร์มเครื่องมือแพทย์ → แท็บ Spare Parts → สวิตช์ Allow Consumptions
ผลกระทบ: ทำให้ปุ่มลัด Stock Pickings ปรากฏบนฟอร์มเครื่องมือแพทย์ และบนคำขอซ่อมบำรุง หากไม่มี flag นี้ จะไม่สามารถเชื่อมใบเบิก-จ่ายสินค้า ใด ๆ กับคำขอของเครื่องมือแพทย์นี้ได้ — การสร้างใบเบิก-จ่ายสินค้าอัตโนมัติจะถูกข้ามไป อย่างเงียบ ๆ แม้ว่า flag อื่น ๆ จะถูกตั้งไว้แล้วก็ตาม
roots_auto_generate_picking¶
ฟิลด์: maintenance.equipment.roots_auto_generate_picking (เพิ่มโดย โมดูลนี้)
ที่ตั้งค่า: ฟอร์มเครื่องมือแพทย์ → แท็บ Spare Parts → Auto-create Picking on PM
ผลกระทบ: เมื่อคำขอที่สร้างจาก PM ถูกสร้างขึ้น (มีการตั้ง maintenance_plan_id) roots_hemms_spare_parts จะสร้างใบเบิก-จ่ายสินค้าประเภท Consumption แบบร่าง จากเทมเพลตรายการอะไหล่โดยอัตโนมัติ จะไม่ทำอะไรกับคำขอซ่อมแก้ไข (คำขอที่ไม่มี maintenance_plan_id)
การมองเห็น: ฟิลด์นี้มองเห็นได้เฉพาะผู้ใช้ที่อยู่ในกลุ่ม stock.group_stock_user ผู้ใช้ที่ไม่ใช่ฝ่ายคลังจะไม่เห็นสวิตช์นี้
default_consumption_warehouse_id¶
ฟิลด์: maintenance.equipment.default_consumption_warehouse_id (เพิ่มโดย OCA maintenance_stock)
ที่ตั้งค่า: ฟอร์มเครื่องมือแพทย์ → แท็บ Spare Parts → Consumption Warehouse
ผลกระทบ: กำหนดว่าจะใช้ประเภทใบเบิก-จ่ายสินค้า Consumption ของคลังใด เมื่อสร้างใบเบิก-จ่ายสินค้าอัตโนมัติ ประเภทใบเบิก-จ่ายสินค้ากำหนด:
- Source location — ที่ที่ดึงสต็อกออกมา (โดยทั่วไปคือห้องเก็บของหลัก)
- Destination location — ที่ที่อะไหล่ที่เบิกใช้ "ไป" (โดยทั่วไปคือสถานที่ เบิกใช้ / สถานที่ทิ้งเศษซากแบบเสมือน)
หนึ่งคลังต่อหนึ่งเครื่องมือแพทย์
เครื่องมือแพทย์แต่ละรายการมีคลังสำหรับการเบิกใช้ได้เพียงคลังเดียว หากโรงพยาบาลของคุณ มีห้องเก็บของหลายแห่ง (เช่น คลัง BME หลัก + คลังย่อย OR) ให้กำหนดคลังที่จัดส่งให้กับหอผู้ป่วยที่เครื่องมือแพทย์นั้นตั้งอยู่จริง
ลำดับเลข Stock Request¶
ลำดับเลขทำอะไร¶
ทุก stock.picking ที่เชื่อมโยงกับ maintenance.request จะได้รับ หมายเลขอ้างอิงแบบเรียงลำดับ (roots_request_no) เมื่อสร้าง โดยใช้ รหัส ir.sequence hemms.stock.request รูปแบบเริ่มต้นคือ:
ตัวอย่าง: SR/2026/00001, SR/2026/00042, SR/2027/00001 (รีเซ็ตรายปี)
การค้นหาและการปรับแต่งลำดับเลข¶
- เปิด :menuselection:
Settings --> Technical --> Sequences(เมนู Technical ต้องเปิดโหมดนักพัฒนา) - ค้นหา "HEMMS Stock Request" หรือกรองด้วย Code =
hemms.stock.request - เปิดเรกคอร์ดลำดับเลข
ฟิลด์ที่ปรับตั้งค่าได้:
| ฟิลด์ | ค่าเริ่มต้น | หมายเหตุ |
|---|---|---|
| Prefix | SR/%(year)s/ | เปลี่ยน SR เป็นคำนำหน้าใด ๆ ที่โรงพยาบาลของคุณใช้ |
| Padding | 5 | การเติมเลขศูนย์นำหน้า (5 → 00001) |
| Sequence Size | (อัตโนมัติ) | จำนวนหลักสูงสุดก่อนล้น |
| Implementation | standard | มี no_gap ให้ใช้หากต้องการป้องกันช่องว่างเพื่อการตรวจสอบ |
| Reset Frequency | รายปี (Yearly) | สามารถเปลี่ยนเป็นรายเดือนหรือไม่เคยรีเซ็ตได้ |
อย่าเปลี่ยนฟิลด์ Code
รหัสลำดับเลข hemms.stock.request ถูกอ้างอิงใน Python การเปลี่ยน รหัสจะทำให้การกำหนดหมายเลข SR อัตโนมัติเสียหาย ให้เปลี่ยน Prefix และ Padding แทน
การกำหนดหมายเลขใหม่ย้อนหลัง
ลำดับเลขของ Odoo ไม่กำหนดหมายเลขใหม่ย้อนหลังให้กับเรกคอร์ดที่มีอยู่ หากคุณเปลี่ยน คำนำหน้าระหว่างปี SR เก่าจะยังคงหมายเลขเดิมไว้ — คำนำหน้าใหม่ จะใช้เฉพาะกับใบเบิก-จ่ายสินค้าที่สร้างหลังการเปลี่ยนแปลงเท่านั้น
การกรองตามประเภท PM¶
kind_ids บนรายการอะไหล่ทำงานอย่างไร¶
hemms.equipment.spare.line แต่ละรายการมีฟิลด์ Many2many kind_ids ที่เชื่อมโยงไปยัง maintenance.kind ซึ่งควบคุมว่ารายการใดจะถูกรวมเมื่อสร้างใบเบิก-จ่ายสินค้าอัตโนมัติ สำหรับคำขอ PM:
kind_ids ของรายการอะไหล่ | ผลลัพธ์ |
|---|---|
| ว่างเปล่า (ไม่ตั้งประเภท) | รายการถูกรวมใน ทุก ใบเบิก-จ่ายสินค้าอัตโนมัติ โดยไม่คำนึงถึงประเภทการซ่อมบำรุงของคำขอ |
| ตั้งหนึ่งประเภทหรือมากกว่า | รายการถูกรวมเฉพาะเมื่อ maintenance_kind_id ของคำขออยู่ใน kind_ids ของรายการ |
ตัวอย่าง: เครื่องวัดสัญญาณชีพ (Vital Signs Monitor) ที่มีอะไหล่ 3 ประเภท¶
| สินค้า | PM Kinds | รวมสำหรับ Calibration? | รวมสำหรับ General PM? | รวมสำหรับ Safety Inspection? |
|---|---|---|---|---|
| ชุดสาย ECG | (ว่าง) | ใช่ | ใช่ | ใช่ |
| อะแดปเตอร์สอบเทียบ | Calibration | ใช่ | ไม่ | ไม่ |
| แบตเตอรี่ CR2032 | Calibration, Safety Inspection | ใช่ | ไม่ | ใช่ |
| ผ้าเช็ดทำความสะอาด | General PM | ไม่ | ใช่ | ไม่ |
การตั้งตัวกรองประเภทบนรายการอะไหล่¶
- เปิดฟอร์มเครื่องมือแพทย์ → แท็บ Spare Parts
- คลิกรายการอะไหล่เพื่อแก้ไข
- ใน PM Kinds เลือกประเภทที่มีการเบิกใช้อะไหล่นี้:
ประเภทที่ตั้งไว้ล่วงหน้า 3 ประเภทมีให้ใช้เสมอ:
- General Preventive Maintenance (
roots_hemms_pm.kind_general_pm) - Calibration (
roots_hemms_pm.kind_calibration) - Safety Inspection (
roots_hemms_pm.kind_safety_inspection)
ประเภทกำหนดเองใด ๆ ที่เพิ่มผ่าน :menuselection:Maintenance --> Configuration --> Maintenance Kinds จะปรากฏในดรอปดาวน์โดยอัตโนมัติ
- เว้น PM Kinds ให้ว่างเพื่อรวมรายการในใบเบิก-จ่ายสินค้าอัตโนมัติทุกใบ
คำขอซ่อมแก้ไขและการกรองตามประเภท¶
การกรองตามประเภทใช้กับ ใบเบิก-จ่ายสินค้าอัตโนมัติเท่านั้น ที่สร้างโดย PM cron เมื่อช่างเทคนิคสร้างใบเบิก-จ่ายสินค้าด้วยตนเองสำหรับคำขอซ่อมแก้ไข รายการอะไหล่ทั้งหมดจะมองเห็นได้ — ช่างเทคนิคเลือกสิ่งที่ต้องการจาก แคตตาล็อกสินค้าทั้งหมด
ความปลอดภัย¶
โมดูลสืบทอด ACL จาก:
- OCA
maintenance_stock— Maintenance User อ่านใบเบิก-จ่ายสินค้าได้; Maintenance Manager เขียนได้ - Odoo
stock— Inventory User / Manager ควบคุมว่าใครสามารถยืนยันใบเบิก-จ่ายสินค้าได้
ACL ใหม่ที่เพิ่มโดยโมดูลนี้:
| Model | Group | Access |
|---|---|---|
hemms.equipment.spare.line | Maintenance User | Read |
hemms.equipment.spare.line | Maintenance Manager | Read, Write, Create, Delete |
ขั้นตอนถัดไป¶
- กระบวนการทำงาน — สิ่งที่เกิดขึ้นแบบครบวงจรตั้งแต่ cron จนถึงยืนยันสต็อก
- การรายงาน — มุมมองติดตาม SR และปุ่มสถิติ