1
0

Model customers.

This commit is contained in:
Michael Hierweck
2019-04-17 16:45:43 +02:00
parent bd5bb859d9
commit 7f0dfebaa4
160 changed files with 3911 additions and 5068 deletions

View File

@ -1,37 +1,22 @@
filter all
dto all with mapstruct
service all with serviceClass
paginate all with infinite-scroll
paginate all with infinite-scroll
entity Customer {
number Integer required unique min(10000) max(99999),
prefix String required unique pattern(/[a-z][a-z0-9]+/),
name String required maxlength(80),
contractualAddress String required maxlength(400),
contractualSalutation String maxlength(80),
billingAddress String maxlength(400),
billingSalutation String maxlength(80)
}
entity Contact {
firstName String required maxlength(80),
lastName String required maxlength(80),
email String required maxlength(80)
}
enum CustomerContactRole {
CONTRACTUAL,
TECHNICAL,
FINANCIAL
}
entity CustomerContact {
role CustomerContactRole required
contractualAddress String required maxlength(400),
billingSalutation String maxlength(80),
billingAddress String maxlength(400)
}
entity Membership {
sinceDate LocalDate required,
untilDate LocalDate
from LocalDate required,
to LocalDate,
comment String maxlength(160)
}
enum ShareAction {
@ -62,11 +47,21 @@ entity Asset {
comment String maxlength(160)
}
relationship OneToMany {
Contact{role} to CustomerContact{contact(email) required},
Customer{role} to CustomerContact{customer(prefix) required},
Customer to Membership{customer(prefix) required},
Membership to Share{member required},
Membership to Asset{member required}
entity SepaMandate {
reference String maxlength(40) unique required,
iban String maxlength(34),
bic String maxlength(11),
created LocalDate required,
validFrom LocalDate required,
validTo LocalDate,
lastUsed LocalDate,
cancelled LocalDate,
comment String maxlength(160)
}
relationship OneToMany {
Customer{membership} to Membership{customer(prefix) required},
Customer{sepamandate} to SepaMandate{customer(prefix) required},
Membership{share} to Share{membership(from) required},
Membership{asset} to Asset{membership(from) required}
}