UNIT сессия багфикс ожидания 13го и 21го

This commit is contained in:
ialbert 2024-06-27 17:28:45 +03:00
parent b901f4dcb0
commit 7ca4b1ded0
2 changed files with 17 additions and 1 deletions

View file

@ -248,7 +248,9 @@ public class UnitedSession extends AbstractSession implements InitializingBean {
log.info("no payment instructions were created"); log.info("no payment instructions were created");
finishPart(); finishPart();
} else { } else {
this.afterPaymentsSdf4And13Monitor = SessionMonitorFactory.waitStep7(section()); this.afterPaymentsSdf4And13Monitor = SessionMonitorFactory.waitStep7Unit(
paymentResult.getStageResult().getSdfTypes()
);
log.info("created {} PaymentInstructions, waiting for {}", log.info("created {} PaymentInstructions, waiting for {}",
paymentResult.getStageResult().getPaymentInstructions().size(), paymentResult.getStageResult().getPaymentInstructions().size(),
this.afterPaymentsSdf4And13Monitor.allConditions()); this.afterPaymentsSdf4And13Monitor.allConditions());

View file

@ -1,5 +1,6 @@
package ru.spcex.clearing.session.stage.monitor; package ru.spcex.clearing.session.stage.monitor;
import java.util.Collection;
import ru.spcex.platform.enumeration.SdfTable; import ru.spcex.platform.enumeration.SdfTable;
import ru.spcex.platform.enumeration.Section; import ru.spcex.platform.enumeration.Section;
@ -42,6 +43,19 @@ public class SessionMonitorFactory {
} }
} }
public static SessionMonitor waitStep7Unit(Collection<SdfTable> sdfTypes) {
SessionMonitor monitor = SessionMonitor.create()
.addCondition(new SdfCondition(SdfTable.SDF_04))
.addCondition(new SdfCondition(SdfTable.SDF_08))
.addCondition(new SdfCondition(SdfTable.SDF_01))
.addCondition(new SdfCondition(SdfTable.SDF_57));
if (sdfTypes.stream().anyMatch(t -> t.equals(SdfTable.SDF_12))) {
monitor.addCondition(new SdfCondition(SdfTable.SDF_13));
monitor.addCondition(new SdfCondition(SdfTable.SDF_21));
}
return monitor;
}
public static SessionMonitor waitRevise() { public static SessionMonitor waitRevise() {
return SessionMonitor.create() return SessionMonitor.create()
.addCondition(new SdfCondition(SdfTable.SDF_01)) .addCondition(new SdfCondition(SdfTable.SDF_01))