From a14ee21fd657ffd5c57ec9aa5771179cc9b270c6 Mon Sep 17 00:00:00 2001 From: ialbert Date: Thu, 20 Jul 2023 11:48:21 +0300 Subject: [PATCH] =?UTF-8?q?SdDf57Executor:=20=D1=84=D0=B8=D0=BA=D1=81=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=BE=D0=B2=20=D1=80=D0=B5=D0=B3?= =?UTF-8?q?=D0=B8=D1=81=D1=82=D1=80=D0=BE=D0=B2=20B=20=D0=B8=20F=20=D0=B2?= =?UTF-8?q?=20=D1=81=D0=BB=D1=83=D1=87=D0=B0=D0=B5=20=D0=B8=D0=BD=D1=84?= =?UTF-8?q?=D0=BE=20=D1=81=D1=87=D0=B5=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../clearing/service/executors/Sdf57Executor.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) 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 70b98dc67..2d7868c54 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 @@ -188,8 +188,8 @@ public class Sdf57Executor extends AbstractExecutor { log.debug("stmt.id={}, found AM*T.id={}, updating...", stmt.getId(), rgs.getId()); updateReg(stmt, rgs); //добавил создание если не найдены - Registry registryUnitB = findRegByUnit(stmt, rgs, RegistryUnit.B).orElse(copyRegB(rgs)); - Registry registryUnitF = findRegByUnit(stmt, rgs, RegistryUnit.F).orElse(copyRegF(rgs, null)); //передаю null т.к. отнимется ниже по коду + Registry registryUnitB = findRegByUnit(company.getId(), account.getId(), stmt.getContract(), rgs, RegistryUnit.B).orElse(copyRegB(rgs)); + Registry registryUnitF = findRegByUnit(company.getId(), account.getId(), stmt.getContract(), rgs, RegistryUnit.F).orElse(copyRegF(rgs, null)); //передаю null т.к. отнимется ниже по коду registryUnitF.setBalance(rgs.getBalance().subtract(registryUnitB.getBalance())); registryUnitF.setUpdated(Instant.now()); //registry F всегда меняется @@ -548,7 +548,7 @@ public class Sdf57Executor extends AbstractExecutor { } } - private Optional findRegByUnit(Statement s, Registry registry, RegistryUnit unit) { + private Optional findRegByUnit(Long companyId, Long accountId, String contract, Registry registry, RegistryUnit unit) { RegistryTradingParams p = new RegistryTradingParams( IEnumKey.getEnumByKey(RegistryDesignation.class, registry.getRegistryDesignation()), IEnumKey.getEnumByKey(RegistryInstrumentType.class, registry.getRegistryInstrumentType()), @@ -559,12 +559,12 @@ public class Sdf57Executor extends AbstractExecutor { ImdgPredicateBuilder pb = registryImdg.predicateBuilder(); ImdgPredicate rgstrPredicate = pb.and(pb.sql(sql), pb.sql(sql), - pb.equals("companyId", s.getAddresseeId()), //fixme companyId? - pb.equals("accountId", s.getAccountId()) + pb.equals("companyId", companyId), //fixme companyId? + pb.equals("accountId", accountId) ); - if (RegistryDesignation.D.equalsByKey(registry.getRegistryDesignation()) && !TextUtil.isEmpty(s.getContract())) { - rgstrPredicate = pb.and(rgstrPredicate, pb.equals("contract", s.getContract())); + if (RegistryDesignation.D.equalsByKey(registry.getRegistryDesignation()) && !TextUtil.isEmpty(contract)) { + rgstrPredicate = pb.and(rgstrPredicate, pb.equals("contract", contract)); } return Optional.ofNullable(registryImdg.getSingleObjectByPredicate(rgstrPredicate)); }