http://jira.mfd.msk:8088/browse/CLS-372 SDF57 создается DM*T по любым specif №.*
This commit is contained in:
parent
91f1c9a5df
commit
7b6c6a4ad0
1 changed files with 5 additions and 8 deletions
|
|
@ -67,7 +67,7 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
|
||||||
private final Imdg<Security> securityImdg;
|
private final Imdg<Security> securityImdg;
|
||||||
private final Imdg<Currency> currencyImdg;
|
private final Imdg<Currency> currencyImdg;
|
||||||
private final IMessageResolver messageResolver;
|
private final IMessageResolver messageResolver;
|
||||||
private final Pattern pattern = Pattern.compile("№\\w*/\\d{6}/\\d*/\\d*");
|
private final Pattern pattern = Pattern.compile("№.*");
|
||||||
|
|
||||||
public Sdf57Executor(@Qualifier("sdf57Validator") Function<SDf57, IValidator> sDf57Validator,
|
public Sdf57Executor(@Qualifier("sdf57Validator") Function<SDf57, IValidator> sDf57Validator,
|
||||||
LoggingService errorLogger,
|
LoggingService errorLogger,
|
||||||
|
|
@ -164,7 +164,7 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
|
||||||
return;
|
return;
|
||||||
Optional<EnumMessage> err = validateActiveness(company, account);
|
Optional<EnumMessage> err = validateActiveness(company, account);
|
||||||
if (err.isEmpty()) {
|
if (err.isEmpty()) {
|
||||||
Consumer<Registry> update = rgs -> {
|
findRegByDesignation(stmt, RegistryDesignation.A).ifPresentOrElse(rgs -> {
|
||||||
updateReg(stmt, rgs);
|
updateReg(stmt, rgs);
|
||||||
//добавил создание если не найдены
|
//добавил создание если не найдены
|
||||||
Registry registryUnitB = findRegByUnit(stmt, rgs, RegistryUnit.B).orElse(copyRegB(rgs));
|
Registry registryUnitB = findRegByUnit(stmt, rgs, RegistryUnit.B).orElse(copyRegB(rgs));
|
||||||
|
|
@ -182,18 +182,15 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
|
||||||
registryImdg.insert(registryUnitB);
|
registryImdg.insert(registryUnitB);
|
||||||
}
|
}
|
||||||
registryImdg.update(rgs);
|
registryImdg.update(rgs);
|
||||||
};
|
}, () -> {
|
||||||
Consumer<RegistryDesignation> createRegA = (dsgn) -> {
|
Registry registry = createRegistryByStatement(stmt, company, account, RegistryDesignation.A);
|
||||||
Registry registry = createRegistryByStatement(stmt, company, account, dsgn);
|
|
||||||
Registry registryB = copyRegB(registry);
|
Registry registryB = copyRegB(registry);
|
||||||
Registry registryF = copyRegF(registry, registryB.getBalance());
|
Registry registryF = copyRegF(registry, registryB.getBalance());
|
||||||
|
|
||||||
registryImdg.insert(registry);
|
registryImdg.insert(registry);
|
||||||
registryImdg.insert(registryF);
|
registryImdg.insert(registryF);
|
||||||
registryImdg.insert(registryB);
|
registryImdg.insert(registryB);
|
||||||
};
|
});
|
||||||
|
|
||||||
findRegByDesignation(stmt, RegistryDesignation.A).ifPresentOrElse(update, () -> createRegA.accept(RegistryDesignation.A));
|
|
||||||
InOutDirection direction = IEnumKey.getEnumByKey(InOutDirection.class, stmt.getInOutDirection());
|
InOutDirection direction = IEnumKey.getEnumByKey(InOutDirection.class, stmt.getInOutDirection());
|
||||||
if (!StringUtils.isEmpty(sdf57.getSpecif()) && pattern.matcher(sdf57.getSpecif()).find() && InOutDirection.in.equals(direction)) {
|
if (!StringUtils.isEmpty(sdf57.getSpecif()) && pattern.matcher(sdf57.getSpecif()).find() && InOutDirection.in.equals(direction)) {
|
||||||
//todo доделать 11. Идентификация средств УК на клиринговом счете
|
//todo доделать 11. Идентификация средств УК на клиринговом счете
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue