JABPHAP
Code.gs · 681 บรรทัด
/**
 * ═══════════════════════════════════════════════════════════════════════════
 *  ระบบลงทะเบียนผู้มาติดต่อ (Visitor Log)
 *  ระบบที่ 60/100  —  ระบบสุดท้ายของกลุ่มจองคิว, คลังสินค้า & Asset Management
 * ───────────────────────────────────────────────────────────────────────────
 *  ปัญหาที่แก้ : "สมุดเยี่ยมกระดาษ — คนถัดไปเห็นข้อมูลคนก่อนหน้าทั้งหน้า ·
 *                ไฟไหม้แล้วไม่รู้ว่ามีใครอยู่ในอาคารบ้าง ·
 *                ลืมเช็กเอาท์ ค้างในระบบเป็นเดือน ·
 *                คนที่ถูกมาหาไม่รู้ว่ามีคนมา ต้องเดินไปตาม ·
 *                บัตรที่แลกไว้ไม่ได้คืน"
 *
 *  ⭐ จุดเด่นที่ 1 = **PDPA เป็นแกนกลาง ไม่ใช่ของแถม**
 *     • ผู้มาติดต่อคนถัดไป **ไม่เห็นข้อมูลคนก่อนหน้า** — ต่างจากสมุดกระดาษโดยสิ้นเชิง
 *       นี่คือเหตุผลอันดับ 1 ที่ควรเลิกใช้สมุด ไม่ใช่เรื่องความสวยงาม
🔒

กรอกอีเมลด้านขวาเพื่อดูโค้ดเต็มและคัดลอก

ฟรี ไม่มีค่าใช้จ่าย

ติดตั้งยังไง (ประมาณ 10 นาที)

  1. 1 แตกไฟล์ ZIP จะได้ Code.gs · index.html · appsscript.json และคู่มือ README.md
  2. 2 เปิด script.google.comNew project → Project Settings ติ๊ก Show "appsscript.json"
  3. 3 วางเนื้อหา appsscript.json และ Code.gs แล้วกด + → HTML ตั้งชื่อ index วาง index.html
  4. 4 เลือกฟังก์ชัน setup → กด Run → อนุญาตสิทธิ์ ระบบจะสร้าง Google Sheet ให้เอง
  5. 5 Deploy → New deployment → Web app แล้วเปิดลิงก์ที่ได้ใช้งานได้เลย

📘 ขั้นตอนละเอียด การตั้งค่า (เช่น LINE Token ใน Script Properties) โครงสร้างชีต และคำถามที่พบบ่อย อยู่ในไฟล์ README.md ที่แนบใน ZIP — เปิดด้วย Notepad หรือ VS Code ได้เลย

⚠️ ตอนกด Run ครั้งแรก Google จะขึ้นเตือนว่า “แอปนี้ยังไม่ได้รับการยืนยัน” เป็นเรื่องปกติของสคริปต์ที่เราเขียนเอง กด Advanced → Go to (ชื่อโปรเจกต์) เพื่อไปต่อ · สคริปต์ทำงานในบัญชี Google ของคุณเอง เราไม่เห็นไฟล์ของคุณ

ติดตั้งไม่เป็น? ให้เราติดตั้งให้

฿590 / ระบบ

ทักแชทนัดติดตั้ง
  • ติดตั้งในบัญชี Google ของคุณ พร้อมสร้างชีตฐานข้อมูลให้
  • ตั้งค่าที่จำเป็นให้ (เช่น LINE Token · อีเมลแจ้งเตือน) แล้วสอนใช้ผ่านแชท
  • ได้ลิงก์ใช้งานจริงกลับไป ไม่ต้องแตะโค้ดเลย

เกี่ยวกับเครื่องมือนี้

เหตุผลอันดับ 1 ที่ควรเลิกใช้สมุดกระดาษ ### ผู้มาติดต่อคนถัดไป เห็นข้อมูลคนก่อนหน้าได้ทั้งหน้า ชื่อ · บริษัท · เบอร์โทร · มาหาใคร · มาเรื่องอะไร นี่คือการเปิดเผยข้อมูลส่วนบุคคลโดยไม่จำเป็น — ไม่ใช่เรื่องความสวยงาม สมุดกระดาษยังมีปัญหาอีกสองข้อ: • สมุดเก่ากองอยู่ในตู้ไปอีกหลายปี โดยไม่มีใครลบ • ไม่มีใครรู้ว่าใครเคยเปิดดู ระบบนี้แก้ทั้งสามข้อ: • คนถัดไปเห็นข้อมูลคนก่อน — หน้าเคาน์เตอร์ไม่ส่งรายชื่อผู้มาติดต่อกลับไปเลย ส่งแค่ "จำนวน" • ค้นเช็กเอาท์ต้องเปิดดูทั้งหน้า — ค้นด้วย เลขที่ / เลขบัตร / เบอร์ 4 ตัวท้าย เท่านั้น และแสดงชื่อแบบ ปิดบางส่วน • ข้อมูลอยู่ตลอดกาล — ลบจริงอัตโนมัติ เมื่อเกินกำหนด (กู้คืนไม่ได้) • ไม่รู้ว่าใครเปิดดู — บันทึกทุกครั้งลงชีต AccessLog • เก็บเลขบัตรประชาชนเต็ม — ไม่รับเลข 13 หลักในทุกกรณี — เก็บได้แค่ 4 ตัวท้าย และปิดไว้เป็นค่าเริ่มต้น 4 อย่างที่ทำให้ระบบนี้ต่างจากแอปลงทะเบียนทั่วไป 1️⃣ ความเป็นส่วนตัวถูกบังคับที่ระดับ API ไม่ใช่แค่ซ่อนบนหน้าจอ /** * ⚠️ ไม่ส่งรายชื่อผู้มาติดต่อคนอื่นกลับไปเลย * ส่งกลับแค่ "จำนวน" ที่อยู่ในอาคาร ไม่ใช่รายชื่อ */ function api_kiosk() { ... inBuilding: v.filter(x=>x.status==='อยู่ในอาคาร').length ... } ตอนเช็กเอาท์ก็เช่นกัน — ค้นด้วยชื่อไม่ได้ และคืนชื่อแบบปิดบางส่วน: function maskName_(n) { return String(n).split(/\s+/).map(p => p.length <= 2 ? p : p.slice(0,2) + '•'.repeat(Math.min(6, p.length-2))).join(' '); } พอให้เจ้าตัวรู้ว่าใช่ แต่คนที่ยืนดูอยู่ข้างหลังไม่ได้ข้อมูลไปเต็ม ๆ 2️⃣ 🏢 "ตอนนี้ใครอยู่ในอาคาร" + พิมพ์เช็กชื่อฉุกเฉิน หน้าเดียวจบ พร้อมปุ่มพิมพ์ (มี @media print) สำหรับซ้อมหนีไฟหรือเหตุจริง ### ⚠️ แต่ระบบรู้แค่ "ใครยังไม่เช็กเอาท์" ไม่ใช่ "ใครอยู่จริง" คนลืมเช็กเอาท์เป็นเรื่องปกติมาก — ตอนเกิดเหตุให้ใช้รายการนี้เป็นจุดตั้งต้น แล้วเช็กชื่อจริงอีกครั้ง ข้อความนี้อยู่บนหัวหน้าจอและบนใบพิมพ์ ไม่ได้ซ่อนไว้ในเอกสาร 3️⃣ 🌙 ปิดรายการค้างสิ้นวันแบบซื่อสัตย์ sh.getRange(v.row, V.AUTOCLOSE).setValue('ใช่'); sh.getRange(v.row, V.NOTE).setValue('ระบบปิดให้เมื่อ ... — ไม่ได้เช็กเอาท์จริง'); ระบบไม่ใส่เวลาออกปลอมให้ เพราะถ้าปิดเงียบ ๆ ตัวเลข "อยู่ในอาคารนานแค่ไหน" จะกลายเป็นข้อมูลปลอมทั้งชุด หน้าสรุปจึงแสดง จำนวนรายการที่ระบบปิดให้ คู่กับค่าเฉลี่ยเสมอ พร้อมข้อความว่า "เฉลี่ยอยู่ในอาคาร" เชื่อได้เท่าที่คนเช็กเอาท์จริง — ถ้าตัวเลข "ระบบปิดให้" สูง แปลว่าตัวเลขเฉลี่ยนี้ยังใช้ไม่ได้ และถ้ามีรายการค้างทุกวัน แปลว่าขั้นตอนเช็กเอาท์ใช้งานยากเกินไป — ทางแก้คือทำให้ง่ายขึ้น ไม่ใช่ตำหนิผู้มาติดต่อที่ลืม 4️⃣ แจ้งผู้รับการติดต่อทันที + นัดล่วงหน้า • เช็กอินเสร็จ → ส่งอีเมลถึงผู้ถูกมาหาทันที (ชื่อ · บริษัท · วัตถุประสงค์ · เวลา) → ไม่ต้องเดินไปตามคน • นัดล่วงหน้า — ธุรการบันทึกไว้ก่อน พอมาถึงกรอกชื่อตรงกัน ระบบจับคู่ให้อัตโนมัติ ไม่สร้างรายการซ้ำ • นัดที่เลยวันแล้วไม่มา → เปลี่ยนเป็น "ไม่มาตามนัด" ให้ตอนสิ้นวัน

ระบบลงทะเบียนผู้มาติดต่อ (Visitor Log)

เคาน์เตอร์แท็บเล็ต · รู้ว่าใครอยู่ในอาคาร · PDPA เป็นแกนกลาง ไม่ใช่ของแถม

ฟรี ไม่มีค่าใช้จ่าย
  • Web App พร้อมใช้ ข้อมูลเก็บใน Google Sheet ของคุณเอง
  • ได้ครบทุกไฟล์ + คู่มือติดตั้งภาษาไทย (README.md)
  • แก้โค้ดต่อเองได้ ไม่ล็อก ไม่มีค่ารายเดือน

กรอกอีเมลเพื่อรับลิงก์ดาวน์โหลด และรับระบบ Google Apps Script ใหม่ก่อนใคร

ใช้ส่งลิงก์และข่าวเครื่องมือใหม่เท่านั้น ไม่ส่งต่อให้ใคร

อยากได้ระบบอื่นในสายนี้ด้วย?

ชุดจองคิว & คลังสินค้า 15 ระบบ ฿1,707 ฿790 ประหยัด 54%
มีคำถาม ทักแชทได้เลย
โหลดแล้ว 0 ครั้ง 34 KB
LINE