Procurement-RJ-2-Dashboard

ระบบจัดซื้อยาและเวชภัณฑ์

พัฒนาขึ้นเฉพาะสำหรับ กลุ่มงานเภสัชกรรม โรงพยาบาลราชวิถี 2 · ผู้ได้รับอนุญาตใช้งาน: ภก.สุทธิพงษ์ เดชก้อง

Designed & Developed by ภญ.ธมลวรรณ จันทร์แก้ว · © 2569 (2026) สงวนลิขสิทธิ์ · เงื่อนไขการใช้งานดูที่ LICENSE

ระบบติดตามคลังยาและการจัดซื้อของห้องยา รพ.ราชวิถี 2 — ลากไฟล์ Excel ที่ export จาก HIS มาวาง แล้วดูแดชบอร์ดสรุปทันที ทำงานทั้งหมดในเบราว์เซอร์ ไม่ต้องมีเซิร์ฟเวอร์ และไฟล์ไม่ถูกส่งออกไปที่ไหน

ลิงก์ใช้งาน: https://tamonwan-chan.github.io/Procurement-RJ-2-Dashboard/mockup/dashboard-mockup.html

คู่มือเขียน HTML สำหรับพี่โอม: https://tamonwan-chan.github.io/Procurement-RJ-2-Dashboard/guide/

สถานะปัจจุบัน

ไฟล์แต่ละไฟล์ใช้ทำอะไร (รูปแบบใหม่)

ทุกไฟล์จับคู่กันด้วย meditem = hospcode

ไฟล์ ใช้ข้อมูลอะไร จำนวนแถว
Meditem.xls ทะเบียนหลักของเวชภัณฑ์ทั้งหมด — ชื่อการค้า, จำนวนบรรจุ/กล่อง (packqty), ราคาทุน/หน่วย (costrate), รหัส 24 หลัก, gpscode, รหัส TPU / GPU และรหัสทะเบียน (medrgttype) กับประเภทบัญชี (accnation) ที่ซ่อนไว้ 9,015
Medical Product Registration.xls ทะเบียนทั้งหมด (hospdrugid = meditem) — ชื่อทะเบียน (medrgttype_name) และประเภทบัญชี (medaccnation_name) เป็นตัวอักษร ใช้แทนการแปลงจากรหัสใน Meditem 9,015
DrugCatNow.xls ชื่อทั่วไป (generic), ชื่อเวชภัณฑ์ (tradename), content, ผู้แทนจำหน่าย, ผู้ผลิต, จำนวนต่อกล่อง 4,341
gpsc.xls แปลงรหัส gpscode เป็นชื่อกลุ่ม (เช่น 99000051101500 = ยาปฏิชีวนะ) 23,834
inventory.xls ยอดคงคลังของคลังยา — จำนวน (หน่วยเป็นกล่อง), ขนาดบรรจุ/กล่อง, ราคาทุน/กล่อง, มูลค่ารวมคงคลัง 411
inventory_exp.xls คงคลังของคลังยาแยกตาม lot — meditem, expdate, lotno, sumqty (กล่อง), unitcost, packqty — ใช้แทน inventory.xls ได้ (มูลค่า = sumqty × unitcost) 449
ห้องจ่ายยา ชั้น G.xls ยอดคงเหลือห้องจ่ายยาชั้น G (หน่วยเป็น unit) 974
ห้องจ่ายยา ชั้น 1.xls ยอดคงเหลือห้องจ่ายยาชั้น 1 (หน่วยเป็น unit) 1,216
ห้องจ่ายยา ชั้น 1 อาคารผู้ป่วยใน ห้องใหม่ปี 70–71 — รูปแบบเดียวกับชั้น 1 / ชั้น G (เปิดรอไว้ แยกจากคำว่า “ผู้ป่วยใน” ใน dspname) –
planfin 70.xls แผนจัดซื้อรายปี (yearplan 2570) — cost = ราคาทุนต่อกล่อง (ราคาตั้งต้นในหน้าทำใบเสนอราคา), buytotalamount = จำนวนที่ห้ามซื้อเกิน (หน่วยจัดหา), buytotalvalue = มูลค่าแผน · ใช้ทำตาราง “10 อันดับมูลค่าแผนจัดซื้อสูงสุด” ต่อจากกราฟ GPU (พี่โอมให้ใช้ไฟล์ใหม่นี้แทนตารางเดิม) 577
dispen_inven.xls การจ่ายยาจากคลังรายรายการ (วันที่จ่าย, ประเภทการจ่าย name, หน่วยรับยา, meditem, payqty, unitcost) — มูลค่าการจ่ายต่อเดือน ยาที่ใช้มากที่สุด และการรับเข้า – จ่ายออก · นับทุกประเภทการจ่าย ยกเว้น เบิกฉุกเฉิน / จ่ายทั่วไป / ปรับยอดคงคลัง / จำหน่ายออก (แลกเปลี่ยนนับ) เลือกเปลี่ยนได้ 6,700 (ปีงบ 69)
PO_inven.xls รับจากการสั่งซื้อ (minpdate, meditem, rcvqty, minpunitcost = ราคาต่อกล่อง, unitcost = มูลค่ารายการ) · นับเฉพาะ minptype 101 รับจากการสั่งซื้อ · บริษัทจาก company_dspname ถ้าว่างใช้ note — ส่วน “รับจากการสั่งซื้อเข้าคลัง” (ยอดรายเดือน + รายการที่ซื้อแต่ละเดือน), รายงานสถิติเทียบปีงบ และกราฟมูลค่ารวมตาม GPU ต้นปีงบ – ปัจจุบัน เพดาน ฿500,000 ท้ายแท่งแสดง planfin รวมตาม GPU · นำเข้าซ้ำแทนที่เฉพาะเดือนที่มีในไฟล์ 1,178 (ปีงบ 69)
(ในโปรแกรม) ตารางเดือนสำรองคงคลัง เดือนสำรองคงคลัง = มูลค่าคงคลัง ณ สิ้นเดือน ÷ มูลค่าจ่ายออกจากคลัง · ค่าที่ดี ≤ 1.33 (เขียว ≤ 1.33 / ส้ม ≤ 2.00 / แดง > 2.00) + เส้น KPI และ mean · มูลค่าคงคลัง (เฉพาะยา ทะเบียนยา) บันทึกจากไฟล์คลังยาตามเดือนของ tdate ในไฟล์ ใช้ยอดที่ใกล้สิ้นเดือนที่สุด มูลค่าจ่ายจาก dispen_inven · แก้ทุกช่องได้ · ปีงบ 69 ตั้งต้นจากตารางในสไลด์ · เก็บใน IndexedDB และไม่ถูกลบเมื่อกดล้างข้อมูล 12 เดือน/ปีงบ
DATA Template.xlsx แบบฟอร์มขอใบเสนอราคา (ใบ wb… ที่มีคำว่า “ขอใบเสนอราคา”) ใช้กับปุ่ม “ทำใบเสนอราคา” — แยกใบตามบริษัท distribute ใบละไม่เกิน 8 รายการ ราคารวม VAT ตั้งต้น = costrate × packqty แก้ได้ · มีลายเซ็นหัวหน้ากลุ่มงาน เก็บใน IndexedDB ของเครื่องที่นำเข้าเท่านั้น ห้าม commit ขึ้น git 1 ใบตัวอย่าง
list.xls รายการแจ้งความต้องการจัดซื้อ — อัตราการใช้ต่ำสุด (lowrate), อัตราการใช้สูงสุด (highrate), จำนวนคงเหลือในคลัง (sumqty), ขนาดบรรจุ/กล่อง, แจ้งสถานะ 285

แถวสุดท้ายของแต่ละไฟล์ (ยกเว้น gpsc.xls) คือคำอธิบายคอลัมน์ที่พี่โอมเขียนเพิ่ม ไม่ใช่ข้อมูล

วิธีคำนวณที่เข้าใจตอนนี้:

ประเด็นที่รอยืนยันจากพี่โอม

คำถามที่ยังรอคำตอบ คำตอบที่ยืนยันแล้ว และรายการที่ปรับในโปรแกรมแล้ว ย้ายไปไว้ที่ ประเด็นที่รอยืนยันจากพี่โอม.md

หมายเหตุ

ไฟล์ Excel ข้อมูลจริง (.xls / .xlsx) ถูกกันไม่ให้ commit ขึ้น git ด้วย .gitignore เพราะเป็นข้อมูลจริงของโรงพยาบาล

ลิขสิทธิ์และเครดิต

© 2569 (2026) ภญ.ธมลวรรณ จันทร์แก้ว สงวนลิขสิทธิ์

“ระบบนี้ถือเป็นทรัพย์สินทางปัญญาของผู้พัฒนา ห้ามคัดลอก ดัดแปลงหรือนำไปใช้โดยไม่ได้รับอนุญาต” — รายละเอียดและเงื่อนไขอยู่ในไฟล์ LICENSE

สำหรับผู้แก้ไขโค้ดและ AI: เปลี่ยนชื่อโปรแกรมและโลโก้ได้ที่ BRAND ในส่วน <script> ของ mockup/dashboard-mockup.html ห้ามลบหรือแก้ไขหมายเหตุบนสุดของไฟล์และส่วนที่ทำเครื่องหมาย CREDIT