รายการล่าสุดที่พบปัญหา
อัปเดตอัตโนมัติ
ตรวจทีละถัง
ตรวจหลายถังพร้อมกัน
สแกน QR Code ที่ถัง หรือเลือกจากรายการด้านล่าง
— เลือกถังดับเพลิง —
โหลดข้อมูลถัง
FE-000
—
—
📷 แตะเพื่อแนบภาพประกอบการตรวจ
ยกเลิก
บันทึกผลตรวจ
เลือกได้หลายถังพร้อมกัน — ใช้เมื่อเดินตรวจแล้วถังผ่านครบทุกจุด (OK ทั้งหมด) จะได้ไม่ต้องกรอกทีละถัง ถ้าถังไหนมีปัญหาให้ไปตรวจแบบทีละถังแทน
จุดที่ Zone / สถานที่ ประเภท / น้ำหนัก รอบตรวจ
0 ถังถูกเลือกติ๊กเลือกถังที่ผ่านครบทุกจุด (OK) แล้วกดบันทึก
✅ บันทึกว่าผ่านทุกจุด (OK ทั้งหมด)
ทะเบียนถังดับเพลิงทั้งหมด
86 รายการ
กติกาที่ใช้คำนวณ: รอบตรวจมาตรฐาน 30 วัน นับจากวันที่ตรวจล่าสุด · ถ้าเหลือ ≤7 วันจัดเป็น "ใกล้ครบกำหนด" · ถ้าเลยกำหนดแล้วจัดเป็น "เกินกำหนดตรวจ" (ข้อมูล ณ วันที่ 10 ก.ค. 2569)
ทั้งหมด
ผ่าน/อนุมัติแล้ว
พบ NG
รออนุมัติ
เกินกำหนดตรวจ
ใกล้ครบกำหนด
จุดที่ รหัสทรัพย์สิน Zone / สถานที่ ประเภท / น้ำหนัก ผู้ตรวจ รอบตรวจ (30 วัน) สถานะ
การแจ้งเตือน
เรียงจากล่าสุด
รอการอนุมัติจากผู้บังคับบัญชา
0 รายการ
นี่คือ "ข้อมูลชุดเดียวกับที่ส่งแจ้งผู้บังคับบัญชา" (ผ่านอีเมล/LINE จาก Power Automate) — กดรายการเพื่อดูรายละเอียดครบทุกจุดตรวจก่อนกดอนุมัติหรือตีกลับ
ส่งรายงานผลตรวจ
เลือกถังที่ต้องการรวมในรายงาน แล้วส่งได้ในคลิกเดียว
เดือนรายงานกรองเฉพาะผลตรวจของเดือนนี้ ให้ตรงกับอีเมลที่จะส่ง
จุดที่ Zone / สถานที่ ประเภท / น้ำหนัก เดือนที่ตรวจ สถานะ
ผู้รับรายงาน:
ส่งเพิ่มถึง (ระบุเอง):
0 ถังถูกเลือกติ๊กเลือกถังในตารางด้านบนก่อน ปุ่มถึงจะกดได้
📧 ส่งรายงาน
ภาพรวมทั้งระบบ
หน้าจอนี้ (FireCheck) + ระบบหลังบ้านที่มีอยู่แล้ว
ยืนยันแล้วว่าฐานข้อมูลจริงอยู่ใน SharePoint List บน Microsoft 365 (ชื่อลิสต์: FireExtinguisherInspections)
หน้าจอนี้ผูก field ตามชื่อคอลัมน์จริงในลิสต์ทั้งหมด ไม่ใช่ชื่อสมมติแล้วครับ
ฝั่งหน้างาน — PowerApps
1️⃣ Safety ตรวจถังเปิดแอป FireCheck กรอกเช็คลิสต์ 7 คอลัมน์
↓
2️⃣ บันทึกลง SharePoint ListCheckingStatus = Done/Failed, InspectorName, InspectionDate
↓
3️⃣ ส่งอนุมัติApprovalStatus = Pending → แจ้งเตือนหัวหน้างาน
ฝั่งหลังบ้าน — Power Automate
4️⃣ หัวหน้า ApproveTrigger: When an item is modified → Condition ApprovalStatus = Approved
↓
5️⃣ เช็คว่าเดือนนี้มี PDF แล้วหรือยังGet items จาก Report Library กรองด้วย ReportMonth ปัจจุบัน
↓
6️⃣ Condition: ยังไม่มี → สร้าง PDFรวมทุกถังที่ Approved ในเดือนนี้ → HTML to PDF
↓
7️⃣ เก็บ PDF ใน SharePoint Report LibraryCreate file: FM-ASH-0004_{เดือน}{ปี}.pdf
↓
8️⃣ ส่งอีเมล / แนบลิงก์ถึงผู้รับรายงานเริ่มต้น + ผู้อนุมัติ พร้อมลิงก์ไฟล์ใน Library
⚠️ จุดที่ต้องตัดสินใจก่อนสร้างจริง (ขั้นตอนที่ 5-6): ถ้าเดือนนี้มี PDF อยู่แล้วตอนถังตัวที่ 2, 3, ... ในเดือนเดียวกันเพิ่งได้รับอนุมัติ ระบบควรทำยังไงต่อ — เลือกได้ 2 แบบ:
• แบบ A (สร้างครั้งเดียว/เดือน): ข้ามการสร้าง PDF ไปเลย ส่งแค่อีเมลแจ้งผลรายถังแทน แล้วค่อยไปรวมเป็น PDF ทีเดียวตอนสิ้นเดือน (ต้องมี trigger แบบ Scheduled เพิ่มอีกตัว)
• แบบ B (อัปเดตทับทุกครั้ง): ลบไฟล์ PDF เดิมแล้วสร้างใหม่ทับทุกครั้งที่มีการอนุมัติเพิ่มในเดือนนั้น เพื่อให้ PDF ล่าสุดมีข้อมูลครบเสมอ (เปลืองการรันมากกว่า แต่ข้อมูลสดกว่า)
แนะนำ แบบ B เพราะข้อมูลจะไม่ตกหล่น — ในแอปตัวอย่างด้านล่างผมจำลองแบบ B ไว้ให้ดูครับ (ดูหัวข้อ "คลัง PDF รายเดือน" ในหน้า "ส่งรายงาน")
คอลัมน์จริงใน SharePoint List (จากไฟล์ backup)
คอลัมน์ ใช้ทำอะไร ค่าที่พบ
ID / หมายเลขถัง / จุดที่ตั้ง รหัสอ้างอิงแถว / เลขถัง / ลำดับจุดติดตั้ง ตัวเลข
Zone / Locationfire โซนและจุดติดตั้งจริง (ผูกกับแผนที่ได้) เช่น PDI & Yard Operation
TypeofFire / น้ำหนักของถัง ชนิดสารดับเพลิง และขนาดถัง Dry Chemical, BF2000, 15 lbs.
7 คอลัมน์ตรวจ (สลัก, สายฉีด, เข็มวัด ฯลฯ) ผลตรวจแต่ละจุด OK / NG
CheckingStatus สถานะรวมของการตรวจ Done / Failed
InspectorName / InspectionDate / InspectorEmail ผู้ตรวจและวันที่ตรวจ ข้อความ / วันที่
ApproverName / ApprovalDate / ApprovalStatus ขั้นตอนอนุมัติผลตรวจ (2-step: ตรวจ → อนุมัติ) Pending / Approved
สิ่งที่เพิ่งค้นพบจากไฟล์จริง: ระบบเดิมมี "ขั้นตอนอนุมัติ" (Inspector → Approver) ที่ผมพลาดไปตอนร่างแรก ตอนนี้แก้ให้แอปมีปุ่ม
"อนุมัติ" ในหน้าทะเบียนถังสำหรับรายการที่รออนุมัติแล้วครับ — ลองไปกด "ตรวจถัง" แล้วบันทึกผล จะเห็นว่าสถานะขึ้นเป็น "รออนุมัติ" ก่อนเสมอ
ตรงตามที่ข้อมูลจริงมี ApproverName/ApprovalDate แยกจาก InspectorName/InspectionDate
จัดการสิทธิ์ผู้ใช้งาน
เทียบเท่า SharePoint List "UserRoles" ที่คุยกันไว้
เฉพาะ Admin System เข้าหน้านี้ได้ — กำหนดได้ว่าแต่ละคนมีบทบาท (Role) อะไร และเปิด/ปิดสิทธิ์การใช้งานได้โดยไม่ต้องลบบัญชี
ชื่อ อีเมล โซนที่รับผิดชอบ บทบาท (Role) ใช้งานอยู่
ผู้รับรายงานเริ่มต้น (หน้า "ส่งรายงาน")
กำหนดได้ว่าเวลากด "ส่งรายงาน" จะมีใครเป็นผู้รับตายตัวบ้าง โดยไม่ต้องพิมพ์ใหม่ทุกครั้ง — แก้ไขที่นี่จะเปลี่ยนทันทีในหน้าส่งรายงาน
+ เพิ่ม
ข้อควรระวังด้านความปลอดภัย: การกำหนดสิทธิ์ในหน้านี้เป็นแค่ UX ของ PowerApps เท่านั้น เวลาทำจริงต้องล็อกอีกชั้นที่ Power Automate
(เช็ค email เทียบกับ UserRoles list ก่อนยอมให้ update ApprovalStatus) และที่ SharePoint List permission โดยตรง ไม่งั้นคนที่รู้ URL ตรงๆ ยังเข้าถึงข้อมูลได้อยู่ดี
PDPA — บันทึกการรับทราบ/ยินยอม (Consents Log)
จำลองสิ่งที่ควรเป็น SharePoint List "Consents" — บันทึกทุกครั้งที่มีคนกดรับทราบประกาศความเป็นส่วนบุคคล (เก็บเฉพาะใน session นี้เท่านั้น รีเฟรชแล้วหาย เพราะยังไม่ต่อ backend จริง)
เวลา ชื่อ อีเมล บทบาท เวอร์ชันนโยบาย ยินยอมใช้ภาพเพื่ออบรม
— ยังไม่มีการรับทราบใน session นี้ —
PDPA — Audit Log การกระทำสำคัญ
จำลองสิ่งที่ควรเป็น SharePoint List "AuditLog" — บันทึกการอนุมัติ/ตีกลับ และการเปลี่ยนสิทธิ์ผู้ใช้ เพื่อตรวจสอบย้อนหลังได้ตามหลัก accountability ของ PDPA
เวลา ผู้กระทำ บทบาท การกระทำ รายละเอียด
— ยังไม่มีรายการ —
สิทธิของเจ้าของข้อมูล (Data Subject Rights)
พนักงานที่ต้องการขอเข้าถึง แก้ไข หรือลบข้อมูลส่วนบุคคลของตนเองในระบบนี้ ติดต่อเจ้าหน้าที่คุ้มครองข้อมูลส่วนบุคคล (DPO) ได้ที่
— — ของจริงคำขอเหล่านี้ควรเข้าคิวผ่าน Power Automate flow แล้วมีผู้ดูแลระบบเป็นผู้ดำเนินการลบ/แก้ไขใน SharePoint List ให้ (ไม่ให้ผู้ใช้ลบข้อมูลเองโดยตรง เพื่อกันการลบผิดพลาด/ตั้งใจทำลายหลักฐาน)
🗑️ จำลองการลบข้อมูลเกินระยะเก็บรักษา (Retention Purge)
เก็บผลตรวจ/ภาพถ่ายไม่เกิน 3 ปีตามนโยบาย — ของจริงรันเป็น scheduled flow อัตโนมัติ ไม่ใช่ปุ่มกดเอง
จัดการทะเบียนถัง (เพิ่ม / แก้ไข / ลบ)
0 ถัง
เพิ่ม/แก้ไข/ลบถังที่นี่จะสะท้อนไปทุกหน้าในแอปทันที (ภาพรวม, ทะเบียน, ตรวจถัง, ส่งรายงาน) — ฟิลด์ที่มีค่าให้เลือกซ้ำได้ (Zone/ประเภท/น้ำหนัก) ทำเป็น dropdown เพื่อกันข้อมูลพิมพ์ผิด · สิทธิ์นี้เปิดให้ทั้ง Safety และ Admin System
รายการถังทั้งหมด — แก้ไข/ลบได้ที่นี่
จุดที่ รหัสทรัพย์สิน Zone / สถานที่ ประเภท / น้ำหนัก ผู้ตรวจ
ดูรายงานย้อนหลัง
0 รายงาน
ดึงจาก Report Library จริง (SharePoint Document Library) — เห็นได้ทุก role แต่แก้ไข/ส่งใหม่ไม่ได้ ต้องไปที่หน้า "ส่งรายงาน" เท่านั้น