📊 Executive Dashboard ({{ globalStock === 'ALL' ? 'รวมทุกคลัง' : 'คลัง '+globalStock }})
มูลค่ายาคงคลัง (พร้อมจ่าย)
{{ formatCurrency(dashInventoryValue) }}
{{ dashFilteredInventory.length }} รายการ
มูลค่ายารอตรวจรับ (Pending)
{{ formatCurrency(dashPendingValue) }}
รอตรวจรับ: {{ pendingBills.length }} บิล
ใบเบิกฉุกเฉิน (รอเคลียร์)
{{ unclearedEmgList ? unclearedEmgList.length : 0 }} รายการ
คลิกเพื่อดูทะเบียนจ่ายออก
จุดสั่งซื้อ & สินค้าหมด
{{ dashReorderItems.length }} รายการ
ดูตารางด้านล่าง
🎯 ABC-VEN Matrix (ยา) ปีงบ {{ abcFY }} · คลิกช่องเพื่อดูรายการ
เปิดสรุปรายงาน ABC-VEN ›
| V | E | N | ยังไม่ระบุ | รวม |
| {{ r === '-' ? 'ไม่มีซื้อ' : r }} |
{{ abcVenMatrix.cells[r + c].n }} |
{{ abcVenMatrix.rowTotal[r] }} |
🛒 มูลค่าจัดซื้อสะสมทั้งหมด (ED vs NED)
ED: {{purchasedEdPercent}}%
NED: {{purchasedNedPercent}}%
ไม่มีประวัติการจัดซื้อยา ED/NED
ED: {{ formatCurrency(purchasedEdTotal) }}
NED: {{ formatCurrency(purchasedNedTotal) }}
📊 มูลค่ายาคงคลังปัจจุบัน (ED vs NED)
ED: {{edPercent}}%
NED: {{nedPercent}}%
ไม่มีข้อมูลยา ED/NED คงคลัง
ED: {{ formatCurrency(edTotal) }}
NED: {{ formatCurrency(nedTotal) }}
การจัดซื้อเทียบแผนประจำปี (คลังยาใหญ่ · นับการรับจากบริษัท)
ยังไม่มีแผนจัดซื้อปี {{ planYear }}
นำเข้าหรือเพิ่มแผน
จัดซื้อแล้ว {{ formatCurrency(planSummary.boughtVal) }} จากแผน {{ formatCurrency(planSummary.planVal) }}{{ fmtPct(planSummary.pct) }}
📊 แนวโน้มรายเดือน (ตามรายงาน สจ.รง.1051) คลังใหญ่
เปิดรายงาน สจ.รง.1051 ›
คงคลัง · จ่ายออก · จัดซื้อ รายเดือน
{{ sjDash.mode === 'control' ? 'Control Chart (I-Chart)' : 'Run Chart' }}
ค่าเฉลี่ย {{ sjFmt(sjStats.center) }} · UCL {{ sjFmt(sjStats.ucl) }} · LCL {{ sjFmt(sjStats.lcl) }} · จุดนอกเส้นควบคุม {{ sjStats.out }}
มัธยฐาน {{ sjFmt(sjStats.center) }} · จุดที่อยู่ในช่วงเลื่อนไหล (≥ 6 จุดติดกันด้านเดียวกัน) {{ sjStats.shift }}
⚠ ข้อมูลน้อยกว่า 8 เดือน การแปลผลอาจไม่แม่นยำ
📈 Top 10 มูลค่าเบิกใช้สูงสุด
🏢 สัดส่วนเบิกใช้ตามหน่วยงาน
🔴 สินค้าหมด / ต่ำกว่าจุดสั่งซื้อ (คลัง: {{ globalStock }})
| สินค้า {{sortIcon('name')}} |
คงเหลือ {{sortIcon('qty')}} |
ต่ำกว่า Min {{sortIcon('diffMin')}} |
Min {{sortIcon('locMin')}} |
| {{ i.name }} |
{{ formatNumber(i.qty) }} {{ i.unit }} |
-{{ formatNumber(i.diffMin) }} |
{{ i.locMin }} |
| สินค้าในคลังเพียงพอ |
หน้า {{ dashReorderPage }} / {{ totalDashReorderPages }}
⚠️ ใกล้หมดอายุ / หมดอายุแล้ว
| สินค้า | Lot | Exp Date |
| {{ l.productName }} |
{{ l.lot }} |
{{ l.exp }} |
| ปลอดภัย ไม่มีรายการใกล้ Exp |
หน้า {{ dashExpPage }} / {{ totalDashExpPages }}
📦 บันทึกยอดยกมา (คลัง: {{ globalStock }})
| รายการสินค้า | จำนวน | ราคา/หน่วย | มูลค่ารวม | Lot/Exp | ลบ |
| {{ item.productName }} |
{{ formatNumber(item.qty) }} |
{{ formatNumber(item.unitPrice) }} |
{{ formatNumber(item.totalPrice) }} |
{{ item.lotNo }} {{ item.expDate }} |
|
{{ globalStock === 'MAIN' ? 'การรับยาเข้าคลังจากบริษัท จะรับเข้าคลังใหญ่ (MAIN) ก่อนเสมอ' : 'รับตรงจากบริษัทเข้า ' + locLabel(globalStock) + ' (ไม่ผ่านคลังใหญ่) — เลือกสินค้าได้ทุกประเภท ทั้งยาและเวชภัณฑ์มิใช่ยา' }}
📥 รับ{{ globalStock === 'MAIN' ? 'ยา' : 'ของ' }}จากบริษัท (รอตรวจรับ) → {{ locLabel(globalStock) }}
📋 ตรวจรับเข้าคลัง ({{ locLabel(globalStock) }})
| รายการยา | จำนวน | PackSize | ราคา/หน่วย | ราคารวม | Lot/Exp | ลบ |
| {{ item.productName }} |
{{ formatNumber(item.qty) }} |
{{ formatNumber(item.packSize) }} |
{{ formatNumber(item.unitPrice) }} |
{{ formatNumber(item.totalPrice) }} |
{{ item.lotNo }} {{ item.expDate }} |
|
| ยอดรวมทั้งบิล (รอตรวจรับ) |
{{ formatCurrency(cartRecTotal) }} |
|
รอนานสุด: {{ waitMetrics.max }} วัน
เฉลี่ย: {{ waitMetrics.avg }} วัน
เร็วสุด: {{ waitMetrics.min }} วัน
| วันที่รับของ |
เลขบิล |
บริษัท |
มูลค่ารวม |
สถานะ |
วันที่ตรวจรับ |
เลขเอกสาร |
แหล่งเงิน |
Action |
| {{ bill.receivedDate }} |
{{ bill.refBillNo }}เบิก ฉ. {{ billEmgMap[bill.id] }} รายการ |
{{ bill.vendor }} |
{{ formatCurrency(bill.totalVal) }} |
รอตรวจรับตรวจรับแล้ว |
{{ bill.inspectDate || '-' }} |
{{ bill.docNo || '-' }} |
{{ bill.budgetSource || '-' }} |
|
| ไม่มีข้อมูลบิล |
ตรวจรับยาเข้าคลังใหญ่
บิลเลขที่: {{ formInspect.refBillNo }}
บริษัท: {{ formInspect.vendor }}
📦 รายการในบิลนี้
| รายการยา | จน. | มูลค่า |
| {{ getProductName(it.productId) }} เบิก ฉ. ไปแล้ว {{ formatNumber(it.emgQty) }} ({{ it.emgDocs.map(d => d.doc).join(', ') }}) → เหลือจริง {{ formatNumber(it.remain) }} | {{ formatNumber(it.qty) }} | {{ formatCurrency(it.totalPrice) }} |
เมื่อยืนยันตรวจรับ ระบบจะ ตัดยอดรายการเบิก ฉ. ออกจาก Lot ที่รับเข้าอัตโนมัติ (คงเหลือจริง = รับเข้า − เบิก ฉ.) และรายการยังอยู่ในหน้า "เคลียร์ ฉ." เพื่อระบุเลขใบเบิกจริงต่อไป
ระบุสัดส่วนงบประมาณ (ยอดบิลรวม: {{ formatNumber(formInspect.totalBillVal) }} ฿)
รายละเอียดบิล: {{ currentViewBill.refBillNo }}
บริษัท: {{ currentViewBill.vendor }}
วันที่รับ: {{ currentViewBill.receivedDate }}
สถานะ: {{ currentViewBill.status==='Pending'?'รอตรวจรับ':'ตรวจรับแล้ว' }}
มูลค่ารวม: {{ formatCurrency(currentViewBill.totalVal) }}
📦 รายการสินค้า ({{ currentViewBill.items ? currentViewBill.items.length : 0 }} รายการ)
| รายการยา | Lot | จำนวน | เบิก ฉ. | คงเหลือจริง | ราคา/หน่วย | รวม |
| {{ getProductName(it.productId) }} |
{{ it.lotNo }} |
{{ formatNumber(it.qty) }} |
{{ formatNumber(it.emgQty) }} {{ d.doc }} · {{ formatNumber(d.qty) }} · {{ d.state }} |
{{ it.emgQty ? formatNumber(it.remain) : '-' }} |
{{ formatNumber(it.unitPrice) }} |
{{ formatCurrency(it.totalPrice) }} |
| ไม่มีรายการสินค้า |
รายละเอียดเอกสาร: {{ docView.docLabel }}
ประเภท: {{ docView.type }}
วันที่: {{ String(docView.date || '').split(' ')[0] }}
{{ docView.type=='IN' ? 'แหล่งที่มา' : 'ปลายทาง' }}: {{ docView.entity }}
มูลค่ารวม: {{ formatCurrency(docView.total) }}
บิลบริษัท: {{ docView.bill.refBillNo }}
สถานะ: {{ docView.bill.status==='Pending'?'รอตรวจรับ':'ตรวจรับแล้ว' }}
วันที่ตรวจรับ: {{ docView.bill.inspectDate || '-' }}
แหล่งงบ: {{ docView.bill.budgetSource || '-' }}
อ้างอิง: {{ docView.ref }}
แก้ไขหัวเอกสาร (มีผลกับทุกรายการในใบนี้)
📦 รายการสินค้า ({{ docView.items ? docView.items.length : 0 }} รายการ)
เพิ่มรายการใน Stock Card
{{ getProductName(scProdId) }} · คลัง {{ locLabel(globalStock) }} · คงเหลือ {{ formatNumber(inventory.find(i => i.id === scProdId)?.qty || 0) }}
แก้ไขรายการ ({{ scEdit.row.type === 'IN' ? 'รับเข้า' : (scEdit.isShelf ? 'จ่ายขึ้น Shelf' : 'จ่ายออก') }})
{{ getProductName(scEdit.row.productId) }} · คลัง {{ locLabel(scEdit.row.stockLocation) }}
วันที่ / เลขเอกสาร / ปลายทาง เป็นข้อมูลระดับใบ — การแก้ไขจะมีผลกับทุกรายการในใบเดียวกัน ({{ scEdit.docCount }} รายการ)
เปิด/ปิดใช้งานรายการ: {{ locLabel(globalStock) }}
ติ๊กออก = ปิดใช้งานในคลังนี้ (ไม่ถูกดึงใน Auto ขอเบิก / แจ้งเตือนถึงจุดสั่งซื้อ) · คลังอื่นไม่กระทบ
{{ stkItemRows.length }} รายการ
{{ confirmAct.title }}
การดำเนินการนี้จะถูกบันทึกใน Log (ชื่อผู้ทำรายการ เวลา และค่าก่อน-หลัง)
🗂️ แผนจัดซื้อประจำปี (คลังยาใหญ่)
มูลค่าตามแผน
{{ formatCurrency(planSummary.planVal) }}
{{ planSummary.itemCount }} รายการ
จัดซื้อแล้ว (ในแผน)
{{ formatCurrency(planSummary.boughtVal) }}
รับตั้งแต่ {{ planRange.start }} ถึง {{ planRange.end }}
% จัดซื้อต่อแผน
{{ fmtPct(planSummary.pct) }}
ซื้อนอกแผน
{{ formatCurrency(planSummary.unplannedVal) }}
{{ planSummary.counts.unplanned }} รายการ
ตรวจสอบก่อนนำเข้า: {{ planImport.fileName }}
พร้อมนำเข้า {{ planImportOk.length }} มีข้อสังเกต {{ planImport.rows.filter(r => r.status === 'warn').length }} ข้าม {{ planImport.rows.filter(r => r.status === 'error').length }}
| # | ID | รายการ (ไฟล์) | สินค้าในระบบ | ราคา | จำนวน | มูลค่า | ผล |
| {{ r.line }} | {{ r.id }} | {{ r.name }} | {{ r.product ? r.product.name : '-' }} | {{ formatNumber(r.price) }} | {{ formatNumber(r.qty) }} | {{ formatCurrency(r.price * r.qty) }} | {{ r.msg || 'OK' }} |
| รายการ {{ planSortMark('name') }} | หน่วย |
ราคา/หน่วย |
จำนวนแผน {{ planSortMark('planQty') }} |
มูลค่าแผน {{ planSortMark('planVal') }} |
ซื้อแล้ว (จน.) {{ planSortMark('boughtQty') }} |
ซื้อแล้ว (มูลค่า) {{ planSortMark('boughtVal') }} |
คงเหลือตามแผน {{ planSortMark('remainQty') }} |
% จัดซื้อ {{ planSortMark('pctQty') }} |
จัดการ |
| {{ r.name }} [{{ r.productId }}]นอกแผน |
{{ r.unit }} |
{{ r.status === 'unplanned' ? '-' : formatNumber(r.price) }} |
{{ r.status === 'unplanned' ? '-' : formatNumber(r.planQty) }} |
{{ r.status === 'unplanned' ? '-' : formatCurrency(r.planVal) }} |
{{ formatNumber(r.boughtQty) }} |
{{ formatCurrency(r.boughtVal) }} |
{{ r.status === 'unplanned' ? '-' : formatNumber(r.remainQty) }} |
- |
|
| ไม่มีรายการตามเงื่อนไข |
% จัดซื้อ = จำนวนที่รับจากบริษัทเข้าคลังยาใหญ่ในปีงบประมาณนั้น (1 ต.ค. – 30 ก.ย.) ÷ จำนวนตามแผน · ไม่นับยอดยกมา/การปรับสต็อก/การโอนระหว่างคลัง
แก้ไขรายการแผน
{{ planEdit.name }} [{{ planEdit.productId }}] · {{ planEdit.unit }}
มูลค่า: {{ formatCurrency((planEdit.price || 0) * (planEdit.qty || 0)) }}
📋 บันทึกการใช้งาน (Log) เฉพาะ God
| เวลา | ผู้ทำรายการ | การกระทำ | เอกสาร / เป้าหมาย | คลัง | รายละเอียด |
| {{ l.log_time }} |
{{ l.user_name || l.username }} {{ l.username }} · {{ l.user_role }} |
{{ LOG_LABEL[l.action] || l.action }} |
{{ l.target }} |
{{ l.stock_location }} |
{{ t }}
⚠ Log เก่า ไม่มีข้อมูลเต็ม — กู้คืนไม่ได้ |
| {{ logLoading ? 'กำลังโหลด...' : 'ไม่มี Log' }} |
🔢 ปรับรหัส (ID) แบบเก่าเป็นตัวเลข เฉพาะ God
ทำก่อนกดยืนยัน: สำรองฐานข้อมูล (Export จาก phpMyAdmin) · ให้ผู้ใช้อื่นออกจากระบบชั่วคราว
ระบบจะเปลี่ยนรหัสสินค้า PROD-… / DRUG-…, บริษัท V-… และหน่วยเบิก DEPT-… ให้เป็นเลขลำดับต่อท้ายค่าล่าสุดที่มีอยู่ พร้อมแก้ทุกที่ที่อ้างอิงรหัสสินค้า (รายการรับ-จ่าย แผนจัดซื้อ บาร์โค้ด Min/Max ใบขอเบิก) — ทำทั้งหมดในครั้งเดียว ถ้าพลาดจะย้อนกลับ
ดำเนินการเสร็จแล้ว — รหัสถูกเปลี่ยนตามตารางด้านล่าง และบันทึกใน Log แล้ว
{{ idMig.plan.products.length }}
สินค้า
{{ idMig.plan.vendors.length }}
บริษัท
{{ idMig.plan.depts.length }}
หน่วยเบิก/ปลายทาง
{{ idMig.plan.deleteDepts.length }}
ปลายทางซ้ำที่จะลบ
แถวที่จะถูกแก้รหัสสินค้าตาม: {{ t }}: {{ n }}
ลบ {{ d.id }} “{{ d.name }}” (ซ้ำกับ {{ d.keep }} “{{ d.keepName }}”)
ปลายทางในใบจ่ายเก่า “{{ r.from }}” → “{{ r.to }}” ({{ r.rows }} แถว)
{{ sec[0] }}
| รหัสเดิม | → รหัสใหม่ | ชื่อ |
|---|
| {{ m.old }} | {{ m.new }} | {{ m.name }} |
| ไม่มีรายการที่ต้องเปลี่ยน |
ไม่มีรหัสแบบเก่าที่ต้องเปลี่ยนแล้ว
เคลียร์รายการเบิกฉุกเฉิน (ฉ.)
รายการเหล่านี้คือการเบิกจาก "รอตรวจรับ (Pending)" เมื่อมีการออกใบเบิกจริงแล้ว ให้เลือกรายการและระบุเลขใบเบิกเพื่อกระทบยอด
(ระบบจะทำการย้ายสต็อกไปอยู่ MAIN เสมือนรับเข้าคลังใหญ่และจ่ายออกทันที เพื่อให้ Stock Card ของ MAIN สมบูรณ์)
จ่ายสินค้า / ตัดสต็อก
คุณกำลังทำการจ่ายยาโดยตัดสต็อกจากคลังพื้นฐาน: {{ globalStock === 'MAIN' ? 'คลังยาใหญ่' : 'คลัง '+globalStock }}
มีใบขอเบิกรอจ่าย ({{ pendingRequestsList.length }} รายการ)
จัดจ่ายตามใบขอเบิก {{ pick.reqId }} ({{ formOut.dept }})
ร่างล่าสุด {{ pick.savedAt }}
Approve แล้ว {{ pickProgress.done }} / {{ pickProgress.total }} รายการ{{ pickProgress.pct }}%
แสดงหน้าละ
รายการ
| # | สินค้า | ขอเบิก | คงคลัง (ทุก Lot) | จำนวนที่จ่าย | มูลค่า | Approve |
| {{ r.no }} |
{{ r.name }} {{ r.unit }} |
{{ formatNumber(r.want) }} |
Lot {{ l.lot || '-' }} · Exp {{ l.exp }}{{ formatNumber(l.qty) }}
ไม่มีสต็อก
รวม{{ formatNumber(r.stockTotal) }}
|
+ ฉ. {{ formatNumber(r.pendTake) }} = {{ formatNumber(r.issued) }}
ขาด {{ formatNumber(r.want - r.issued) }} เกินที่ขอ {{ formatNumber(r.issued - r.want) }} |
{{ formatCurrency(r.value) }} |
|
| รวมมูลค่าที่จ่าย (ทุกรายการ) | {{ formatCurrency(pickTotalValue) }} | |
บันทึกการจ่ายเรียบร้อย · เลขที่เอกสาร {{ pick.doneDoc.docNo }} · {{ pick.doneDoc.dept }} · ขอ {{ pick.doneDoc.rows.length }} รายการ · มูลค่า {{ formatCurrency(pick.doneDoc.total) }}
| สินค้า | แหล่งตัดสต็อก | Lot ที่ตัด | จำนวน | ทุนรวม | ลบ |
| {{ item.productName }} |
{{ item.stockSource }} |
{{ item.lotNo }} |
{{ formatNumber(item.qty) }} |
{{ formatCurrency(item.totalPrice) }} |
|
| รวมมูลค่าต้นทุนที่จ่าย | {{ formatCurrency(cartOutTotal) }} | |
ตรวจสอบ/ปรับมูลค่ายาคงคลัง (MAIN)
| รหัสสินค้า {{sortIcon('id')}} |
รายการสินค้า {{sortIcon('name')}} |
จำนวนคงเหลือ {{sortIcon('qty')}} |
มูลค่าในระบบ (บาท) {{sortIcon('totalVal')}} |
ปรับมูลค่า |
| {{ item.id }} |
{{ item.name }} |
{{ formatNumber(item.qty) }} {{ item.unit }} |
{{ formatCurrency(item.totalVal) }} |
|
| -- ไม่พบรายการ -- |
ปรับปรุงมูลค่ายาคงคลัง
{{ adjustValForm.productName }}
จำนวนคงเหลือ: {{ formatNumber(adjustValForm.qty) }} {{ adjustValForm.unit }}
* การปรับมูลค่าจะไม่กระทบจำนวนยาคงเหลือ ระบบจะสร้าง Transaction พิเศษเพื่อบวก/ลบยอดเงินส่วนต่างให้ตรงกับมูลค่าใหม่
Stock Card บัตรสต็อก (คลัง: {{ globalStock }})
ผูกบาร์โค้ด
{{ getProductName(scProdId) }}
Min: {{ getLocMinMax(scProdId, globalStock).min }} |
Max: {{ getLocMinMax(scProdId, globalStock).max }}
ตั้งค่า
Min: {{ getLocMinMax(scProdId, globalStock).min }}
Max: {{ getLocMinMax(scProdId, globalStock).max }}
ยอดปัจจุบัน: {{ formatNumber(inventory.find(i => i.id === scProdId)?.qty || 0) }}
| ว.ด.ป. |
เลขเอกสาร |
สั่งซื้อจาก / จ่ายให้ |
ราคา/หน่วย |
วันหมดอายุ |
รับเข้า (IN) |
จ่ายออก (OUT) |
ยอดคงเหลือ |
จัดการ |
| {{ formatThaiDate(row.date.split(' ')[0]) }} |
{{ scDocOf(row) }} (ฉ.) {{ row.note }} |
{{ row.vendorOrDept || '-' }} |
{{ formatNumber(row.unitPrice) }} |
{{ formatThaiDate(row.expDate) || '-' }}
{{ scExpBadge(row).text }} |
{{ row.type==='IN' ? formatNumber(row.qty) : '-' }} |
{{ row.type==='OUT' ? formatNumber(row.qty) : '-' }} |
{{ formatNumber(row.runBal) }} |
|
| ไม่มีประวัติการเคลื่อนไหวในคลังนี้ |
ประวัติรับจ่าย & พิมพ์แบบฟอร์ม รพ. (คลัง: {{ globalStock }})
ซ่อนรายการจ่ายขึ้น Shelf {{ shelfHiddenCount }} รายการ — ดูสรุปได้ที่
สรุปรายงาน › จ่ายขึ้น Shelf
| วันที่ | เลขที่เอกสาร | ประเภท | ปลายทาง/แหล่งที่มา | ยอดรวมสุทธิ | พิมพ์แบบฟอร์ม รพ. | จัดการ |
| {{ doc.date.split(' ')[0] }} |
{{ doc.docLabel }} บิลบริษัท: {{ doc.bill.refBillNo }}อ้างอิง: {{doc.ref}} |
{{ doc.type }} |
{{ doc.entity }} |
{{ formatCurrency(doc.total) }} |
-
|
|
| ไม่มีประวัติการทำรายการในคลังนี้ |
รายการจัดซื้อ/จัดจ้างเวชภัณฑ์ยา
ประจำเดือน {{ poPrintData.monthLabel }}
| ลำดับ |
ชื่อสามัญ |
บริษัท |
หน่วยนับ |
ราคา |
อัตราการใช้ ปี {{ poPrintData.fy }} |
Rate/1mo |
min |
max |
จำนวนคงคลัง {{ poPrintData.stockDate }} |
จำนวนขอสั่งซื้อ |
มูลค่า |
| {{ r.no }} |
{{ r.name }} |
{{ r.vendor }} |
{{ r.unitLabel }} |
{{ poFmt(r.price, 2, 2) }} |
{{ poFmt(r.usage, 0, 0) }} |
{{ poFmt(r.rate, 0, 0) }} |
{{ poFmt(r.min, 0, 0) }} |
{{ poFmt(r.max, 0, 0) }} |
{{ poFmt(r.onHand, 0, 0) }} |
{{ poFmt(r.qty, 0, 0) }} |
{{ poFmt(r.val, 2, 2) }} |
| รวม |
{{ poFmt(poPrintData.sum, 2, 2) }} |
จึงเรียนมาเพื่อโปรดพิจารณาอนุมัติ จะเป็นพระคุณยิ่ง
หมายเหตุ: {{ printPoDoc.note }}
ลงชื่อ.............................................
({{ poSign.n1 }})
{{ poSign.t1 }}
วันที่ {{ poPrintData.monthLabel }}
ลงชื่อ.............................................
({{ poSign.n2 }})
{{ poSign.t2 }}
วันที่ {{ poPrintData.monthLabel }}
โรงพยาบาลจิตเวชเลยราชนครินทร์
ใบเบิกหรือใบส่งคืน
F-SP-011
|
แผ่นที่ {{ pg.n }}
ของจำนวน {{ printPages.length }} แผ่น
จาก {{ printDoc.entity }}
ถึง คลังยา รพ.จิตเวชเลยราชนครินทร์ ({{ printDoc.stockLoc === 'MAIN' ? 'คลังใหญ่' : printDoc.stockLoc }})
|
| / |
✓ เบิก
|
เลขที่ใบเบิกหรือส่งคืน {{ printDoc.ref !== '-' ? printDoc.ref : printDoc.id }}
|
|
ส่งคืน
|
ทะเบียนเอกสาร ...................................
|
วันที่ต้องการ {{ formatThaiDate(printDoc.date.split(' ')[0]) }}
|
ประเภทเงิน ......................................................
|
|
|
ประเภทพัสดุและ/หรือครุภัณฑ์ที่เกี่ยวข้อง: เวชภัณฑ์ยา / เวชภัณฑ์มิใช่ยา
|
| ลำดับ |
หมายเลข พัสดุ |
รายการ |
รหัส |
หน่วยนับ |
จำนวน |
ราคาหน่วยละ |
ราคารวม |
| ขอเบิก |
จ่ายหรือรับคืน |
| {{ pg.start + i + 1 }} |
{{ printDoc.stockLoc === 'Pending' || item.emg || (printDoc.note && printDoc.note.includes('ฉ.')) ? 'ฉ.' : ((printDoc.combined ? item.stockLoc : printDoc.stockLoc) === 'OPD' ? 'น' : '') }} |
{{ item.name }} |
|
{{ getPrintUnitStr(item) }} |
{{ item.reqQty !== undefined ? item.reqQty : item.qty }} |
{{ printDoc.isRequest ? '' : item.qty }} |
{{ printDoc.isRequest ? '' : formatNumber(item.price) }} |
{{ printDoc.isRequest ? '' : formatNumber(item.total) }} |
| - |
|
|
|
|
|
|
|
|
|
หลักฐานที่ใช้เบิก / ส่งคืน
{{ printEvidence.no }} ลงวันที่ {{ formatThaiDate(printEvidence.date) }}
|
รวมแผ่นนี้ |
{{ printDoc.isRequest ? '' : formatNumber(pg.total) }} |
| รวมทั้งสิ้น |
{{ printDoc.isRequest ? '' : formatNumber(printDoc.total) }} |
|
รวมทั้งสิ้น (ตัวอักษร)
|
( {{ printDoc.isRequest ? '' : bahtText(printDoc.total) }} )
|
|
ให้บุคคลต่อไปนี้เป็นผู้รับพัสดุแทนได้
ผู้มีสิทธิเบิก / ส่งคืน ...................................................................
ได้รับของตามจำนวนและรายการที่จ่ายเรียบร้อยแล้ว
ผู้รับพัสดุ ...................................................................................
|
ผู้ตรวจสอบ .............................................................................
ผู้อนุมัติจ่าย / รับคืน ...............................................................
ผู้จ่าย .......................................................................................
รหัสจ่าย
[ ] ครั้งคราว [ ] ประจำ
รหัสส่งคืน
[ ] ใช้การได้ [ ] ใช้การไม่ได้
|
ระบบขอเบิกเวชภัณฑ์
ใบขอเบิกของ {{ locLabel(globalStock) }} (ล่าสุด 50 ใบ)
| เลขที่ใบขอ | วันที่ | รายการ | สถานะ | จัดการ |
| {{ r.id }} |
{{ formatThaiDate(String(r.date).split(' ')[0]) }} |
{{ r.items.length }} |
{{ r.status==='Pending' ? 'รอคลังใหญ่จ่าย' : (r.status==='Completed' ? 'จ่ายแล้ว' : 'ยกเลิก') }} |
|
| ยังไม่มีใบขอเบิกของคลังนี้ |
บริหารการสนับสนุนยา รพ.ชุมชน
เฉพาะใบเบิกที่จ่ายจากคลังใหญ่ไปยังโรงพยาบาล · ใช้ติดตามสถานะการเคลียร์เงิน หลักฐาน และการทวงถาม
จำนวนใบเบิก
{{ hsTotals.docs }}
ยอดเบิกรวม (บาท)
{{ formatCurrency(hsTotals.value) }}
เคลียร์แล้ว (บาท)
{{ formatCurrency(hsTotals.paid) }}
ค้างชำระ (บาท)
{{ formatCurrency(hsTotals.owed) }}
สรุปยอดสนับสนุน รพ.ชุมชน{{ hsUI.fy ? ' ปีงบ ' + hsUI.fy : ' (' + formatThaiDate(hsUI.from) + ' - ' + formatThaiDate(hsUI.to) + ')' }}
สถานะการเคลียร์เงินรายโรงพยาบาล (สำหรับรายงานผู้บริหาร)
| รพ. | ใบเบิก | ยอดเบิก | เคลียร์แล้ว | ค้างชำระ | สัดส่วน | ใบเบิกค้าง | ติดตามล่าสุด | |
| {{ hsShort(h.name) }} |
{{ h.docs }} |
{{ formatCurrency(h.value) }} |
{{ formatCurrency(h.paid) }} |
{{ formatCurrency(h.owed) }} |
|
{{ h.unpaidDocs }} |
{{ h.lastFu ? formatThaiDate(h.lastFu.date) + ' · ' + h.lastFu.note.slice(0, 40) : '-' }} |
|
| ไม่มีข้อมูล |
สรุปรายการยาที่สนับสนุน {{ hsCoreSet.size ? '(ตามข้อตกลง ' + hsCoreSet.size + ' รายการ)' : '' }}
ยังไม่ได้กำหนด “รายการยาตามข้อตกลง (35 รายการ)” — ไปที่แท็บ ⚙️ ตั้งค่า เพื่อเลือกรายการ ระบบจึงจะแยกยานอกรายการให้
| # | รายการยา | ประเภท | จำนวนที่จ่าย | มูลค่า | ใบเบิก | รพ.ที่เบิก |
| {{ i + 1 }} |
{{ r.name }} |
-ในรายการนอกรายการ (ผ่อนผัน) |
{{ formatNumber(r.qty) }} {{ r.unit }} |
{{ formatCurrency(r.value) }} |
{{ r.docs }} |
{{ r.hosps.map(hsShort).join(', ') }} |
| ไม่มีข้อมูล |
ยาในรายการข้อตกลงที่ยังไม่มีการเบิกในช่วงนี้: {{ hsCoreUnused.length ? hsCoreUnused.join(', ') : '— ไม่มี —' }}
แนวโน้มมูลค่าการสนับสนุนยา รพ.ชุมชน รายปีงบประมาณ
ปีงบ 2569 และก่อนหน้า ใช้ยอดที่นำเข้าย้อนหลัง · ปีงบ 2570 เป็นต้นไป ใช้ใบเบิกจริงในระบบ (ถ้าปีเก่าไม่มียอดนำเข้า จะใช้ใบเบิกในระบบแทน)
| รพ. | {{ y }} | รวม |
| {{ hsShort(r.name) }} | {{ r.vals[y] ? formatNumber(Math.round(r.vals[y])) : '-' }} | {{ formatNumber(Math.round(r.total)) }} |
| ยังไม่มีข้อมูล |
| รวมทุก รพ. | {{ formatNumber(Math.round(hsTrend.totals[y] || 0)) }} | {{ formatNumber(Math.round(hsTrend.grand)) }} |
📥 นำเข้ายอดเบิกย้อนหลัง (ปีงบ 2569 และก่อนหน้า — เก็บเฉพาะมูลค่า)
1) ดาวน์โหลดแม่แบบ → 2) กรอก ปีงบประมาณ / โรงพยาบาล / มูลค่าเบิก (หนึ่งแถวต่อ รพ. ต่อปี หรือหลายแถวก็ได้ ระบบรวมให้) → 3) เลือกไฟล์เพื่อดูตัวอย่างก่อนนำเข้า · ถ้านำเข้าซ้ำ ปี/รพ. เดิม ระบบจะแทนที่ยอดเดิม
ไฟล์ {{ hsImp.fileName }} · {{ hsImp.rows.length }} แถว · ผิดพลาด {{ hsImpErrors }} · ยอดรวม {{ formatCurrency(hsImpTotal) }}
| แถว | ปีงบ | โรงพยาบาล | มูลค่า | จำนวนใบเบิก | หมายเหตุ | ตรวจสอบ |
| {{ r.line }} | {{ r.fy }} | {{ r.hospital }} | {{ formatNumber(r.amount) }} | {{ r.docCount }} | {{ r.note }} | {{ r.error }}ชื่อใหม่ (ไม่ตรงรายชื่อ รพ.)OK |
ข้อมูลย้อนหลังที่นำเข้าแล้ว
| ปีงบ | รพ. | มูลค่า | ใบเบิก | หมายเหตุ | นำเข้าโดย | |
| {{ r[2] }} | {{ hsShort(r[1]) }} | {{ formatNumber(parseFloat(r[3])) }} | {{ r[4] }} | {{ r[5] }} | {{ r[6] }} | |
🏥 รายชื่อโรงพยาบาลที่นับเป็น “รพ.ชุมชน”
ระบบดึงชื่อหน่วยงานที่มีคำว่า “โรงพยาบาล/รพ.” จากการจ่ายของคลังใหญ่ให้อัตโนมัติ ติ๊กออกได้ถ้าไม่ต้องการนับ และตั้งชื่อย่อได้
ใบเบิก {{ hsDetailDoc.id }} · {{ hsShort(hsDetailDoc.hospital) }}
วันที่ {{ formatThaiDate(hsDetailDoc.date) }} · ยอดเบิก {{ formatCurrency(hsDetailDoc.total) }} บาท · เอกสารขอรับฯ {{ hsDetailDoc.evNo || '-' }} {{ hsDetailDoc.evDate ? '(' + formatThaiDate(hsDetailDoc.evDate) + ')' : '' }} · สถานะ {{ hsStatusText(hsDetailDoc.status) }}
| รายการยา | จำนวน | มูลค่า | ประเภท |
| {{ it.name }} | {{ formatNumber(it.qty) }} {{ it.unit }} | {{ formatCurrency(it.value) }} |
-ในรายการนอกรายการ |
การเคลียร์เงิน
ผู้ชำระ/งบ: {{ hsDetailDoc.settle.paidBy || '-' }}
ยอดชำระ: {{ formatCurrency(hsDetailDoc.settle.amount) }} บาท · วันที่ {{ hsDetailDoc.settle.payDate ? formatThaiDate(hsDetailDoc.settle.payDate) : '-' }}
หลักฐาน: {{ hsDetailDoc.settle.evNo || '-' }} {{ hsDetailDoc.settle.evDate ? '(' + formatThaiDate(hsDetailDoc.settle.evDate) + ')' : '' }}
หมายเหตุ: {{ hsDetailDoc.settle.note }}
บันทึกโดย {{ hsDetailDoc.settle.by }} · {{ hsDetailDoc.settle.at }}
ยังไม่ได้เคลียร์ (ค้างชำระ)
บันทึกการติดตาม / ทวงถาม
{{ formatThaiDate(f.date) }} · {{ f.method }} · {{ f.note }} ({{ f.by }})
ยังไม่มีบันทึก
📞 บันทึกการติดตาม — {{ hsShort(hsFu.hospital) }}{{ hsFu.docId ? ' · ' + hsFu.docId : '' }}
รับคืน / ครอสเช็คการรับจากคลังย่อย
ข้อมูลที่คลังย่อย (OPD/IPD/เวชภัณฑ์มิใช่ยา) ยืนยันตอนรับของ — เทียบกับที่คลังใหญ่จ่าย เพื่อช่วยกันตรวจสอบจำนวนและราคาทุน
| วันที่ส่งคืน | จากคลัง | รายการยา | Lot | จำนวน | เหตุผล | สถานะ | เอกสารรับคืน |
| {{ formatThaiDate(String(r.createdAt).slice(0,10)) }} | {{ locLabel(r.loc) }} | {{ getProductName(r.productId) }} | {{ r.lotNo }} | {{ formatNumber(r.qty) }} | {{ r.reason }} | รับคืนแล้ว ({{ r.acceptedBy }}) | {{ r.returnDoc }} |
| ยังไม่มีประวัติ |
สร้างใบ PO (คลังยาใหญ่)
กำลังแก้ไข {{ po.poNo || po.poId }}
เลือกแบบใดแบบหนึ่งแล้วยังแก้จำนวน/ราคา/เพิ่ม/ลบรายการได้เสมอ
เพิ่มรายการเอง
| เลขที่ PO | วันที่ | บริษัท | รายการ | มูลค่า | สถานะ | จัดการ |
| {{ r.poNo || r.id }} |
{{ formatThaiDate(String(r.date).split(' ')[0]) }} |
{{ r.vendor || '-' }} |
{{ r.items.length }} |
{{ formatNumber(r.total) }} |
{{ r.status==='Ordered' ? 'สั่งซื้อแล้ว' : (r.status==='Cancelled' ? 'ยกเลิก' : 'ร่าง') }} |
|
| ยังไม่มีใบ PO |
บันทึกรับเข้า: {{ locLabel(globalStock) }}
ไม่มีใบจ่ายที่รอรับ (แสดงเฉพาะใบที่คลังใหญ่จ่ายโดยระบุปลายทางเป็น “{{ subDestNames(globalStock)[0] }}”) — ถ้ารับของโดยไม่มีใบจ่าย ให้คีย์รายการเองด้านล่างได้เลย
1. ข้อมูลเอกสาร
ผูกกับใบจ่ายคลังใหญ่เลขที่
{{ subRecv.linkedDoc }} (รับเข้าแล้วจะไม่แสดงในรายการรอรับอีก)
ยกเลิกการผูก
ตรวจรับของ{{ subRecv.linkedDoc ? ' ตามใบจ่าย ' + subRecv.linkedDoc : '' }}
ร่างล่าสุด {{ subPick.savedAt }}
Approve แล้ว {{ subProgress.done }} / {{ subProgress.total }} รายการ{{ subProgress.pct }}%
แสดงหน้าละ
รายการ
ใกล้หมดอายุ < 6 เดือน {{ subWarn.near }}หมดอายุแล้ว {{ subWarn.expired }}ราคาทุน 0 = {{ subWarn.zero }}
| # | รายการ | Lot / Exp | คลังใหญ่จ่าย | จำนวนที่ได้รับจริง | ราคาทุน/หน่วย | มูลค่า | ส่งคืน | Approve | |
| {{ item.no }} |
{{ item.productName }} ส่งคืนคลังใหญ่ {{ formatNumber(item.returnQty) }} ({{ item.returnReason }}) |
{{ item.lotNo || '-' }} {{ item.expDate }}
หมดอายุแล้ว เหลือ {{ item.expInfo.months }} เดือน |
{{ formatNumber(item.issuedQty) }}- |
ขาด {{ formatNumber(item.issuedQty - item.qty) }} |
⚠ ราคาทุน 0 ต้นทาง {{ formatNumber(item.issuedPrice) }} |
{{ formatCurrency(item.value) }} |
|
|
|
| มูลค่ารวมที่รับเข้า (หลังหักส่งคืน) | {{ formatCurrency(subCartTotal) }} | |
ส่งคืนคลังใหญ่
{{ subRet.name }}
Lot {{ subRet.lot || '-' }} · Exp {{ subRet.exp || '-' }} ใกล้หมดอายุหมดอายุแล้ว · ได้รับ {{ formatNumber(subRet.max) }}
ของที่ส่งคืนจะ ไม่ถูกรับเข้า{{ locLabel(globalStock) }} และขึ้นรายการ "รอรับคืน" ที่คลังใหญ่ คลังใหญ่กดรับคืนเข้าสต็อกเมื่อได้รับของจริง
รับเบิกฉุกเฉินที่ยังไม่ได้ปรับเป็นใบเบิกจริง ({{ emgReceiveDocs.length }})
รายงานสรุปยอดเบิกรายตัว (ช่วงเวลา & หน่วยงาน)
ผลลัพธ์การค้นหา
สรุปยอดเบิกจ่ายเวชภัณฑ์
(ตั้งแต่วันที่ {{ formatThaiDate(dispenseReport.start) }} ถึง {{ formatThaiDate(dispenseReport.end) }})
| รหัส |
ชื่อรายการเวชภัณฑ์ |
จำนวนรวมที่เบิก |
หน่วยนับ |
มูลค่ารวม (บาท) |
ดูรายละเอียด |
| {{ item.id }} |
{{ item.name }} |
{{ formatNumber(item.qty) }} |
{{ item.unit }} |
{{ formatCurrency(item.totalPrice) }} |
|
| รวมมูลค่าการเบิกทั้งหมด (ตามเงื่อนไข): |
{{ formatCurrency(dispenseReportTotal) }} |
|
รายละเอียดการเบิก (Timeline)
{{ timelineData.product.name }}
จำนวนเบิกรวม: {{ formatNumber(timelineData.product.qty) }} {{ timelineData.product.unit }} | มูลค่ารวม: {{ formatCurrency(timelineData.product.totalPrice) }}
| วันที่เบิก |
หน่วยงานที่เบิก |
เลขที่เอกสาร |
จำนวนที่เบิก |
| {{ formatThaiDate(h.date.split(' ')[0]) }} |
{{ h.vendorOrDept }} |
{{ h.refDoc || h.billId || '-' }} ({{ cleanNote(h.note) }}) |
{{ formatNumber(h.qty) }} |
ระบบรายงานการบริหารเวชภัณฑ์ (คลัง: {{ globalStock }})
{{ getReportTitle() }}
| รหัส {{sortIcon('id')}} |
ชื่อสินค้า {{sortIcon('name')}} |
ประเภท {{sortIcon('objType')}} |
คงเหลือ {{sortIcon('qty')}} |
มูลค่ารวม {{sortIcon('totalVal')}} |
| {{ item.id }} | {{ item.name }} |
{{ item.objType }} |
{{ formatNumber(item.qty) }} {{ item.unit }} |
{{ formatCurrency(item.totalVal) }} |
| ประเภท | กลุ่ม | มูลค่าสุทธิ (บาท) | สัดส่วน (%) |
| {{ row.type }} | {{ row.cls }} | {{ formatCurrency(row.val) }} | {{ row.pct }}% |
| มูลค่าคงคลังรวมทั้งสิ้น | {{ formatCurrency(totalInventoryValue) }} | 100% |
| รายการสินค้า | Lot No. | วันหมดอายุ (Exp) | จำนวนคงเหลือ | สถานะ |
| {{ lot.productName }} | {{ lot.lot }} | {{ lot.exp }} | {{ formatNumber(lot.qty) }} | {{ isExpired(lot.exp)?'หมดอายุแล้ว':(isNearExp(lot.exp)?'ใกล้หมด (6 เดือน)':'ปกติ') }} |
| -- ไม่พบข้อมูล Lot สินค้าในคลัง -- |
ตัวตั้ง = จำนวนรายการ (Item) ที่ได้ไม่ครบตามที่ขอเบิก · ตัวหาร = จำนวน Item ทั้งหมดที่ขอเบิก · นับเฉพาะใบขอเบิกที่จ่ายแล้ว · “ได้รับ” ใช้ยอดที่คลังย่อยยืนยันรับจริง (หักส่งคืน) ถ้ามี มิฉะนั้นใช้ยอดที่คลังใหญ่จ่าย
| หน่วยที่ขอเบิก | จำนวนใบขอเบิก | Item ที่ขอทั้งหมด | Item ที่ได้ไม่ครบ | ในนี้ไม่ได้เลย | ร้อยละไม่ครบ |
| {{ d.label }} | {{ d.reqs }} | {{ d.total }} | {{ d.short }} | {{ d.none }} |
|
| ไม่มีใบขอเบิกที่จ่ายแล้วในช่วงนี้ |
| รวม | {{ unfilledReport.tot.reqs }} | {{ unfilledReport.tot.total }} | {{ unfilledReport.tot.short }} | {{ unfilledReport.tot.none }} | {{ unfilledReport.tot.pct.toFixed(1) }}% |
| วันที่ขอ | เลขใบขอเบิก | หน่วยที่ขอ | รายการยา | ขอเบิก | คลังใหญ่จ่าย | ได้รับ | ขาด | สาเหตุ |
| {{ formatThaiDate(r.date) }} | {{ r.reqId }} | {{ r.label }} | {{ r.name }} | {{ formatNumber(r.requested) }} | {{ formatNumber(r.issued) }} | {{ formatNumber(r.got) }} | {{ formatNumber(r.short) }} | {{ r.reason }} |
| ไม่พบรายการที่ได้ไม่ครบในช่วงนี้ |
ช่วงเวลา:
รายการที่ตัดสต็อกด้วยโหมด "จ่ายขึ้น Shelf" ของคลัง {{ globalStock }} (เฉพาะรายการที่จ่ายสำเร็จแล้ว) · รวม {{ shelfReport.totTimes }} ครั้ง มูลค่า {{ formatCurrency(shelfReport.totValue) }}
| # | รหัส | ชื่อสินค้า | จำนวนครั้ง | จำนวนที่จ่ายขึ้น Shelf | หน่วย | มูลค่า (บาท) |
| {{ i + 1 }} | {{ r.id }} | {{ r.name }} | {{ r.times }} | {{ formatNumber(r.qty) }} | {{ r.unit }} | {{ formatCurrency(r.value) }} |
| ไม่มีรายการจ่ายขึ้น Shelf ในช่วงเวลานี้ |
| รวม | {{ shelfReport.totTimes }} | {{ formatNumber(shelfReport.totQty) }} | | {{ formatCurrency(shelfReport.totValue) }} |
| เดือน | จำนวนรายการยา (ชนิด) | จำนวนครั้ง | มูลค่า (บาท) |
| {{ sjMonthLabel(m.ym) }} | {{ m.kinds }} | {{ m.times }} | {{ formatCurrency(m.value) }} |
| ไม่มีรายการจ่ายขึ้น Shelf ในช่วงเวลานี้ |
รายงาน สจ.รง.1051 ใช้ได้เฉพาะคลังใหญ่ กรุณาสลับไปที่คลังยาใหญ่
สจ.รง.1051
รายงานการบริหารเวชภัณฑ์ยาและเวชภัณฑ์ที่ไม่ใช่ยา
หน่วยงาน โรงพยาบาลจิตเวชเลยราชนครินทร์
กรมสุขภาพจิต กระทรวงสาธารณสุข
ประจำเดือน {{ sjMonthLabel(sjMonth) }}
1. ผลการจัดซื้อเวชภัณฑ์
| ประเภทเวชภัณฑ์ | ประเภทเงิน | รวม | รวมแต่ต้นปี |
|---|
| เงินงบประมาณ | เงินบำรุง |
| {{ r.label }} | {{ sjFmt(r.bud) }} | {{ sjFmt(r.mnt) }} | {{ sjFmt(r.bud + r.mnt) }} | {{ sjFmt(r.ytd) }} |
| รวม | {{ sjFmt(sjRep.tot.bud) }} | {{ sjFmt(sjRep.tot.mnt) }} | {{ sjFmt(sjRep.tot.bud + sjRep.tot.mnt) }} | {{ sjFmt(sjRep.tot.ytd) }} |
| รวมแต่ต้นปี | {{ sjFmt(sjRep.ytdBud) }} | {{ sjFmt(sjRep.ytdMnt) }} | {{ sjFmt(sjRep.ytdBud + sjRep.ytdMnt) }} | |
2. เวชภัณฑ์คงคลัง
| ยา (บาท) | เวชภัณฑ์มิใช่ยาและวัสดุการแพทย์ (บาท) |
| {{ r.label }} | {{ sjFmt(r.drug) }} | {{ sjFmt(r.non) }} |
หมายเหตุ : เวชภัณฑ์ หมายถึง ยา, เวชภัณฑ์มิใช่ยาและวัสดุการแพทย์ · แถว "รายการปรับปรุงอื่น ๆ" คือผลต่างจากการนับสต็อก/ปรับมูลค่า/รับเข้านอกบิลบริษัท เพื่อให้ยอดยกไปตรงกับยอดคงคลังจริงในระบบ
ทราบ
ลงชื่อ ........................................
{{ sjSign.n1 ? '(' + sjSign.n1 + ')' : '' }}
เจ้าหน้าที่
-ทราบ
ลงชื่อ ........................................
{{ sjSign.n2 ? '(' + sjSign.n2 + ')' : '' }}
หัวหน้าเจ้าหน้าที่
-ทราบ
ลงชื่อ ........................................
{{ sjSign.n3 ? '(' + sjSign.n3 + ')' : '' }}
ผู้อำนวยการโรงพยาบาลจิตเวชเลยราชนครินทร์
ยังไม่มีข้อมูลรับ-จ่ายของคลังใหญ่
ฐาน: {{ abcModeLabel }} (จัดซื้อนับเฉพาะบิลที่ตรวจรับแล้ว · ยอดยกมา = มูลค่าที่บันทึกเป็น "ยอดยกมา" ในปีงบนี้ ถ้าไม่มีจะใช้จำนวนคงเหลือรวมทุกคลัง ณ 1 ต.ค. × ราคาเฉลี่ยต่อหน่วย) เรียงแยกตามประเภทสินค้า · VEN กำหนดที่ตั้งค่าระบบรวม
| ABC \ VEN | V (Vital) | E (Essential) | N (Non-essential) | ยังไม่ระบุ VEN | รวม |
| {{ r === '-' ? 'ไม่มีการจัดซื้อ' : 'กลุ่ม ' + r }} |
{{ abcVenMatrix.cells[r + c].n }} {{ formatCurrency(abcVenMatrix.cells[r + c].v) }}
|
{{ abcVenMatrix.rowTotal[r] }} |
| รวม | {{ abcVenMatrix.colTotal[c] }} | {{ abcVenMatrix.total }} |
กลุ่มสำคัญสูงสุด AV · AE · BV กลุ่มรอง AN · BE · CV กลุ่มทั่วไป BN · CE · CN คลิกช่องในตารางเพื่อกรองรายการด้านล่าง
รายการ{{ abcFilter.abc ? ' — กลุ่ม ' + (abcFilter.abc === '-' ? 'ไม่มีการจัดซื้อ' : abcFilter.abc) + ' / VEN ' + (abcFilter.ven === '?' ? 'ยังไม่ระบุ' : abcFilter.ven) : ' ทั้งหมด'}} ({{ abcList.length }})
| # | รหัส | ชื่อสินค้า | ABC | VEN | {{ abcMode === 'carry' ? 'มูลค่ายกมา+จัดซื้อ' : 'มูลค่าจัดซื้อ' }} (บาท) | % ของทั้งหมด | % สะสม |
| {{ i + 1 }} | {{ r.id }} | {{ r.name }} |
{{ r.abc || '-' }} |
{{ r.ven || '-' }} | {{ formatCurrency(r.value) }} | {{ r.pct.toFixed(2) }} | {{ r.cum.toFixed(2) }} |
| -- ไม่พบรายการ -- |
| หน่วยงานที่เบิกของ | มูลค่ารวมที่เบิกไป (บาท) |
| {{ dept }} | {{ formatCurrency(val) }} |
| -- ไม่พบการเบิกจ่ายในช่วงเวลานี้ -- |
{{ adminTitle }}
{{ modalForm.isEdit ? 'แก้ไขข้อมูล' : 'เพิ่มข้อมูลใหม่' }}
ABC ปีงบ {{ abcFY }}: {{ abcOf(modalForm.id) || '-' }} (ระบบคำนวณให้อัตโนมัติจากมูลค่าจัดซื้อ)
ส่งออกข้อมูล 5 แฟ้มมาตรฐานกระทรวงฯ
คำอธิบาย: ระบบประมวลผลข้อมูลการบริหารเวชภัณฑ์เพื่อส่งออกเป็นไฟล์ .csv หรือ .xlsx (Excel) ตามมาตรฐานกระทรวงสาธารณสุข
1. DRUGLIST
ข้อมูลพื้นฐานรายการยา
2. PURCHASEPLAN
แผนการจัดซื้อประจำปี
3. RECEIPT
ข้อมูลการรับเข้าคลัง
4. DISTRIBUTION
ข้อมูลการจ่ายยาให้หน่วยเบิก
5. INVENTORY
ยอดคงเหลือ ณ สิ้นเดือนนั้นๆ
6. ส่งลำปาง
Template ส่งลำปาง
เพิ่มรายการยา/สินค้าใหม่ (แบบด่วน)
เทียบ Min/Max — {{ locLabel(globalStock) }}
ค่าที่ Apply จะกลายเป็น Min/Max ที่ใช้ในโหมด Auto ของ{{ globalStock === 'MAIN' ? 'ใบ PO' : 'ใบขอเบิก' }} และใน Dashboard (ค่าเดิมที่ตั้งเองยังแก้ได้ภายหลัง)
ตั้งค่า Min / Max
(สำหรับคลัง: {{ formMinMax.stockLocation }})
คำนวณจากอัตราเบิกจ่ายจริง
ใช้ไป {{ formatNumber(mmCalcView.usage) }} ใน {{ mmCalcView.months }} เดือน (เฉลี่ย {{ mmCalcView.perMonth.toFixed(1) }}/เดือน)
คำนวณได้ Min {{ formatNumber(mmCalcView.min) }} / Max {{ formatNumber(mmCalcView.max) }}