transactional_data.jdl

@Description("Scenario type used to store data for a plan")
scenarioType TransactionalData {
   import MasterData
}

entity Activity {
  // DOM  [primary.keys] : [id]
  id String required,
  name String,
  durationInHours Double min(0) max(4096)
}

entity Precedence {
}

entity Resource {
  // DOM  [primary.keys] : [id]
  id String required,
  name String,
  active Boolean
}

entity ResourceCapacity {
  quantity Integer min(0) max(512)
}

entity Requirement {
  quantity Integer min(1)
}

relationship OneToOne {
  // DOM  [affects.primary.key] : [true]
  ResourceCapacity{resource} to Resource{capacity}
}

relationship ManyToOne {
  // DOM  [affects.primary.key] : [true]
  Requirement{activity} to Activity{requirements},

  // DOM  [affects.primary.key] : [true]
  Requirement{resource} to Resource{requirements},

  // DOM  [affects.primary.key] : [true]
  Precedence{first} to Activity{successors},

  // DOM  [affects.primary.key] : [true]
  Precedence{second} to Activity{predecessors},

  // DOM  [affects.primary.key] : [true]
  Activity{plant} to Plant{activities}
}