KruaDee

การทำงานของระบบคลังวัตถุดิบ

คู่มือภาพรวม: กลไกการเคลื่อนไหวของสต๊อกทั้งสองรูปแบบ โครงสร้างข้อมูล และหน้าที่ของแต่ละหน้าในระบบ

กลไกการทำงานสองส่วนที่แยกจากกัน

ระบบคลังวัตถุดิบแบ่งการทำงานออกเป็นสองกระบวนการที่เป็นอิสระต่อกัน ได้แก่ (1) การตัดสต๊อกอัตโนมัติ ซึ่งวัตถุดิบจะถูกหักออกเองเมื่อมีการขายเมนู โดยขับเคลื่อนผ่านระบบ event และ (2) การจัดซื้อ ซึ่งวัตถุดิบจะถูกนำเข้าคลังเมื่อพนักงานดำเนินการขอซื้อและสั่งซื้อ เพียงทำความเข้าใจว่ากำลังพิจารณากระบวนการใดอยู่ ก็จะเห็นภาพรวมทั้งหมดได้โดยง่าย

อัตโนมัติ

วัตถุดิบออก — การตัดสต๊อกอัตโนมัติ

ทำงานโดยอัตโนมัติผ่านระบบ event โดยไม่ต้องมีผู้ดำเนินการ เมื่อมีการขายเมนู วัตถุดิบจะถูกหักออกผ่าน message bus ทันที

1

ลูกค้าสั่งอาหาร

ระบบ Order หรือ POS ส่ง event พร้อมรหัสสาขา (branch_id)

2

Kitchen Worker ประมวลผล

สร้างตั๋วครัว แล้วส่ง event kitchen.ticket_created ต่อไปยังระบบคลัง

3

อ่านสูตรการผลิต (BOM)

Inventory Worker สอบถาม Catalog ว่าเมนูนี้ใช้วัตถุดิบใดและในปริมาณเท่าใด

4

ตัดสต๊อก บันทึก และแจ้งเตือน

หักสต๊อกทั้งระดับสาขาและยอดรวม บันทึกรายการประเภท DEDUCTION และแจ้งเตือนเมื่อปริมาณคงเหลือต่ำกว่าจุดสั่งซื้อ

ดำเนินการเอง

วัตถุดิบเข้า — การจัดซื้อ

กระบวนการจัดทำเอกสารที่พนักงานดำเนินการเอง เพื่อนำวัตถุดิบเข้าสู่คลัง

1

ใบขอซื้อ (PR)

คำขอวัตถุดิบภายในองค์กร ส่งเพื่อขออนุมัติ ก่อนพิจารณาอนุมัติหรือปฏิเสธ

2

ใบสั่งซื้อ (PO)

ใบขอซื้อที่ได้รับอนุมัติจะถูกแปลงเป็นคำสั่งซื้อเพื่อจัดส่งให้ซัพพลายเออร์

3

รับวัตถุดิบเข้า

เมื่อวัตถุดิบมาถึง ตรวจรับทั้งหมดหรือบางส่วนโดยเทียบกับใบสั่งซื้อ

4

สต๊อกเพิ่มขึ้น

บันทึกรายการประเภท RESTOCK และปริมาณคงเหลือจะเพิ่มขึ้นตามจำนวนที่รับ

โครงสร้างข้อมูล — ความสัมพันธ์ระหว่างตาราง

RawMaterial (วัตถุดิบ)

ข้อมูลหลักของวัตถุดิบ โดย current_stock คือยอดรวมทั้ง tenant (ค่า cache) ส่วนสูตร BOM จัดเก็บอยู่ที่ Catalog เชื่อมโยงผ่าน catalog_ingredient_id

MaterialStock (รายสาขา)

ปริมาณคงเหลือจริงในแต่ละคลังหรือสาขา ถือเป็นยอดอ้างอิงหลัก ในขณะที่ current_stock เป็นเพียงผลรวม

ซัพพลายเออร์และราคา

ผู้ขายเชื่อมโยงกับวัตถุดิบผ่าน SupplierMaterial ซึ่งจัดเก็บราคาและระยะเวลาจัดส่ง (lead time)

ใบขอซื้อ / ใบสั่งซื้อ และรายการ

เอกสารในกระบวนการจัดซื้อ โดยใบสั่งซื้อสามารถเชื่อมโยงกลับไปยังใบขอซื้อต้นทางได้ผ่าน pr_id

StockTransaction (บันทึกรายการ)

ทุกการเคลื่อนไหวจะถูกบันทึกไว้ ได้แก่ RESTOCK / DEDUCTION / ADJUSTMENT / WASTE โดยหน้ารายการเดินสต๊อกแสดงผลจากตารางนี้

หน้าที่ของแต่ละหน้า

หน้าหน้าที่
รายการเดินสต๊อกfeed แสดงทุกรายการเคลื่อนไหวแบบเรียลไทม์ (เข้า/ออก)
สต๊อกคงเหลือปริมาณคงเหลือรายสาขา ณ ปัจจุบัน
แจ้งเตือนสต๊อกวัตถุดิบที่มีปริมาณต่ำกว่าจุดสั่งซื้อ
วัตถุดิบข้อมูลหลัก จุดสั่งซื้อ และหน่วยจัดซื้อ
ซัพพลายเออร์ผู้ขายและราคาของวัตถุดิบแต่ละรายการ
ใบขอซื้อคำขอซื้อภายในองค์กรและกระบวนการอนุมัติ
ใบสั่งซื้อการสั่งซื้อจากซัพพลายเออร์และการรับเข้า
บันทึกของเสียวัตถุดิบที่สูญเสียและต้นทุนที่เกิดขึ้น
ตั้งค่าหน่วยซื้อผู้จัดการ — กำหนดหน่วยการสั่งซื้อและจุดสั่งซื้อของวัตถุดิบแต่ละรายการ

หน้าตาของแต่ละหน้า

ภาพจริงจากระบบ คลิกที่ภาพเพื่อดูขนาดเต็ม

รายการเดินสต๊อก

รายการเดินสต๊อกทั้งหมดในที่เดียว ทั้งที่ระบบตัดอัตโนมัติจากออร์เดอร์และที่บันทึกเอง เรียงล่าสุดขึ้นก่อนและกรองตามสาขาได้

สต๊อกคงเหลือ

สต๊อกคงเหลือแยกตามสาขา ยอดรวมทั้งร้านคือผลรวมของทุกสาขา แต่ยอดที่ครัวใช้จริงคือยอดของสาขานั้น

แจ้งเตือนสต๊อก

วัตถุดิบที่เหลือถึงหรือต่ำกว่าจุดสั่งซื้อ ใช้ดักของขาดให้เจอก่อนถึงเวลาขาย

วัตถุดิบ

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

บันทึกของเสีย

บันทึกของเสีย ทั้งแบบระบุวัตถุดิบและแบบระบุเป็นจาน ถ้าบันทึกเป็นจานระบบจะไล่สูตรแล้วตัดวัตถุดิบจริงให้ ของเสียกับสต๊อกจึงตรงกันเสมอ

ทดลองใช้งานด้วยตนเอง

ระบบได้เตรียมข้อมูลตัวอย่างไว้แล้ว สามารถทำตามขั้นตอนต่อไปนี้เพื่อทดสอบการทำงานของกลไกทั้งสองส่วน

  1. 1

    เปิดหน้าสต๊อกคงเหลือ และจดปริมาณหมูสับคงเหลือไว้

  2. 2

    ไปที่ POS สั่งเมนูที่ใช้หมูสับ (เช่น ผัดกะเพราหมู) แล้วชำระเงิน

  3. 3

    กลับมายังหน้ารายการเดินสต๊อก จะพบรายการ DEDUCTION เพิ่มขึ้นและปริมาณหมูสับลดลง นี่คือการทำงานของกลไกที่หนึ่ง

  4. 4

    เปิดใบขอซื้อหมายเลข PRQ-…00002 (สถานะรออนุมัติ) กดอนุมัติ จากนั้นสร้างใบสั่งซื้อ

  5. 5

    เปิดใบสั่งซื้อ กดส่ง แล้วกดรับเข้า ปริมาณคงเหลือจะเพิ่มขึ้น นี่คือการทำงานของกลไกที่สอง