ข้ามไปยังเนื้อหาหลัก

บิลน้ำมัน

เมนูบิลน้ำมันใช้บันทึกบิลน้ำมันรถและค่าใช้จ่าย operation โดยเก็บข้อมูลรถ คู่ค้า บัญชี จำนวน วันที่บิล หลักฐาน branch/company context ความเชื่อมโยงกับ transport และ retry behavior เมื่อ integration fail

ทางเข้าในแอป

AppTarget
MobileExpenseBillList -> ExpenseBillDetail
POS TerminalexpenseBill -> ExpenseBillDetailForm

Workflow

Data และ API Rules

กฎรายละเอียด
แหล่ง listTerminal split list เรียก /bills ด้วย selected branchId, pageLimit: 200, ignoreDraft: true
Dedupeexpense bill list dedupe ด้วย billId แล้ว fallback เป็น billNo
Create/updatedetail form สร้างหรือ update expense bill payload
Company codeก่อนบันทึก ระบบรับเฉพาะ BFPDB, BFP, NFFDB หรือ NFF เท่านั้น (ไม่สนตัวพิมพ์เล็ก/ใหญ่); ค่าอื่น เช่น code คลัง SSK จะไม่ส่ง API
Transport company contextขนส่งใหม่เริ่มด้วย BFPDB; เมื่อเลือกทะเบียนรถ ระบบใช้ company code ของรถเป็นค่า company ของขนส่งก่อนเปิดฟอร์มบิลน้ำมัน
Transport linkถ้าเปิดจาก transport การ save อาจ update gas/fuel flag ของ transport
Retryretry ใช้ bill id เดิมเพื่อไม่ให้เกิด expense record ซ้ำ
Evidenceslip/photo/evidence เป็นข้อมูลของ bill และต้อง refresh จาก server หลัง save

Validation ของฟอร์มและ Action ในรายการ

Actionเงื่อนไข/พฤติกรรม
สร้างต้องมีสิทธิ์ และ Terminal จำกัดสาขาหลักเว้นแต่เข้า override
รถ/บัญชี/บริษัทเก็บทั้ง code และชื่อเพื่อสร้าง payload และส่ง integration
Company codeต้องเป็น BFPDB, BFP, NFFDB หรือ NFF; ถ้าไม่อยู่ในรายการ ระบบแจ้ง validation และหยุดก่อน submit
หลักฐานลบหรือเปลี่ยนแล้วต้องโหลดข้อมูลจาก Server ใหม่
ลบ/Retryตรวจสิทธิ์และยืนยัน; Retry ใช้ bill id เดิม ห้ามสร้างเอกสารซ้ำ
จากขนส่งบันทึกสำเร็จแล้วทำเครื่องหมายว่างานเติมน้ำมันถูกจัดการ

สิทธิ์และ guard

เรื่องรายละเอียด
Terminal menu keyexpenseBill
deptCode ที่เห็นเมนู-2, 1, 2, 3, 4, 7, 29, 21, 8, 9, 13, 16, 14, 27, 30
เงื่อนไขสาขาTerminal config กำหนด main branch only (requiresMainBranch = true)
Create guardปุ่มสร้างใช้ canCreateExpenseBill(...)

Mobile vs POS Terminal

เรื่องMobilePOS Terminal
Navigationexpense bill stack list/detailHomeScreen split-pane menu key expenseBill
Detailexpense bill form เต็มจอExpenseBillDetailForm
รถ/บัญชีselectors ใน mobile formselectors/panels ใน terminal detail
Retryaction ใน detail/listaction ใน split list/detail

Developer Handoff Map

AreaCode
Mobile list/detailapps/mobile/src/screens/expenseBillStack/expenseBillListScreen, expenseBillDetailScreen
Terminal detailapps/pos-terminal/src/screens/HomeScreen/ExpenseBillDetailForm.tsx, ExpenseBillPanels.tsx
Serviceapps/*/src/services/expenseBill.ts / expense bill service module
Transport dependencyTransportDetailForm.tsx, transport update service

เอกสารที่เกี่ยวข้อง