diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PaymSession.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PaymSession.java index 71de9572d..9318fede5 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PaymSession.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PaymSession.java @@ -22,7 +22,6 @@ import ru.spcex.clearing.session.stage.impl.FormingPaymentInstructionAssets; import ru.spcex.clearing.session.stage.impl.InclusionObligations; import ru.spcex.clearing.session.stage.impl.InspectionObligationsV2; import ru.spcex.clearing.session.stage.impl.ObligationAdmission; -import ru.spcex.clearing.session.stage.impl.PaymentInfo; import ru.spcex.clearing.session.stage.impl.RequirementsAndObligationCreation; import ru.spcex.clearing.session.stage.monitor.SessionMonitor; import ru.spcex.clearing.session.stage.monitor.SessionMonitorFactory; @@ -58,7 +57,7 @@ public class PaymSession extends AbstractSession implements InitializingBean { private final Imdg executionCurrencyImdg; private final Supplier> marketCodes; - private SessionMonitor afterPaymentsReviseMonitor; + private SessionMonitor afterReviseErrorMonitor; public PaymSession( @@ -142,22 +141,12 @@ public class PaymSession extends AbstractSession implements InitializingBean { runStage(TaskType.InspectionObligations, companyIdPayload, inspectionObligations); } //stage 7 - StageResult paymentResult = null; { FormingPaymentInstructionPayload payload = new FormingPaymentInstructionPayload(); payload.setSessionId(currSession.getId()); - paymentResult = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstructionAssets); - } - if (paymentResult.getStageResult().getPaymentInstructions().isEmpty()) { - log.info("no payment instructions were created"); - finishPart(); - } else { - runStage(TaskType.FormingPaymentInstruction, balanceRevise); - this.afterPaymentsReviseMonitor = SessionMonitorFactory.waitRevise(); - log.info("created {} PaymentInstructions, waiting for {}", - paymentResult.getStageResult().getPaymentInstructions().size(), - this.afterPaymentsReviseMonitor.allConditions()); + runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstructionAssets); } + finishPart(); } catch (StageException e) { //already logged } @@ -170,12 +159,13 @@ public class PaymSession extends AbstractSession implements InitializingBean { } log.info("session is running, stage {}, monitors: {}", currStage.get(), - logMonitors(afterPaymentsReviseMonitor)); - if (afterPaymentsReviseMonitor != null && isMonitorPassed(afterPaymentsReviseMonitor, req.getRequestPayload())) { - afterPaymentsReviseMonitor = null; + logMonitors(afterReviseErrorMonitor)); + if (afterReviseErrorMonitor != null && isMonitorPassed(afterReviseErrorMonitor, req.getRequestPayload())) { + afterReviseErrorMonitor = null; finishPart(); return; } + } catch (StageException e) { //already logged } @@ -185,7 +175,14 @@ public class PaymSession extends AbstractSession implements InitializingBean { try { //stage 9 continue revision { - runStage(TaskType.ContinueRevise, currSession.getId(), balanceRevise, false); + StageResult reviseRes = runStage(TaskType.AgainRevise, currSession.getId(), balanceRevise, false); + if (!reviseRes.isSuccess()) { + this.afterReviseErrorMonitor = SessionMonitorFactory.waitReviseError(section()); + log.warn("{} stage error, created monitor for {}", + TaskType.AgainRevise, + afterReviseErrorMonitor.allConditions()); + return; + } } //stage 10 {