-
Type: Story
-
Status: Closed (View Workflow)
-
Resolution: Completed
-
Affects Version/s: None
-
Fix Version/s: CFA 2019R4
-
Component/s: Ordering
-
Labels:
-
Sprint:CFAMX 2019R4 Sprint 3
-
SCRUM Team:Brotherhood of Mutants
Changes were made and the code was backed out, the only part that was left was reducing the maximum order quantity to 999 (it is currently 99999)
*************************************************************************************************
Story
As a Supply Chain user placing an order, I would like to be alerted when I place an order over a certain quantity and when total cases ordered are X% greater than the last Y orders.
Details
- Add max value to Quantity fields on Order Page (same manner counting works) This means the Quantity field would get highlighted in red and the order could not be saved when the quantity was exceeded. This should be existing logic.
- Change the default maximum order quantity to 999 (it is currently 99999)
- Read the Vendor Setting for Case Threshold (
CFAMX-4859) = X - Add configuration for using the total case tolerance.
- Add logic that looks at the last Y orders for that vendor, dropping the high and low for the item being ordered. If the store does not have five orders for that vendor, do not drop high and low, just use a straight average
- Algorithm to be used for the Case Threshold check:
- Check the total number of cases in the order compared to the average of the last Y Orders +/- X% variance for that same vendor
- The average will be calculated based on the number of cases ordered in the previous Y orders dropping the lowest and higher order totals to derive a +/-X% variance. (The variance is configurable at the admin level)
- If the restaurant does not have Y orders to calculate from, the average will be calculated using orders that are on record, without dropping the high and low.
Example
- Scenario 1
- Case Threshold = 50
- Place Order - # Orders for Case Threshold Check = 5
- Store has five previous orders for the specific vendor
Order Case Qty Note 1 67 2 58 3 89 high 4 61 5 42 low
- Drop high and low -> (67+58+61) / 3 = average = 62 cases
- Threshold = 50 %
- Any values that are greater than or less than the average +/- the threshold will trigger the alert
- For example:
- 30 cases (or less) - trigger alert
- 31 cases - no alert
- 58 cases - no alert
- 93 cases (or more) - trigger alert
- Scenario 2
- Case Threshold = 30
- Place Order - # Orders for Case Threshold Check = 5
- Store only has four previous orders for the specific vendor
Order Case Qty Note 1 67 2 58 3 89 4 61
- Average without dropping high and low -> (67+58+89+61) / 4 = average = 68.75 cases
- Threshold = 30 %
- Any values that are greater than or less than the average +/- the threshold will trigger the alert
- For example:
- 48 cases (or less) - trigger alert (68.75 * 0.7 = 48.125)
- 59 cases - no alert
- 87 cases - no alert
- 90 cases (or more) - trigger alert (68.75 * 1.3 = 89.375)
Mockup
- The actual display of the alert will be covered under
CFAMX-4863, this story is to build out the framework to fire the alert
Acceptance Criteria
- Confirm that the max value for the Quantity field is updated from 99999 to be 999, and when a quantity of more than 999 is entered on the order screen, the Quantity field is highlighted red
- Confirm there is a new configuration setting to toggle the alert on or off
- Mobile > Ordering > Place Order - # Orders for Case Threshold Check
- text - This configuration is used in conjunction with the Case Threshold in Supplier Setup. If Case Threshold = 0, the check will not be performed for the vendor.
- By default this configuration should be Off, not checked
- implements
-
CFAMX-4445 SO - Create an alert for the user when the total cases ordered are 50% greater than the last 5 orders received (drop high and low?)
- Closed
1.
|
Create Test Cases | Done | Gareth Leibbrandt (Inactive) |
|
||||||||||
2.
|
Execute Test Cases | Done | Gareth Leibbrandt (Inactive) |
|
||||||||||
3.
|
Update validation for order quantity | Done | Kevin Reid (Inactive) |
|
||||||||||
4.
|
Model/Service changes to get Case Threshold value | Done | Kevin Reid (Inactive) |
|
||||||||||
5.
|
Implement validation logic | Done | Kevin Reid (Inactive) |
|
||||||||||
6.
|
Create new config setting | Done | Kevin Reid (Inactive) |
|
||||||||||
7.
|
Dev testing | Done | Kevin Reid (Inactive) |
|
||||||||||
8.
|
Test Cases Review | Done | Soma Dixon (Inactive) |
|