diff --git a/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Company/Company.java b/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Company/Company.java index baaadd980..e1c389129 100644 --- a/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Company/Company.java +++ b/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Company/Company.java @@ -1,26 +1,29 @@ package ru.clearing.classes.StaticData.Company; import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.StaticData.Profile.CompanyInfo; import ru.clearing.classes.objects.BusinessObject; /** - * + * DB: COMPANY */ public class Company extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; private String clearingCode; private String exchangeCode; - private String fullName; -// private CompanyInfo profile; // todo impl profile private Long statusId; // WorkflowStatusDictionary +// private String fullName; + private CompanyInfo profile; @Override public String toString() { return "Company{" + - "clearingCode='" + clearingCode + '\'' + + "id=" + id + + ", clearingCode='" + clearingCode + '\'' + ", exchangeCode='" + exchangeCode + '\'' + - ", fullName='" + fullName + '\'' + +// ", fullName='" + fullName + '\'' + + ", profile=" + profile + ", statusId=" + statusId + '}'; } @@ -41,13 +44,13 @@ public class Company extends BusinessObject { this.exchangeCode = exchangeCode; } - public String getFullName() { - return fullName; - } - - public void setFullName(String fullName) { - this.fullName = fullName; - } +// public String getFullName() { +// return fullName; +// } +// +// public void setFullName(String fullName) { +// this.fullName = fullName; +// } public Long getStatusId() { return statusId; diff --git a/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Company/CompanyRoleSet.java b/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Company/CompanyRoleSet.java index 7304ab48b..be9639b15 100644 --- a/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Company/CompanyRoleSet.java +++ b/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Company/CompanyRoleSet.java @@ -9,8 +9,17 @@ import ru.clearing.classes.objects.ObjectBase; public class CompanyRoleSet extends ObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; - private Long roleId; private Long companyId; + private Long roleId; + + + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long companyId) { + this.companyId = companyId; + } public Long getRoleId() { return roleId; @@ -20,11 +29,4 @@ public class CompanyRoleSet extends ObjectBase { this.roleId = roleId; } - public Long getCompanyId() { - return companyId; - } - - public void setCompanyId(Long companyId) { - this.companyId = companyId; - } } \ No newline at end of file diff --git a/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Company/CompanySymbols.java b/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Company/CompanySymbols.java new file mode 100644 index 000000000..a24d3d7f9 --- /dev/null +++ b/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Company/CompanySymbols.java @@ -0,0 +1,39 @@ +package ru.clearing.classes.StaticData.Company; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.ObjectBase; + +/** + * DB: COMPANY_SYMBOLS + */ +public class CompanySymbols extends ObjectBase { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private Long companyId; + private String companySymbol; // ref CHAR(4) + private String companySymbolValue; + + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long companyId) { + this.companyId = companyId; + } + + public String getCompanySymbol() { + return companySymbol; + } + + public void setCompanySymbol(String companySymbol) { + this.companySymbol = companySymbol; + } + + public String getCompanySymbolValue() { + return companySymbolValue; + } + + public void setCompanySymbolValue(String companySymbolValue) { + this.companySymbolValue = companySymbolValue; + } +} \ No newline at end of file diff --git a/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Profile/CompanyInfo.java b/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Profile/CompanyInfo.java new file mode 100644 index 000000000..1209a957f --- /dev/null +++ b/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Profile/CompanyInfo.java @@ -0,0 +1,130 @@ +package ru.clearing.classes.StaticData.Profile; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessObject; +import ru.clearing.classes.objects.ObjectBase; + +/** + * DB: COMPANY_INFO + */ +public class CompanyInfo extends ObjectBase { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private Long companyId; // Company.CompanyInfo.companyId = CompanyInfo.id + private String clearingMemberCategory; // ref CHAR(4), + private String corporationSoleType; // ref CHAR(4), + private String countryCode; //ref CHAR(4), + private String description; + private String professionalSign; // ref CHAR(4), + private String legalKind; // ref CHAR(4), + private String organizationType; // ref CHAR(4), + private String residence; // ref CHAR(4), + private String shortName; + private String fullName; + private String shortNameEng; + private String fullNameEng; + + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long companyId) { + this.companyId = companyId; + } + + public String getClearingMemberCategory() { + return clearingMemberCategory; + } + + public void setClearingMemberCategory(String clearingMemberCategory) { + this.clearingMemberCategory = clearingMemberCategory; + } + + public String getCorporationSoleType() { + return corporationSoleType; + } + + public void setCorporationSoleType(String corporationSoleType) { + this.corporationSoleType = corporationSoleType; + } + + public String getCountryCode() { + return countryCode; + } + + public void setCountryCode(String countryCode) { + this.countryCode = countryCode; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getProfessionalSign() { + return professionalSign; + } + + public void setProfessionalSign(String professionalSign) { + this.professionalSign = professionalSign; + } + + public String getLegalKind() { + return legalKind; + } + + public void setLegalKind(String legalKind) { + this.legalKind = legalKind; + } + + public String getOrganizationType() { + return organizationType; + } + + public void setOrganizationType(String organizationType) { + this.organizationType = organizationType; + } + + public String getResidence() { + return residence; + } + + public void setResidence(String residence) { + this.residence = residence; + } + + public String getShortName() { + return shortName; + } + + public void setShortName(String shortName) { + this.shortName = shortName; + } + + public String getFullName() { + return fullName; + } + + public void setFullName(String fullName) { + this.fullName = fullName; + } + + public String getShortNameEng() { + return shortNameEng; + } + + public void setShortNameEng(String shortNameEng) { + this.shortNameEng = shortNameEng; + } + + public String getFullNameEng() { + return fullNameEng; + } + + public void setFullNameEng(String fullNameEng) { + this.fullNameEng = fullNameEng; + } +} \ No newline at end of file diff --git a/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Profile/Contact.java b/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Profile/Contact.java new file mode 100644 index 000000000..8afc6b5bc --- /dev/null +++ b/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Profile/Contact.java @@ -0,0 +1,39 @@ +package ru.clearing.classes.StaticData.Profile; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.ObjectBase; + +/** + * DB: CONTACT + */ +public class Contact extends ObjectBase { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private Long companyId; + private String contact_type; // ref CHAR(4) + private String contact_value; + + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long companyId) { + this.companyId = companyId; + } + + public String getContact_type() { + return contact_type; + } + + public void setContact_type(String contact_type) { + this.contact_type = contact_type; + } + + public String getContact_value() { + return contact_value; + } + + public void setContact_value(String contact_value) { + this.contact_value = contact_value; + } +} \ No newline at end of file diff --git a/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Profile/ProfileDocument.java b/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Profile/ProfileDocument.java new file mode 100644 index 000000000..e229a65d9 --- /dev/null +++ b/clearing-classes/src/main/java/ru/clearing/classes/StaticData/Profile/ProfileDocument.java @@ -0,0 +1,113 @@ +package ru.clearing.classes.StaticData.Profile; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.ObjectBase; + +import java.time.Instant; + +/** + * DB: PROFILE_DOCUMENT + */ +public class ProfileDocument extends ObjectBase { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private Long companyId; + private String documentType; // ref CHAR(4) + private Instant issueDate; + private String issuePlace; + private String issuer; + private String issuerCode; + private String name; + private String number; + private String place; + private Instant validFromDate; + private Instant validToDate; + + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long companyId) { + this.companyId = companyId; + } + + public String getDocumentType() { + return documentType; + } + + public void setDocumentType(String documentType) { + this.documentType = documentType; + } + + public Instant getIssueDate() { + return issueDate; + } + + public void setIssueDate(Instant issueDate) { + this.issueDate = issueDate; + } + + public String getIssuePlace() { + return issuePlace; + } + + public void setIssuePlace(String issuePlace) { + this.issuePlace = issuePlace; + } + + public String getIssuer() { + return issuer; + } + + public void setIssuer(String issuer) { + this.issuer = issuer; + } + + public String getIssuerCode() { + return issuerCode; + } + + public void setIssuerCode(String issuerCode) { + this.issuerCode = issuerCode; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getPlace() { + return place; + } + + public void setPlace(String place) { + this.place = place; + } + + public Instant getValidFromDate() { + return validFromDate; + } + + public void setValidFromDate(Instant validFromDate) { + this.validFromDate = validFromDate; + } + + public Instant getValidToDate() { + return validToDate; + } + + public void setValidToDate(Instant validToDate) { + this.validToDate = validToDate; + } +} diff --git a/clearing-classes/src/main/java/ru/clearing/classes/objects/BusinessEvent.java b/clearing-classes/src/main/java/ru/clearing/classes/objects/BusinessEvent.java index d851b81ba..48e2e0889 100644 --- a/clearing-classes/src/main/java/ru/clearing/classes/objects/BusinessEvent.java +++ b/clearing-classes/src/main/java/ru/clearing/classes/objects/BusinessEvent.java @@ -5,12 +5,14 @@ import ru.clearing.classes.ConstSerializable; import java.util.Date; /** - * + * Журнал изменения таблиц с BusinessObject */ -public abstract class BusinessEvent extends ObjectBase { +public abstract class BusinessEvent extends ObjectBase { static final long serialVersionUID = ConstSerializable.serialVersionUID; private Date eventTime; + private Long userId; // event_user_id + private T object; public BusinessEvent() { } @@ -22,4 +24,20 @@ public abstract class BusinessEvent extends ObjectBase { public void setEventTime(Date eventTime) { this.eventTime = eventTime; } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public T getObject() { + return object; + } + + public void setObject(T object) { + this.object = object; + } } \ No newline at end of file diff --git a/clearing-classes/src/main/java/ru/clearing/classes/objects/BusinessObject.java b/clearing-classes/src/main/java/ru/clearing/classes/objects/BusinessObject.java index 8c67d25a8..e8b5f7848 100644 --- a/clearing-classes/src/main/java/ru/clearing/classes/objects/BusinessObject.java +++ b/clearing-classes/src/main/java/ru/clearing/classes/objects/BusinessObject.java @@ -10,8 +10,8 @@ import java.time.Instant; public abstract class BusinessObject extends ObjectBase { static final long serialVersionUID = ConstSerializable.serialVersionUID; - private Instant created; - private Instant updated; + private Instant created; // CREATED_AT + private Instant updated; // UPDATED_AT public Instant getCreated() { return created; diff --git a/clearing-classes/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/clearing-classes/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index f78dea770..13612d0a7 100644 --- a/clearing-classes/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/clearing-classes/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,8 +1,12 @@ +ru\clearing\classes\StaticData\Profile\Contact.class ru\clearing\classes\objects\ObjectBase.class ru\clearing\classes\ConstSerializable.class ru\clearing\classes\StaticData\Company\CompanyRoleSet.class +ru\clearing\classes\StaticData\Profile\ProfileDocument.class ru\clearing\classes\objects\BusinessEvent.class ru\clearing\classes\StaticData\Company\Company.class ru\clearing\classes\StaticData\User\ClearingUser.class +ru\clearing\classes\StaticData\Company\CompanySymbols.class ru\clearing\common\interfaces\WithId.class ru\clearing\classes\objects\BusinessObject.class +ru\clearing\classes\StaticData\Profile\CompanyInfo.class diff --git a/db-scripts/src/main/resources/db/DDL.sql b/db-scripts/src/main/resources/db/DDL.sql index 63b1b1ec5..83f7fa1f8 100644 --- a/db-scripts/src/main/resources/db/DDL.sql +++ b/db-scripts/src/main/resources/db/DDL.sql @@ -4,25 +4,6 @@ --SET NAMES WIN1251; --- WORKFLOW_STATUS_DICTIONARY --- ALLOWED_DICTIONARY --- COMPANY --- COMPANY_INFO --- CLEARING_MEMBER_CATEGORY_DICTIONARY --- CONTACT --- CONTACT_TYPE_DICTIONARY --- CORPORATION_SOLE_TYPE_DICTIONARY --- COUNTRY_CODE_DICTIONARY --- PROFILE_DOCUMENT --- DOCUMENT_TYPE_DICTIONARY --- LEGAL_KIND_DICTIONARY --- ORGANIZATION_TYPE_DICTIONARY --- COMPANY_SYMBOLS --- COMPANY_SYMBOL_DICTIONARY --- COMPANY_ROLE_SET --- COMPANY_ROLE_DICTIONARY - - RECREATE TABLE WORKFLOW_STATUS_DICTIONARY IF NOT EXISTS ( ID BIGINT NOT NULL PRIMARY KEY, -- todo name of PK? diff --git a/storage/src/main/java/ru/spcex/clearing/storage/base/DictionaryMapStore.java b/storage/src/main/java/ru/spcex/clearing/storage/base/DictionaryMapStore.java index 2903d40e2..c886d3cef 100644 --- a/storage/src/main/java/ru/spcex/clearing/storage/base/DictionaryMapStore.java +++ b/storage/src/main/java/ru/spcex/clearing/storage/base/DictionaryMapStore.java @@ -15,7 +15,7 @@ import java.util.*; import static ru.spcex.clearing.storage.base.ObjectBaseMapStore.MAX_IN_CLAUSE_SIZE; /** - * Store для словарей стандартных - из ID, NAME. + * Store для словарей стандартных - из ID, CODE, NAME. */ public abstract class DictionaryMapStore implements MapLoader { private static Logger log = LoggerFactory.getLogger(DictionaryMapStore.class); @@ -36,6 +36,7 @@ public abstract class DictionaryMapStore implements MapLoa protected T mapRow(ResultSet rs, int rowNum) throws SQLException { T dictionary = getDictionaryObject(); dictionary.setId(rs.getLong("id")); + dictionary.setCode(rs.getString("code")); dictionary.setName(rs.getString("name")); return dictionary; }