POS | ระบบจัดการสาขา (Branch Management)

Workshop นี้เป็นส่วนหนึ่งของคอร์สสอนทำระบบ POS  Laravel + PostgreSQL + AdminLTE

  • ระบบจัดการสาขา เป็นฟีเจอร์สำคัญที่ช่วยให้ผู้ดูแลระบบสามารถบริหารข้อมูลสาขาขององค์กรได้อย่างมีประสิทธิภาพ โดยสามารถเพิ่ม แก้ไข ตรวจสอบสถานะ และลบข้อมูลสาขาได้อย่างสะดวกผ่านหน้า Admin
  • การสร้างโครงสร้างฐานข้อมูลสาขา

    • ขั้นตอนแรกของระบบ คือการสร้างตาราง branches เพื่อเก็บข้อมูลสาขาภายในฐานข้อมูล
  • ตั้งชื่อไฟล์ create_branches_table.php แล้วรันคำสั่ง php artisan migrate

  • ข้อมูลที่ระบบรองรับมีดังนี้

    • รหัสสาขา (code)

    • ชื่อสาขา (name)

    • ที่อยู่แบบละเอียด (address)

    • ตำบล / อำเภอ / จังหวัด

    • รหัสไปรษณีย์

    • สถานะ (เปิดใช้งาน / ปิดใช้งาน)

    • ผู้สร้างข้อมูล และผู้แก้ไขล่าสุด

    ✅ ตารางนี้ถูกออกแบบให้รองรับหลายสาขา และสามารถตรวจสอบย้อนกลับได้ว่าใครเป็นผู้ดำเนินการ

  • การสร้าง Model สำหรับสาขา

    • หลังจากสร้างตารางแล้ว ระบบจะมีการสร้าง Model ชื่อ Branch.php

  • Model นี้ทำหน้าที่เชื่อมต่อกับฐานข้อมูลและช่วยให้สามารถจัดการข้อมูลสาขาได้ง่าย เช่น

    • บันทึกข้อมูลใหม่

    • แก้ไขข้อมูลเดิม

    • ลบข้อมูล

    • แสดงข้อมูลทั้งหมด

    นอกจากนี้ยังรองรับการเชื่อมโยงกับ User ผ่านฟิลด์

    • created_by → ผู้สร้าง

    • updated_by → ผู้แก้ไขล่าสุด

    ✅ ทำให้ระบบสามารถติดตามประวัติการจัดการข้อมูลได้อย่างชัดเจน

  • การจัดการข้อมูลผ่าน BranchController

    • ระบบจัดการสาขาทำงานผ่าน Controller ซึ่งเป็นตัวกลางระหว่างหน้าเว็บและฐานข้อมูล Controller นี้ครอบคลุมฟังก์ชันหลักทั้งหมด ได้แก่

      • แสดงรายการสาขาทั้งหมด
      • เพิ่มสาขาใหม่
      • แก้ไขข้อมูลสาขา
      • ลบข้อมูลสาขา

  • Routes สำหรับระบบจัดการสาขา (Admin Branch Routes)

    • โค้ดชุดนี้ใช้สำหรับสร้างเส้นทาง (Route) ใน Laravel เพื่อให้ผู้ดูแลระบบสามารถเข้าไปจัดการ “สาขา” ได้ เช่น
      • ดูรายการสาขา
      • เพิ่มสาขาใหม่
      • แก้ไขสาขา
      • ลบสาขา
    • โดยทั้งหมดนี้ถูกจัดการผ่าน BranchController

  • Route Prefix: admin จะเพิ่มคำว่า admin นำหน้าทุก URL ภายในกลุ่มนี้
  • Middleware auth Route ทั้งหมดนี้จะถูกป้องกันด้วยระบบ Login
  • Group Routes รวม Route หลายตัวให้อยู่ภายใต้กฎเดียวกัน เช่น prefix admin middleware auth name admin.
  • Resource Route สำหรับ BranchController Laravel จะสร้าง Route CRUD ให้ครบอัตโนมัติทันที

  • เมนูสำหรับจัดการสาขา (Branch Menu)

  • อธิบายโค้ด jquery.Thailand.js (กรอกที่อยู่ไทยอัตโนมัติ)

    • โหลดไฟล์ CSS ของ jquery.Thailand
    • โหลด Library ที่จำเป็น (Dependencies)
    • โหลดไฟล์หลัก jquery.Thailand.js
    • เริ่มการทำงานเมื่อหน้าเว็บโหลดเสร็จ เรียกใช้ระบบ Auto Address Thailand
    • กำหนดฐานข้อมูลที่อยู่ไทย
      • ปลั๊กอินใช้ฐานข้อมูล JSON ที่รวมข้อมูล

        • ตำบล

        • อำเภอ

        • จังหวัด

        • รหัสไปรษณีย์

        ✅ ดึงข้อมูลจาก URL นี้เพื่อนำมาใช้เติมอัตโนมัติ

    • ระบุช่อง Input ที่ต้องการให้ระบบเติมข้อมูล
  • ตัวอย่างการใช้งานในระบบสาขา

  • DataTables & Plugins ใน Laravel

  • SweetAlert 2

  • การแสดงผลในหน้า Admin (Branch Index)

    • index.blade.php

    • create.blade.php

    • edit.blade.php

 

ติดต่อ สอบถามข้อมูลเพิ่มเติม