IPO0, FINL, MEDM

This commit is contained in:
ialbert 2023-09-07 19:36:10 +03:00
parent 0e19218728
commit 99e98f6a28
12 changed files with 140 additions and 105 deletions

View file

@ -121,11 +121,8 @@ public class Sdf04Executor extends AbstractExecutor<SDf04> {
Optional<Registry> registryUnitF = registryManager.findRegByUnit(registry.getCompanyId(), registry.getAccountId(), registry.getContract(), registry, RegistryUnit.F);
Optional<Registry> registryUnitT = registryManager.findRegByUnit(registry.getCompanyId(), registry.getAccountId(), registry.getContract(), registry, RegistryUnit.T);
if (registryUnitF.isPresent() && registryUnitT.isPresent()) {
registryUnitF.get().setBalance(registryUnitT.get().getBalance().subtract(registry.getBalance()));
registryUnitF.get().setUpdated(now);
registryImdg.update(registryUnitF.get());
assets.process(registry, registryUnitT.get(), registryUnitF.get(), BigDecimal.ZERO);
}
registry.setUpdated(now);
registryImdg.update(registry);
});

View file

@ -28,7 +28,9 @@ import ru.spcex.clearing.service.LoggingService;
import ru.spcex.clearing.service.builder.RegistryBuilder;
import ru.spcex.clearing.service.integration.GatewayRequestCreator;
import ru.spcex.clearing.service.model.Result;
import ru.spcex.clearing.service.registry.AssetTBFProcessing;
import ru.spcex.clearing.service.registry.DmiService;
import ru.spcex.clearing.service.registry.RegistryManager;
import ru.spcex.clearing.service.schedule.TradingTimeService;
import ru.spcex.clearing.service.validation.ValidationStored;
import ru.spcex.clearing.session.stage.util.RegistryUtil;
@ -84,13 +86,14 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
private final DmiService dmiService;
private final TradingTimeService timeService;
private final KafkaSender kafka;
private final AssetTBFProcessing assets;
private final Pattern pattern = Pattern.compile("№.*");
public Sdf57Executor(@Qualifier("sdf57Validator") Function<SDf57, IValidator> sDf57Validator,
LoggingService errorLogger,
ImdgProvider imdgProvider,
IMessageResolver errorResolver, AnltSearcher anltSearcher, IMessageResolver messageResolver, DmiService dmiService, TradingTimeService timeService,
@Qualifier("kafkaSenderWithoutRequestInfo") KafkaSender kafka) {
@Qualifier("kafkaSenderWithoutRequestInfo") KafkaSender kafka, AssetTBFProcessing assets) {
this.statementImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Statement, Statement.class);
this.registryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
this.sdf02Imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf02, SDf02.class);
@ -110,6 +113,7 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
this.dmiService = dmiService;
this.timeService = timeService;
this.kafka = kafka;
this.assets = assets;
}
//todo доделать контроль sdf01 и sdf57
@ -206,23 +210,25 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
updateReg(stmt, rgs);
//добавил создание если не найдены
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 registryUnitF = findRegByUnit(company.getId(), account.getId(), stmt.getContract(), rgs, RegistryUnit.F).orElse(copyRegF(rgs)); //передаю null т.к. отнимется ниже по коду
// registryUnitF.setBalance(rgs.getBalance().subtract(registryUnitB.getBalance()));
// registryUnitF.setUpdated(Instant.now());
//registry F всегда меняется
if (registryUnitF.getId() == null) {
registryImdg.insert(registryUnitF);
log.debug("stmt.id={}, new AM*F.id={}", stmt.getId(), registryUnitF.getId());
} else {
registryImdg.update(registryUnitF);
log.debug("stmt.id={}, updated AM*F.id={}", stmt.getId(), registryUnitF.getId());
}
// else {
// registryImdg.update(registryUnitF);
// log.debug("stmt.id={}, updated AM*F.id={}", stmt.getId(), registryUnitF.getId());
// }
//нужно сохранить registry B только если его не было
if (registryUnitB.getId() == null) {
registryImdg.insert(registryUnitB);
log.debug("stmt.id={}, new AM*B.id={}", stmt.getId(), registryUnitB.getId());
}
registryImdg.update(rgs);
assets.process(registryUnitB, rgs, registryUnitF, BigDecimal.ZERO);
log.debug("stmt.id={}, updated AM*T.id={}: balance {}/debit {}/ credit {}",
stmt.getId(),
rgs.getId(),
@ -239,7 +245,7 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
.build();
calcBalance(registry, stmt);
Registry registryB = copyRegB(registry);
Registry registryF = copyRegF(registry, registryB.getBalance());
Registry registryF = copyRegF(registry);
registryImdg.insert(registry);
registryImdg.insert(registryF);
@ -412,24 +418,18 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
private Registry copyRegB(Registry rgs) {
Registry rgsB = rgs.clone();
RegistryManager.zeroState(rgsB);
rgsB.setRegistryUnit(RegistryUnit.B.getKey());
rgsB.setRegistryCode(RegistryUtil.clearingCode(rgsB));
rgsB.setBalance(BigDecimal.ZERO);
rgsB.setDebit(BigDecimal.ZERO);
rgsB.setCredit(BigDecimal.ZERO);
rgsB.setDiffBalance(BigDecimal.ZERO);
rgsB.setCheckBalance(BigDecimal.ZERO);
return rgsB;
}
private Registry copyRegF(Registry rgs, BigDecimal rgsBBalance) {
private Registry copyRegF(Registry rgs) {
Registry rgsF = rgs.clone();
RegistryManager.zeroState(rgsF);
rgsF.setRegistryUnit(RegistryUnit.F.getKey());
rgsF.setRegistryCode(RegistryUtil.clearingCode(rgsF));
rgsF.setBalance(safeBD(rgs.getBalance()).subtract(safeBD(rgsBBalance)));
rgsF.setCredit(BigDecimal.ZERO);
rgsF.setDiffBalance(BigDecimal.ZERO);
rgsF.setCheckBalance(BigDecimal.ZERO);
rgsF.setBalance(safeBD(rgs.getBalance()));
return rgsF;
}

View file

@ -183,6 +183,7 @@ public class RegistryManager {
rgs.setCredit(BigDecimal.ZERO);
rgs.setDiffBalance(BigDecimal.ZERO);
rgs.setCheckBalance(BigDecimal.ZERO);
rgs.setPlanBalance(BigDecimal.ZERO);
}

View file

@ -139,15 +139,17 @@ public class FinalMkrSession extends AbstractSession implements InitializingBean
if (firstReviseMonitor != null && isMonitorPassed(firstReviseMonitor, req.getRequestPayload())) {
firstReviseMonitor = null;
firstPart();
return;
}
if (afterPaymentsSdf4Monitor != null && isMonitorPassed(afterPaymentsSdf4Monitor, req.getRequestPayload())) {
afterPaymentsSdf4Monitor = null;
sendSdf56();
}
if (afterPaymentsReviseMonitor != null && isMonitorPassed(afterPaymentsReviseMonitor, req.getRequestPayload())) {
afterPaymentsReviseMonitor = null;
finishPart();
return;
}
//if (afterPaymentsReviseMonitor != null && isMonitorPassed(afterPaymentsReviseMonitor, req.getRequestPayload())) {
// afterPaymentsReviseMonitor = null;
// finishPart();
//}
} catch (StageException e) {
//already logged
}
@ -211,11 +213,13 @@ public class FinalMkrSession extends AbstractSession implements InitializingBean
paymentResult = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstructionDeals);
}
if (paymentResult.getStageResult().getPaymentInstructions().isEmpty()) {
log.info("no payment instructions were created, sending SDF56");
sendSdf56();
log.info("no payment instructions were created");
finishPart();
} else {
log.info("created {} PaymentInstructions, waiting for SDF04", paymentResult.getStageResult().getPaymentInstructions().size());
this.afterPaymentsSdf4Monitor = SessionMonitorFactory.paymentsWereCreated(section());
this.afterPaymentsSdf4Monitor = SessionMonitorFactory.waitStep7(section());
log.info("created {} PaymentInstructions, waiting for {}",
paymentResult.getStageResult().getPaymentInstructions().size(),
this.afterPaymentsSdf4Monitor.allConditions());
}
} catch (StageException e) {
//already logged

View file

@ -133,15 +133,17 @@ public class IntermediateMkrSession extends AbstractSession implements Initializ
if (firstReviseMonitor != null && isMonitorPassed(firstReviseMonitor, req.getRequestPayload())) {
firstReviseMonitor = null;
firstPart();
return;
}
if (afterPaymentsSdf4Monitor != null && isMonitorPassed(afterPaymentsSdf4Monitor, req.getRequestPayload())) {
afterPaymentsSdf4Monitor = null;
sendSdf56();
}
if (afterPaymentsReviseMonitor != null && isMonitorPassed(afterPaymentsReviseMonitor, req.getRequestPayload())) {
afterPaymentsReviseMonitor = null;
finishPart();
return;
}
//if (afterPaymentsReviseMonitor != null && isMonitorPassed(afterPaymentsReviseMonitor, req.getRequestPayload())) {
// afterPaymentsReviseMonitor = null;
// finishPart();
//}
} catch (StageException e) {
//already logged
}
@ -195,11 +197,13 @@ public class IntermediateMkrSession extends AbstractSession implements Initializ
paymentResult = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstructionDeals);
}
if (paymentResult.getStageResult().getPaymentInstructions().isEmpty()) {
log.info("no payment instructions were created, sending SDF56");
sendSdf56();
log.info("no payment instructions were created");
finishPart();
} else {
log.info("created {} PaymentInstructions, waiting for SDF04", paymentResult.getStageResult().getPaymentInstructions().size());
this.afterPaymentsSdf4Monitor = SessionMonitorFactory.paymentsWereCreated(section());
this.afterPaymentsSdf4Monitor = SessionMonitorFactory.waitStep7(section());
log.info("created {} PaymentInstructions, waiting for {}",
paymentResult.getStageResult().getPaymentInstructions().size(),
this.afterPaymentsSdf4Monitor.allConditions());
}
} catch (StageException e) {
//already logged

View file

@ -127,15 +127,17 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali
if (firstReviseMonitor != null && isMonitorPassed(firstReviseMonitor, req.getRequestPayload())) {
firstReviseMonitor = null;
firstPart();
return;
}
if (afterPaymentsSdf4And13Monitor != null && isMonitorPassed(afterPaymentsSdf4And13Monitor, req.getRequestPayload())) {
afterPaymentsSdf4And13Monitor = null;
sendSdf56();
}
if (afterPaymentsReviseMonitor != null && isMonitorPassed(afterPaymentsReviseMonitor, req.getRequestPayload())) {
afterPaymentsReviseMonitor = null;
finishPart();
return;
}
//if (afterPaymentsReviseMonitor != null && isMonitorPassed(afterPaymentsReviseMonitor, req.getRequestPayload())) {
// afterPaymentsReviseMonitor = null;
// finishPart();
//}
} catch (StageException e) {
//already logged
}
@ -187,11 +189,13 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali
paymentResult = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstruction);
}
if (paymentResult.getStageResult().isEmpty()) {
log.info("no payment instructions were created, sending SDF56");
sendSdf56();
log.info("no payment instructions were created");
finishPart();
} else {
log.info("created {} PaymentInstructions, waiting for SDF04/SDF13", paymentResult.getStageResult().size());
this.afterPaymentsSdf4And13Monitor = SessionMonitorFactory.paymentsWereCreated(section());
this.afterPaymentsSdf4And13Monitor = SessionMonitorFactory.waitStep7(section());
log.info("created {} PaymentInstructions, waiting for {}",
paymentResult.getStageResult().size(),
this.afterPaymentsSdf4And13Monitor.allConditions());
}
} catch (StageException e) {
//already logged

View file

@ -22,6 +22,7 @@ import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
import ru.spcex.clearing.service.SpecifUtil;
import ru.spcex.clearing.service.builder.PaymentInstructionBuilder;
import ru.spcex.clearing.service.builder.PaymentInstructionBuilderFinalMkrDeals;
import ru.spcex.clearing.service.registry.AssetTBFProcessing;
import ru.spcex.clearing.service.registry.RegistryManager;
import ru.spcex.clearing.session.stage.ISessionStage;
import ru.spcex.clearing.session.stage.StageResult;
@ -62,12 +63,14 @@ public class FormingPaymentInstructionReturnMkr implements ISessionStage {
private Imdg<Company> companyImdg;
private Imdg<SDf03> sDf03Imdg;
private Imdg<SDf12> sDf12Imdg;
private final AssetTBFProcessing assets;
private KafkaSender kafkaSender;
private final RegistryManager rgsMng;
@Autowired
public FormingPaymentInstructionReturnMkr(ImdgProvider imdgProvider,
KafkaSender kafkaSender, RegistryManager rgsMng) {
AssetTBFProcessing assets, KafkaSender kafkaSender, RegistryManager rgsMng) {
this.assets = assets;
this.kafkaSender = kafkaSender;
this.imdgProvider = imdgProvider;
this.idGenerator = imdgProvider.getImdgIdGenerator();
@ -196,6 +199,9 @@ public class FormingPaymentInstructionReturnMkr implements ISessionStage {
amt.setSettledDebit(safeBD(amt.getSettledDebit()).add(safeBD(lm_t.getBalance())));
setUpdatedStoreInImdg(amt, now);
});
if (amfO.isPresent() && ambO.isPresent() && payerAmtO.isPresent()) {
assets.process(ambO.get(), payerAmtO.get(), amfO.get(), lm_t.getBalance());
}
}
Pair<PaymentInstruction, PaymentInstruction> pmts = PaymentInstructionBuilderFinalMkrDeals.builder(imdgProvider)
.lm_t(lm_t)

View file

@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
import ru.clearing.classes.statics.data.registry.Registry;
import ru.spcex.clearing.error.ClearingError;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.service.registry.AssetTBFProcessing;
import ru.spcex.clearing.service.registry.RegistryManager;
import ru.spcex.clearing.session.stage.ISessionStage;
import ru.spcex.clearing.session.stage.StageResult;
@ -27,6 +28,7 @@ import ru.spcex.platform.utils.enumeration.IEnumKey;
import ru.spcex.platform.utils.enumeration.IMessageResolver;
import ru.spcex.platform.utils.enumeration.SimpleMessageResolver;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDate;
import java.util.*;
@ -45,11 +47,13 @@ public class InspectionObligations implements ISessionStage {
private final IMessageResolver msgResolver = new SimpleMessageResolver();
private SessionType sessionType;
private Section section;
private final AssetTBFProcessing assets;
@Autowired
public InspectionObligations(ImdgProvider imdgProvider, RegistryManager registryManager) {
public InspectionObligations(ImdgProvider imdgProvider, RegistryManager registryManager, AssetTBFProcessing assets) {
this.registryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
this.registryManager = registryManager;
this.assets = assets;
}
public void setSessionType(SessionType sessionType) {
@ -150,9 +154,7 @@ public class InspectionObligations implements ISessionStage {
Optional<Registry> registryUnitF = registryManager.findRegByUnit(registry.getCompanyId(), registry.getAccountId(), registry.getContract(), blockedRegistry, RegistryUnit.F);
Optional<Registry> registryUnitT = registryManager.findRegByUnit(registry.getCompanyId(), registry.getAccountId(), registry.getContract(), blockedRegistry, RegistryUnit.T);
if (registryUnitF.isPresent() && registryUnitT.isPresent()) {
registryUnitF.get().setBalance(registryUnitT.get().getBalance().subtract(blockedRegistry.getBalance()));
registryUnitF.get().setUpdated(now);
registryImdg.update(registryUnitF.get());
assets.process(blockedRegistry, registryUnitT.get(), registryUnitF.get(), BigDecimal.ZERO);
}
}
}

View file

@ -21,6 +21,27 @@ public class SessionMonitorFactory {
}
}
public static SessionMonitor waitStep7(Section section) {
switch (section) {
case MKR -> {
return SessionMonitor.create()
.addCondition(new SdfCondition(SdfTable.SDF_04))
.addCondition(new SdfCondition(SdfTable.SDF_01))
.addCondition(new SdfCondition(SdfTable.SDF_57));
}
case FOND -> {
return SessionMonitor.create()
.addCondition(new SdfCondition(SdfTable.SDF_04))
.addCondition(new SdfCondition(SdfTable.SDF_13))
.addCondition(new SdfCondition(SdfTable.SDF_08))
.addCondition(new SdfCondition(SdfTable.SDF_21))
.addCondition(new SdfCondition(SdfTable.SDF_01))
.addCondition(new SdfCondition(SdfTable.SDF_57));
}
default -> throw new IllegalStateException("unknown wait conditions for section " + section);
}
}
public static SessionMonitor waitRevise() {
return SessionMonitor.create()
.addCondition(new SdfCondition(SdfTable.SDF_01))

View file

@ -11,14 +11,14 @@ public enum SdfGroup {
Sdf01And57(SdfTable.SDF_01, SdfTable.SDF_57),
Sdf08And21(SdfTable.SDF_08, SdfTable.SDF_21),
//------ session groups ------
session_Triple(SdfTable.SDF_04, SdfTable.SDF_01, SdfTable.SDF_57),
session_Six(SdfTable.SDF_04,
SdfTable.SDF_13,
SdfTable.SDF_08,
SdfTable.SDF_21,
SdfTable.SDF_01,
SdfTable.SDF_57),
//------ session groups ------ (4), (1 57), (13), (8 21)
//session_Triple(SdfTable.SDF_04, SdfTable.SDF_01, SdfTable.SDF_57),
//session_Six(SdfTable.SDF_04,
// SdfTable.SDF_13,
// SdfTable.SDF_08,
// SdfTable.SDF_21,
// SdfTable.SDF_01,
// SdfTable.SDF_57),
;
private final Collection<SdfTable> group;

View file

@ -4,19 +4,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import ru.clearing.classes.statics.data.misc.Session;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.session.stage.TaskType;
import ru.spcex.platform.classes.base.SpcexObjectBase;
import ru.spcex.platform.enumeration.SdfTable;
import ru.spcex.platform.enumeration.Section;
import ru.spcex.platform.enumeration.SessionStatus;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import ru.spcex.platform.utils.enumeration.IEnumKey;
import ru.spcex.platform.utils.text.TextUtil;
import java.util.Collection;
import java.util.Optional;
@Component
@ -29,33 +20,33 @@ public class SdfGroupManager {
}
public Optional<SdfGroup> getGroup(SdfTable table) {
ImdgPredicateBuilder pb = sessImdg.predicateBuilder();
ImdgPredicate prdct = pb.and(
pb.equals("workflowStatus", SessionStatus.ACTV.getKey()),
pb.equals("sessionStatus", TaskType.FormingPaymentInstruction.getKey())
);
Collection<Session> sessions = sessImdg.getCollectionObjectsByPredicate(prdct);
if (sessions.size() > 1) {
throw new IllegalStateException("more than one active session found by predicate "
+ prdct
+ " ids " + sessions.stream()
.map(SpcexObjectBase::getId)
.map(Object::toString)
.collect(TextUtil.join));
}
if (sessions.size() == 0) {
//ImdgPredicateBuilder pb = sessImdg.predicateBuilder();
//ImdgPredicate prdct = pb.and(
// pb.equals("workflowStatus", SessionStatus.ACTV.getKey()),
// pb.equals("sessionStatus", TaskType.FormingPaymentInstruction.getKey())
//);
//Collection<Session> sessions = sessImdg.getCollectionObjectsByPredicate(prdct);
//if (sessions.size() > 1) {
// throw new IllegalStateException("more than one active session found by predicate "
// + prdct
// + " ids " + sessions.stream()
// .map(SpcexObjectBase::getId)
// .map(Object::toString)
// .collect(TextUtil.join));
//}
//if (sessions.size() == 0) {
return SdfGroup.groupByTable(table);
} else {
Session session = sessions.iterator().next();
Section section = IEnumKey.getEnumByKey(Section.class, session.getSection());
if (section == null) {
throw new IllegalStateException("couldn't determine section of session.id=" + session.getId());
}
if (Section.MKR.equals(section)) {
return Optional.of(SdfGroup.session_Triple);
} else if (Section.FOND.equals(section)) {
return Optional.of(SdfGroup.session_Six);
} else throw new IllegalStateException("unknown section '" + section + "' of session.id=" + session.getId());
}
//} else {
// Session session = sessions.iterator().next();
// Section section = IEnumKey.getEnumByKey(Section.class, session.getSection());
// if (section == null) {
// throw new IllegalStateException("couldn't determine section of session.id=" + session.getId());
// }
// if (Section.MKR.equals(section)) {
// return Optional.of(SdfGroup.session_Triple);
// } else if (Section.FOND.equals(section)) {
// return Optional.of(SdfGroup.session_Six);
// } else throw new IllegalStateException("unknown section '" + section + "' of session.id=" + session.getId());
//}
}
}

View file

@ -123,15 +123,18 @@ public class StatementServiceV2 {
processSdf08And21(find(SdfTable.SDF_08, fullGroup), find(SdfTable.SDF_21, fullGroup));
} else if (sdfGroup.get() == SdfGroup.Sdf01And57) {
processSdf01And57(find(SdfTable.SDF_01, fullGroup), find(SdfTable.SDF_57, fullGroup));
} else if (sdfGroup.get() == SdfGroup.session_Triple) {
processSdf04(find(SdfTable.SDF_04, fullGroup));
processSdf01And57(find(SdfTable.SDF_01, fullGroup), find(SdfTable.SDF_57, fullGroup));
} else if (sdfGroup.get() == SdfGroup.session_Six) {
processSdf04(find(SdfTable.SDF_04, fullGroup));
processSdf13(find(SdfTable.SDF_13, fullGroup));
processSdf08And21(find(SdfTable.SDF_08, fullGroup), find(SdfTable.SDF_21, fullGroup));
processSdf01And57(find(SdfTable.SDF_01, fullGroup), find(SdfTable.SDF_57, fullGroup));
} else {
}
//else if (sdfGroup.get() == SdfGroup.session_Triple) {
// processSdf04(find(SdfTable.SDF_04, fullGroup));
// processSdf01And57(find(SdfTable.SDF_01, fullGroup), find(SdfTable.SDF_57, fullGroup));
//}
//else if (sdfGroup.get() == SdfGroup.session_Six) {
// processSdf04(find(SdfTable.SDF_04, fullGroup));
// processSdf13(find(SdfTable.SDF_13, fullGroup));
// processSdf08And21(find(SdfTable.SDF_08, fullGroup), find(SdfTable.SDF_21, fullGroup));
// processSdf01And57(find(SdfTable.SDF_01, fullGroup), find(SdfTable.SDF_57, fullGroup));
//}
else {
throw new IllegalStateException("not implemented");
}
}
@ -160,7 +163,9 @@ public class StatementServiceV2 {
processSdf21(sdf21);
removeFirstWithSameTableAndGroupId(sdf21);
//fixme ревизия для бумаг reviser.doRevise(pair.getFirst().getGroupId());
log.info("pair sdf08/sdf21 processed successfully");
SessionContinueEvent continueSessionBn = new SessionContinueEvent(SdfTable.SDF_08, SdfTable.SDF_21);
kafkaSender.sendRequestToQueue(Consts.CONTINUE_SESSION_BN_FIRST_PART, continueSessionBn);
log.info("pair sdf08/sdf21 processed successfully");
}
/**