Logistics Process ‐ Sustainment - CassiniLaw/KnowledgeBase GitHub Wiki
Sequence Diagram for overall Logistics Process
sequenceDiagram
actor LogisticsDispatch as Logistics Dispatch
participant RigBoard as Rig Board
participant BulkPlant as Bulk Plant
participant CrewMgmt as Crew Management
participant JobBoard as Job Board
LogisticsDispatch->>RigBoard: 1.1. Currently working on Rig board
LogisticsDispatch->>BulkPlant: 1.2. Currently working on Bulk Plant
LogisticsDispatch->>CrewMgmt: 1.3. Currently working on Crew Mgmt
LogisticsDispatch->>JobBoard: 1.4. Currently working on Job Board
LogisticsDispatch->>JobBoard: 2. Want to do more on the Job Board
LogisticsDispatch->>JobBoard: 2.1. Select from left side of bulker job board
LogisticsDispatch->>JobBoard: 2.1.1. Select Product
LogisticsDispatch->>JobBoard: 2.1.2. Select Crew
LogisticsDispatch->>JobBoard: 2.1.3. Select Assign
LogisticsDispatch->>JobBoard: 2.2. Determine Urgency
LogisticsDispatch->>JobBoard: 2.2.1. Job Date/Time
LogisticsDispatch->>JobBoard: 2.2.2. On location data/time
LogisticsDispatch->>JobBoard: 3. Want all jobs to show up on the job board
LogisticsDispatch->>JobBoard: 3.1. Jobs not flagged as need haul, still need to show up
LogisticsDispatch->>JobBoard: 4. Logistics decides go with Bulker Crew
Class Diagram for overall Logistics Process
classDiagram
class LogisticsDispatch {
+ doMoreOnJobBoard()
+ selectProduct()
+ selectCrew()
+ assign()
}
class RigBoard {
+ displayJobs()
+ updateStatus()
}
class BulkPlant {
+ manageInventory()
+ scheduleDelivery()
}
class CrewManagement {
+ assignCrew()
+ trackCrewStatus()
}
class JobBoard {
+ listAvailableJobs()
+ updateJobStatus()
}
LogisticsDispatch --> RigBoard
LogisticsDispatch --> JobBoard
LogisticsDispatch --> BulkPlant
LogisticsDispatch --> CrewManagement
Class Diagram for ViewModels which can reflect the UI structure
classDiagram
class RigBoardViewModel {
}
RigBoardViewModel *--> "*" RigJobViewModel : RigJobViewModels
RigBoardViewModel *--> "1" RetrievalCondition
class RetrievalCondition {
+int BR
+int RD
+int Edm
+int Eds
+int GP
+int FSJ
+int EST
+int SC
+int KD
+int LLD
+int LLB
+int NW
+int DrillingRig
+int ServiceRig
+int IsProjectRig
+int IsPrejobTesting
+int Alerted
+int Pending
+int Confirmed
+int Dispatched
+int Scheduled
+int InProgress
+int Completed
+int IsShowFutureJobs
+bool IsChange
+int PageNumber
}
class ModelBase~Entity~ {
+string LoggedUser
+IMemoryCache _memoryCache
+virtual void PopulateFrom(TEntity entity)
+virtual void PopulateTo(TEntity entity)
}
ModelBase~Entity~ *--> "1" NoteModel : NoteModel
class NoteModel {
}
class RigJobViewModelBase {
+int RowMergeNumber
+StyledCell SequenceNumber
+StyledCell Rig
+StyledCell Bin
+int Sequence
+bool IsBulkPlant
}
ModelBase~Entity~ <|-- RigJobViewModelBase
RigJobViewModelBase *--> "1" BinSectionModel : BinSectionModel
class BinSectionModel {
}
class RigJobViewModel {
+StyledCell Lsd
+StyledCell Company
+StyledCell Job
+StyledCell Date
+StyledCell Bl1
+StyledCell Bl2
+StyledCell Bl3
+StyledCell Crew
+StyledCell Notes
+StyledCell ConsultantContacts
}
RigJobViewModelBase <|-- RigJobViewModel
RigJobViewModel *--> "1" BlendProductHaulModel : BlendProductHaulModel1
RigJobViewModel *--> "1" BlendProductHaulModel : BlendProductHaulModel2
RigJobViewModel *--> "1" BlendProductHaulModel : BlendProductHaulModel3
RigJobViewModel *--> "1" ConsultantViewModel : ConsultantViewModel
RigJobViewModel *--> "*" RigJobCrewSectionModel : RigJobCrewSectionModels
RigJobViewModel *--> "*" CrewModel : CrewModels
RigJobViewModel *--> "*" ThirdPartyCrewModel : ThirdPartyCrewModels
RigJobViewModel *--> "*" ProductHaulLoad : ProductHaulLoadList
class BlendProductHaulModel {
}
class ConsultantViewModel {
}
class RigJobCrewSectionModel {
}
class CrewModel {
}
class ThirdPartyCrewModel {
}
class ProductHaulLoad {
}
class BulkPlantJobViewModel {
+StyledCell Capacity
+StyledCell BlendInBin
+StyledCell Quantity
+StyledCell TestingStatus
+StyledCell BlendScheduled
+StyledCell ScheduledQuantity
+StyledCell BlendingStatus
+StyledCell RigName
+StyledCell CSNum
+StyledCell ClientName
+StyledCell BinReqNum
+StyledCell BlendReqNum
}
RigJobViewModelBase <|-- BulkPlantJobViewModel
class CrewViewModel {
+StyledCell Units
+StyledCell Workers
+StyledCell JobInformation
+StyledCell Notes
+string CrewType
+int CrewTypeId
+StyledCell Rotation
+string JobInfo
}
ModelBase~Entity~ <|-- CrewViewModel
CrewViewModel *--> "*" TruckUnitModel : UnitModels
CrewViewModel *--> "*" EmployeeModel : EmployeeModels
CrewViewModel *--> "*" ScheduleModel : ScheduleModels
CrewViewModel *--> "*" CrewScheduleViewModel : CrewScheduleViewModels
class TruckUnitModel {
}
class EmployeeModel {
}
class ScheduleModel {
}
class CrewScheduleViewModel{
}
Class Diagram for RigBoard ViewModels
classDiagram
class RigBoardViewModel {
}
RigBoardViewModel *--> "*" RigJobViewModel : RigJobViewModels
RigBoardViewModel *--> "1" RetrievalCondition
class RetrievalCondition {
+int BR
+int RD
+int Edm
+int Eds
+int GP
+int FSJ
+int EST
+int SC
+int KD
+int LLD
+int LLB
+int NW
+int DrillingRig
+int ServiceRig
+int IsProjectRig
+int IsPrejobTesting
+int Alerted
+int Pending
+int Confirmed
+int Dispatched
+int Scheduled
+int InProgress
+int Completed
+int IsShowFutureJobs
+bool IsChange
+int PageNumber
}
class RigJobViewModel {
}
Class Diagram for JobBoard ViewModels
classDiagram
class ModelBase~Entity~ {
+string LoggedUser
+IMemoryCache _memoryCache
+virtual void PopulateFrom(TEntity entity)
+virtual void PopulateTo(TEntity entity)
}
ModelBase~Entity~ *--> "1" NoteModel : NoteModel
class NoteModel {
}
class RigJobViewModelBase {
+int RowMergeNumber
+StyledCell SequenceNumber
+StyledCell Rig
+StyledCell Bin
+int Sequence
+bool IsBulkPlant
}
ModelBase~Entity~ <|-- RigJobViewModelBase
RigJobViewModelBase *--> "1" BinSectionModel : BinSectionModel
class BinSectionModel {
}
class RigJobViewModel {
+StyledCell Lsd
+StyledCell Company
+StyledCell Job
+StyledCell Date
+StyledCell Bl1
+StyledCell Bl2
+StyledCell Bl3
+StyledCell Crew
+StyledCell Notes
+StyledCell ConsultantContacts
}
RigJobViewModelBase <|-- RigJobViewModel
RigJobViewModel *--> "1" BlendProductHaulModel : BlendProductHaulModel1
RigJobViewModel *--> "1" BlendProductHaulModel : BlendProductHaulModel2
RigJobViewModel *--> "1" BlendProductHaulModel : BlendProductHaulModel3
RigJobViewModel *--> "1" ConsultantViewModel : ConsultantViewModel
RigJobViewModel *--> "*" RigJobCrewSectionModel : RigJobCrewSectionModels
RigJobViewModel *--> "*" CrewModel : CrewModels
RigJobViewModel *--> "*" ThirdPartyCrewModel : ThirdPartyCrewModels
RigJobViewModel *--> "*" ProductHaulLoad : ProductHaulLoadList
class BlendProductHaulModel {
}
class ConsultantViewModel {
}
class RigJobCrewSectionModel {
}
class CrewModel {
}
class ThirdPartyCrewModel {
}
class ProductHaulLoad {
}
Class Diagram for BulkPlant ViewModels
classDiagram
class ModelBase~Entity~ {
+string LoggedUser
+IMemoryCache _memoryCache
+virtual void PopulateFrom(TEntity entity)
+virtual void PopulateTo(TEntity entity)
}
ModelBase~Entity~ *--> "1" NoteModel : NoteModel
class NoteModel {
}
class RigJobViewModelBase {
+int RowMergeNumber
+StyledCell SequenceNumber
+StyledCell Rig
+StyledCell Bin
+int Sequence
+bool IsBulkPlant
}
ModelBase~Entity~ <|-- RigJobViewModelBase
RigJobViewModelBase *--> "1" BinSectionModel : BinSectionModel
class BinSectionModel {
}
class BulkPlantJobViewModel {
+StyledCell Capacity
+StyledCell BlendInBin
+StyledCell Quantity
+StyledCell TestingStatus
+StyledCell BlendScheduled
+StyledCell ScheduledQuantity
+StyledCell BlendingStatus
+StyledCell RigName
+StyledCell CSNum
+StyledCell ClientName
+StyledCell BinReqNum
+StyledCell BlendReqNum
}
RigJobViewModelBase <|-- BulkPlantJobViewModel
Class Diagram for Crew ViewModels
classDiagram
class ModelBase~Entity~ {
+string LoggedUser
+IMemoryCache _memoryCache
+virtual void PopulateFrom(TEntity entity)
+virtual void PopulateTo(TEntity entity)
}
ModelBase~Entity~ *--> "1" NoteModel : NoteModel
class NoteModel {
}
class CrewViewModel {
+StyledCell Units
+StyledCell Workers
+StyledCell JobInformation
+StyledCell Notes
+string CrewType
+int CrewTypeId
+StyledCell Rotation
+string JobInfo
}
CrewViewModel *--> "*" TruckUnitModel : UnitModels
CrewViewModel *--> "*" EmployeeModel : EmployeeModels
CrewViewModel *--> "*" ScheduleModel : ScheduleModels
CrewViewModel *--> "*" CrewScheduleViewModel : CrewScheduleViewModels
class TruckUnitModel {
}
class EmployeeModel {
}
class ScheduleModel {
}
class CrewScheduleViewModel{
}
ModelBase~Entity~ <|-- CrewViewModel
Class Diagram for ProductHaulLoadModel
classDiagram
class ModelBase~Entity~ {
+string LoggedUser
+IMemoryCache _memoryCache
+virtual void PopulateFrom(TEntity entity)
+virtual void PopulateTo(TEntity entity)
}
ModelBase~Entity~ *--> "1" NoteModel : NoteModel
class NoteModel {
}
class ProductHaulLoadModel {
+ int ProductHaulLoadId
+ int ProductHaulId
+ int CallSheetNumber
+ string RigName
+ int RigId
+ string Category
+ string BaseBlend
+ string BaseBlendName
+ double Amount
+ string BulkUnitName
+ string TractorUnitName
+ string Driver
+ string BinNumber
+ int BinId
+ int PodIndex
+ double MixWater
+ double Yield
+ double Density
+ double BulkVolume
+ double SackWeight
+ string ServicePointName
+ string BulkPlantName
+ int BulkPlantId
+ double HaulAmount
+ int BinInformationId
+ string BinInformationName
+ bool IsTotalBlendTonnage
+ double TotalBlendWeight
+ double BaseBlendWeight
+ int BlendSectionId
+ bool IsBlendTest
+ string StatusString
}
ModelBase~Entity~ <|-- ProductHaulLoadModel