FS 312825 BIU EPOD Product Changes

From Calidus HUB
Revision as of 16:42, 21 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 EPOD Product Changes


CALIDUS ePOD

18th October 2013 - 0.1
Reference: FS 312825 312018-3/9/10












































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

Product development work identified for BIU, including:

  • Customer Signature Not Required;
  • Vehicle Checks Required;
  • Remove Container/Product tabs if there are no details for these tabs to display.

Customer Signature Not Required

If configured to do so, no signatures will be prompted for upon completion of a job. Instead, this will simply complete the job and move on to the next one.

Vehicle Checks Required

When completing Vehicle Checks, and if configured as Required entry, no Postpone button will be displayed. If the user presses the Back button on the device, the device will simply return to the Log-in screen, and will not allow the user to continue delivering until vehicle checks have been completed.

Remove Container/Product Tabs

If there are only Loose Products to be collected or delivered against a job, the Containers tab should not be displayed. Instead, the Product tab should be shown alone, with the Loose Products container already selected.

If there are no products to be delivered for any container, nor any Loose Products, the Products tab should not be displayed.


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.
  • The changes specified here are for phased delivery - only Customer Signature changes need be completed for Phase 1 delivery.


Set-up

Pre-requisites

Menu Structure

Data

Customer Signature Not Required

Note Note: All changes other than Android Client changes have been completed for another customer. These changes must now be integrated into the Android client. Work completed so far:

  • Flags controlling Customer or Driver signature have been added to the database and DAL
  • Admin has been modified to allow maintenance of these flags against Job Group.

The remaining work is:

  • The Android database must be modified for these new fields.
  • The Android Job Group DAL objects must be modified to action these new fields.
  • The flags are passed to the Android Client at Login, and must be stored in the new fields on the database against Job Group.
  • Modify the Collection and Delivery processes (in ColDel.js) to check the value of these flags when prompting for Signature at Job Confirmation.

Modify the EPOD_JOB_GROUP table to add the following fields:

  • EPL_COL_CUST_SIGN nvarchar(1) default 'Y'.
  • EPL_DEL_CUST_SIGN nvarchar(1) default 'Y'

The existing PDA_JOB_GROUP DAL object should be modified to add these new flags to all functions and methods, including:

  • Initialisation
  • Update
  • InsertPDAJobGroup
  • UpdatePDAJobGroup
  • InsertAllPDAJobGroups (assuming default values of 'Y' if not provided on the incoming XML document.

In ColDel.js:

  • The existing object vars.objText will be modified to hold the appropriate new field for the customer signature in a new property custSign, much like the existing property driverSign.
  • This property will be checked when prompting for customer signatures, when clicking the Done button or when completing all containers (which is at the moment always required). If the flag is set to Y, it will operate as now. If set to 'N', no customer signature will be prompted for.

Note Note: This may require a restructure of the existing code to create a controlling function to call for all of the existing Job Completion actions, currently consisting of (but not limited to):

  1. Customer Signature
  2. Driver/Engineer Signature
  3. Job/Document Photo

This function should check a current Job Completion status, keeping track of the numbered stages above. If the previous stage is complete (or not required), the next stage should be run. Completion of each stage should increment this stage counter and call the function again, presumably as a replacement to the existing callback functions in place. If a stage is not required, the same actions should be taken (increment the stage counter, call the function again). Completing the code this way will vastly reduce the complexity and system resources required in the application moving forward.


Vehicle Checks Required

Note Note: This is not a phase 1 deliverable item.

Note Note: The changes have already been made to the Android client for this, so only the Admin system will be affected.

The Admin Vehicle Checks Maintenance screen (Vehicle_checks.aspx) will be modified to add a check-box to the header section, showing whether the Vehicle Checks are required. This should be labelled as 'Required' and be checked as default.

If this check flag is set, a new attribute REQUIRED should be added to the generated VEHICLE_CHECK tag, set to "Y" (if checked) or "N" (if not). This will then be saved as normal with the checks generated.

The resulting XML tag will resemble the following:

<VEHICLE_CHECK FREQ="0" REQUIRED="Y">    
   <QUESTION ID="001"> ...
   </QUESTION>
</VEHICLE_CHECK>

Note Note: Ensure that any affected XSD layouts are modified to reflect the new REQUIRED attribute on the VEHICLE_CHECK tag.

Remove Container/Product Tabs

Note Note: This is not a phase 1 deliverable item.

Note Note: This affects the Android client only.

When creating the tabs for the Collection and Delivery processes (in ColDel.js), some checks will be added before the creation of the tabs, to ensure that they are required.

Add a check before creating the Products tab: If the count of all products on the job is zero, do not create the products tab and window at all. Note Note: Ensure that any references to the Product window (and any other contained objects, for example tblProducts) are checked to see whether the objects exist (i.e. not undefined) before referencing the object.


Add a check before creating the Containers tab: If there are no containers for the job (excluding the Loose Products container, ID "0000000000"), the container tab and window should not be created. A flag should be set to indicate that this job has only loose products (e.g. blnLooseOnly).

After creating the products table tblProducts, check the flag from before and, if true, populate the products table with the Loose Products, by calling:

vars.tblProducts.data = BindProductData(
   SelectAllProductsForContainer(
       PDAJOB.EPL_SITE_ID, 
       PDAJOB.EPL_JOB_ID, 
       "0000000000", 
       true)
   );

Note Note: Ensure that any references to the Containers window (and any other contained objects, for example tblContainers) are checked to see whether the objects exist (i.e. not undefined) before referencing the object. For example, upon confirming a Product complete, the function CompleteProduct is called. In here, if all products are now complete, the function attempts to refresh the Containers table before checking whether the Job is complete and potentially moving to Job Completion. If there is no Containers table (tblContainers) object, then this part of the function must be excluded.


Appendix A: TEST PLAN

Test Script / Scenario ReferenceBIU EPOD Product ChangesCall Number(s): 312825 312018-3/9/10
Test Script / Scenario DescriptionTo show that the agreed CALIDUS ePOD changes have been applied correctly.PASS / ISSUES / FAIL
Menu Access 
Pre-requisitesTested By:
 
Test ObjectiveTo test that: Customer Signatures can be excluded; Vehicle Checks can be required entry and; Unnecessary Tabs can be removed from the Collection and Delivery displays.Date:
 


Step Action Result Remarks P/F
1 Job Completion tests      
       
1.01 Ensure Collection is configured to require Customer and Driver Signatures and Job Photos. Complete a collection. Customer Signature, Driver Signature and Job Photo should be prompted for in sequence.    
1.02 Ensure Collection is configured to require Customer Signature, not Driver Signatures and Job Photos. Complete a collection. Customer Signature and Job Photo should be prompted for in sequence.    
1.03 Ensure Collection is configured to require Customer and Driver Signatures and not Job Photos. Complete a collection. Customer Signature and Driver Signature should be prompted for in sequence.    
1.04 Ensure Collection is configured to not require Customer Signature, and to require Driver Signatures and Job Photos. Complete a collection. Driver Signature and Job Photo should be prompted for in sequence.    
1.05 Ensure Collection is configured to not require Customer Signature and Job Photos, just Driver Signature. Complete a collection. Driver Signature should be prompted for.    
1.06 Ensure Collection is configured to require Customer Signature, but not Driver Signatures and Job Photos. Complete a collection. Customer Signature should be prompted for.    
1.07 Ensure Collection is configured to not require Customer and Driver Signatures and Job Photos. Complete a collection. The job should just complete without prompting for any.    
1.08 Repeat all the above tests for a Delivery job As above.    


Step Action Result Remarks P/F
2 Vehicle Checks Required      
       
2.01 Ensure Vehicle Checks are configured with a frequency of 0 (always at logon) and are not required. Log on to the application. Vehicle Checks should be prompted for. There should be a Postpone button. Pressing this will display the Job List after confirmation. The Back button on the device will act in the same way.    
2.02 Ensure Vehicle Checks are configured with a frequency of 0 (always at logon) and are required. Log on to the application. Vehicle Checks should be prompted for. There will be no Postpone button. The Back button on the device will display the Logon screen.    


Step Action Result Remarks P/F
3 Remove Unused Tabs      
  Create several Collection and Delivery jobs with: Containers and Products; Containers without Products; Loose Products only, Containers and Products with Loose Products; Containers without Products, with Loose Products.      
3.01 Complete the Containers and Products Collection Job Both Containers and Products tabs should be displayed upon starting the job. Completing a Container will display the Products to complete. Completing a Product will remove it from the Products list. Completing all products on a container will remove the container from the Containers list. Completing all containers will complete the job.    
3.02 Complete the Containers without Products Collection Job Only the Containers tab should be shown. Completing a container will remove it from the Containers list. Completing all containers will complete the job.    
3.03 Complete the Loose Products Only Collection Job. Only the Products tab should be shown. Completing a Product will remove it from the Products list. Completing all products will complete the job.    
3.04 Containers and Products with Loose Products Both Containers and Products tabs should be displayed upon starting the job. A Loose Products container should be shown on the Containers list. Completing a Container will display the Products to complete. Completing a Product will remove it from the Products list. Completing all products on a container will remove the container from the Containers list. Completing all containers (including the Loose Products container) will complete the job.    
3.05 Containers without Products, with Loose Products Both Containers and Products tabs should be displayed upon starting the job. A Loose Products container should be shown on the Containers list. Completing the Loose Products Container will display the Loose Products to complete. Completing a Product will remove it from the Products list. Completing all products on a container will remove the container from the Containers list. Completing an empty Container will remove the Container from the Containers list. Completing all Containers (including the Loose Products container) will complete the job.    
3.06 Repeat all the above tests for Delivery jobs. As Above    


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 5.00 0 £0.00
Testing and Release 0.75 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
_____________________________