From 241f88199d6b5fbdbad3173f4fed7d970933496e Mon Sep 17 00:00:00 2001 From: ialbert Date: Tue, 1 Aug 2023 14:49:10 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B2=D1=8B=D0=BF=D0=B8=D0=BB=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B8=D0=B7=20=D1=88=D0=B0=D0=B3=D0=B0=20=D1=81=20PaymentInstr?= =?UTF-8?q?uction=20=D0=B1=D0=BB=D0=BE=D0=BA=D0=B8=D1=80=D0=BE=D0=B2=D0=BA?= =?UTF-8?q?=D1=83=20=D0=B0=D0=BA=D1=82=D0=B8=D0=B2=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stage/PrimaryAuctionB0Session.java | 34 +-- .../stage/impl/FormingPaymentInstruction.java | 257 +++++++++--------- .../stage/impl/InspectionObligations.java | 2 +- 3 files changed, 148 insertions(+), 145 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionB0Session.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionB0Session.java index f865d7d06..c12554259 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionB0Session.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionB0Session.java @@ -39,8 +39,9 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali private final InclusionObligations inclusionObligations; private final InspectionObligations inspectionObligations; private final FormingRegistersOnOS formingRegistersOnOS; - private final FormingPaymentInstruction formingPaymentInstruction; - private final FormingPaymentInstructionDealsFinalMkr formingPaymentInstructionDealsFinalMkr; + private final FormingPaymentInstructionAssets formingPaymentInstruction; + //TODO CLRNWORM + //private final FormingPaymentInstructionDealsFinalMkr formingPaymentInstructionDealsFinalMkr; private final UnlockResources unlockResources; private final FinishingSession finishingSession; private final EndStageNotification endStageNotification; @@ -57,8 +58,8 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali ObligationAdmission obligationsAdmission, InclusionObligations inclusionObligations, FormingRegistersOnOS formingRegistersOnOS, - FormingPaymentInstruction formingPaymentInstruction, - FormingPaymentInstructionDealsFinalMkr formingPaymentInstructionDealsFinalMkr, + FormingPaymentInstructionAssets formingPaymentInstruction, +// FormingPaymentInstructionDealsFinalMkr formingPaymentInstructionDealsFinalMkr, UnlockResources unlockResources, FinishingSession finishingSession, EndStageNotification endStageNotification, @@ -78,7 +79,7 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali this.endStageNotification = endStageNotification; this.executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class); this.inspectionObligations = inspectionObligations; - this.formingPaymentInstructionDealsFinalMkr = formingPaymentInstructionDealsFinalMkr; +// this.formingPaymentInstructionDealsFinalMkr = formingPaymentInstructionDealsFinalMkr; this.marketCodes = marketCodes; } @@ -149,6 +150,7 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali { InspectionPoolPayload companyIdPayload = new InspectionPoolPayload(); companyIdPayload.setProcessedCompanyId(currSession.getCompanyId()); + companyIdPayload.setSessionId(currSession.getId()); runStage(TaskType.InspectionObligations, companyIdPayload, inspectionObligations); } //stage 6 @@ -157,23 +159,23 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali payload.setSessionId(currSession.getId()); runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); //returns Collection } - StageResult> returnsPayment = null; + StageResult> paymentResult = null; { FormingPaymentInstructionPayload payload = new FormingPaymentInstructionPayload(); payload.setSessionId(currSession.getId()); //stage 7 - returnsPayment = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstruction); + paymentResult = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstruction); } //stage 7 - StageResult> paymentResult = null; - { - FormingPaymentInstructionDealsMkrPayload payload = new FormingPaymentInstructionDealsMkrPayload(); - payload.setSessionId(currSession.getId()); - payload.setSection(section()); - payload.setPaymentInstructionReturns(returnsPayment.getStageResult()); - - paymentResult = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstructionDealsFinalMkr); - } +// StageResult> paymentResult = null; +// { +// FormingPaymentInstructionDealsMkrPayload payload = new FormingPaymentInstructionDealsMkrPayload(); +// payload.setSessionId(currSession.getId()); +// payload.setSection(section()); +// payload.setPaymentInstructionReturns(returnsPayment.getStageResult()); +// +// paymentResult = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstructionDealsFinalMkr); +// } if (paymentResult != null && paymentResult.getStageResult().isEmpty()) { runStage(TaskType.FormingPaymentInstruction, balanceRevise); // finishPart(req); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstruction.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstruction.java index 312b0baef..0d3803c77 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstruction.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstruction.java @@ -107,134 +107,135 @@ public class FormingPaymentInstruction implements ISessionStage { .toList(); log.debug("Size obligationsByMoney: {}; expected 0", obligationsByMoney.size()); - for (Registry obligationByMoney : obligationsByMoney) { - String sql = String.format("tradingClearingRegistryId = %s and companyId = %s", - obligationByMoney.getTradingClearingRegistryId(), obligationByMoney.getCompanyId()); - Collection relatedRegistries = registryImdg.getCollectionObjectsBySQL(sql); - - RegistryTradingParams registryTradingParamsF = new RegistryTradingParams(RegistryDesignation.A, - RegistryInstrumentType.M, null, RegistryUnit.F); - RegistryTradingParams registryTradingParamsT = new RegistryTradingParams(RegistryDesignation.A, - RegistryInstrumentType.M, null, RegistryUnit.T); - RegistryTradingParams registryTradingParamsB = new RegistryTradingParams(RegistryDesignation.A, - RegistryInstrumentType.M, null, RegistryUnit.B); - - for (Registry relatedRegistry : relatedRegistries) { - if (registryTradingParamsF.equalByRegistry(IEnumKey.getEnumByKey(RegistryDesignation.class, relatedRegistry.getRegistryDesignation()), - IEnumKey.getEnumByKey(RegistryInstrumentType.class, relatedRegistry.getRegistryInstrumentType()), - IEnumKey.getEnumByKey(RegistryCapacity.class, relatedRegistry.getRegistryCapacity()), - IEnumKey.getEnumByKey(RegistryUnit.class, relatedRegistry.getRegistryUnit()))) { - relatedRegistry.setBalance(safeBD(relatedRegistry.getBalance()).subtract(safeBD(obligationByMoney.getBalance()))); - } else if (registryTradingParamsT.equalByRegistry(IEnumKey.getEnumByKey(RegistryDesignation.class, relatedRegistry.getRegistryDesignation()), - IEnumKey.getEnumByKey(RegistryInstrumentType.class, relatedRegistry.getRegistryInstrumentType()), - IEnumKey.getEnumByKey(RegistryCapacity.class, relatedRegistry.getRegistryCapacity()), - IEnumKey.getEnumByKey(RegistryUnit.class, relatedRegistry.getRegistryUnit()))) { - relatedRegistry.setSettledDebit(safeBD(relatedRegistry.getSettledDebit()).add(safeBD(obligationByMoney.getBalance()))); - } else if (registryTradingParamsB.equalByRegistry(IEnumKey.getEnumByKey(RegistryDesignation.class, relatedRegistry.getRegistryDesignation()), - IEnumKey.getEnumByKey(RegistryInstrumentType.class, relatedRegistry.getRegistryInstrumentType()), - IEnumKey.getEnumByKey(RegistryCapacity.class, relatedRegistry.getRegistryCapacity()), - IEnumKey.getEnumByKey(RegistryUnit.class, relatedRegistry.getRegistryUnit()))) { - relatedRegistry.setBalance(safeBD(relatedRegistry.getBalance()).add(safeBD(obligationByMoney.getBalance()))); - } - registryImdg.update(relatedRegistry); - } - } - - List requirementsByIssue = obligations.stream().filter(registry -> - new RegistryTradingParams(RegistryDesignation.C, RegistryInstrumentType.S, null, RegistryUnit.T).equalByRegistry(IEnumKey.getEnumByKey(RegistryDesignation.class, registry.getRegistryDesignation()), - IEnumKey.getEnumByKey(RegistryInstrumentType.class, registry.getRegistryInstrumentType()), - IEnumKey.getEnumByKey(RegistryCapacity.class, registry.getRegistryCapacity()), - IEnumKey.getEnumByKey(RegistryUnit.class, registry.getRegistryUnit()))) - .toList(); - - log.debug("Size requirementsByIssue: {};", requirementsByIssue.size()); - for (Registry requirementByIssue : requirementsByIssue) { - String sql = String.format("tradingClearingRegistryId = %s and companyId = %s", - requirementByIssue.getTradingClearingRegistryId(), requirementByIssue.getCompanyId()); - Collection relatedRegistries = registryImdg.getCollectionObjectsBySQL(sql); - - RegistryTradingParams registryTradingParamsA = new RegistryTradingParams(RegistryDesignation.A, - RegistryInstrumentType.S, null, RegistryUnit.T); - - for (Registry relatedRegistry : relatedRegistries) { - if (registryTradingParamsA.equalByRegistry(IEnumKey.getEnumByKey(RegistryDesignation.class, relatedRegistry.getRegistryDesignation()), - IEnumKey.getEnumByKey(RegistryInstrumentType.class, relatedRegistry.getRegistryInstrumentType()), - IEnumKey.getEnumByKey(RegistryCapacity.class, relatedRegistry.getRegistryCapacity()), - IEnumKey.getEnumByKey(RegistryUnit.class, relatedRegistry.getRegistryUnit()))) { - relatedRegistry.setSettledDebit(safeBD(relatedRegistry.getSettledDebit()).add(safeBD(requirementByIssue.getBalance()))); - } - registryImdg.update(relatedRegistry); - } - } - - List requirementsByMoney = obligations.stream().filter(registry -> - new RegistryTradingParams(RegistryDesignation.C, RegistryInstrumentType.M, null, RegistryUnit.T).equalByRegistry( - IEnumKey.getEnumByKey(RegistryDesignation.class, registry.getRegistryDesignation()), - IEnumKey.getEnumByKey(RegistryInstrumentType.class, registry.getRegistryInstrumentType()), - IEnumKey.getEnumByKey(RegistryCapacity.class, registry.getRegistryCapacity()), - IEnumKey.getEnumByKey(RegistryUnit.class, registry.getRegistryUnit()))) - .toList(); - - log.debug("Size requirementsByMoney: {}; expected 0", requirementsByMoney.size()); - for (Registry requirementByMoney : requirementsByMoney) { - String sql = String.format("tradingClearingRegistryId = %s and companyId = %s", - requirementByMoney.getTradingClearingRegistryId(), requirementByMoney.getCompanyId()); - Collection relatedRegistries = registryImdg.getCollectionObjectsBySQL(sql); - - RegistryTradingParams registryTradingParamsA = new RegistryTradingParams(RegistryDesignation.A, - RegistryInstrumentType.M, null, RegistryUnit.T); - - for (Registry relatedRegistry : relatedRegistries) { - if (registryTradingParamsA.equalByRegistry(IEnumKey.getEnumByKey(RegistryDesignation.class, relatedRegistry.getRegistryDesignation()), - IEnumKey.getEnumByKey(RegistryInstrumentType.class, relatedRegistry.getRegistryInstrumentType()), - IEnumKey.getEnumByKey(RegistryCapacity.class, relatedRegistry.getRegistryCapacity()), - IEnumKey.getEnumByKey(RegistryUnit.class, relatedRegistry.getRegistryUnit()))) { - relatedRegistry.setSettledDebit(safeBD(relatedRegistry.getSettledDebit()).add(safeBD(requirementByMoney.getBalance()))); - } - registryImdg.update(relatedRegistry); - } - } - - List obligationsByIssue = obligations.stream().filter(registry -> - new RegistryTradingParams(RegistryDesignation.L, RegistryInstrumentType.S, null, RegistryUnit.T).equalByRegistry( - IEnumKey.getEnumByKey(RegistryDesignation.class, registry.getRegistryDesignation()), - IEnumKey.getEnumByKey(RegistryInstrumentType.class, registry.getRegistryInstrumentType()), - IEnumKey.getEnumByKey(RegistryCapacity.class, registry.getRegistryCapacity()), - IEnumKey.getEnumByKey(RegistryUnit.class, registry.getRegistryUnit()))) - .toList(); - - for (Registry obligationByIssue : obligationsByIssue) { - String sql = String.format("tradingClearingRegistryId = %s and companyId = %s", - obligationByIssue.getTradingClearingRegistryId(), obligationByIssue.getCompanyId()); - Collection relatedRegistries = registryImdg.getCollectionObjectsBySQL(sql); - - RegistryTradingParams registryTradingParamsF = new RegistryTradingParams(RegistryDesignation.A, - RegistryInstrumentType.S, null, RegistryUnit.F); - RegistryTradingParams registryTradingParamsT = new RegistryTradingParams(RegistryDesignation.A, - RegistryInstrumentType.S, null, RegistryUnit.T); - RegistryTradingParams registryTradingParamsB = new RegistryTradingParams(RegistryDesignation.A, - RegistryInstrumentType.S, null, RegistryUnit.B); - - for (Registry relatedRegistry : relatedRegistries) { - if (registryTradingParamsF.equalByRegistry(IEnumKey.getEnumByKey(RegistryDesignation.class, relatedRegistry.getRegistryDesignation()), - IEnumKey.getEnumByKey(RegistryInstrumentType.class, relatedRegistry.getRegistryInstrumentType()), - IEnumKey.getEnumByKey(RegistryCapacity.class, relatedRegistry.getRegistryCapacity()), - IEnumKey.getEnumByKey(RegistryUnit.class, relatedRegistry.getRegistryUnit()))) { - relatedRegistry.setBalance(safeBD(relatedRegistry.getBalance()).subtract(safeBD(obligationByIssue.getBalance()))); - } else if (registryTradingParamsT.equalByRegistry(IEnumKey.getEnumByKey(RegistryDesignation.class, relatedRegistry.getRegistryDesignation()), - IEnumKey.getEnumByKey(RegistryInstrumentType.class, relatedRegistry.getRegistryInstrumentType()), - IEnumKey.getEnumByKey(RegistryCapacity.class, relatedRegistry.getRegistryCapacity()), - IEnumKey.getEnumByKey(RegistryUnit.class, relatedRegistry.getRegistryUnit()))) { - relatedRegistry.setSettledDebit(safeBD(relatedRegistry.getSettledDebit()).add(safeBD(obligationByIssue.getBalance()))); - } else if (registryTradingParamsB.equalByRegistry(IEnumKey.getEnumByKey(RegistryDesignation.class, relatedRegistry.getRegistryDesignation()), - IEnumKey.getEnumByKey(RegistryInstrumentType.class, relatedRegistry.getRegistryInstrumentType()), - IEnumKey.getEnumByKey(RegistryCapacity.class, relatedRegistry.getRegistryCapacity()), - IEnumKey.getEnumByKey(RegistryUnit.class, relatedRegistry.getRegistryUnit()))) { - relatedRegistry.setBalance(safeBD(relatedRegistry.getBalance()).add(safeBD(obligationByIssue.getBalance()))); - } - registryImdg.update(relatedRegistry); - } - } + //TODO CLRNWORM +// for (Registry obligationByMoney : obligationsByMoney) { +// String sql = String.format("tradingClearingRegistryId = %s and companyId = %s", +// obligationByMoney.getTradingClearingRegistryId(), obligationByMoney.getCompanyId()); +// Collection relatedRegistries = registryImdg.getCollectionObjectsBySQL(sql); +// +// RegistryTradingParams registryTradingParamsF = new RegistryTradingParams(RegistryDesignation.A, +// RegistryInstrumentType.M, null, RegistryUnit.F); +// RegistryTradingParams registryTradingParamsT = new RegistryTradingParams(RegistryDesignation.A, +// RegistryInstrumentType.M, null, RegistryUnit.T); +// RegistryTradingParams registryTradingParamsB = new RegistryTradingParams(RegistryDesignation.A, +// RegistryInstrumentType.M, null, RegistryUnit.B); +// +// for (Registry relatedRegistry : relatedRegistries) { +// if (registryTradingParamsF.equalByRegistry(IEnumKey.getEnumByKey(RegistryDesignation.class, relatedRegistry.getRegistryDesignation()), +// IEnumKey.getEnumByKey(RegistryInstrumentType.class, relatedRegistry.getRegistryInstrumentType()), +// IEnumKey.getEnumByKey(RegistryCapacity.class, relatedRegistry.getRegistryCapacity()), +// IEnumKey.getEnumByKey(RegistryUnit.class, relatedRegistry.getRegistryUnit()))) { +// relatedRegistry.setBalance(safeBD(relatedRegistry.getBalance()).subtract(safeBD(obligationByMoney.getBalance()))); +// } else if (registryTradingParamsT.equalByRegistry(IEnumKey.getEnumByKey(RegistryDesignation.class, relatedRegistry.getRegistryDesignation()), +// IEnumKey.getEnumByKey(RegistryInstrumentType.class, relatedRegistry.getRegistryInstrumentType()), +// IEnumKey.getEnumByKey(RegistryCapacity.class, relatedRegistry.getRegistryCapacity()), +// IEnumKey.getEnumByKey(RegistryUnit.class, relatedRegistry.getRegistryUnit()))) { +// relatedRegistry.setSettledDebit(safeBD(relatedRegistry.getSettledDebit()).add(safeBD(obligationByMoney.getBalance()))); +// } else if (registryTradingParamsB.equalByRegistry(IEnumKey.getEnumByKey(RegistryDesignation.class, relatedRegistry.getRegistryDesignation()), +// IEnumKey.getEnumByKey(RegistryInstrumentType.class, relatedRegistry.getRegistryInstrumentType()), +// IEnumKey.getEnumByKey(RegistryCapacity.class, relatedRegistry.getRegistryCapacity()), +// IEnumKey.getEnumByKey(RegistryUnit.class, relatedRegistry.getRegistryUnit()))) { +// relatedRegistry.setBalance(safeBD(relatedRegistry.getBalance()).add(safeBD(obligationByMoney.getBalance()))); +// } +// registryImdg.update(relatedRegistry); +// } +// } +// +// List requirementsByIssue = obligations.stream().filter(registry -> +// new RegistryTradingParams(RegistryDesignation.C, RegistryInstrumentType.S, null, RegistryUnit.T).equalByRegistry(IEnumKey.getEnumByKey(RegistryDesignation.class, registry.getRegistryDesignation()), +// IEnumKey.getEnumByKey(RegistryInstrumentType.class, registry.getRegistryInstrumentType()), +// IEnumKey.getEnumByKey(RegistryCapacity.class, registry.getRegistryCapacity()), +// IEnumKey.getEnumByKey(RegistryUnit.class, registry.getRegistryUnit()))) +// .toList(); +// +// log.debug("Size requirementsByIssue: {};", requirementsByIssue.size()); +// for (Registry requirementByIssue : requirementsByIssue) { +// String sql = String.format("tradingClearingRegistryId = %s and companyId = %s", +// requirementByIssue.getTradingClearingRegistryId(), requirementByIssue.getCompanyId()); +// Collection relatedRegistries = registryImdg.getCollectionObjectsBySQL(sql); +// +// RegistryTradingParams registryTradingParamsA = new RegistryTradingParams(RegistryDesignation.A, +// RegistryInstrumentType.S, null, RegistryUnit.T); +// +// for (Registry relatedRegistry : relatedRegistries) { +// if (registryTradingParamsA.equalByRegistry(IEnumKey.getEnumByKey(RegistryDesignation.class, relatedRegistry.getRegistryDesignation()), +// IEnumKey.getEnumByKey(RegistryInstrumentType.class, relatedRegistry.getRegistryInstrumentType()), +// IEnumKey.getEnumByKey(RegistryCapacity.class, relatedRegistry.getRegistryCapacity()), +// IEnumKey.getEnumByKey(RegistryUnit.class, relatedRegistry.getRegistryUnit()))) { +// relatedRegistry.setSettledDebit(safeBD(relatedRegistry.getSettledDebit()).add(safeBD(requirementByIssue.getBalance()))); +// } +// registryImdg.update(relatedRegistry); +// } +// } +// +// List requirementsByMoney = obligations.stream().filter(registry -> +// new RegistryTradingParams(RegistryDesignation.C, RegistryInstrumentType.M, null, RegistryUnit.T).equalByRegistry( +// IEnumKey.getEnumByKey(RegistryDesignation.class, registry.getRegistryDesignation()), +// IEnumKey.getEnumByKey(RegistryInstrumentType.class, registry.getRegistryInstrumentType()), +// IEnumKey.getEnumByKey(RegistryCapacity.class, registry.getRegistryCapacity()), +// IEnumKey.getEnumByKey(RegistryUnit.class, registry.getRegistryUnit()))) +// .toList(); +// +// log.debug("Size requirementsByMoney: {}; expected 0", requirementsByMoney.size()); +// for (Registry requirementByMoney : requirementsByMoney) { +// String sql = String.format("tradingClearingRegistryId = %s and companyId = %s", +// requirementByMoney.getTradingClearingRegistryId(), requirementByMoney.getCompanyId()); +// Collection relatedRegistries = registryImdg.getCollectionObjectsBySQL(sql); +// +// RegistryTradingParams registryTradingParamsA = new RegistryTradingParams(RegistryDesignation.A, +// RegistryInstrumentType.M, null, RegistryUnit.T); +// +// for (Registry relatedRegistry : relatedRegistries) { +// if (registryTradingParamsA.equalByRegistry(IEnumKey.getEnumByKey(RegistryDesignation.class, relatedRegistry.getRegistryDesignation()), +// IEnumKey.getEnumByKey(RegistryInstrumentType.class, relatedRegistry.getRegistryInstrumentType()), +// IEnumKey.getEnumByKey(RegistryCapacity.class, relatedRegistry.getRegistryCapacity()), +// IEnumKey.getEnumByKey(RegistryUnit.class, relatedRegistry.getRegistryUnit()))) { +// relatedRegistry.setSettledDebit(safeBD(relatedRegistry.getSettledDebit()).add(safeBD(requirementByMoney.getBalance()))); +// } +// registryImdg.update(relatedRegistry); +// } +// } +// +// List obligationsByIssue = obligations.stream().filter(registry -> +// new RegistryTradingParams(RegistryDesignation.L, RegistryInstrumentType.S, null, RegistryUnit.T).equalByRegistry( +// IEnumKey.getEnumByKey(RegistryDesignation.class, registry.getRegistryDesignation()), +// IEnumKey.getEnumByKey(RegistryInstrumentType.class, registry.getRegistryInstrumentType()), +// IEnumKey.getEnumByKey(RegistryCapacity.class, registry.getRegistryCapacity()), +// IEnumKey.getEnumByKey(RegistryUnit.class, registry.getRegistryUnit()))) +// .toList(); +// +// for (Registry obligationByIssue : obligationsByIssue) { +// String sql = String.format("tradingClearingRegistryId = %s and companyId = %s", +// obligationByIssue.getTradingClearingRegistryId(), obligationByIssue.getCompanyId()); +// Collection relatedRegistries = registryImdg.getCollectionObjectsBySQL(sql); +// +// RegistryTradingParams registryTradingParamsF = new RegistryTradingParams(RegistryDesignation.A, +// RegistryInstrumentType.S, null, RegistryUnit.F); +// RegistryTradingParams registryTradingParamsT = new RegistryTradingParams(RegistryDesignation.A, +// RegistryInstrumentType.S, null, RegistryUnit.T); +// RegistryTradingParams registryTradingParamsB = new RegistryTradingParams(RegistryDesignation.A, +// RegistryInstrumentType.S, null, RegistryUnit.B); +// +// for (Registry relatedRegistry : relatedRegistries) { +// if (registryTradingParamsF.equalByRegistry(IEnumKey.getEnumByKey(RegistryDesignation.class, relatedRegistry.getRegistryDesignation()), +// IEnumKey.getEnumByKey(RegistryInstrumentType.class, relatedRegistry.getRegistryInstrumentType()), +// IEnumKey.getEnumByKey(RegistryCapacity.class, relatedRegistry.getRegistryCapacity()), +// IEnumKey.getEnumByKey(RegistryUnit.class, relatedRegistry.getRegistryUnit()))) { +// relatedRegistry.setBalance(safeBD(relatedRegistry.getBalance()).subtract(safeBD(obligationByIssue.getBalance()))); +// } else if (registryTradingParamsT.equalByRegistry(IEnumKey.getEnumByKey(RegistryDesignation.class, relatedRegistry.getRegistryDesignation()), +// IEnumKey.getEnumByKey(RegistryInstrumentType.class, relatedRegistry.getRegistryInstrumentType()), +// IEnumKey.getEnumByKey(RegistryCapacity.class, relatedRegistry.getRegistryCapacity()), +// IEnumKey.getEnumByKey(RegistryUnit.class, relatedRegistry.getRegistryUnit()))) { +// relatedRegistry.setSettledDebit(safeBD(relatedRegistry.getSettledDebit()).add(safeBD(obligationByIssue.getBalance()))); +// } else if (registryTradingParamsB.equalByRegistry(IEnumKey.getEnumByKey(RegistryDesignation.class, relatedRegistry.getRegistryDesignation()), +// IEnumKey.getEnumByKey(RegistryInstrumentType.class, relatedRegistry.getRegistryInstrumentType()), +// IEnumKey.getEnumByKey(RegistryCapacity.class, relatedRegistry.getRegistryCapacity()), +// IEnumKey.getEnumByKey(RegistryUnit.class, relatedRegistry.getRegistryUnit()))) { +// relatedRegistry.setBalance(safeBD(relatedRegistry.getBalance()).add(safeBD(obligationByIssue.getBalance()))); +// } +// registryImdg.update(relatedRegistry); +// } +// } List formedPaymentInstructions = new ArrayList<>(); Map> registryByInstrumentType = obligations.stream() diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligations.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligations.java index b95f057fe..69b7ce878 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligations.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligations.java @@ -115,7 +115,7 @@ public class InspectionObligations implements ISessionStage { if (checkResults.stream().noneMatch(checkResult -> checkResult.isUncovered)) { Instant now = Instant.now(); //по каждому регистру OM*T, TM*T, OS*T, TS*T из одной группы - for (Registry registry : group) { + for (Registry registry : group) {//TODO CLRNWORM проверка на пустой blockedRegistry Registry blockedRegistry = null; if (IEnumKey.getEnumByKey(RegistryInstrumentType.class, registry.getRegistryInstrumentType()) == RegistryInstrumentType.M) { String moneyBAssetSql = searchMoneyBAssetsSql(registry);