ระบบสินค้าคงคลัง {{ currentTabTitle }}

ภาพรวมความต้องการผลิตและสั่งซื้อ

จัดลำดับตามของเหลือน้อยก่อน (พร้อมใช้ ÷ ขั้นต่ำ) แยก 3 กลุ่มคงที่ พร้อมรูปภาพสินค้ากำกับ

ต่ำกว่าเกณฑ์: {{ lowStockCount }} รายการ
สินค้าต่ำกว่าขั้นต่ำ
{{ lowStockCount }}
รายการ
PR รอดำเนินการ
{{ prStats.pending }}
ใบ
PO รอรับของ
{{ pendingPOCount }}
ใบ
ใบงานผลิต
{{ activeBatch ? 1 : 0 }}
{{ activeBatch ? 'กำลังดำเนินการ' : 'ไม่มีงาน' }}
สต็อกต่ำกว่าขั้นต่ำ {{ lowStockItems.length }} รายการ — ควรสั่งซื้อเร็ว ๆ นี้
{{ item.name }} {{ formatPurchaseUnit(item, item.availableStock) }} / {{ formatPurchaseUnit(item, item.minStock) }}
ใบงานผลิตที่กำลังดำเนินการ (#{{ activeBatch.batchNumber }})
{{ activeBatch.recipeName }} จำนวน {{ activeBatch.targetQuantity }} {{ activeBatch.unit }}
เริ่มเมื่อ: {{ formatThaiTime(activeBatch.startedAt) }} โดย {{ activeBatch.operator }}

1. สินค้าพร้อมจำหน่าย (ห่อ 4 ชิ้น)

| ผลิตจากหมูม้วน 4 ชิ้น + ฟิล์ม 20 ซม.
สินค้าขั้นสุดท้าย
รูปภาพ & สินค้า คงเหลือ จองผลิต พร้อมใช้ หน่วย ขั้นต่ำ เป้าหมาย สัดส่วน / สถานะ ความสามารถผลิต การดำเนินการ
{{ item.name }}
{{ item.code }} | {{ item.specDetail }}
{{ item.currentStock.toLocaleString() }} {{ item.reservedStock.toLocaleString() }} {{ item.availableStock.toLocaleString() }} {{ item.baseUnit }} {{ item.minStock.toLocaleString() }} {{ item.targetStock.toLocaleString() }} ของหมด (0%) {{ (item.ratio * 100).toFixed(0) }}% ของขั้นต่ำ
ผลิตได้ ~{{ getItemCapacity(item).approxCapacity }} {{ item.baseUnit }}
ช่วงคาดการณ์ {{ getItemCapacity(item).minCapacity }}–{{ getItemCapacity(item).maxCapacity }}
{{ item.name }}
{{ item.code }}
{{ item.currentStock.toLocaleString() }} {{ item.reservedStock.toLocaleString() }} {{ item.availableStock.toLocaleString() }} {{ item.baseUnit }} {{ item.minStock.toLocaleString() }} {{ item.targetStock.toLocaleString() }} ถึงเกณฑ์ ({{ (item.ratio * 100).toFixed(0) }}%) ผลิตได้ ~{{ getItemCapacity(item).approxCapacity }} {{ item.baseUnit }}

2. วัตถุดิบแปรรูปเอง (หมูม้วนเบค่อน)

| เป็นวัตถุดิบแปรรูปสำหรับห่อสินค้า ไม่ใช่สินค้าขั้นสุดท้าย
แปรรูปในครัว
รูปภาพ & วัตถุดิบ คงเหลือ จองผลิต พร้อมใช้ หน่วย ขั้นต่ำ เป้าหมาย สัดส่วน / สถานะ ความสามารถผลิต การดำเนินการ
{{ item.name }}
{{ item.code }} | {{ item.specDetail }}
{{ item.currentStock.toLocaleString() }} {{ item.reservedStock.toLocaleString() }} {{ item.availableStock.toLocaleString() }} {{ item.baseUnit }} {{ item.minStock.toLocaleString() }} {{ item.targetStock.toLocaleString() }} ของหมด (0%) {{ (item.ratio * 100).toFixed(0) }}% ของขั้นต่ำ
ผลิตได้ ~{{ getItemCapacity(item).approxCapacity }} {{ item.baseUnit }}
ช่วงคาดการณ์ {{ getItemCapacity(item).minCapacity }}–{{ getItemCapacity(item).maxCapacity }}
{{ item.name }}
{{ item.code }}
{{ item.currentStock.toLocaleString() }} {{ item.reservedStock.toLocaleString() }} {{ item.availableStock.toLocaleString() }} {{ item.baseUnit }} {{ item.minStock.toLocaleString() }} {{ item.targetStock.toLocaleString() }} ถึงเกณฑ์ ({{ (item.ratio * 100).toFixed(0) }}%) ผลิตได้ ~{{ getItemCapacity(item).approxCapacity }} {{ item.baseUnit }}

3. วัตถุดิบซื้อเข้า (หมูสไลด์, เบค่อน, ฟิล์ม)

| สั่งซื้อจากซัพพลายเออร์เบทาโกร, บีเอ็มพี, เอโร่
ซื้อเข้า
รูปภาพ & วัตถุดิบ คงเหลือ จองผลิต พร้อมใช้ หน่วยเก็บ ขั้นต่ำ เป้าหมาย สัดส่วน / สถานะ หน่วยซื้อ / บรรจุ การดำเนินการ
{{ item.name }}
{{ item.code }} | ผู้จัด: {{ item.supplier }}
{{ formatPurchaseUnit(item, item.currentStock) }}
({{ item.currentStock.toLocaleString() }} {{ item.baseUnit }})
{{ formatPurchaseUnit(item, item.reservedStock) }}
({{ item.reservedStock.toLocaleString() }} {{ item.baseUnit }})
-
{{ formatPurchaseUnit(item, item.availableStock) }}
({{ item.availableStock.toLocaleString() }} {{ item.baseUnit }})
{{ item.purchaseUnit || item.baseUnit }}
{{ formatPurchaseUnit(item, item.minStock) }}
{{ formatPurchaseUnit(item, item.targetStock) }}
ของหมด (0%) {{ (item.ratio * 100).toFixed(0) }}% ของขั้นต่ำ 1 {{ item.purchaseUnit }} = {{ item.packRatio.toLocaleString() }} {{ item.baseUnit }}
{{ item.name }}
{{ item.code }}
{{ formatPurchaseUnit(item, item.currentStock) }}
({{ item.currentStock.toLocaleString() }} {{ item.baseUnit }})
{{ formatPurchaseUnit(item, item.reservedStock) }}
-
{{ formatPurchaseUnit(item, item.availableStock) }}
({{ item.availableStock.toLocaleString() }} {{ item.baseUnit }})
{{ item.purchaseUnit || item.baseUnit }} {{ formatPurchaseUnit(item, item.minStock) }} {{ formatPurchaseUnit(item, item.targetStock) }} ถึงเกณฑ์ ({{ (item.ratio * 100).toFixed(0) }}%) 1 {{ item.purchaseUnit }} = {{ item.packRatio.toLocaleString() }} {{ item.baseUnit }}
ใบขอซื้อทั้งหมด
{{ prStats.all }} ใบ
! รอดำเนินการ
{{ prStats.pending }} ใบ
ดำเนินการอยู่
{{ prStats.inProgress }} ใบ
เสร็จสิ้น
{{ prStats.completed }} ใบ
ยกเลิก
{{ prStats.cancelled }} ใบ
วันที่สร้าง เลขที่ใบขอซื้อ ผู้จัดจำหน่าย วันที่ต้องการรับ ชื่อผู้ขอซื้อ สถานะ จัดการ
ไม่พบข้อมูลใบขอซื้อตามเงื่อนไขที่เลือก
{{ pr.createdAt.slice(0, 10) }} {{ pr.prNumber }} {{ pr.supplier || '-' }} {{ pr.requestedDate || '-' }} {{ pr.requester }}
{{ getPRStatusLabel(pr.status) }}
{{ pr.completedItemsCount || 0 }} / {{ pr.totalItemsCount || pr.items.length }} รายการ
ฟอร์มสร้างใบขอซื้อมาตรฐาน Wongnai POS
ชื่อสินค้า สต็อก (ปัจจุบัน / เป้าหมาย) จำนวนขอซื้อ ราคา/หน่วย ราคารวม หมายเหตุ
{{ row.name }}
{{ row.specDetail || (row.packRatio + ' ' + row.baseUnit + '/แพ็ค') }}
ผู้จัดจำหน่าย: {{ row.supplier }}
{{ (row.currentStock / row.packRatio).toFixed(1) }} / {{ (row.targetStock / row.packRatio).toFixed(0) }} {{ row.purchaseUnit }}
({{ row.currentStock.toLocaleString() }} {{ row.baseUnit }})
บาท
{{ ((row.quantity || 0) * (row.unitPrice || 0)).toLocaleString() }} บาท
รวมรายการขอซื้อ: {{ prSelectedRowsCount }} รายการ
ยอดรวมประมาณการ: {{ prGrandTotal.toLocaleString() }} บาท

รายการใบสั่งซื้อ (Purchase Orders - PO)

ใบสั่งซื้อที่ส่งหาซัพพลายเออร์ พร้อมปุ่มรับสินค้าเข้าสต็อก (GR) เชื่อมโยงเข้าคลังจริง

PO ทั้งหมด: {{ state.purchaseOrders?.length || 0 }} ใบ
วันที่สั่งซื้อ เลขที่ใบสั่งซื้อ (PO) อ้างอิง PR ผู้จัดจำหน่าย ยอดเงินรวม สถานะ การดำเนินการ
ยังไม่มีรายการใบสั่งซื้อ สามารถแปลงจากใบขอซื้อ (PR) ได้
{{ po.createdAt.slice(0, 10) }} {{ po.poNumber }} {{ po.prNumber || '-' }} {{ po.supplier }} {{ (po.totalAmount || 0).toLocaleString() }} บาท รับของเข้าสต็อกแล้ว (ครบ) รับเข้าแล้ว (ของขาด) รอส่งของ / รอตรวจรับ {{ po.status }}
เข้าคลังเรียบร้อย

ผู้จัดจำหน่ายวัตถุดิบ (Suppliers)

รายชื่อคู่ค้าและซัพพลายเออร์ที่ผูกกับวัตถุดิบหลัก

{{ sup.name }}

โทร: {{ sup.contact }}

วัตถุดิบที่จัดส่งให้ร้าน:
{{ code }}

ศูนย์ทำรายการประจำวัน

บันทึกรับสินค้าเข้า ผลิตสองขั้นพร้อมจองวัตถุดิบ ตรวจนับปิดร้าน และของเสีย

ใบงานที่กำลังผลิต: {{ activeBatch.recipeName }}

#{{ activeBatch.batchNumber }}
เริ่มงานเมื่อ: {{ formatThaiTime(activeBatch.startedAt) }}
สินค้าผลผลิต: {{ activeBatch.targetItemName }}
จำนวนตามแผน: {{ activeBatch.targetQuantity }} {{ activeBatch.unit }}
สถานะสต็อกขณะนี้: จองวัตถุดิบแล้ว (ยังไม่ตัดสต็อกจริง)

ตารางวัตถุดิบที่ถูกจองไว้สำหรับงานนี้:

วัตถุดิบ สูตรต่อ 1 หน่วย ยอดจองรวม หน่วย
{{ mat.name }} {{ mat.amountPerUnit }} {{ mat.unit }} {{ mat.totalReserved.toLocaleString() }} {{ mat.unit }}

เปิดงานผลิตใหม่ (จองวัตถุดิบตอนเริ่ม)

เปิดงานได้ครั้งละหนึ่งงาน ตรวจสอบความพร้อมของสต็อกก่อนจอง

พร้อมเปิดงานใหม่

ตรวจสอบความพร้อมของวัตถุดิบ:

วัตถุดิบ คงเหลือจริง จองอื่น พร้อมใช้ ต้องใช้ สถานะ
{{ chk.name }} {{ chk.currentStock.toLocaleString() }} {{ chk.reservedStock.toLocaleString() }} {{ chk.availableStock.toLocaleString() }} {{ chk.unit }} {{ chk.required.toLocaleString() }} {{ chk.unit }} เพียงพอ ขาด {{ (chk.required - chk.availableStock).toLocaleString() }} {{ chk.unit }}

ตรวจนับปิดร้าน (ปรับปรุงยอดคงเหลือจริง)

สินค้านี้กำลังอยู่ในใบงานผลิตที่กำลังดำเนินการ กรุณาจบงานหรือยกเลิกงานก่อนทำการตรวจนับ

รับสินค้าเข้าสต็อกด่วน

บันทึกของเสียทั่วไป

รูปภาพ & สินค้า คงเหลือจริง จองผลิต พร้อมใช้ หน่วยเก็บ ขั้นต่ำ เป้าหมาย
{{ item.name }}
{{ item.code }} | {{ item.category }}
{{ formatPurchaseUnit(item, item.currentStock) }}
({{ item.currentStock.toLocaleString() }} {{ item.baseUnit }})
{{ formatPurchaseUnit(item, item.reservedStock) }}
({{ item.reservedStock.toLocaleString() }} {{ item.baseUnit }})
-
{{ formatPurchaseUnit(item, item.currentStock - item.reservedStock) }}
({{ (item.currentStock - item.reservedStock).toLocaleString() }} {{ item.baseUnit }})
{{ item.purchaseUnit || item.baseUnit }}
{{ formatPurchaseUnit(item, item.minStock) }}
{{ formatPurchaseUnit(item, item.targetStock) }}

ประวัติการเคลื่อนไหวสต็อก (Audit Trail)

วัน-เวลา ประเภท สินค้า จำนวนเคลื่อนไหว คงเหลือหลังทำ อ้างอิง จัดการ
{{ formatThaiTime(m.timestamp) }} {{ getMovementLabel(m.type) }} {{ m.itemName }} {{ m.changeAmount >= 0 ? '+' : '' }}{{ m.changeAmount.toLocaleString() }} {{ m.unit }} {{ m.balanceAfter.toLocaleString() }} {{ m.unit }} {{ m.refId || '-' }} -

จัดการข้อมูลสินค้า Master

{{ item.name }} {{ item.code }}
{{ item.category }} | ผู้จัด: {{ item.supplier }}
หน่วยซื้อ: 1 {{ item.purchaseUnit }} = {{ item.packRatio }} {{ item.baseUnit }}
ขั้นต่ำ: {{ item.minStock }} | เป้าหมาย: {{ item.targetStock }} {{ item.baseUnit }}

สูตรการผลิต (BOM Master)

กำหนดสัดส่วนวัตถุดิบและของใช้ต่อ 1 หน่วยผลผลิต (ชิ้น / ห่อ)

{{ rec.name }} {{ rec.code }}
ผลผลิตมาตรฐาน: 1 {{ rec.yieldUnit }} ({{ rec.targetItemName }})
วัตถุดิบที่ใช้ต่อ 1 หน่วย:
{{ ing.name }}
≈ {{ ing.approxAmount }} {{ ing.unit }}

สำรอง & จัดเก็บข้อมูล

ส่งออกและนำเข้าข้อมูล JSON พร้อมใบขอซื้อและใบสั่งซื้อทั้งหมด

บันทึกการพัฒนา

{{ log.date }}

{{ log.title }}

  • {{ c }}

รายงานสรุปภาพรวม

ต้นทุนวัตถุดิบ ประวัติการผลิต และสรุปการสั่งซื้อทั้งหมด

รายงาน
ต้นทุนวัตถุดิบที่ซื้อเข้าทั้งหมด
{{ totalReceiveCost.toLocaleString() }} บาท
จาก {{ receiveMovements.length }} รายการรับเข้า
รอบการผลิตทั้งหมด
{{ productionYieldMovements.length }} รอบ
ที่บันทึกผลผลิตสำเร็จ
ยอดรวม PO ทั้งหมด
{{ totalPOAmount.toLocaleString() }} บาท
จาก {{ (state.purchaseOrders || []).length }} ใบสั่งซื้อ

ประวัติการผลิต (Batch History)

วัน-เวลา สินค้าผลิต จำนวนได้ หน่วย อ้างอิง Batch
ยังไม่มีประวัติการผลิต
{{ formatThaiTime(m.timestamp) }} {{ m.itemName }} +{{ m.changeAmount.toLocaleString() }} {{ m.unit }} {{ m.refId || '-' }}

สรุปการสั่งซื้อ (Purchase Orders)

วันที่ เลขที่ PO อ้างอิง PR ผู้จัดจำหน่าย ยอดเงิน สถานะ
ยังไม่มีรายการสั่งซื้อ
{{ po.createdAt.slice(0, 10) }} {{ po.poNumber }} {{ po.prNumber || '-' }} {{ po.supplier }} {{ (po.totalAmount || 0).toLocaleString() }} บาท รับแล้ว รอรับ {{ po.status }}
รวมทั้งหมด {{ totalPOAmount.toLocaleString() }} บาท

จบงานผลิต / บันทึกผลผลิตจริง

ยกเลิกงานผลิต

แก้ไขรายการเดิม

{{ itemMasterForm.id ? 'แก้ไขสินค้า' : 'เพิ่มสินค้า' }}

รองรับรูปถ่ายจากมือถือและคอมพิวเตอร์

ใบขอซื้อ #{{ viewingPR.prNumber }}

สร้างเมื่อ: {{ viewingPR.createdAt.slice(0, 10) }}
ผู้จัดจำหน่าย: {{ viewingPR.supplier }}
วันที่ต้องการรับ: {{ viewingPR.requestedDate || '-' }}
ผู้ขอซื้อ: {{ viewingPR.requester }}
สถานะ: {{ getPRStatusLabel(viewingPR.status) }}
ผู้อนุมัติสามารถปรับลด/เพิ่มจำนวนขอซื้อด้านล่างได้ตามความเหมาะสม ก่อนกดอนุมัติออก PO
สินค้า จำนวนขอซื้อ ราคา/หน่วย รวม
{{ item.name }}
{{ item.specDetail }}
{{ item.unit }}
{{ item.quantity }} {{ item.unit }}
{{ item.unitPrice }} บ. {{ item.totalPrice.toLocaleString() }} บ.
ยอดรวมทั้งหมด: {{ (viewingPR.totalAmount || 0).toLocaleString() }} บาท

ตรวจรับสินค้าเข้าคลัง (Goods Receipt)

อ้างอิงใบสั่งซื้อ #{{ checkingPO.poNumber }} ({{ checkingPO.supplier }})
กรุณาตรวจนับจำนวนสินค้าที่ขนส่งมาส่งจริง หากของไม่ครบสามารถปรับลดจำนวนได้
สินค้า สั่งซื้อ จำนวนส่งจริง สถานะตรวจรับ หมายเหตุของส่ง
{{ row.name }}
{{ row.code }} | {{ row.specDetail }}
{{ row.quantity }} {{ row.unit }}
{{ row.unit }}
ครบถ้วน ({{ row.quantity }}) ของขาด (ขาด {{ row.quantity - row.receivedQuantity }}) ส่งเกิน (+{{ row.receivedQuantity - row.quantity }})
* สต็อกจะเพิ่มเข้าคลังจริงตาม "จำนวนส่งจริง" ที่ตรวจสอบเท่านั้น

{{ recipeForm.id ? 'แก้ไขสูตรการผลิต (BOM)' : 'เพิ่มสูตรการผลิตใหม่ (BOM)' }}

กำหนดสินค้าผลผลิตและสัดส่วนวัตถุดิบที่ใช้ผลิต 1 หน่วย

{{ ing.unit }}
! i ✓
{{ t.message }}