จัดการที่อยู่ลูกค้า
เมนูจัดการที่อยู่ลูกค้าใช้ตรวจคำขอแก้ไข GPS ของที่อยู่ลูกค้า เป็น approval queue แยกจากการแก้ draft address ในเมนูการจัดการลูกค้า และแยกจากการตั้ง default address ของลูกค้า SAP
ทางเข้าในแอป
| App | Target |
|---|---|
| Mobile | CustomerManagementAddressList -> CustomerManagementAddressDetail |
| POS Terminal | customerAddressManagement -> CustomerAddressManagementDetailForm |
Workflow อนุมัติ
Data และ API Rules
| Operation | Service |
|---|---|
| List requests | getCustomerDraftAddressLatLngList -> GET /customer-draft/address-lat-lng?branchId=... |
| Detail | getCustomerDraftAddressLatLngById |
| Approve | approveCustomerAddressGpsUpdateRequest(id) |
| Reject | rejectCustomerAddressGpsUpdateRequest(id) |
| สร้าง request จาก customer detail | requestCustomerAddressGpsUpdate(payload) |
| แก้ GPS ลูกค้า SAP โดยตรง | updateCustomerAddressGps(customerCode, addressId, payload) |
| ตั้ง default address | setCustomerDefaultAddress(customerCode, addressId) |
แนวทาง Validation
| กฎ | รายละเอียด |
|---|---|
| พิกัดว่าง | ค่าว่าง, missing, null, string null หรือพิกัดแบบ zero-like ที่ใช้ไม่ได้ ต้องไม่ถือว่า valid |
| Context การตรวจ | reviewer ควรเห็นผู้ขอ เวลา request ที่อยู่เดิม lat/lng ที่ขอแก้ และ note ถ้ามี |
| ผลหลังอนุมัติ | พิกัดที่อนุมัติมีผลต่อค่าขนส่ง route assignment map distance และ address check ในใบสั่งขาย |
| แยกจาก draft CRUD | approval GPS ไม่ได้แทนที่การเพิ่ม/แก้/ลบ draft address ใน Customer Management |
สิทธิ์และ guard
| เรื่อง | รายละเอียด |
|---|---|
| Terminal menu key | customerAddressManagement |
| deptCode ที่เห็นเมนู | -2, 1, 2, 3, 4, 7, 29, 21, 8, 9, 13, 14, 16, 27, 30 |
| Approval flag | ควรใช้ authority ชุดเดียวกับ customer approval (approveCustomer) |
| Branch scope | request list ผูกกับ selected branch |
Mobile vs POS Terminal
| เรื่อง | Mobile | POS Terminal |
|---|---|---|
| List | address request list แยก | split-pane list normalize ด้วย customerAddressManagement |
| Detail | request detail เต็มจอ | CustomerAddressManagementDetailForm |
| Coordinates | Mobile ใช้ map/device location flows ได้ | Terminal เป็น review/approval panel |
| หลัง action | refresh queue และกลับ/list update | refresh list pane/detail |
Developer Handoff Map
| Area | Code |
|---|---|
| Mobile list/detail | apps/mobile/src/screens/customerManagementStack/customerManagementAddressListScreen, customerManagementAddressDetailScreen |
| Terminal detail | apps/pos-terminal/src/screens/HomeScreen/CustomerAddressManagementDetailForm.tsx |
| Customer service | apps/*/src/services/customers.ts |
| Terminal split data | apps/pos-terminal/src/services/splitMenuData.ts -> normalizeCustomerAddressManagementList |
| Sales dependency | sales order address/route/coordinate validation |