This commit is contained in:
parent
fd900e27b6
commit
da8adbd052
1 changed files with 19 additions and 3 deletions
|
|
@ -139,19 +139,20 @@ public class Sdf08Executor extends AbstractExecutor<SDf08> {
|
||||||
Company company = searchCompany(sdf08.getDepoCode()); // validator.getStored(ValidationStored.Sdf08Company);
|
Company company = searchCompany(sdf08.getDepoCode()); // validator.getStored(ValidationStored.Sdf08Company);
|
||||||
Long companyId = company == null ? null : company.getId(); // account == null сегда, т.к. кейс AccountNotPresent
|
Long companyId = company == null ? null : company.getId(); // account == null сегда, т.к. кейс AccountNotPresent
|
||||||
if (companyId == null) {
|
if (companyId == null) {
|
||||||
|
SDf09 errSdf = createErrorSdf09(sdf08, generationIdForGroup, new EnumMessage(ClearingError.AccountNotFoundB, sdf08.getDepoCode()));
|
||||||
|
sdf09Imdg.insert(errSdf);
|
||||||
log.warn("account {} for sdf08.id={} not found. Can not send request for creation, cause company not found too", sdf08.getDepoCode(), sdf08.getId());
|
log.warn("account {} for sdf08.id={} not found. Can not send request for creation, cause company not found too", sdf08.getDepoCode(), sdf08.getId());
|
||||||
} else {
|
} else {
|
||||||
result.getAccountRequests().add(createAccountRequestPart(sdf08.getId(), sdf08.getDepoCode(), companyId));
|
result.getAccountRequests().add(createAccountRequestPart(sdf08.getId(), sdf08.getDepoCode(), companyId));
|
||||||
log.info("account {} for sdf08.id={} not found - send request for creation", sdf08.getDepoCode(), sdf08.getId());
|
log.info("account {} for sdf08.id={} not found - send request for creation", sdf08.getDepoCode(), sdf08.getId());
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
} else if (ClearingErrorInternal.AccountNotPresent.equals(error.map(EnumMessage::getSubject).orElse(null))) {
|
|
||||||
log.error("fatal error: resumed processing after generating accounts, but no account found for sdf01.id={}", sdf08.getId());
|
|
||||||
}
|
}
|
||||||
if (error.isPresent() && !ClearingError.SecurityNotFound.equals(error.get().getSubject())) {
|
if (error.isPresent() && !ClearingError.SecurityNotFound.equals(error.get().getSubject())) {
|
||||||
log.error("sdf01.id={} error: {}", sdf08.getId(), messageResolver.resolve(error.get()));
|
log.error("sdf01.id={} error: {}", sdf08.getId(), messageResolver.resolve(error.get()));
|
||||||
//fixme инициировать = команда для другого сервиса? sdf02Imdg.insert(createErrorSdf02(sdf01, error.get(), generationIdForGroup));
|
//fixme инициировать = команда для другого сервиса? sdf02Imdg.insert(createErrorSdf02(sdf01, error.get(), generationIdForGroup));
|
||||||
// sdf02Imdg.insert(createErrorSdf02(sdf01, error.get(), generationIdForGroup));
|
SDf09 errSdf = createErrorSdf09(sdf08, generationIdForGroup, error.get());
|
||||||
|
sdf09Imdg.insert(errSdf);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
stmt = createSdf08Statement(sdf08, account);
|
stmt = createSdf08Statement(sdf08, account);
|
||||||
|
|
@ -198,6 +199,8 @@ public class Sdf08Executor extends AbstractExecutor<SDf08> {
|
||||||
} else {
|
} else {
|
||||||
stmt.setErrorCodeId(error.get().getSubject().getId()); // fixme ErrorText insert
|
stmt.setErrorCodeId(error.get().getSubject().getId()); // fixme ErrorText insert
|
||||||
stmt.setOperationStatus(OperationStatus.Rejected.getKey());
|
stmt.setOperationStatus(OperationStatus.Rejected.getKey());
|
||||||
|
sdf09New.setResult("");
|
||||||
|
sdf09Imdg.update(sdf09New);
|
||||||
statementImdg.update(stmt);
|
statementImdg.update(stmt);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
@ -302,6 +305,19 @@ public class Sdf08Executor extends AbstractExecutor<SDf08> {
|
||||||
return sDf09;
|
return sDf09;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private SDf09 createErrorSdf09(SDf08 sdf08, Long generationIdForGroup, EnumMessage err) {
|
||||||
|
SDf09 sDf09 = new SDf09();
|
||||||
|
sDf09.setInDocument(sdf08.getOutDocument());
|
||||||
|
sDf09.setDepoCode(sdf08.getDepoCode());
|
||||||
|
sDf09.setQuantity(sdf08.getQuantity());
|
||||||
|
sDf09.setSecurityCode(sdf08.getSecurityCode());
|
||||||
|
sDf09.setClientName(sdf08.getClientName());
|
||||||
|
sDf09.setGenerationId(generationIdForGroup);
|
||||||
|
sDf09.setGenerationTime(Instant.now());
|
||||||
|
sDf09.setResult("");
|
||||||
|
return sDf09;
|
||||||
|
}
|
||||||
|
|
||||||
private Registry createRegistryByStatement(Statement statement, Company company, Account account) {
|
private Registry createRegistryByStatement(Statement statement, Company company, Account account) {
|
||||||
Registry rgs = new Registry();
|
Registry rgs = new Registry();
|
||||||
rgs.setCompanyId(statement.getAddresseeId());
|
rgs.setCompanyId(statement.getAddresseeId());
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue