/** package module.projects.domain; **/ enum module.projects.domain.CostType as CostType; enum module.projects.domain.ParticipationType as ParticipationType; enum module.projects.domain.ProjectType as ProjectType; valueType pt.utl.ist.fenix.tools.util.i18n.MultiLanguageString as MultiLanguageString { externalizeWith { String exportAsString(); } internalizeWith importFromString(); } class module.projects.domain.AccountabilityEntity { } class module.projects.domain.Project extends module.projects.domain.AccountabilityEntity { Integer projectCode; String acronym; MultiLanguageString title; MultiLanguageString summary; LocalDate beginDate; LocalDate endDate; LocalDate nextReport; Long bankIdentificationNumber; String contractReference; CostType costType; ParticipationType participationType; ProjectType projectType; String origin; String programDescription; String observations; } class module.projects.domain.Program { String name; LocalDate beginDate; LocalDate endDate; } class module.projects.domain.task.ImportProjects extends pt.ist.bennu.core.domain.scheduler.Task { } class module.projects.domain.task.ImportProjectsFronIT extends pt.ist.bennu.core.domain.scheduler.Task { } class module.projects.domain.task.ImportPersonsFromIT extends pt.ist.bennu.core.domain.scheduler.Task { } class module.projects.domain.task.ItParty{ Integer oracleSequence; Integer coordinatorId; } /** Relations **/ relation AccountabilityEntityUnit { module.projects.domain.AccountabilityEntity playsRole accountabilityEntity; module.organization.domain.Unit playsRole unit; } relation PartyItParty { module.projects.domain.task.ItParty playsRole ItParty; module.organization.domain.Party playsRole party; } relation ProjectProgram { module.projects.domain.Project playsRole projects{ multiplicity *; } module.projects.domain.Program playsRole program; } relation AccountabilityEntityMyOrg { module.projects.domain.AccountabilityEntity playsRole accountabilityEntities { multiplicity *; } pt.ist.bennu.core.domain.MyOrg playsRole myOrg; } relation ItPartyMyOrg { module.projects.domain.task.ItParty playsRole itParties { multiplicity *; } pt.ist.bennu.core.domain.MyOrg playsRole myOrg; } relation ProgramMyOrg { module.projects.domain.Program playsRole projectPrograms { multiplicity *; } pt.ist.bennu.core.domain.MyOrg playsRole myOrg; }