From 0466926627993fbe1a807235616d1d1e013d742f Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Wed, 24 Sep 2025 13:09:22 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-905 --- .../classes/statics/data/profile/CompanyInfo.java | 9 +++++++++ .../db-scripts/src/main/resources/db/DDL.sql | 14 ++++++++++---- .../src/main/resources/db/updateDDL_3.21.sql | 14 ++++++++++++++ .../imdg/businessevent/CompanyHistoryMapStore.java | 8 ++++++-- .../imdg/businessobject/CompanyMapStore.java | 6 ++++-- 5 files changed, 43 insertions(+), 8 deletions(-) create mode 100644 clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.21.sql diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/CompanyInfo.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/CompanyInfo.java index 22691446c..00b1fea85 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/CompanyInfo.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/CompanyInfo.java @@ -24,6 +24,7 @@ public class CompanyInfo extends SpcexObjectBase { private String fullNameEng; private String taxNumber; private LocalDate registrationDate; + private String residenceCode; // private String tradingCode; // extends Company // private String clearingCode; // extends Company // private String registrationCode; // extends Company @@ -124,4 +125,12 @@ public class CompanyInfo extends SpcexObjectBase { public void setRegistrationDate(LocalDate registrationDate) { this.registrationDate = registrationDate; } + + public String getResidenceCode() { + return residenceCode; + } + + public void setResidenceCode(String residenceCode) { + this.residenceCode = residenceCode; + } } \ No newline at end of file diff --git a/clearing-parent/db-scripts/src/main/resources/db/DDL.sql b/clearing-parent/db-scripts/src/main/resources/db/DDL.sql index 301e79af6..1ffeb7e32 100644 --- a/clearing-parent/db-scripts/src/main/resources/db/DDL.sql +++ b/clearing-parent/db-scripts/src/main/resources/db/DDL.sql @@ -1,4 +1,4 @@ --- DB version: 3.20 +-- DB version: 3.21 /* Dictionaries */ -- allowed - Справочник признаков допустимости использования объектов @@ -1104,7 +1104,7 @@ GRANT ALL PRIVILEGES ON TABLE COMPANY_HISTORY TO clearing; -- companyInfo - Профили компаний DROP TABLE IF EXISTS COMPANY_INFO; -CREATE TABLE COMPANY_INFO(COMPANY_ID bigint, CORPORATION_SOLE_TYPE varchar(4), COUNTRY_CODE varchar(4), DESCRIPTION varchar(255), PROFESSIONAL_SIGN varchar(4), LEGAL_KIND varchar(4), ORGANIZATION_TYPE varchar(4), RESIDENCE varchar(4), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255), TAX_NUMBER VARCHAR(255), REGISTRATION_DATE DATE, ID bigint PRIMARY KEY); +CREATE TABLE COMPANY_INFO(COMPANY_ID bigint, CORPORATION_SOLE_TYPE varchar(4), COUNTRY_CODE varchar(4), DESCRIPTION varchar(255), PROFESSIONAL_SIGN varchar(4), LEGAL_KIND varchar(4), ORGANIZATION_TYPE varchar(4), RESIDENCE varchar(4), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255), TAX_NUMBER VARCHAR(255), REGISTRATION_DATE DATE, RESIDENCE_CODE VARCHAR(4), ID bigint PRIMARY KEY); COMMENT ON TABLE COMPANY_INFO IS 'Профили компаний'; COMMENT ON COLUMN COMPANY_INFO.COMPANY_ID IS 'Идентификатор компании (linked to company)'; @@ -1132,13 +1132,14 @@ COMMENT ON COLUMN COMPANY_INFO.ID IS 'Идентификатор записи'; COMMENT ON COLUMN COMPANY_INFO.TAX_NUMBER IS 'Налоговый номер в стране регистрации'; COMMENT ON COLUMN COMPANY_INFO.REGISTRATION_DATE IS 'Дата государственной регистрации'; +COMMENT ON COLUMN COMPANY_INFO.RESIDENCE_CODE IS 'Код страны резидентства'; GRANT ALL PRIVILEGES ON TABLE COMPANY_INFO TO clearing; -- History log of companyInfo - Профили компаний DROP TABLE IF EXISTS COMPANY_INFO_HISTORY; -CREATE TABLE COMPANY_INFO_HISTORY(COMPANY_INFO_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, CORPORATION_SOLE_TYPE varchar(4), COUNTRY_CODE varchar(4), DESCRIPTION varchar(255), PROFESSIONAL_SIGN varchar(4), LEGAL_KIND varchar(4), ORGANIZATION_TYPE varchar(4), RESIDENCE varchar(4), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255), ID bigint PRIMARY KEY); +CREATE TABLE COMPANY_INFO_HISTORY(COMPANY_INFO_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, CORPORATION_SOLE_TYPE varchar(4), COUNTRY_CODE varchar(4), DESCRIPTION varchar(255), PROFESSIONAL_SIGN varchar(4), LEGAL_KIND varchar(4), ORGANIZATION_TYPE varchar(4), RESIDENCE varchar(4), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255), TAX_NUMBER VARCHAR(255), REGISTRATION_DATE DATE, RESIDENCE_CODE VARCHAR(4), ID bigint PRIMARY KEY); COMMENT ON TABLE COMPANY_INFO_HISTORY IS 'История изменений таблицы companyInfo'; COMMENT ON COLUMN COMPANY_INFO_HISTORY.COMPANY_INFO_ID IS 'Идентификатор записи в таблице COMPANY_INFO'; COMMENT ON COLUMN COMPANY_INFO_HISTORY.EVENT_TIME IS 'Дата и время изменения'; @@ -1164,6 +1165,11 @@ COMMENT ON COLUMN COMPANY_INFO_HISTORY.RESIDENCE IS 'Код резиденции COMMENT ON COLUMN COMPANY_INFO_HISTORY.SHORT_NAME_ENG IS 'Краткое наименование компании на английском'; COMMENT ON COLUMN COMPANY_INFO_HISTORY.FULL_NAME_ENG IS 'Полное наименование компании на английском'; +COMMENT ON COLUMN COMPANY_INFO_HISTORY.TAX_NUMBER IS 'Налоговый номер в стране регистрации'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.REGISTRATION_DATE IS 'Дата государственной регистрации'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.RESIDENCE_CODE IS 'Код страны резидентства'; COMMENT ON COLUMN COMPANY_INFO_HISTORY.ID IS 'Идентификатор записи'; @@ -5546,4 +5552,4 @@ COMMENT ON COLUMN RESIDENCE_DICTIONARY.NAME IS 'Наименование'; -- Data types -INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.20') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION \ No newline at end of file +INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.21') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION \ No newline at end of file diff --git a/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.21.sql b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.21.sql new file mode 100644 index 000000000..d423124b4 --- /dev/null +++ b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.21.sql @@ -0,0 +1,14 @@ +-- DB version: 3.20 -> 3.21 + + +ALTER TABLE COMPANY_INFO ADD COLUMN IF NOT EXISTS RESIDENCE_CODE VARCHAR(4); +COMMENT ON COLUMN COMPANY_INFO.RESIDENCE_CODE IS 'Код страны резидентства'; + +ALTER TABLE COMPANY_INFO_HISTORY ADD COLUMN IF NOT EXISTS TAX_NUMBER VARCHAR(255); +ALTER TABLE COMPANY_INFO_HISTORY ADD COLUMN IF NOT EXISTS REGISTRATION_DATE DATE; +ALTER TABLE COMPANY_INFO_HISTORY ADD COLUMN IF NOT EXISTS RESIDENCE_CODE VARCHAR(4); +COMMENT ON COLUMN COMPANY_INFO_HISTORY.TAX_NUMBER IS 'Налоговый номер в стране регистрации'; +COMMENT ON COLUMN COMPANY_INFO_HISTORY.REGISTRATION_DATE IS 'Дата государственной регистрации'; +COMMENT ON COLUMN COMPANY_INFO_HISTORY.RESIDENCE_CODE IS 'Код страны резидентства'; + +INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.21') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION; \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/CompanyHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/CompanyHistoryMapStore.java index f21b477c7..a382e9cb5 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/CompanyHistoryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/CompanyHistoryMapStore.java @@ -41,7 +41,8 @@ public class CompanyHistoryMapStore extends BusinessEventMapStore { return new String[]{ "id", "company_id", "corporation_sole_type", "country_code", "description", "professional_sign", "legal_kind", "organization_type", "residence", - "short_name_eng", "full_name_eng", "tax_number", "registration_date" + "short_name_eng", "full_name_eng", "tax_number", "registration_date", "residence_code" // , "short_name", "full_name", "trading_code","clearing_code", "registration_code" }; } @@ -120,6 +120,7 @@ public class CompanyMapStore extends BusinessObjectMapStore { companyInfo.setFullNameEng(rs.getString("FULL_NAME_ENG")); companyInfo.setTaxNumber(rs.getString("TAX_NUMBER")); companyInfo.setRegistrationDate(getLocalDateFromSqlDate(rs, "REGISTRATION_DATE")); + companyInfo.setResidenceCode(rs.getString("RESIDENCE_CODE")); // companyInfo.setShortName(rs.getString("SHORT_NAME")); // companyInfo.setFullName(rs.getString("FULL_NAME")); // companyInfo.setTradingCode(rs.getString("TRADING_CODE")); @@ -159,7 +160,8 @@ public class CompanyMapStore extends BusinessObjectMapStore { companyInfo.getShortNameEng(), companyInfo.getFullNameEng(), companyInfo.getTaxNumber(), - TimeUtil.toDateFromLocalDate(companyInfo.getRegistrationDate()) + TimeUtil.toDateFromLocalDate(companyInfo.getRegistrationDate()), + companyInfo.getResidenceCode() // companyInfo.getShortName(), // companyInfo.getFullName(), // companyInfo.getTradingCode(),