diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/UnitedSession.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/UnitedSession.java index b7840372c..a6372e482 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/UnitedSession.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/UnitedSession.java @@ -28,7 +28,6 @@ import ru.spcex.clearing.session.stage.impl.PaymentInfo; import ru.spcex.clearing.session.stage.impl.RequirementsAndObligationCreationCompound; import ru.spcex.clearing.session.stage.impl.UnlockResources; import ru.spcex.clearing.session.stage.impl.compound.CompoundStageDealsPrepare; -import ru.spcex.clearing.session.stage.monitor.SdfCondition; import ru.spcex.clearing.session.stage.monitor.SessionMonitor; import ru.spcex.clearing.session.stage.monitor.SessionMonitorFactory; import ru.spcex.clearing.session.stage.task.DealsPreparePayload; @@ -40,7 +39,6 @@ import ru.spcex.clearing.session.stage.task.InspectionPoolPayload; import ru.spcex.clearing.session.stage.task.RequirementsAndObligationCreationCompoundPayload; import ru.spcex.clearing.session.stage.task.result.DealsPrepareCompoundResult; import ru.spcex.platform.classes.base.interfaces.ExecutionType; -import ru.spcex.platform.enumeration.SdfTable; import ru.spcex.platform.enumeration.Section; import ru.spcex.platform.enumeration.SessionStatus; import ru.spcex.platform.enumeration.SessionType; @@ -172,14 +170,9 @@ public class UnitedSession extends AbstractSession implements InitializingBean { return; } if (afterPaymentsSdf4And13Monitor != null && isMonitorPassed(afterPaymentsSdf4And13Monitor, req.getRequestPayload())) { - boolean wasDf12 = afterPaymentsSdf4And13Monitor.getAllConditions() - .stream() - .filter(c -> c instanceof SdfCondition) - .map(c -> (SdfCondition) c) - .anyMatch(c -> SdfTable.SDF_13.equals(c.sdf())); afterPaymentsSdf4And13Monitor = null; checkStageAndThrow(TaskType.FormingPaymentInstruction); - finishPart(wasDf12); + finishPart(); return; } if (afterReviseErrorMonitor != null && isMonitorPassed(afterReviseErrorMonitor, req.getRequestPayload())) { @@ -268,10 +261,6 @@ public class UnitedSession extends AbstractSession implements InitializingBean { } public void finishPart() { - finishPart(null); - } - - public void finishPart(Boolean was12) { try { //stage 9 continue revision { @@ -289,7 +278,6 @@ public class UnitedSession extends AbstractSession implements InitializingBean { FinishingSessionPayload payload = new FinishingSessionPayload(); payload.setSessionId(currSession.getId()); payload.setPr("1"); - payload.setWasDf12(was12); runStage(TaskType.FinishingSession, payload, finishingSession); } //stage 11 diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FinishingSession.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FinishingSession.java index 7593df46c..e703eddfd 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FinishingSession.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FinishingSession.java @@ -22,6 +22,7 @@ import ru.clearing.classes.statics.data.execution.ExecutionDeposit; import ru.clearing.classes.statics.data.execution.ExecutionFond; import ru.clearing.classes.statics.data.misc.Session; import ru.clearing.classes.statics.data.registry.Registry; +import ru.clearing.classes.statics.data.sdf.SDf05; import static ru.spcex.clearing.error.ClearingErrorInternal.SessionGeneralError; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.Consts; @@ -63,6 +64,7 @@ public class FinishingSession implements ISessionStage { private final Imdg executionDepositImdg; private final Imdg executionCurrencyImdg; private final Imdg sessionImdg; + private final Imdg sDf05Imdg; private final KafkaSender kafkaSender; private final IMessageResolver msgResolver; private final Sdf05Sender sdf05Sender; @@ -78,6 +80,7 @@ public class FinishingSession implements ISessionStage { this.executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class); this.executionDepositImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionDeposit, ExecutionDeposit.class); this.executionCurrencyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionCurrency, ExecutionCurrency.class); + this.sDf05Imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf05, SDf05.class); this.kafkaSender = kafkaSender; this.msgResolver = msgResolver; this.sdf05Sender = sdf05Sender; @@ -96,7 +99,7 @@ public class FinishingSession implements ISessionStage { FinishingSessionPayload payload = (FinishingSessionPayload) task.getData(); switch (task.getTaskType()) { case FinishingSession -> { - return finishingSession(payload.getSessionId(), payload.getPr(), payload.getWasDf12()); + return finishingSession(payload.getSessionId(), payload.getPr()); } default -> { throw new IllegalStateException("Unknown task type: " + task.getTaskType()); @@ -104,7 +107,7 @@ public class FinishingSession implements ISessionStage { } } - protected StageResult finishingSession(Long sessionId, String pr, Boolean wasDf12) { + protected StageResult finishingSession(Long sessionId, String pr) { Instant now = Instant.now(); //установка CLRD для обработанных регистров Collection claimsAndLiabilities = selectClaimsAndLiabilities(sessionId); @@ -227,21 +230,13 @@ public class FinishingSession implements ISessionStage { } } sdf05Sender.sendSdf05(pr); - if (df14condition(wasDf12)) { + if (Section.FOND.equals(section) || Section.MULT.equals(section)) { sdf14Sender.sendSdf14(sessionId); } StageResult> res = new StageResult<>(null, true); return res; } - private boolean df14condition(Boolean wasDf12) { - if (Section.FOND.equals(section)) return true; - if (Section.MULT.equals(section) && wasDf12 != null && wasDf12) { - return true; - } - return false; - } - /** * формирование операционного отчета об обязательствах **/ diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/monitor/Condition.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/monitor/Condition.java index 71346789b..a6325e0eb 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/monitor/Condition.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/monitor/Condition.java @@ -14,7 +14,7 @@ public abstract class Condition { this.metOnce = true; } - abstract void event(SessionContinueEvent req); + public abstract void event(SessionContinueEvent req); public abstract String logName(); } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/monitor/SdfCondition.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/monitor/SdfCondition.java index 9df6fed5c..c7deb6a51 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/monitor/SdfCondition.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/monitor/SdfCondition.java @@ -11,12 +11,8 @@ public class SdfCondition extends Condition { this.targetSdf = targetSdf; } - public SdfTable sdf() { - return targetSdf; - } - @Override - void event(SessionContinueEvent req) { + public void event(SessionContinueEvent req) { if (req.getSdfType() != null && req.getSdfType().stream().anyMatch(t -> t.equals(targetSdf))) { isMet(); } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/monitor/SessionMonitor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/monitor/SessionMonitor.java index cfc9dfda3..e914561e0 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/monitor/SessionMonitor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/monitor/SessionMonitor.java @@ -1,13 +1,13 @@ package ru.spcex.clearing.session.stage.monitor; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.stream.Collectors; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import ru.spcex.clearing.platform.messaging.domain.cud.clearing.SessionContinueEvent; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + public class SessionMonitor { private final Logger log = LoggerFactory.getLogger(getClass()); private final List conditions = new ArrayList<>(); @@ -37,11 +37,6 @@ public class SessionMonitor { return isMonitorPassed(); } - - public Collection getAllConditions() { - return conditions; - } - public String allConditions() { return conditions.stream().map(Condition::logName).collect(Collectors.joining(",", "[", "]")); } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/task/FinishingSessionPayload.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/task/FinishingSessionPayload.java index dc2cfe951..49657ef5a 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/task/FinishingSessionPayload.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/task/FinishingSessionPayload.java @@ -3,8 +3,6 @@ package ru.spcex.clearing.session.stage.task; public class FinishingSessionPayload { private Long sessionId; private String pr; - //nullable - private Boolean wasDf12; public Long getSessionId() { return sessionId; @@ -21,12 +19,4 @@ public class FinishingSessionPayload { public void setPr(String pr) { this.pr = pr; } - - public Boolean getWasDf12() { - return wasDf12; - } - - public void setWasDf12(Boolean wasDf12) { - this.wasDf12 = wasDf12; - } }