Containers and Contents Component

From UG

(Difference between revisions)
Jump to: navigation, search
(RFC Need to simplify overall design)
 
(5 intermediate revisions not shown)
Line 1: Line 1:
-
[[Category:Ops]]
+
[[Category:Ops CT]]
Note: '''Contents''' is synonym for '''Commodities'''
Note: '''Contents''' is synonym for '''Commodities'''
Line 5: Line 5:
== CT Containers Table ==
== CT Containers Table ==
-
=== FCL vs LCL ===
+
=== FCL / LCL vs Ocean-Truck ===
 +
 
 +
==== FCL / LCL ====
 +
 
 +
* If CT is a part of a Master then Container Table is common for Master and every CTs in this Master (it is shared).
 +
 
 +
==== Ocean-Truck ====
 +
 
 +
* Each CT has its own list of containers. Containers for this mode are "not shared through" the Master.
 +
 
 +
==== Remark About Commodity Assignments ====
 +
 
 +
* To calculate reports we no longer look at what is happening with commodities / assignments of particular commodities to containers:
 +
** commodities from what CTs assigned to what containers
 +
** if containers have no assigned commodities
 +
** if CTs have unassigned commodities
 +
** if master have "empty" containers or unassigned commodities
 +
** etc
=== Dates ===
=== Dates ===
Line 257: Line 274:
Some ideas that come to mind:
Some ideas that come to mind:
* allow to edit container properties in Master (including dates) just from Master or just from one "related" CT (now it can be done from any CT or Master).
* allow to edit container properties in Master (including dates) just from Master or just from one "related" CT (now it can be done from any CT or Master).
-
* limit number of cases in terms of CT-Container-master relationships. For example say that for FCL 1 container may contain commodities from at most one CT.
+
* limit number of cases in terms of CT-Container-master relationships. For example say that for FCL one container may contain commodities from at most one CT (otherwise it is LCL).

Current revision as of 17:58, 14 February 2010


Note: Contents is synonym for Commodities

Contents

[edit] CT Containers Table

[edit] FCL / LCL vs Ocean-Truck

[edit] FCL / LCL

  • If CT is a part of a Master then Container Table is common for Master and every CTs in this Master (it is shared).

[edit] Ocean-Truck

  • Each CT has its own list of containers. Containers for this mode are "not shared through" the Master.

[edit] Remark About Commodity Assignments

  • To calculate reports we no longer look at what is happening with commodities / assignments of particular commodities to containers:
    • commodities from what CTs assigned to what containers
    • if containers have no assigned commodities
    • if CTs have unassigned commodities
    • if master have "empty" containers or unassigned commodities
    • etc

[edit] Dates

[edit] Completness for Containers and Contents

At some point in life cycle of CT both Containers and Commodity tables become complete:

  • every container listed on Containers Table is not empty (has at least one commodity line assigned)
  • every line listed under Commodity Table is "assigned" to a container

Containers and Contents Completeness is required for some operations for example generating pdf

[edit] Ver 1.0

Container related Logic and Use Cases for Master Ocean

[edit] ==========================================

1. Intro


1.1 Containers in Master are managed through Master Containers List/Panel located on Master Details Tab.

1.2 CTs that are part of the given Master have their own Container Panels located on ComTableTab being disabled. But commodity items in CT can be assigned to containers through CT's Commodity Tab. Commodity-to-container assignment dropdown is always showing Master Containers List.

1.3 For every Master/CT use case we need to ask the following questions:

q1) what happens to containers list in M? q2) what happens to commodity-to-container assignment dropdown in CT? q3) what happens to commodity-to-container assignment in CT?

1.4 There will be additional panel for assignment of contents in Master. Append it below Master Container Panel. Through this Panel User should be able to select subset of CTs (that are part of this Master). Then select ONE container from the Master Containers List. Then press "Move" button. As a result all content from selected CTs will be re-assigned to selected above container.

1.5 If CT is deleted then remove CT from master


2. Use cases


UC1) Create Master. Manage Master Conatiners. (Add, remove, edit) same as in individual CT

UC2) Create Master based on CT.


  • create new Master;
  • add all containers to M;

UC3) Add CT1,..., CTN to M (KEEP CONTAINERS=y)


q1) what happens to containers list in M? this list is a superset of all containers in M and in all CT's

q2) what happens to commodity-to-container assignment dropdown in CT? all CTs have same Master Containers List in commodity-to-container assignment dropdown

q3) what happens to commodity-to-container assignment in CT? remains the same

UC4) Add CT1,..., CTN to M (KEEP CONTAINERS=n)


q1) what happens to containers list in M? remains the same

q2) what happens to commodity-to-container assignment dropdown in CT? shows only containers from M's containers list

q3) what happens to commodity-to-container assignment in CT? all items assigned to "undefined"

UC5) Remove CT1,..., CTN from M


q1) what happens to containers list in M? remains the same

q2) what happens to commodity-to-container assignment dropdown in CT? shows only "undefined"

q3) what happens to commodity-to-container assignment? all items assigned to "undefined"

3. Questions


Example1: Day 1: CT#10. Container added: Cont# AAAA-222222-1, size/type: DV 20ft, seal#b123

Day 2: CT#11. Container added: Cont# AAAA-222222-1, size/type: HQ 40ft, seal#b123

Day 3: M#5. CT#10 added (keep containers=y) to M#5. Master Container list now has Cont# AAAA-222222-1, size/type: DV 20ft, seal#b123

Day 4: M#5. CT#11 added (keep containers=y) to M#5. Master Container list now has both: Cont# AAAA-222222-1, size/type: DV 20ft, seal#b123 Cont# AAAA-222222-1, size/type: HQ 40ft, seal#b123 This is probably incorrect - same container number but different types. System treats them as two different containers.

Suggested solution: System will keep record (register) all containers ever entered (container#/size/type/seal) and if user is trying to add existing container# but with new size/type then system would complain (or it could pre-fill size/type itself).

QUESTION: If we implement this then how to let users edit size/type in case they made error originally? If we let them edit then all "old" records will show "new" size/type for a given cont#. Is that OK?

Also, similar question is with seal#. Is it possible to have 2 containers with same cont#/size/type but different seal#? In what cases? What to do if user is trying to add these 2 containers to the same CT or M?

Another related example: Example2: Day 1: CT#10. Container added: Cont# AAAA-222222-1, size/type: DV 20ft, seal#ffff Day 2: CT#10. Container added: Cont# AAAA-222222-1, size/type: HQ 40ft, seal#gggg



Comment #1 From Natalia Mitasova 2008-11-19 16:29 [reply] -------

When clicked on "Move this CT to Master" and Master id not inputted

 there is NullPointerException



Comment #2 From Dmitriy Chagin 2008-11-19 16:51 [reply] -------

(In reply to comment #1) > When clicked on "Move this CT to Master" and Master id not inputted > there is NullPointerException >

Fixed.



Comment #3 From Natalia Mitasova 2008-11-19 17:17 [reply] -------

In TruckingOcean CTs created containers don't save when pressing save button



Comment #4 From Dmitriy Chagin 2008-11-19 19:10 [reply] -------

Additional trucking logic:

If trucking shipment is saved then containers doesn't become part of master. And if "keep containers" = off then containers will be deleted.



Comment #5 From Dmitriy Chagin 2008-11-19 19:29 [reply] -------

(In reply to comment #3) > In TruckingOcean CTs created containers don't save when pressing save button >

Done.

(In reply to comment #4) > Additional trucking logic: > > If trucking shipment is saved then containers doesn't become part of master. > And if "keep containers" = off then containers will be deleted. >

Done.




Comment #7 From Natalia Mitasova 2008-11-20 13:45 [reply] -------

Logic: UC6) Remove M with CT1,..., CTN assigned to it

q1) what happens to CT? CT is no longer assigned to any master

q2) what happens to containers list in CT? there will be no containers

q3 what happens to commodity-to-container assignment dropdown in CT? all items assigned to "undefined"

q4) what happens to commodity-to-container assignment in CT? all items assigned to "undefined"


[edit] Ver 1.1

Requirement:

Instead of entering "AMS Handling Units" number by operator system must calculate it and display in totals.

AMS Handling Units = Ttl pkgs on plts + Loose pkgs

Design:

ss1 // remove "AMS Handling Units" textbox (from UI and DB, existing data on /internal for this field can be lost) ss2 // add "AMS" column to Totals table. Use formula above to display AMS. Systew must display 3 numbers on GRAND TOTAL TOTAL, TOTAL Haz , TOTAL Non-Haz lines

[edit] Ver 1.2

  • ss1 // if user is trying to remove container linked to CT that has contents assigned to this container and Actual Delivery set to something then system must block user from doing it. Issue pop-up "Can not remove container with contents assigned and actual delivery date not empty."

[edit] Ver 1.3

  • ss1 // add History feature to all dates on container panel in CT (Cont tab)
  • ss2 // add History feature to all dates on container panel in Master (Master Details Tab)

[edit] Ver 1.4

Fix layout:

  • now column headers are larger than field width
  • increase field size to 4 for: Ttl # of plts, Ttl pkgs on plts, Ttl G kg
  • fix layout of container table (column width)

[edit] RFC Need to simplify overall design

Containers to CT to Master relationship is already complex. Delivery dates logic add another layer increasing number of possible cases and additional required logic to handle them.

One example would be when user is adding a new commodity line to a CT with delivered dates on one of the containers set. This could be container that has nothing to do with this CT (container panel is shared among CT in the M) Attempt to save with any commodities unassigned will fail unless they are immediately assigned to a container. But maybe user doesn't know yet container#? She is forced to assign any number to save.

It is just one example. We see daily examples when users prevented doing what they need by blockers.

By trying to cover all possible cases we had to add more and more validations and blockers which themselves add complexity and contradict each other. See for example http://mantis.jaguarfreight.com/wiki/CT_Dates#Ver_1.4_Additional_restrictions_on_assigning_CT_dates

I think we have to review entire design and try to simplify it instead of trying to patch it with yet additional logic.

Some ideas that come to mind:

  • allow to edit container properties in Master (including dates) just from Master or just from one "related" CT (now it can be done from any CT or Master).
  • limit number of cases in terms of CT-Container-master relationships. For example say that for FCL one container may contain commodities from at most one CT (otherwise it is LCL).
Personal tools