ORDER
🛒 Technical Specification: Order Setup
📋 Feature Overview
🛠️ Technical Implementation
A. Permissions & Access Control
Note: Access is controlled via
PermissionGuard and component-level checks.| Scope | Permission Code | Description & Page Usage |
|---|---|---|
| Menu Visibility | ORDER.MENU |
Sidebar menu visibility.
|
| Page Routing | ORDER.VIEW |
Access to listing and add page.\listing-order-manage |
| Create Action | ORDER.UPDATE |
Controls the + Add button on listing.\listing-order-manage |
| View Access | ORDER.VIEW |
Controls visibility of Edit icon.\listing-order-manage |
| Delete Action | ORDER.DELETE |
Visibility of the Delete 🗑️ icon.\listing-order-manage |
| Bulk Order | BULK_ORDER.VIEW |
Visibility of the Bulk Order button.\listing-order-manage |
| Edit/Save Action | ORDER.UPDATE |
Ability to save changes on Add/Edit screen.\add-order-manage |
B. API Interaction
Base URL:
${environment.baseApiUrl}1. Listing Order Manage
\listing-order-manage/settings/getQuery
POSTFilter:
type='Order Status'/clients/getQuery
POSTFilter:
isDeleted=0/deliveryAddresses/getQuery
POSTFilter:
clientId/products/getQuery
POSTFilter:
isDeleted=0/orders/getQuery
POSTFilter:
orderStatus, clientId, isLocal, divertStatus/jobs/getQuery
POSTFilter:
orderId (Dependency Check)/orders/delete
POSTPurpose: Hard Delete Order
/order/updateDivertStatus
POSTPurpose: Update Divert Flag (Diverting/Undiverting)
/order/divertOrder
POSTPurpose: Process Order Diversion (New Client/Address)
2. Add/Edit Order Manage
\add-order-manage/clients/getQuery
POSTFilter:
isDeleted=0/deliveryAddresses/getQuery
POSTFilter:
clientId/suppliers/getQuery
POSTFilter:
isDeleted=0/pickupAddresses/getQuery
POSTFilter:
supplierId/settings/getQuery
POSTFilter:
type='Additional Option'/order/createEkaOrder
POSTPurpose: Create multiple orders (Loop)
3. Bulk Order Popup
BulkOrderPage/pickupAddresses/getQuery
POSTPurpose: Fetch initial data (Supplier/Pickup info)
/clients/getQuery
POSTFilter:
isDeleted=0/deliveryAddresses/getQuery
POSTFilter:
clientId/supplierProducts/getQuery
POSTFilter:
supplierId, pickupAddressId/productUnitOfMeasurements/getQuery
POSTFilter:
productId/companies/getQuery
POSTFilter:
isDeleted=0/order/createEkaOrder
POSTPurpose: Create multiple orders (Loop)
4. NS Order Popup
AddNSOrderPopup/order/createNSOrder
POSTPurpose: Create Non-Standard Order from SO List
5. Order Details Popup
OrderDetailsPage/supplierProducts/getQuery
POSTFilter:
supplierId, pickupAddressId/productUnitOfMeasurements/getQuery
POSTFilter:
productId/companies/getQuery
POSTFilter:
isDeleted=0