FS 311801 Other Product and Search
Lanemark
Other Product and Search
CALIDUS eSERV
9th September 2013 - 0.2
Reference: FS 311801 309371-8
Contents
Functional Overview
Client Requirement
The Removed button will be removed from the screen (through configuration). Instead, this will be replaced with an Other button. This button will display a pop-up allowing:
- Product Model filtering
- the user to search via product code or description
- remove their own van stock limitation, opening up to all service stock.
- Identifying which van's stock was used. Other also allowed (in the case where the stock was simply purchased by the driver for the job).
Additionally, there will be the ability to identify that this is 'Other' stock, and manually key a description against it - this is to represent stock that does not come from any van stock nor is stored by the customer, but that has been purchased specifically for this job.
Solution Overview
A Lanemark-specific configuration and style will be created within the PDA client.
The Job Group and Site will be configurable against the Service Products functionality to allow enabling through client-specific values.
The Service Products screen be modified to replace the "Removed" products button with an "Other" button. The existing "Removed" products functionality will be relegated to client-specific.
This Other button will display a pop-up allowing:
- Product Model filtering
- the user to search via product code or description
- remove their own van stock limitation, opening up to all service stock.
- Identifying which van's stock was used. Other also allowed (in the case where the stock was simply purchased by the driver for the job).
Additionally, there will be the ability to identify that this is 'Other' stock, and manually key a description against it - this is to represent stock that does not come from any van stock nor is stored by the customer, but that has been purchased specifically for this job.
When products have been selected or a new product description entered, a quantity can be specified and the product used, through the pressing of a Used button.
The Service Products tab will be modified to identify where other van stock has been used.
All existing reports and Admin screens that display products will be modified to account for Other Products, displaying then appropriately. Additionally, the Service Detail screen will display the Vehicle from which products were used, if present and configured.
Scope
- These changes will be made in the latest version of the CALIDUS eSERV product only.
- The changes will be made to the Android eSERV client only.
Set-up
Pre-requisites
Menu Structure
Data
Functional Description
Database/DAL
The table EPOD_SERVICE_PRODUCT will be modified as follows:
- EPL_DESCRIPTION, nvarchar(100)
- EPL_VEHICLE_ID, nvarchar(10)
Existing packages will be modified to allow the creating, editing and selecting of the new fields, including but not limited to:
- EPOD_SERVICE_PRODUCT_DELETE
- EPOD_SERVICE_PRODUCT_INSERT
- EPOD_SERVICE_PRODUCT_SELECT
- EPOD_SERVICE_PRODUCT_UPDATE
Additionally, the index for this table will change to include EPL_VEHICLE_ID as the final item. This will affect the above Insert and Update packages.
The existing EPOD_SERVICE_PRODUCT DAL object will be changed to:
- Export the new fields in XML requests
- Read the new fields
Note: It is not necessary to add these items as a search-able item. However, if allowing this keeps the packages and DAL objects standard in design, then this can also be done, within the DAL and the packages.
Server
All XSDs within the Server will be modified to add the new EPOD_SERVICE_PRODUCT fields. These include but are not limited to:
- EPOD_EXPORT_JOB.XSD
- EPOD_EXPORT_JOB_RESPONSE.XSD
- EPOD_EXPORT_LOAD.XSD
- EPOD_EXPORT_LOAD_RESPONSE.XSD
- XMLUpload.XSD
When any JOB_UPDATE messages are received by the PDA web-service (calidus_epod.asmx), the new fields should be saved to the EPOD_SERVICE_PRODUCT table.
Admin
The Job Group and Site screens (job_group.aspx and site_header.aspx respectively) will be modified to allow the system to be configured for:
- Configuration of customer-specific Products entry:
- Allow the values N - Disabled, Y - Enabled (SM Fleet), A - Enabled (ALS), L - Enabled (Lanemark).
Note: This should use the new LIST features in Admin for these values.
- Allow the values N - Disabled, Y - Enabled (SM Fleet), A - Enabled (ALS), L - Enabled (Lanemark).
The existing Add and Edit pop-ups will be modified to allow these new fields and values. The grid will be modified to show the new values allowed.
The Service Details screen (service_detail.aspx) will be modified to:
- Allow Product Code to be blank
- Pick up EPL_DESCRIPTION from EPOD_SERVICE_PRODUCT if this is populated.
- Display the Vehicle Registration, if EPOD_JOB_GROUP.EPL_SERVICE_PRODUCTS is not Y or N and EPOD_SERVICE_PRODUCT.EPL_VEHICLE_ID is populated.
Note: If EPOD_JOB_GROUP.EPL_SERVICE_PRODUCTS is "Y", the product list should be shown, but without the Vehicle ID column.
Note: All existing reports should now account for these new fields as well. It is not necessary to modify existing reports to subtotal EPOD_SERVICE_PRODUCT quantities if they have been added multiple times per Vehicle.
Android Client
The table EPOD_SERVICE_PRODUCT will be modified as follows:
- EPL_DESCRIPTION, ntext(100)
- EPL_VEHICLE_ID, ntext(10)
The PDA_SERVICE_PRODUCT DAL object will be changed as follows:
- The new fields will be added - note that EPL_DESCRIPTION already exists and is populated from EPOD_SERVICE_PRODUCT_MASTER.
- The new fields will be added as parameters to any creation functions, as follows:
- PDA_SERVICE_PRODUCT creation
- function InsertPDAServiceProduct
Note: EPL_VEHICLE_ID will be added to any SQL Selects or deletions, to ensure that unique records are retrieved.
Any calls to these functions should be modified to ensure the new parameters are passed.
Additionally, the new fields will be added to
- Any SQL Inserts in this PDA_SERVICE_PRODUCT object
- XML Exports through the ToUpdateXElement method.
The new XML extract should look like the following (for each EPOD_SERVICE_PRODUCT):
<PRODUCT> <EPL_PRODUCT_ID></EPL_PRODUCT_ID> <EPL_QUANTITY></EPL_QUANTITY> <EPL_DIRECTION></EPL_DIRECTION> <EPL_RETURN></EPL_RETURN> <EPL_DESCRIPTION></EPL_DESCRIPTION> <EPL_VEHICLE_ID></EPL_VEHICLE_ID> <PRODUCT>
As EPL_DESCRIPTION is now used for either:
- Returning the description of the referred Product Master or
- Adding a description for a new product without a code
the existing code must be modified to:
- LEFT JOIN to EPOD_SERVICE_PRODUCT_MASTER.
As EPL_VEHICLE_ID is added to the Product records, this must also be modified to:
- LEFT JOIN to EPOD_VEHICLE using the Site and Vehicle ID in any SELECT statements. This should select the value of EPL_VEHICLE_REG and this should be exposed as a new property of PDA_SERVICE_PRODUCT.
Note: The Webservices code corresponding to the receipt of jobs need not be modified to accept any of the new fields against EPOD_SERVICE_PRODUCT, as they cannot be updated without the service job being completed.
The PDA Service Products tab should be modified so that the products table displays the vehicle registration from which the stock was used (if one has been selected against the record). This should happen if:
- Ti.App.PDA_JOB_GROUP.EPL_SERVICE_PRODUCTS is not Y or N.
- PDA_SERVICE_PRODUCT.EPL_VEHICLE_ID is populated.
The existing "Installed/Removed" label should be replaced with "From Vehicle ", then the Vehicle Registration (EPL_VEHICLE_REG from PDA_SERVICE_PRODUCT).
Additionally, the products table should display all products without a product code as "NEW".
A new option should be added to the Long Press function of the products grid, allowing the user to "Add 1". The existing "Remove" option should be relabelled "Remove 1". When the new option is clicked, one should be added to the existing quantity on the line and saved.
The PDA Service Products Removed button should be changed to be an Other button if:
- Ti.App.PDA_JOB_GROUP.EPL_SERVICE_PRODUCTS is not Y or N.
When the Other button is clicked, this will call a new Product Search/Other Product pop-up screen.
The screen is split into 3 sections:
- Product Search - section starts as enabled and contains:
- Search criteria text box - this allows the user to enter the search text. This will be used by the Search button.
- Vehicle Used drop-down list - this allows the user to select from which vehicle the stock was used. The list will be populated from the vehicles available on the table EPOD_VEHICLE. If the vehicle matches the default vehicle ID, this should be labelled ad "Own". If the selected value is "Own" (the default) then the search will only search for products with quantity on the user's vehicle. If not, the search will be for any Service Product at all, and the vehicle selected by the user will be stamped onto the Service Product record created.
- Model drop-down list - this allows the user to filter the products searched by Model. This will be populated as the existing Model drop-down list on the Service Products tab. This will default to "All Models".
- Clear button - this will clear the Search criteria and reset Model to "All Models" and Vehicle Used to "Own".
- Search button - this will search for any product with a code or description that contains the search text, for the model selected, from the user's own vehicle stock or the full service product list, as selected. Any matching results will be shown in the Results drop-down list.
Note: If no search criteria is entered, all applicable (i.e. filtered) products should be displayed here. If none are found, "None" should be shown in the results list, the list should be disabled and the user should not be able to select to use a product.
- Result drop-down list - this shows the results of the search, showing the Product Code and the Description. One must be selected from the result. The default option will be the first product found.
- New Product section
- Add Other Stock check-box - this starts as unchecked. If checked, the Product Search section will be disabled and the New Product Description text field (below) will be enabled. If unchecked, the description will be disabled and the Product Search section will be enabled again.
- New Product Description text-box - this starts as disabled, and is only enabled if the Add Other Stock check-box is enabled. This will allow the user to enter in a free-text description of a product used.
- Entry
- Quantity entry - this starts as 1. A non-zero value must be entered here.
- Use button - this button will validate the entered information and, if passed, save the product required and return to the Service Products tab..
- Back button - this button will discard any entered information and, if passed, return to the Service Products tab.
The validation done on the Use button will be:
- If the Add Other Stock check-box is disabled:
- The results drop-down list has some valid products in it (i.e. not "None")
- a product has been selected from the results drop-down list
- a non-zero quantity has been entered.
- if a Vehicle Used (other than "Own") has been selected, a confirmation dialogue will be displayed asking the user to confirm using other user's stock. If not confirmed, the user will be returned to the pop-up. If confirmed, this will continue to the save process.
- If the Add Other Stock check-box is enabled:
- a New Product Description has been entered
- a non-zero quantity has been entered.
If the validation passes, the following items will be saved (changed items only are specified here):
- If the Add Other Stock check-box is disabled:
- EPL_PRODUCT_CODE - product code selected from the results drop-down list
- EPL_DIRECTION - "U"
- EPL_QUANTITY - Quantity entered
- EPL_VEHICLE_ID - the Vehicle ID selected from the Vehicle Used drop-down list, if the selected vehicle is not the user's own vehicle.
- EPL_DESCRIPTION - blank.
Note: If the product code already exists on the Service Products list for the vehicle selected, this quantity should be added to the quantity already present on the list.
- If the Add Other Stock check-box is enabled:
- EPL_PRODUCT_CODE - blank
- EPL_DIRECTION - "U"
- EPL_QUANTITY - Quantity entered
- EPL_VEHICLE_ID - blank
- EPL_DESCRIPTION - the New Product Description entered.
Note: No check will be made as to whether this description already exists.
When the pop-up returns to the Service Product tab, the tab must refresh at this point and redisplay the Products table. This is best achieved through a callback function passed to the new pop-up screen when it is initially called.
Appendix A: TEST PLAN
Test Script / Scenario Reference | Other Product and Search | Call Number(s): 311801 309371-8 |
Test Script / Scenario Description | To test new Other Product and Product Search functionality works as expected. | PASS / ISSUES / FAIL |
Menu Access | Services | |
Pre-requisites | Tested By: | |
Test Objective | To test that: the system can be configured as required; Product Search functionality works as expected on the PDA; Other product functionality works as expected on the PDA; Other products, when entered, are displayed correctly within the system. | Date: |
Step | Action | Result | Remarks | P/F |
1 | Admin | |||
1.01 | Check Site and Job Group screens, that the Lanemark option can be chosen against 'Products', saved and edited. | The value can be selected, EPL_SERVICE_PRODUCTS is saved correctly and is editable. |
Step | Action | Result | Remarks | P/F |
2 | PDA Services | |||
Ensure that the EPOD_JOB_GROUP flag EPL_SERVICE_PRODUCTS is set to "L". Create a service job and assign to a PDA user. | ||||
2.01 | Enter multiple models against multiple products, ensuring that some products are left with no model. Log on, start a Service Job and click on the Products tab. Click on Other, then Search. | All products are listed for the user's vehicle. | ||
2.02 | Change the model DDL to one of the models. Click Search. | Only products matching the model selected or without a model on the user's vehicle should be shown. | ||
2.03 | Click Back. | The unit should return to the Products tab - nothing should be entered on the Products table. | ||
2.04 | Re-enter the Other pop-up and re-enter the same criteria as before. Click Search then Use. | The unit should return to the Products tab. The first product in the list should be entered on the Products table. | ||
2.05 | Re-enter the Other pop-up and re-enter the same Model criteria as before. Enter some search criteria that matches none of the available products on the user's vehicle (but matches a general service product) and click Search | None should be displayed. A validation error should be displayed if the user attempts to use the product. | ||
2.06 | Choose a different vehicle's stock and click Search. | All products matching the model selected or without a model should be shown. | ||
2.07 | Change the product quantity to 0 and click Use. | A validation error should be displayed. | ||
2.08 | Change the quantity to a non-zero, non-1 value and Click Use | A pop-up should show requiring the user to confirm using the other vehicle's stock. | ||
2.09 | Click "No" | The user should be returned to the pop-up. | ||
2.10 | Click Use then "Yes" | The unit should return to the Products tab. The first product in the result list should be entered on the Products table, marked as from the different vehicle. The quantity should be as set in the pop-up screen. | ||
2.11 | Re-enter the Other pop-up and re-enter the same criteria as before. Click Search then Use. | The unit should return to the Products tab. The original product in the list should have the quantity added to the entry on the Products table. | ||
2.12 | Re-enter the Other pop-up. Check 'Add Other Stock'. | All Search criteria should be disabled for use. Description should be enabled. | ||
2.13 | Click Use | A validation error should be displayed, as no description has been entered. | ||
2.14 | Enter a description then click Use. | The unit should return to the Products tab. A new entry should be entered on the Products table, with a Product code of "NEW", with the entered description. | ||
2.15 | Re-enter the Other pop-up. Check 'Add Other Stock'. Enter a different description then click Use. | The unit should return to the Products tab. A new entry should be entered on the Products table, with a Product code of "NEW", with the entered description. | ||
2.16 | Re-enter the Other pop-up. Check 'Add Other Stock'. Enter the same description then click Use. | The unit should return to the Products tab. A new entry should be entered on the Products table, with a Product code of "NEW", with the entered description. | ||
2.17 | Re-enter the Other pop-up. Check 'Add Other Stock'. Enter the same description then click Use. | The unit should return to the Products tab. A new entry should be entered on the Products table, with a Product code of "NEW", with the entered description. | ||
2.18 | Long-press on any "NEW" line in the product grid and select "Remove All" | The entry should be removed from the Products table. | ||
2.19 | Long-press on any "NEW" line in the product grid with a quantity greater than 1 and select "Remove 1". | The quantity should be decreased by 1. | ||
2.20 | Continue to long-press on this line in the product grid, selecting "Remove 1" until the quantity = 0 | The entry should be removed from the Products table. | ||
2.21 | Long-press on any "NEW" line in the product grid and select "Add 1" | The quantity should be increased by 1. | ||
2.22 | Repeat the last 4 tests for non-"NEW" lines | As expected | ||
2.23 | Complete the Service | All products should be sent back to the server and saved. |
Step | Action | Result | Remarks | P/F |
3 | Admin (post) | |||
3.01 | Check the Job in Admin Services and Jobs screens, showing the details. | The job should be completed. The details should show the fields required by the set-up and the data (i.e. the Vehicle and Description columns). |
Step | Action | Result | Remarks | P/F |
4 | Regression tests | |||
4.01 | Set the value of the EPOD_JOB_GROUP flag EPL_SERVICE_PRODUCTS is set to other values ("A", "N", "Y"). Repeat the tests above to ensure that the system operated as it should under the other configurations. | As required by the other configurations. |
Appendix B: Quote & Document References
Cost Details | |||
Activity | No. of Days | Rate per Day (£) | Cost (£ Exc. VAT) |
Requirements | 0.00 | 0 | £0.00 |
Change Request Evaluation | 0.00 | 0 | £0.00 |
Functional Specification | 1.00 | 0 | £0.00 |
Technical Specification | 0.00 | 0 | £0.00 |
Development | 6.25 | 0 | £0.00 |
Testing and Release | 1.00 | 0 | £0.00 |
Implementation | 0.00 | 0 | £0.00 |
Project Management | First argument to "number_format" must be a number. | 0 | £First argument to "number_format" must be a number. |
TOTAL | First argument to "number_format" must be a number. | £First argument to "number_format" must be a number. |
Estimate excludes training, release to live and go live support. |
B.1 References
Ref No | Document Title & ID | Version | Date |
1 | UG 291094 EPOD Admin User Guide | 2.0 | 4/4/2012 |
2 | UG 291097 EPOD Client User Guide | 3.0 | 23/4/2013 |
3 | REQ_309371_Lanemark_eSERV_Requirements | 0.4 | 29/08/2013 |
B.2 Glossary
Term | Definition |
---|---|
EPOD | Electronic Proof of Delivery. The OBS EPOD system is CALIDUS ePOD. |
CALIDUS eSERV | The OBS mobile system to complete Service functionality in the field. This is part of the CALIDUS ePOD system. |
PDA | The mobile device on which the C-ePOD system will run in the field. This can be a Phone, EDA or industrial PDA, running Android. |
DAL | Data Access Layer. A mechanism for accessing data by the system that is removed from the application, allowing for simplified access and providing protection to the data, as only approved DAL methods can be used to modify it. |
GPS | Global Positioning System. A mechanism of retrieving accurate positioning information in the form of Latitude and Longitude (Lat-Long) co-ordinates from a device. |
GPRS, 3G, HSDPA, Data Service | All terms referring to mobile device network connectivity, and the speed at which the device connects to the internet. |
B.3 Authorised By
Julie Taylor | OBS Project Manager | _____________________________ |
Jeff Foster | Client Representative | _____________________________ |
Alan Thompson | Client Representative | _____________________________ |