EService Online - CassiniLaw/KnowledgeBase GitHub Wiki

Product Haul

Domain Model:

classDiagram
class Bin
class ProductHaul {
  + ProductHaulLifeStatus
}
class ProductHaulLoad {
  <<BlendRequest>>
  + BlendTestingStatus
  + ProductHaulLoadLifeStatus (BlendRequest state)
  + BlendShippingStatus (Blend shipping status)
}
class ShippingLoadSheet {
  + Rig
  + CallSheetNumber
  + Client
  + ClientRep
  + Destination
  + BlendDescription
  + IsGoWithCrew
  + ShippingStatus (Shipping state)
  + BlendTestStatus
}
class PodLoad {
  + PodIndex
  + LoadAmount
}
class BlendUnloadSheet {
  + Weight
}
class BinInformation
class LabSample
ProductHaul "0..1" <-- "1..*" ProductHaulLoad
ProductHaulLoad "Destination" --> "0..1" BinInformation
ProductHaul *--> ShippingLoadSheet
ProductHaul *--> PodLoad
PodLoad --> ShippingLoadSheet
ShippingLoadSheet "SourceStorage" --> "0..1" BinInformation
ShippingLoadSheet *-- BlendUnloadSheet
ShippingLoadSheet --> ProductHaulLoad
BlendUnloadSheet "DestinationStorage" --> BinInformation
BinInformation --> ProductHaulLoad
LabSample --> ProductHaulLoad
BinInformation --> Bin
Loading

Blend Request State Machine

stateDiagram
state is_product_haul <<choice>>
state is_stored_for_future <<choice>>
state has_mistake <<choice>>
state is_reblend <<choice>>
s1: Scheduled
s3: Blending
s3-->has_mistake
s4: BlendCompleted
s2: OnLocation
s5: Loaded
s7: Stored
s13: Deleted
s14:JobCanceled

[*]-->s1: Blend Request(from Schedue Product Haul or Schedule Blend operation)
s1-->s3
has_mistake-->s4: no mistake
has_mistake-->s19: has mistake
s19-->is_reblend
s4-->is_product_haul
is_product_haul-->s7: Loaded to Bulk Plant Bin
is_product_haul-->s5: Loaded to bulker for hauling
s7-->s5:Haul Blend
s14-->is_stored_for_future
is_stored_for_future-->s16: Loaded to Bulk Plant Bin for future use
is_stored_for_future-->s12:Recyle
s5-->s2: Loaded to Rig Bin or Go with Crew on location
state FaultBlend {
s19:Fault
is_reblend-->is_stored_for_future:Not Reblend
is_reblend-->s17: Loaded to Bulk Plant Bin
s16:GoodToUse
s17:Reblended
s12:Recycled
}
s2-->[*]
s12-->[*]
s16-->[*]
s17-->[*]
s5-->s14:Job Canceled
s7-->s14:Job Canceled
s4-->s14:Job Canceled
s1-->s13: Canceled (Haul or Job)
s13-->[*]
Loading

Blend Shipping State Machine(装车单状态机)

stateDiagram
s1:HaulScheduled
s2:PartialHaulScheduled
s3:OnLocation
[*]-->s1: Schedule Product Haul or Haul Blend(All Blend)
[*]-->s2:Schedule Blend->Haul Blend(Partial)
s2-->s1
s1-->s3:On loaction
s3-->[*]
Loading

Crew Working Cycle(Bulker Crew Log)

stateDiagram-V2
state has_next_Load_Requested <<choice>>
state will_be_off_duty <<choice>>
state is_bulker_loaded <<choice>>
OffDuty-->LoadRequested: Product Haul is assigend
LoadRequested-->Called: Crew is good to go, call Driver
Called--> is_bulker_loaded: Is bulker loaded?
	is_bulker_loaded --> Loading: No
	is_bulker_loaded --> Loaded: Yes
state OnDuty {
	Enroute-->OnLocation: Crew is on location
	OnLocation-->OnWayIn: Crew is on way in
	OnWayIn-->Returned: Crew arrives bulk plant
	has_next_Load_Requested-->Loading: Yes
	Returned-->will_be_off_duty: Will crew be off duty?
	has_next_Load_Requested-->Returned: No 
	will_be_off_duty-->has_next_Load_Requested:No, has next product haul scheduled?
	Loading-->Loaded: Bulker is loaded
	Loaded-->Enroute: Crew leaves bulk plant
}
will_be_off_duty-->OffDuty: Yes
OffDuty-->Down: Set crew down
Loading

Product Haul Working Cycle (Shipping status)

stateDiagram-v2
[*]-->Scheduled
Scheduled-->Loaded:BPAVS has Loaded the bulker
Loaded-->InProgress:Crew assignemnt is set Enroute
InProgress-->OnLocation: Set as OnLocation on either RigBoard or DRB
OnLocation-->[*]
Scheduled-->[Deleted]:Canceled
Loaded-->[Deleted]:Canceled
Loading

Crew Assignment Life Cycle

stateDiagram-v2
[*]-->Scheduled
Scheduled-->Loading:Blend is loading to the bulker
Loading-->Loaded: Blend has Loaded in the bulker
Loaded-->EnRoute:Crew assignemnt is set Enroute while depature on DRB
EnRoute-->OnLocation:Set as OnLocation on either RigBoard or DRB
OnLocation-->OnWayIn:Set as OnWayIn on DRB
OnWayIn-->Returned:Set as Returned on DRB while return
Returned-->NextAssignment: If next haul available,  
Returned-->LogoffDuty: Set as OffDuty
Scheduled-->[Deleted]: Assignment is Canceled.
Loading-->[Deleted]: Assignment is Canceled.
Loaded-->[Deleted]: Assignment is Canceled.
Loading
⚠️ **GitHub.com Fallback** ⚠️