Legacy platform

View manager dashboard

A store manager should be able to visually monitor the performance of a store either on mobile or desktop devices.

The manager dashboard in Sterling Store Engagement provides a dashboard with Order Status charts and SLA charts. In this dashboard, a store manager can see the number of orders that are in progress, completed, or yet to be started. Similarly, the manager can view the number of orders that are overdue, due soon, and within SLA threshold.

Solution

The following section describes APIs, user exits, services, and other components.

The Manager Dashboard View can be launched from the home page of the application by using the eye icon. The manager dashboard provides the total number of orders, Order Status charts, SLA charts, and so on. The technical aspects of populating the dashboard are as follows:
  • Mashups are called to populate the data for each portlet on the dashboard. Multiple mashups are aggregated in a single call to the server to invoke a service, which populates the SLA chart and Order Status chart, displayed side by side. Based on the input parameters from the mashup, the service queries the database for Ship from Store or Pickup from Store orders and the requested order statuses.
  • A store may handle only Pickup in Store or Ship from Store orders. In such cases, the required resource permission can be enabled for the store user group to access the appropriate portlet. Depending on the resource permission enabled, the corresponding portlet is displayed with the Order Status and SLA charts side-by-side on the desktop version of the application. However on the mobile version of the application, a link to switch between the charts is displayed. The portlet is hidden in such cases as it would be redundant with the main portlet.
  • The manager-dashboard.json present in the <WAR>/ngstore/store/views/home/manager-dashboard/ folder contains the configuration for the feature. It is used by the service to query the database and return the number of orders corresponding to a particular order status or SLA. The configuration JSON file helps to aggregate the shipment statuses and SLAs to make it easy to display on the user interface. Since its configurable, you can add or modify the statuses to suit your business needs.
    Table 1. Mashups and Service
    Mashup Function
    mgrdb_getCommonCodeListForSLA Retrieves the list of common codes corresponding to time thresholds for each SLA category. Invokes the getCommonCodeList API.
    mgrdb_getDashboardPollingIntervalRuleDetails This mashup calls the getRuleDetails API and retrieves the dashboard refresh interval configured in Sterling Business Center.
    sfs_sla_getShipmentCountForGivenStatuses Retrieves the number of shipments under each SLA category in the manager-dashboard.json file for Ship from Store orders. Invokes YCD_GetShipmentCountForStatusList service.
    sfs_orderstatus_getShipmentCountForGivenStatuses Retrieves the number of shipments under each Order Status category in the manager-dashboard.json for Ship from Store orders. Invokes YCD_GetShipmentCountForStatusList service.
    bopus_sla_getShipmentCountForGivenStatuses Retrieves the number of shipments under each SLA category in the manager-dashboard.json for Pickup from Store orders. Invokes YCD_GetShipmentCountForStatusList service.
    bopus_orderstatus_getShipmentCountForGivenStatuses Retrieves the number of shipments under each order status category in the manager-dashboard.json for Pickup from Store orders. Invokes YCD_GetShipmentCountForStatusList service.
    The following logic is executed to display information on the manager dashboard:
    1. When the manager dashboard is launched, themgrdb_getCommonCodeListForSLA and mgrdb_getDashboardPollingIntervalRuleDetails mashups are aggregated and called together. It is only invoked once per session and blocks the UI. Any subsequent navigation to the manager dashboard picks up the cached response until browser is refreshed. The data that is fetched for SLA thresholds is used by sfs_sla_getShipmentCountForGivenStatuses and bopus_sla_getShipmentCountForGivenStatuses mashups to invoke the YCD_GetShipmentCountForStatusList service to get the SLA related data.
    2. The sfs_sla_getShipmentCountForGivenStatuses and sfs_orderstatus_getShipmentCountForGivenStatuses are aggregated and invoked by the Ship from Store portlet. Simultaneously, the bopus_sla_getShipmentCountForGivenStatuses and bopus_orderstatus_getShipmentCountForGivenStatuses mashups are invoked from Pickup from Store portlet. These two mashup calls do not block the UI.
    3. Whenever the store manager chooses to switch between the SLA chart and Order Status chart, one of the appropriate mashups is called.

JSON Configuration

The manager-dashboard.json file contains configuration that is used by the Manager Dashboard. It contains configuration for SLA and order status charts segregated based on Pickup in Store and Ship from Store order fulfillment methods. It provides configuration for the following purposes:
  • Grouping for various shipment statuses into three display statuses for easy visual representation.
  • Labels and styles that are applied to the UI.
Table 2. Configuration details
Attribute Description
statusName The name of the status.
combinedStatusArray Statuses to group and display under the statusName
ui_chartConfig Configuration that is used on UI to display the label (labelKey) and CSS (cssClass).

unitValueInnerPadding and radiusInnerPadding are used by the chart on the UI.

ui_chartId This must correspond to the DOM ID for the chart. It is used to set the JSON configuration to the correct chart.
Configuration for grouping orders based on SLA has the following differences
Table 3. Configuration differences
Attribute Description
combinedStatusArray It will contain the list of descriptions (shortDescription) for the configured SLAs in Business Center. They must remain same and cannot be globalized.
statusUIDefaults In case more than one SLA statuses are grouped together under combinedStatusArray, the icons and styles configured for the status mentioned in the file will be taken.
cssClass This is not required. It is automatically picked from statusUIDefaults.
shipmentStatusToExclude This is the shipment status that should not be included while computing SLA numbers. By default, it changes to the "statusName":"complete".
Notes:
  • The count of shipments in the portlets includes both sales order and transfer order shipments.
  • You can group different shipment statues under complete, inProgress and notStarted categories. By default, this is implemented for Pickup in store and Ship from store orders for shipmentStatus configuration. However, grouping different SLA categories under overdue, dueSoon and withinSLA is not recommended.
  • You can add or remove categories from sla and shipmentStatus configurations. However, the number of categories and their names should be same under shipFromStore and pickupInStore.
  • For the new categories added under sla, you must define the corresponding label, css and icons. Otherwise defaults details are displayed.
  • Additionally, the sla categories defined in the file must be configured for the organization in Sterling Business Center. Otherwise, the charts are not displayed and a message indicating invalid configuration is displayed.
The status codes and grouping criteria are described in the following tables:
Table 4. Status codes
Status Code Description
1100.70.06.10 Ready For Backroom Pick
1100.70.06.20 Backroom Pick in Progress
1100.70.06.50 Ready For Packing
1100.70.06.70 Shipment Being Packed
1100.70.06.30 Ready For Customer
1400 Shipment Shipped
1300 Packed
Table 5. Grouping criteria for Order Status
Order Status Grouping criteria
Not Started All orders in Ready For Backroom Pick status.
In Progress
  • All orders in Backroom Pick in Progress status
  • All Ship from Store orders in Ready For Packing status
  • All Ship from Store orders in Shipment Being Packed status
Completed
  • All Pickup from Store orders in Ready For Customer status.
  • All orders in Shipment Shipped status.
  • All Ship from Store orders in Packed status.
Table 6. Grouping criteria for SLA
SLA Grouping criteria
Overdue Time remaining for order completion is 0 minutes or less.
Due Soon Time remaining for order completion is 30 minutes or less. This group includes orders of medium and high priority.
Within SLA Time remaining for order completion is more than 30 minutes.
The grouping criteria mentioned here is based on the reference implementation data supplied for the default organization. Similarly, you can configure the SLA grouping criteria for your organization using the Service Level Indicators configuration in Sterling Business Center.

Customizing the SLA icons

  1. Configure service level indicators for SLA priority by using the Sterling Business Center. For more information, see Configure service level indicators.
  2. The path and extension of the SLA images are truncated and the image name is used as the CSS class name to define the color for the SLA priority icons. For example, in the path wsc/resources/css/icons/images/timeLeftOverdue.png, the timeLeftOverdue becomes the CSS class name and the color for the icon can be defined as: .timeLeftOverdue{color:#DD1D32!important;fill:#DD1D32!important}
  3. To define shapes for the SLA icons, refer the procedure in the Replace the existing font icons topic. However, while following the procedure, you need to modify the code in accordance with the icons that you want to replace. For example, for the timeLeftOverdue icon, you may have the code as .app-icon-timeLeftOverdue{...}.
Locale for SLA configuration: When you switch the DB locale, ensure the following changes:
  • Ensure that the SLA configuration in the manager-dashboard.json file is in the DB locale.
  • Ensure that the combinedStatusArray and statusUIDefaults fields match.
  • By default, the fields contain entries for the English DB locale, which is the base locale. If the base DB locale is in any other language, the following entries should be changed to base locale literals in the manager-dashboard.json file:
    Time Left Overdue
    Time Left High Priority
    Time Left Medium Priority
    Time Left Low Priority
Considerations:
  • The Order Status charts and SLA charts are generated only for sales orders.
  • To calculate the number of orders in Not Started and In Progress statuses, current day orders and backlog orders from previous day are considered.
  • To calculate the number of orders in Completed status, completed orders that belong to current date or a date in future are considered.
  • 12:00AM and 11:59PM are considered as the start and end of a day respectively.
  • Data on the dashboard is automatically updated every 5 minutes by default and the time interval can be configured in the Sterling Business Center.
Important: An order can have multiple shipments or multiple orders can be in a single shipment. Essentially, the mashups used in this feature retrieve shipments only. However, using the shipments returned by the mashups, the application provides information in terms of the corresponding order details for the convenience of the end-users.

Viewing shipments

In either of Ship from Store or Pickup from Store portlet, when the user clicks a legend icon or a region on the Order Status chart or SLA chart, a combination of mashups is called which in turn invokes a service.
Table 7. Mashups and their functions
Mashups Function
shipmentList_getShipmentListByStatus_sla Retrieves the list of shipments for the required delivery method for SLA. Invokes the getShipmentList API.
shipmentList_getShipmentListByStatus_orderstatus Retrieves the list of shipments for the required delivery method for Order Status. Invokes the getShipmentList API.
sla_getShipmentCountForGivenStatuses Retrieves the number of shipments under each SLA category defined in the manager-dashboard.json file for Ship from Store or Pickup from Store orders. Invokes the YCD_GetShipmentCountForStatusList service.
orderstatus_getShipmentCountForGivenStatuses Retrieves the number of shipments under each order status category in the manager-dashboard.json file for Ship from Store or Pickup from Store orders. Invokes the YCD_GetShipmentCountForStatusList service.
Based on whether the user clicked the SLA chart or Order Status chart, the shipment list page loads and two mashups are aggregated and invoked as follows:
  • If SLA chart is clicked, the shipmentList_getShipmentListByStatus_sla and sla_getShipmentCountForGivenStatuses mashups are aggregated and invoked.
  • If Order Status chart is clicked, the shipmentList_getShipmentListByStatus_orderstatus and orderstatus_getShipmentCountForGivenStatuses mashups are aggregated and invoked.
One mashup provides the list of shipments and the other provides the total number of shipments, displayed as a number on the tabs for each category.

Navigation between the tabs corresponding to status or SLA categories invokes the appropriate mashup based on whether the user arrived at the shipments list page from the SLA chart or Order Status chart.

Note: The list of shipments displayed in different tabs for SLA Priority or Order Status includes both sales order and transfer order shipments.

Device-specific details

Manager dashboard can be viewed on both the desktop and mobile version of the application.

Implementation

The following section describes the rules that you must configure.
  • A store user should have the Manager Dashboard Pickup in Store Portlet and Manager Dashboard Ship from Store Portlet resource permissions. For information about administering user group permissions, see the Administering user group permissions.
  • Configure the service level indicators appropriately. For more information, see Configure service level indicators
  • The manager dashboard is refreshed based on the polling interval configured in Sterling Business Center. For more information, see Polling interval configuration.