From 178aa1156144a618aa14072d771f4b7a4aae2f0f Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Thu, 14 Aug 2025 17:46:43 +0300 Subject: [PATCH 1/5] http://jira.mfd.msk:8088/browse/CLS-899 --- .../importer/services/TradeImporterService.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java b/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java index 8add89ed9..2940ca7a5 100644 --- a/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java +++ b/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java @@ -185,19 +185,25 @@ public class TradeImporterService { * returns OK - everything is kk */ private boolean fillNessessaryFields(STrades tradesDb) { - Consumer logErr = (st) -> log.error("strades {} {} {}", tradesDb.getTradeDate(), tradesDb.getTradeNum(), st); + Consumer log = (st) -> { + if (tradesDb.getClassCode().contains("INSTR")) + this.log.warn("strades {} {} {}", tradesDb.getTradeDate(), tradesDb.getTradeNum(), st); + else { + this.log.error("strades {} {} {}", tradesDb.getTradeDate(), tradesDb.getTradeNum(), st); + } + }; try { Market market = marketImdg.getFirstObjectBySQL("code = '%s'".formatted(tradesDb.getClassCode())); if (market == null) { if (blacklistMarketImdg.getFirstObjectByFieldValues(Map.of("code", tradesDb.getClassCode())) == null) { - logErr.accept("couldn't find market.section for classCode " + tradesDb.getClassCode()); + log.accept("couldn't find market.section for classCode " + tradesDb.getClassCode()); } return false; } tradesDb.setSection(market.getSection()); return true; } catch (Exception e) { - logErr.accept(ExceptionUtils.getStackTrace(e)); + log.accept(ExceptionUtils.getStackTrace(e)); return false; } } From 78ceae3a2df1ee3722ee827d1146de57929b4d9f Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Thu, 14 Aug 2025 17:46:56 +0300 Subject: [PATCH 2/5] http://jira.mfd.msk:8088/browse/CLS-898 --- .../src/main/resources/db/updateDDL_3.19.1.sql | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.19.1.sql diff --git a/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.19.1.sql b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.19.1.sql new file mode 100644 index 000000000..ac19d389d --- /dev/null +++ b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.19.1.sql @@ -0,0 +1,9 @@ +-- DB version: 3.19 -> 3.19.1 + +ALTER TABLE S_DF07 ALTER COLUMN doc_num TYPE varchar(6); +ALTER TABLE S_DF06 ALTER COLUMN doc_num TYPE varchar(6); +ALTER TABLE S_DF54 ALTER COLUMN doc_num TYPE varchar(6); +ALTER TABLE S_DF55 ALTER COLUMN doc_num TYPE varchar(6); +ALTER TABLE S_DF57 ALTER COLUMN doc_num TYPE varchar(6); + +INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.19.1') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION; \ No newline at end of file From 52e703bfd8c31472c36697d74347630df5bc2201 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Thu, 14 Aug 2025 17:49:08 +0300 Subject: [PATCH 3/5] http://jira.mfd.msk:8088/browse/CLS-898 --- .../db-scripts/src/main/resources/db/DDL.sql | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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 290b7bd0f..877fdfd54 100644 --- a/clearing-parent/db-scripts/src/main/resources/db/DDL.sql +++ b/clearing-parent/db-scripts/src/main/resources/db/DDL.sql @@ -4243,7 +4243,7 @@ GRANT ALL PRIVILEGES ON TABLE S_DF05 TO clearing; -- sDf06 - ДФ-06 Запрос на зачисление/списание денежных средств DROP TABLE IF EXISTS S_DF06; -CREATE TABLE S_DF06(ID bigint PRIMARY KEY, ACCOUNT varchar(20), SUM numeric(72,18), MARKET varchar(1), TYPE varchar(255), DEAL varchar(10), CLIENT_N varchar(255), INN varchar(255), BIC varchar(255), SPEC varchar(255), NUMBER numeric(72,18), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint, DOC_NUM varchar(3), DOC_DATE varchar(8), PAY_VAL varchar(12), MESSAGE_ID varchar(128), PARENT_ID varchar(128)); +CREATE TABLE S_DF06(ID bigint PRIMARY KEY, ACCOUNT varchar(20), SUM numeric(72,18), MARKET varchar(1), TYPE varchar(255), DEAL varchar(10), CLIENT_N varchar(255), INN varchar(255), BIC varchar(255), SPEC varchar(255), NUMBER numeric(72,18), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint, DOC_NUM varchar(6), DOC_DATE varchar(8), PAY_VAL varchar(12), MESSAGE_ID varchar(128), PARENT_ID varchar(128)); COMMENT ON TABLE S_DF06 IS 'ДФ-06 Запрос на зачисление/списание денежных средств'; COMMENT ON COLUMN S_DF06.ID IS 'Идентификатор записи'; @@ -4288,7 +4288,7 @@ GRANT ALL PRIVILEGES ON TABLE S_DF06 TO clearing; -- sDf07 - ДФ-07 Ответ на запрос по зачислению/списанию денежных средств DROP TABLE IF EXISTS S_DF07; -CREATE TABLE S_DF07(ID bigint PRIMARY KEY, ACCOUNT varchar(20), SUM numeric(72,18), MARKET varchar(1), TYPE varchar(255), DEAL varchar(10), CLIENT_N varchar(255), INN varchar(255), BIC varchar(255), SPEC varchar(255), NUMBER numeric(72,18), RESULT numeric(72,18), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint, IN_S_DF_ID bigint, DOC_NUM varchar(3), DOC_DATE varchar(8), PAY_VAL varchar(12), MESSAGE_ID varchar(128), PARENT_ID varchar(128)); +CREATE TABLE S_DF07(ID bigint PRIMARY KEY, ACCOUNT varchar(20), SUM numeric(72,18), MARKET varchar(1), TYPE varchar(255), DEAL varchar(10), CLIENT_N varchar(255), INN varchar(255), BIC varchar(255), SPEC varchar(255), NUMBER numeric(72,18), RESULT numeric(72,18), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint, IN_S_DF_ID bigint, DOC_NUM varchar(6), DOC_DATE varchar(8), PAY_VAL varchar(12), MESSAGE_ID varchar(128), PARENT_ID varchar(128)); COMMENT ON TABLE S_DF07 IS 'ДФ-07 Ответ на запрос по зачислению/списанию денежных средств'; COMMENT ON COLUMN S_DF07.ID IS 'Идентификатор записи'; @@ -4725,7 +4725,7 @@ GRANT ALL PRIVILEGES ON TABLE S_DF53 TO clearing; -- sDf54 - ДФ-54 Вывод свободных средств для инициаторов категории В с клирингового счета 30414 DROP TABLE IF EXISTS S_DF54; -CREATE TABLE S_DF54(ID bigint PRIMARY KEY, SEG_TYPE varchar(1), DOC_TYPE varchar(4), DOCNM_REF varchar(16), DOCNMPREV varchar(16), SBANKCODE varchar(12), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), RBANKCODE varchar(12), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), OP_TYPE varchar(2), OP_ORDER varchar(1), PAY_DATE varchar(8), PAY_VAL varchar(12), SUM_DEB varchar(22), SCLIENTN1 varchar(35), SCLIENTN2 varchar(35), SCLIENTN3 varchar(35), SCLIENTN4 varchar(35), INN_DEB varchar(12), KPP_DEB varchar(9), ACC_DEB varchar(35), RCLIENTN1 varchar(35), RCLIENTN2 varchar(35), RCLIENTN3 varchar(35), RCLIENTN4 varchar(35), INN_CRED varchar(12), KPP_CRED varchar(9), ACC_KR_1 varchar(35), SPECIF_1 varchar(255), SEND_TYPE varchar(10), DOC_RESULT varchar(2), GENERATION_TIME timestamp, GENERATION_ID bigint, DOC_NUM varchar(3), DOC_DATE varchar(8), VALUE_DATE varchar(8), SWIFT_BEN varchar(11), SWIFT_INT varchar(11), MESSAGE_ID varchar(128), PARENT_ID varchar(128)); +CREATE TABLE S_DF54(ID bigint PRIMARY KEY, SEG_TYPE varchar(1), DOC_TYPE varchar(4), DOCNM_REF varchar(16), DOCNMPREV varchar(16), SBANKCODE varchar(12), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), RBANKCODE varchar(12), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), OP_TYPE varchar(2), OP_ORDER varchar(1), PAY_DATE varchar(8), PAY_VAL varchar(12), SUM_DEB varchar(22), SCLIENTN1 varchar(35), SCLIENTN2 varchar(35), SCLIENTN3 varchar(35), SCLIENTN4 varchar(35), INN_DEB varchar(12), KPP_DEB varchar(9), ACC_DEB varchar(35), RCLIENTN1 varchar(35), RCLIENTN2 varchar(35), RCLIENTN3 varchar(35), RCLIENTN4 varchar(35), INN_CRED varchar(12), KPP_CRED varchar(9), ACC_KR_1 varchar(35), SPECIF_1 varchar(255), SEND_TYPE varchar(10), DOC_RESULT varchar(2), GENERATION_TIME timestamp, GENERATION_ID bigint, DOC_NUM varchar(6), DOC_DATE varchar(8), VALUE_DATE varchar(8), SWIFT_BEN varchar(11), SWIFT_INT varchar(11), MESSAGE_ID varchar(128), PARENT_ID varchar(128)); COMMENT ON TABLE S_DF54 IS 'ДФ-54 Вывод свободных средств для инициаторов категории В с клирингового счета 30414'; COMMENT ON COLUMN S_DF54.ID IS 'Идентификатор записи'; @@ -4832,7 +4832,7 @@ GRANT ALL PRIVILEGES ON TABLE S_DF54 TO clearing; -- sDf55 - ДФ-55 Квитанция об обработке ДФ-54 DROP TABLE IF EXISTS S_DF55; -CREATE TABLE S_DF55(ID bigint PRIMARY KEY, SEG_TYPE varchar(1), DOC_TYPE varchar(4), DOCNM_REF varchar(16), DOCNMPREV varchar(16), SBANKCODE varchar(12), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), RBANKCODE varchar(12), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), OP_TYPE varchar(2), OP_ORDER varchar(1), PAY_DATE varchar(8), PAY_VAL varchar(12), SUM_DEB varchar(22), SCLIENTN1 varchar(35), SCLIENTN2 varchar(35), SCLIENTN3 varchar(35), SCLIENTN4 varchar(35), INN_DEB varchar(12), KPP_DEB varchar(9), ACC_DEB varchar(35), RCLIENTN1 varchar(35), RCLIENTN2 varchar(35), RCLIENTN3 varchar(35), RCLIENTN4 varchar(35), INN_CRED varchar(12), KPP_CRED varchar(9), ACC_KR_1 varchar(35), SPECIF_1 varchar(255), SEND_TYPE varchar(10), DOC_RESULT varchar(2), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint, DOC_NUM varchar(3), DOC_DATE varchar(8), VALUE_DATE varchar(8), SWIFT_BEN varchar(11), SWIFT_INT varchar(11), MESSAGE_ID varchar(128), PARENT_ID varchar(128)); +CREATE TABLE S_DF55(ID bigint PRIMARY KEY, SEG_TYPE varchar(1), DOC_TYPE varchar(4), DOCNM_REF varchar(16), DOCNMPREV varchar(16), SBANKCODE varchar(12), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), RBANKCODE varchar(12), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), OP_TYPE varchar(2), OP_ORDER varchar(1), PAY_DATE varchar(8), PAY_VAL varchar(12), SUM_DEB varchar(22), SCLIENTN1 varchar(35), SCLIENTN2 varchar(35), SCLIENTN3 varchar(35), SCLIENTN4 varchar(35), INN_DEB varchar(12), KPP_DEB varchar(9), ACC_DEB varchar(35), RCLIENTN1 varchar(35), RCLIENTN2 varchar(35), RCLIENTN3 varchar(35), RCLIENTN4 varchar(35), INN_CRED varchar(12), KPP_CRED varchar(9), ACC_KR_1 varchar(35), SPECIF_1 varchar(255), SEND_TYPE varchar(10), DOC_RESULT varchar(2), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint, DOC_NUM varchar(6), DOC_DATE varchar(8), VALUE_DATE varchar(8), SWIFT_BEN varchar(11), SWIFT_INT varchar(11), MESSAGE_ID varchar(128), PARENT_ID varchar(128)); COMMENT ON TABLE S_DF55 IS 'ДФ-55 Квитанция об обработке ДФ-54'; COMMENT ON COLUMN S_DF55.ID IS 'Идентификатор записи'; @@ -4968,7 +4968,7 @@ GRANT ALL PRIVILEGES ON TABLE S_DF56 TO clearing; -- sDf57 - ДФ-57 Список транзакций о списании/зачислении за период по всем счетам (ТБС и КС) DROP TABLE IF EXISTS S_DF57; -CREATE TABLE S_DF57(GENERATION_TIME timestamp, ID bigint PRIMARY KEY, DBF_ID bigint, DEAL_DEB varchar(4), DEAL_CRED varchar(4), SBANKCODE varchar(12), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), RBANKCODE varchar(35), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), OP_TYPE varchar(2), PAY_DATE varchar(8), EXT_DATE varchar(255), PAY_VAL varchar(12), SUM_DEB varchar(22), SCLIENTN1 varchar(35), SCLIENTN2 varchar(35), SCLIENTN3 varchar(35), SCLIENTN4 varchar(35), INN_DEB varchar(12), KPP_DEB varchar(9), ACC_DEB varchar(35), RCLIENTN1 varchar(35), RCLIENTN2 varchar(35), RCLIENTN3 varchar(35), RCLIENTN4 varchar(35), INN_CRED varchar(12), KPP_CRED varchar(9), ACC_KR varchar(35), SPECIF varchar(255), FILE_NAME varchar(255), GENERATION_ID bigint, DOC_NUM varchar(3), DOC_DATE varchar(8), DT_IN varchar(22), KT_IN varchar(22), DT_OUT varchar(22), KT_OUT varchar(22), MESSAGE_ID varchar(128), PARENT_ID varchar(128)); +CREATE TABLE S_DF57(GENERATION_TIME timestamp, ID bigint PRIMARY KEY, DBF_ID bigint, DEAL_DEB varchar(4), DEAL_CRED varchar(4), SBANKCODE varchar(12), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), RBANKCODE varchar(35), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), OP_TYPE varchar(2), PAY_DATE varchar(8), EXT_DATE varchar(255), PAY_VAL varchar(12), SUM_DEB varchar(22), SCLIENTN1 varchar(35), SCLIENTN2 varchar(35), SCLIENTN3 varchar(35), SCLIENTN4 varchar(35), INN_DEB varchar(12), KPP_DEB varchar(9), ACC_DEB varchar(35), RCLIENTN1 varchar(35), RCLIENTN2 varchar(35), RCLIENTN3 varchar(35), RCLIENTN4 varchar(35), INN_CRED varchar(12), KPP_CRED varchar(9), ACC_KR varchar(35), SPECIF varchar(255), FILE_NAME varchar(255), GENERATION_ID bigint, DOC_NUM varchar(6), DOC_DATE varchar(8), DT_IN varchar(22), KT_IN varchar(22), DT_OUT varchar(22), KT_OUT varchar(22), MESSAGE_ID varchar(128), PARENT_ID varchar(128)); COMMENT ON TABLE S_DF57 IS 'ДФ-57 Список транзакций о списании/зачислении за период по всем счетам (ТБС и КС)'; COMMENT ON COLUMN S_DF57.GENERATION_TIME IS 'Дата и время создания записи'; From e1275da162c5be5abcb2ecaaa4907d6266fd64fc Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Fri, 15 Aug 2025 11:40:51 +0300 Subject: [PATCH 4/5] Revert "http://jira.mfd.msk:8088/browse/CLS-899" This reverts commit 178aa1156144a618aa14072d771f4b7a4aae2f0f. --- .../importer/services/TradeImporterService.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java b/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java index 2940ca7a5..8add89ed9 100644 --- a/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java +++ b/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java @@ -185,25 +185,19 @@ public class TradeImporterService { * returns OK - everything is kk */ private boolean fillNessessaryFields(STrades tradesDb) { - Consumer log = (st) -> { - if (tradesDb.getClassCode().contains("INSTR")) - this.log.warn("strades {} {} {}", tradesDb.getTradeDate(), tradesDb.getTradeNum(), st); - else { - this.log.error("strades {} {} {}", tradesDb.getTradeDate(), tradesDb.getTradeNum(), st); - } - }; + Consumer logErr = (st) -> log.error("strades {} {} {}", tradesDb.getTradeDate(), tradesDb.getTradeNum(), st); try { Market market = marketImdg.getFirstObjectBySQL("code = '%s'".formatted(tradesDb.getClassCode())); if (market == null) { if (blacklistMarketImdg.getFirstObjectByFieldValues(Map.of("code", tradesDb.getClassCode())) == null) { - log.accept("couldn't find market.section for classCode " + tradesDb.getClassCode()); + logErr.accept("couldn't find market.section for classCode " + tradesDb.getClassCode()); } return false; } tradesDb.setSection(market.getSection()); return true; } catch (Exception e) { - log.accept(ExceptionUtils.getStackTrace(e)); + logErr.accept(ExceptionUtils.getStackTrace(e)); return false; } } From ca8fc5919221eb8649698218c33c165c914f77dc Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Fri, 15 Aug 2025 11:41:18 +0300 Subject: [PATCH 5/5] http://jira.mfd.msk:8088/browse/CLS-898 --- .../db-scripts/src/main/resources/db/updateDDL_3.19.1.sql | 2 -- 1 file changed, 2 deletions(-) diff --git a/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.19.1.sql b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.19.1.sql index ac19d389d..2d561f789 100644 --- a/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.19.1.sql +++ b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.19.1.sql @@ -5,5 +5,3 @@ ALTER TABLE S_DF06 ALTER COLUMN doc_num TYPE varchar(6); ALTER TABLE S_DF54 ALTER COLUMN doc_num TYPE varchar(6); ALTER TABLE S_DF55 ALTER COLUMN doc_num TYPE varchar(6); ALTER TABLE S_DF57 ALTER COLUMN doc_num TYPE varchar(6); - -INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.19.1') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION; \ No newline at end of file