FS 312826 BIU Load Metrics UDF

From Calidus HUB
Revision as of 17:07, 18 October 2013 by Anw (talk | contribs) (v0.1 - Initial Creation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)





Aptean Logo.png







BIU Group

BIU Load Metrics UDF


CALIDUS ePOD

18th October 2013 - 0.1
Reference: FS 312826 312018/4












































Functional Overview

Client Requirement

For Job Type 1 - Standard Planned Collection of Recycled clothing from Supermarket banks

  • Choose collection job
  • Review job as normal and confirm arrival. Co-Pilot has not been purchased yet but is on the table.
  • Containers will represent banks. Client will click on or scan each container to confirm how many bags have been collected. If container is so damaged that no bags will be collected,the container can be cancelled using the existing cancellation process. If the bank is damaged but bags can still be collected then the container should be claused. A claused container will still need a picture.
  • Default qty for product in container is 0. User must choose change qty to indicate how many bags have been collected. No reason code should be entered at this stage.
  • No signature is required
  • At the end of a load that contains these collections, the user must enter weighbridge ticket no (up to five numeric digits) and weight (up to five numeric digits)


Solution Overview

If configured as required, the application will display a Load Metrics pop-up screen when all jobs on a load are complete, requiring the user to enter:

  • ODO - numeric only, required entry
  • Weighbridge Number - text, required entry
  • Weight - numeric only, required entry

Note Note: The last two Metrics fields prompted for will be configurable. They will be set up as a LoadEnd-level UDF Configuration, applicable to the Site only.

Scope

  • These changes will be made in the latest version of the CALIDUS ePOD product only.
  • The changes will be made to the Android CALIDUS ePOD client only.


Set-up

Pre-requisites

Menu Structure

Data

A new EPOD_UDF_CONFIG record should be created for the site:

  • EPL_DESCRIPTION = "Load End Metrics"
  • EPL_KEY_TYPE = "S"
  • EPL_KEY_VAL = "{EPL_SITE_ID}"
  • EPL_CONFIG_TYPE = "LOADEND"
  • EPL_UDF_FIELDS - as below:
<FORM NAME="Test Results" REQUIRED="Y">
   <FIELD ID="WEIGHT">
       <TEXT>Weight</TEXT>
       <FORMAT>N</FORMAT>
       <REQUIRED>Y</REQUIRED>
   </FIELD>
   <FIELD ID="WB_NUMBER">
       <TEXT>Weighbridge Number</TEXT>
       <FORMAT>T</FORMAT>
       <REQUIRED>N</REQUIRED>
   </FIELD>
</FORM>

The EPOD_SITE record should have Load Metrics enabled (EPL_METRICS_ENTRY = "Y").


Functional Description

Database and DAL

The existing EPOD_LOAD table will be modified to add new fields as follows:

  • EPL_UDF_LOAD_START - nvarchar(max)
  • EPL_UDF_LOAD_END - nvarchar(max)

Existing packages will be modified to allow the creating, editing and selecting of the new fields, including but not limited to:

  • EPOD_LOAD_INSERT
  • EPOD_LOAD_SEARCH
  • EPOD_LOAD_SELECT
  • EPOD_LOAD_SELECT_DATE
  • EPOD_LOAD_SELECT_PDA
  • EPOD_LOAD_UPDATE

The XML Export of EPOD_LOAD (through the DAL) will be modified to add these two new fields to the end of the EPOD_LOAD section.

Server

All XSDs used in export (not import) should be modified to include the new fields. These include but are not limited to:

  • EPOD_EXPORT_LOAD.XSD
  • EPOD_EXPORT_LOAD_RESPONSE.XSD
  • XMLUpload.XSD

Note Note: The Spread-sheets governing the layout of the export formats should be modified as well.

The process function for the PDA message LOAD_UPDATE_REQUEST should be modified to save the two new fields to the database from the incoming XML, if the new tags exist. The format will be:

<LOAD_UPDATE_REQUEST>
  <EPL_SITE_ID/>
  <EPL_LOAD_ID/>
  <EPL_LOAD_START_PLANNED_DATE/>
  <EPL_LOAD_START_PLANNED_TIME/>
  <EPL_LOAD_END_PLANNED_DATE/>
  <EPL_LOAD_END_PLANNED_TIME/>
  <EPL_LOAD_START_ACTUAL_DATE/>
  <EPL_LOAD_START_ACTUAL_TIME/>
  <EPL_LOAD_END_ACTUAL_DATE/>
  <EPL_LOAD_END_ACTUAL_TIME/>
  <EPL_LOAD_DISTANCE_PLANNED/>
  <EPL_LOAD_DISTANCE_ACTUAL/>
  <EPL_MILEAGE_START/>
  <EPL_MILEAGE_END/>
  <EPL_USER_ID/>
  <EPL_STATUS/>
  <EPL_UDF_LOAD_START/>
  <EPL_UDF_LOAD_END/>
  <EPL_LAST_CHANGED_DATE/>
  <EPL_LAST_CHANGED_TIME/>
</LOAD_UPDATE_REQUEST>

Admin

Note Note: These changes are phase 2 and need not be entered into until the UDF Configuration screen has been created. These changes are not included in the estimate.

Add Load-Start (LOADSTART) and Load-End (LOADEND) UDF Configuration types to the existing UDF Configuration screen.


Android Client

The existing EPOD_LOAD table will be modified to add new fields as follows:

  • EPL_UDF_LOAD_START - ntext
  • EPL_UDF_LOAD_END - ntext

These new fields should be added to every procedure as part of the DAL.

The method ToUpdateXElement should be modified to add the new fields to the end of the Load, in the format as seen in the previous section (Server).

Note Note: The UDF Config and UDF objects have been used extensively in the Services module, so it's best to seek code samples from there. This is also the best place to look for examples of scroll views and vertical layouts (for example the Info tab.

The Job List screen will be modified to get UDF Configurations for Load Start (type "LOADSTART") and Load End (type "LOADEND"). Only Site can be passed to the function getUDFConfig to do this. Store these as objects named PDA_UDF_LOADSTART and PDA_UDF_LOADEND.

Modify the existing Metrics pop-up to accept a new UDF configuration parameter.

Pass the appropriate configuration through to the Metrics pop-up:

  • If at Load Start:
    • Check the existing value of PDALOAD.EPL_UDF_LOADSTART. If populated, pass this through as the parameter.
    • If not, pass in PDA_UDF_LOADSTART.EPL_UDF_FIELDS
  • If at Load End:
    • Check the existing value of PDALOAD.EPL_UDF_LOADEND. If populated, pass this through as the parameter.
    • pass in PDA_UDF_LOADEND.EPL_UDF_FIELDS

Note Note: If the PDA_UDF object being used is null, pass in null as the parameter.

The existing vars.metricView should be changed to be a scrollView, with a height specified as Ti.UI.SIZE, to allow it to grow with the contents, with a vertical layout property.

The existing labels and fields should have any top properties removed (the vertical layout will take care of this) and a height specified as Ti.UI.SIZE.

If the value in the parameter is null or a blank string, the Metrics pop-up should act as now.

If not null:

  • A UDF Object should be created on the form (through Ti.App.style.createUDFFields2).
  • The parameter value should be parsed as an XML Document and passed to the object as a parameter.

The complete button click event should be modified to:

  • Call the validate function of the UDF object.
  • Save the value of the UDF Object's result function into PDALOAD.EPL_UDF_LOADSTART or PDALOAD.EPL_UDF_LOADEND, depending on when the pop-up has been called (using the existing blnStart parameter).


Appendix A: TEST PLAN

Test Script / Scenario ReferenceBIU Load Metrics UDFCall Number(s): 312826 312018/4
Test Script / Scenario DescriptionTo show Load Metrics at the start and end of the load may include User-defined forms.PASS / ISSUES / FAIL
Menu AccessJob List 
Pre-requisitesConfiguration data set up as in section DataTested By:
 
Test ObjectiveTo test that Load Metrics without UDF operates as now, and Load Metrics with UDF allows entry of user-defined fields.Date:
 


Step Action Result Remarks P/F
1 PDA      
  Create a Load with a collection and delivery and assign to a user.      
1.01 Log on to the PDA and retrieve the load. Metrics pop-up should be displayed, showing only the ODO reading required.    
1.02 Do not enter an ODO reading and attempt to Save. A validation error message should be displayed.    
1.03 Enter an ODO reading and Save The Job List should be displayed.    
1.04 Complete all jobs on the Load Metrics pop-up should be displayed, showing the ODO reading and the UDF Fields configured.    
1.05 Do not enter anything. Attempt to Save. A validation error message should be displayed.    
1.06 Enter an ODO reading. Attempt to Save. A validation error message should be displayed.    
1.07 Enter a weight and weighbridge number. Save. The Job List should be displayed, requesting more work.    
1.08 Check the logs. The information is sent back to the Server and saved.    
1.09 Check the database. The new UDF fields have been saved.    


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 0.50 0 £0.00
Technical Specification 0.00 0 £0.00
Development 3.00 0 £0.00
Testing and Release 0.50 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 NoDocument Title & IDVersionDate
1UG 291094 EPOD Admin User Guide2.04/4/2012
2UG 291097 EPOD Client User Guide3.023/4/2013
3REQ 312018 Bag It Up EPOD Requirements0.301/10/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


Barry Preece

OBS Project Manager
_____________________________


Client Representative
_____________________________