diff --git a/clearing-parent/backend-api/src/main/resources/meta/data.xml b/clearing-parent/backend-api/src/main/resources/meta/data.xml index 2b764acad..19a11c86b 100644 --- a/clearing-parent/backend-api/src/main/resources/meta/data.xml +++ b/clearing-parent/backend-api/src/main/resources/meta/data.xml @@ -272,7 +272,7 @@ - + @@ -595,7 +595,7 @@ - + diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/RegistryService.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/RegistryService.java index 6bcbedd89..7e27cd95f 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/RegistryService.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/RegistryService.java @@ -348,7 +348,7 @@ public class RegistryService { return Optional.empty(); } return Optional.ofNullable(prdBldr.and( - prdBldr.or(moneyPredicate.orElse(prdBldr.alwaysTrue()), depoPredicate.orElse(prdBldr.alwaysTrue())), + prdBldr.and(moneyPredicate.orElse(prdBldr.alwaysTrue()), depoPredicate.orElse(prdBldr.alwaysTrue())), prdBldr.equals("companyId", companyId), prdBldr.sql("tradingClearingRegistryId == null") )); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java index 7e5bf1969..4c05ffd9f 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java @@ -266,7 +266,7 @@ public class Sdf57Executor extends AbstractExecutor { }); InOutDirection direction = IEnumKey.getEnumByKey(InOutDirection.class, stmt.getInOutDirection()); boolean dm_tWasCreated = false; - if (!StringUtils.isEmpty(sdf57.getSpecif()) && pattern.matcher(sdf57.getSpecif()).find() && InOutDirection.in.equals(direction)) { + if (!StringUtils.isEmpty(stmt.getContract()) && InOutDirection.in.equals(direction)) { //todo доделать 11. Идентификация средств УК на клиринговом счете //stmt.id=340270002, sdf57.specif=Возврат депозита по договору №DT1000S001U/280623/8/7 new DM*T.id=339610032 //1. у stmt accountId 3021, addresseId 2610034, contract DT1000S001U/280623/8/7 @@ -664,7 +664,10 @@ public class Sdf57Executor extends AbstractExecutor { ImdgPredicateBuilder pb = registryImdg.predicateBuilder(); ImdgPredicate prdct = pb.and( pb.sql(RegistryCodeSqlBuilder.getInstance(OM_T).build()), - pb.equals("registryStatus", RegistryStatus.PROC.getKey()), + pb.or( + pb.equals("registryStatus", RegistryStatus.PROC.getKey()), + pb.equals("registryStatus", RegistryStatus.MNG.getKey()) + ), pb.notNull("contract"), pb.not(pb.equals("contract", "")) ); diff --git a/clearing-parent/db-scripts/src/main/resources/db/DATA.sql b/clearing-parent/db-scripts/src/main/resources/db/DATA.sql index 9b11f6100..29b19364a 100644 --- a/clearing-parent/db-scripts/src/main/resources/db/DATA.sql +++ b/clearing-parent/db-scripts/src/main/resources/db/DATA.sql @@ -1,4 +1,4 @@ --- DB version: 3.8.0.54 +-- DB version: 3.8.0.55 -- DATA version: 3.5.0.13 @@ -540,7 +540,7 @@ INSERT INTO SESSION_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'FINL', 'Итог INSERT INTO SESSION_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'MEDM', 'Промежуточная клиринговая сессия') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; -INSERT INTO SESSION_TYPE_DICTIONARY(ID, CODE, NAME) values (3, 'XDEP', 'Промежуточная возврат депозитов') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; +INSERT INTO SESSION_TYPE_DICTIONARY(ID, CODE, NAME) values (3, 'XDEP', 'Возврат депозитов') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO SESSION_TYPE_DICTIONARY(ID, CODE, NAME) values (4, 'IPOT', 'Первичные торги Т0') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; @@ -1130,7 +1130,7 @@ INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EX INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (80, 'SCND', 'FOND', 'RUB', 'MMIC', 'ОФЗИН-Торги в режиме выкупа', 1, 'ОФЗИН-Торги в режиме выкупа: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION; -INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (82, 'SCND', 'FOND', 'RUB', 'BBVC', 'ОФЗ-ПК - Аукцион БР', 1, 'ОФЗ-ПК - Аукцион БР') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION; +INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (82, 'PRMR', 'FOND', 'RUB', 'BBVC', 'ОФЗ-ПК - Аукцион БР', 1, 'ОФЗ-ПК - Аукцион БР') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION; INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (83, 'PRMR', 'MKR', 'RUB', 'XMDTATSS', 'СПб ГУП АТС Смольного', 1, 'СПб ГУП АТС Смольного') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;