Service Reports — models¶
Responsibilities¶
What is modeled here.
Main models¶
ModelName¶
- Fields
- Constraints
- Relationships
flowchart LR
%% ============================================================
%% CONTEXT (projects)
%% ============================================================
PROJECT["Project\n(projects)"]
SO["Service Order\n(projects)"]
IB["Install Base Item\n(projects)"]
IBU["Install Base Unit Item\n(projects)"]
UT["Unit Type\n(projects)"]
PROJECT --> SO
PROJECT --> IB
PROJECT --> IBU
IBU --> UT
%% ============================================================
%% DESIGN-TIME (templates in servicereports)
%% ============================================================
RT["Report Template\n(servicereports)"]
TB["Template Block\n(servicereports)"]
TC["Template Checkpoint\n(servicereports)"]
RT --> TB
TB --> TC
%% Instruction links from templates to manuals content
IL["Instruction Link\n(projects)"]
MAN["Manual\n(manuals)"]
CH["Chapter\n(manuals)"]
SG["Step Group\n(manuals)"]
TB --> IL
TC --> IL
IL --> MAN
IL --> CH
IL --> SG
%% Template targeting hints
RT --> UT
%% Template spare parts linking (template-level)
TSPL["Template Spare Parts Link\n(servicereports)"]
SPL["Spare Parts List\n(projects)"]
RT --> TSPL
TB --> TSPL
TSPL --> SPL
%% ============================================================
%% RUN-TIME (execution in servicereports)
%% ============================================================
SR["Service Report\n(servicereports)"]
BI["Report Block Instance\n(servicereports)"]
CI["Report Checkpoint Instance\n(servicereports)"]
ABN["Abnormality\n(servicereports)"]
SO --> SR
IB --> SR
RT --> SR
SR --> BI
BI --> CI
BI --> ABN
CI --> ABN
%% Block instances can carry unit identifiers (tag/serial/unit_type fields)
IBU --> BI
UT --> BI
%% ============================================================
%% RAMS (templates + live instances)
%% ============================================================
RAMST["RAMS Template\n(servicereports)"]
MAP["TemplateBlock RAMS Mapping\n(servicereports)"]
RT --> RAMST
TB --> MAP
MAP --> RAMST
RAMSR["RAMS Report\n(servicereports)"]
HAZ["RAMS Hazard Instance\n(servicereports)"]
CTRL["RAMS Control Instance\n(servicereports)"]
RPPE["RAMS PPE Instance\n(servicereports)"]
STEP["RAMS Step Instance\n(servicereports)"]
SR --> RAMSR
RAMSR --> HAZ
HAZ --> CTRL
HAZ --> RPPE
RAMSR --> STEP
%% ============================================================
%% INVENTORY (inventory) + spare part usage (servicereports)
%% ============================================================
INV["Inventory\n(inventory)"]
PPEI["PPE\n(inventory)"]
PART["Part\n(inventory)"]
STOCK["Stock Item\n(inventory)"]
INV --> PPEI
INV --> PART
INV --> STOCK
%% Template spare list can imply inventory usage
SPL --> INV
%% Run-time spare part lines
SPI["Spare Part Item\n(servicereports)"]
SR --> SPI
BI --> SPI
SPI --> PART
SPI --> STOCK
%% RAMS PPE templates can also map to inventory PPE
RPPE --> PPEI
%% ============================================================
%% MEDIA + ATTACHMENTS (servicereports)
%% ============================================================
MEDIA["Report Media\n(servicereports)"]
ATT["Report Attachment\n(servicereports)"]
SR --> MEDIA
BI --> MEDIA
CI --> MEDIA
SR --> ATT
BI --> ATT
%% ============================================================
%% PLANNING (planning) + timesheets reuse (timesheets)
%% ============================================================
PTE["Planned Time Entry\n(planning)"]
IND["Indirect Code\n(timesheets)"]
ENG["Engineer/User\n(accounts)"]
ENG --> PTE
SR --> PTE
BI --> PTE
IND --> PTE
%% Timesheets reuse service orders and connect to reports (you already have M2M)
TS["Timesheet Entry\n(timesheets)"]
EXTTS["External Timesheet\n(timesheets)"]
SO --> TS
TS --> EXTTS
EXTTS --> SR