Laddawn.com : Similar MOD Search (Codename: Godzilla)

Overview:

To help the customer and Laddawn employees find items that have been worked on before we are going to do a search for such items then allow the user an option to see them in a popup.

 

Visual Design:

https://laddawn1.atlassian.net/wiki/display/web/Godzilla+(global+MOD+search)+-+COMPLETE?src=search

When the user clicks find do a database call asking for 1 item.  If you get an item back you show a banner with a link above the results (See visual design 1).

Also, you will get a SessionIndicator(passed back and forth with the DB as P.VALUE) that you need to pass along to that routine in any subsequent calls.

Clicking that link will bring up the shadow box named “Godzilla Shadowbox” in the design. 

 

Processing:

 

Middle tier support:

 

Create ModItemSearchMatch Entity and Collection.


Entity Properties:

  • LocationCode - LOCATION
  • Location Description: Result of a select case based on LocationCode
  • CreateDate - ENTRY.DATE
  • Tags1 - PRODUCT.TAGS
  • Tags2 - LOCATION.TAGS
  • MatchText - DIFFERENCES
  • DiffCodes - DIFF.CODES
  • ID - LOCATION.ID
  • SessionIdentifier - P.VALUE

 

Service Methods:

  • GetByFilter
    • SearchFields – Search fields filled out on the widget.  Much like ModProductItemService.GetByFilter - DEFINED IN SEARCH FIELDS.
    • SessionIdentifier – Blank on the first call, the returned to the database based on previous calls. - P.VALUE
    • BilltoNbr – CurrentUser.CustomerID - BILLTO.NBR
    • FilterByContactFlag - 0 / 1 based on the check box for "show me my items only" is checked. - CRITERIA
    • Operator - Use CurrentUser.OperatorID - OPERATOR
    • ContactNbr - CurrentUser.ID - CONTACT.NBR

Modify ShoppingCartItem Entity


Added Properties:

  • LocationTags- LOCATION.TAGS
  • ProductTags – PRODUCT.TAGS

Modify ContactItem Entity:

Added Properties:

  • LocationTags- LOCATION.TAGS
  • ProductTags – PRODUCT.TAGS

 

 

UI Design:

The popup will display ModItemSearchMatch objects, 1 line for each one. However, the “actual” entity each line represents is going to be based on the Location Code.

  • 1 – Shopping Cart
  • 2 – ShoppingCart
  • 3 – Order
  • 4 – Saved Item

Linking from the Shadow Box:

Clicking on a ShoppingCart:

  • ModItemSearchMatch.ID should hold the Shopping Cart Item’s ID (CONTACT.NBR*CART.NAME*PARTNBR)
  • should check the Cart name.  If it is “CURRENT” then check the OwnerID.  If OwnerID = CurrentUser.ID then it is in the current user’s active cart.  Bring them to the Active Cart Page
  • If the Name <> CURRENT, bring them to the Saved Carts tab Passing forcing a Cart Name and Scope filter to my location.

Clicking on an Order:

  • ModItemSearchMatch.ID should hold the Order Number / ID
  • Send them to the Order History Tab, Force in the Order Number, Force the ScopeFilter to “My Location”, and issue the find.

Clicking on a Saved Item:

  • ModItemSearchMatch.ID should hold the Saved Item ID (COMPANY.ID*OWNER.ID*PART.NUMBER)
  • Send them to the Saved Items Tab force in the Part Number to the filter and the ScopeFilter to “My Location”, and issue the find.

Hover of Name / Tag column:

Hover for Shopping Cart items:

  • Get the ShoppingCartItem and ShoppingCart.GetyByID.  Those 2 calls should give you everything you need to display the Hover from the visual design (design 7a).

Hover for Saved Item:

  • Just display the Product Use and Location tags (added properties) for that saved item.

 

 

Plan of Attack: Time Estimate 60 Hours

  1. Get Saved Items working for Linking from the popup (Set Part Nbr, and Search Scope to My Location, and issue Find) Time Estimate: 8 hours
  2. Get Order History working for linking from the Popup (Set order number, and search scope, then issue Find). Time Estimate: 4 hours.
  3. Get Saved Carts linking working from the Popup (Set Cart name, and search scope, then issue Find). Time Estimate: 4 hours.
  4. Get Order History Work for linking from the Popup (Set Order Number and search scope, then issue Find) Time Estimate 4 hours.
  5. Build ModItemSearchMatch Entity, Service and Repository objects: 4 Hours
  6. Make changes to ContactItem and ShoppingCartItem entities 2 Hours
  7. In ShopTab find, make DB call and display banner if any result is found.  Preserving the SessionIndicator for subsequent calls.  Time Estimate 4 hours
  8. Build Popup: 19 Hours
    1. Create Grid and Paging including all Partials, Models, and database calls.(Not worrying about links and hovers) 16 Hours
    2. Add only show my items feature: 3 hours
    3. Hook up links to changes made in steps 1 – 4.  5 Hours
    4. Create Hovers / Tool Tips: 16 Hours
      1. Create Hover Tool Tips for Active Carts and Saved Carts: 12 Hours

                                                               i.      Tag / Name Hover: Time Estimate 4 Hours

                                                             ii.      Exact Match Column Hover: 8 Hours

  1. Create Hover Tool Tip for Orders

                                                               i.      Exact Match Column Hover: 2 Hours (Should be the same as the above)

  1. Create Hover Tool Tip for Saved Items 2 Hours