| /****************************************************************** |
| * * |
| * Copyright (C) - Loetz GmbH&Co.KG, 69115 Heidelberg, Germany |
| * * |
| * This source was created by OSBP Softwarefactory Wizard! * |
| * * |
| * OSBP is (C) - Loetz GmbH&Co.KG, 69115 Heidelberg, Germany * |
| * * |
| *================================================================* |
| * * |
| * @file $HeadURL$ |
| * @version $Revision$ |
| * @date $Date$ |
| * @author $Author$ |
| * * |
| ******************************************************************/ |
| package org.osbp.mysmartshop.entities { |
| |
| import org.osbp.mysmartshop.datatypes.* |
| |
| mapped superclass BaseID { |
| id int id; |
| } |
| |
| mapped superclass BaseUUID { |
| uuid String id; |
| } |
| |
| entity DtoTestParent extends BaseUUID { |
| |
| var String string; |
| |
| ref cascade DtoTestChildContainment [*] containmentChilds opposite container |
| |
| ref DtoTestChildCrossRef [*] crossRefChilds opposite container |
| ref DtoTestChildCrossRef crossRefChild |
| |
| var DtoTestBean beanx; |
| } |
| |
| entity DtoTestChildContainment extends BaseUUID { |
| ref DtoTestParent container opposite containmentChilds |
| } |
| |
| entity DtoTestChildCrossRef extends BaseUUID { |
| ref DtoTestParent container opposite crossRefChilds |
| } |
| |
| bean DtoTestBean { |
| var String foo; |
| ref DtoTestChildCrossRef crossRefChild; |
| } |
| |
| entity Mcustomer extends BaseID { |
| var long account_num |
| var String lname |
| var String fname |
| var String mi |
| var String address1 |
| var String address2 |
| var String address3 |
| var String address4 |
| var String city |
| var String state_province |
| var String postal_code |
| var String country |
| var String phone1 |
| var String phone2 |
| var Date birthdate |
| var String marital_status |
| var String yearly_income |
| var String gender |
| var int total_children |
| var int num_children_at_home |
| var String education |
| var String date_accnt_opened |
| var String member_card |
| var String occupation |
| var String houseowner |
| var int num_cars_owned |
| domainKey String fullname |
| var String test |
| ref CashSlip [*] slips opposite customer |
| |
| derived String foo { |
| return country + "_" + city |
| } |
| } |
| |
| cacheable entity CashRegister extends BaseUUID { |
| domainKey String num |
| var String ip |
| var String location |
| var String currentDay |
| ref CashSlip [*] slips opposite register |
| |
| unique index cashIpIndex { |
| ip |
| } |
| |
| unique index cashNumIndex { |
| num |
| } |
| |
| } |
| |
| entity CashSlip extends BaseUUID { |
| var String currentDay |
| var Timestamp now |
| var String cashier |
| var Price total |
| @javax.persistence.GeneratedValue |
| var long serial |
| var boolean payed |
| ref cascade CashPosition [*] positions opposite slip |
| ref Mcustomer customer opposite slips |
| ref CashRegister register opposite slips |
| ref cascade CashPayment [*] payments opposite slip |
| def String when() { |
| if(now != null) |
| { |
| return java.text.SimpleDateFormat.getDateInstance(java.text.DateFormat.SHORT).format(now) |
| } return "" |
| } |
| |
| index currentDay_index { |
| currentDay |
| } |
| |
| index serial_index { |
| currentDay , serial |
| } |
| |
| } |
| |
| entity CashPosition extends BaseUUID { |
| var Timestamp now |
| var double quantity |
| var Price price |
| var Price amount |
| ref CashSlip slip opposite positions |
| } |
| |
| entity CashPayment extends BaseUUID { |
| var Timestamp now |
| var Price payed |
| ref CashSlip slip opposite payments |
| ref CashPaymentMethod methodOfPayment opposite payments |
| } |
| |
| entity CashPaymentMethod extends BaseUUID { |
| domainKey String num |
| domainDescription String name |
| var Boolean credit |
| var PaymentMethod imageName |
| var double lowerLimit |
| ref CashPayment [*] payments opposite methodOfPayment |
| |
| unique index paymentNumIndex { |
| num |
| } |
| |
| } |
| |
| /** relation of the company to the owner - not the user - of this personal information manager */ |
| entity CompanyRelationType extends BaseUUID { |
| /** short name for this relation type */ |
| domainKey String name; |
| /** more detailed description */ |
| var String description; |
| } |
| |
| /** a company group consisting of a group of companies, from one is defined as the main company */ |
| entity CompanyGroup extends BaseUUID { |
| /** name of the company group */ |
| domainKey String name; |
| /** more detailed description with usable information for the PIM owner */ |
| var String description; |
| /** the main company */ |
| ref Company main_company; |
| /** group of companies */ |
| ref Company [*] companies opposite company_group; |
| } |
| |
| /** a company */ |
| entity Company extends BaseUUID { |
| /** the company group if any */ |
| ref CompanyGroup company_group opposite companies; |
| /** name of the company */ |
| domainKey String name; |
| /** more detailed description with usable information for the PIM owner */ |
| var String description; |
| /** relation of the company to the PIM owner */ |
| ref CompanyRelationType relation_type; |
| /** any number of addresses */ |
| ref cascade Address [*] address opposite company; |
| /** departments of this company */ |
| ref cascade Department [*] departments opposite company; |
| } |
| |
| /** an address */ |
| entity Address extends BaseUUID { |
| /** if address for a company, the company is given */ |
| ref Company company opposite address; |
| /** if address for a department, the address is given */ |
| ref Department department opposite address; |
| /** if address for a person, the person is given */ |
| // ref cascade PostalAddress[*] postal_adresses opposite address; |
| /** address field 1 */ |
| var String address1; |
| /** address field 2 */ |
| var String address2; |
| /** city */ |
| var String city; |
| /** state province */ |
| var String state_province; |
| /** postal code */ |
| var String postal_code; |
| /** country */ |
| var String country; |
| // ref cascade Email[*] emails opposite address; |
| /** email */ |
| var String email; |
| // ref cascade Phone[*] phones opposite address; |
| /** landline (Festnetznummer) */ |
| var String landline; |
| /** mobile */ |
| var String mobile; |
| } |
| |
| /** a companies department */ |
| entity Department extends BaseUUID { |
| /** the company */ |
| ref Company company opposite departments; |
| /** name of the department */ |
| domainKey String name; |
| /** more detailed description with usable information for the PIM owner */ |
| var String description; |
| /** any number of addresses */ |
| ref cascade Address [*] address opposite department; |
| /** any number of employees */ |
| var double default_yearly_income; |
| } |
| |
| } |