ฝากเงิน
เมนูฝากเงินใช้บันทึกการฝากเงินสด/ธนาคารจากงาน operation โดยมักเกี่ยวข้องกับเงินสดจากรอบขนส่ง แต่สามารถสร้างตรงได้เช่นกัน ข้อมูลประกอบด้วยบัญชี/คู่ค้า จำนวน หลักฐาน branch/warehouse context และ retry state เมื่อ integration fail
ทางเข้าในแอป
| App | Target |
|---|---|
| Mobile | DepositList -> DepositDetail; เปิดจาก transport detail พร้อม prefill ได้ |
| POS Terminal | deposit -> DepositDetailForm |
Workflow
Data และ API Rules
| กฎ | รายละเอียด |
|---|---|
| แหล่ง list | Terminal split list เรียก /deposits ด้วย whs = selected whGrpCode, pageLimit: 200 และ hasRetry |
| Dedupe | deposit list dedupe ด้วย depositId แล้ว fallback เป็น depositNo |
| Create/update | detail form สร้าง deposit ใหม่หรือ update เอกสารเดิมได้ |
| Transport link | ถ้าเปิดจากขนส่ง การ save อาจ update flag ฝากเงินของ transport |
| Retry | retry ต้องใช้ deposit id เดิม ไม่สร้างเอกสารซ้ำ |
| Evidence | slip/photo/evidence เป็นข้อมูลของ deposit และต้องยังอยู่หลัง refresh |
Validation ของฟอร์มและ Action ในรายการ
| Action | เงื่อนไข/พฤติกรรม |
|---|---|
| สร้าง | ตรวจสิทธิ์สร้างแยกจากสิทธิ์เห็นเมนู |
| บัญชี/Invoice | ตัวเลือกขึ้นกับสาขาและคลัง; หลาย Invoice ต้องมียอดรวมตรงฟอร์ม |
| ยืนยัน | แสดงยอด บัญชีเงินสด และบัญชีธนาคารก่อนส่ง |
| ลบ | เฉพาะแผนกที่มีสิทธิ์ ต้องยืนยัน และลบด้วย deposit id |
| Retry | Mobile ตรวจเจ้าของรายการ; ใช้ id เดิมและ hasRetry ใช้กรองรายการ Error |
สิทธิ์และ guard
| เรื่อง | รายละเอียด |
|---|---|
| Terminal menu key | deposit |
| deptCode ที่เห็นเมนู | -2, 1, 2, 3, 4, 7, 29, 21, 8, 9, 13, 16, 14, 27, 30 |
| Create guard | ปุ่มสร้างใช้ canCreateDeposit(...) |
| เงื่อนไขสาขา | เปิดตามสิทธิ์เมนูและ selected warehouse group |
Mobile vs POS Terminal
| เรื่อง | Mobile | POS Terminal |
|---|---|---|
| Navigation | deposit stack และเปิดจาก transport ได้ | HomeScreen split-pane menu key deposit |
| Detail | deposit form เต็มจอ | DepositDetailForm |
| Transport link | route params/prefill | detail form callback update transport |
| Retry | action ใน detail/list | action ใน split list/detail |
Developer Handoff Map
| Area | Code |
|---|---|
| Mobile list/detail | apps/mobile/src/screens/depositStack/depositListScreen, depositDetailScreen |
| Terminal detail | apps/pos-terminal/src/screens/HomeScreen/DepositDetailForm.tsx, DepositPanels.tsx |
| Service | apps/*/src/services/deposit.ts / deposit service module |
| Transport dependency | TransportDetailForm.tsx และ transport update service |