This commit is contained in:
parent
f02c2eb691
commit
478a1d92db
1 changed files with 20 additions and 10 deletions
|
|
@ -1,5 +1,11 @@
|
|||
package ru.spcex.clearing.account.config.validation;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Function;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import ru.clearing.classes.statics.data.account.Account;
|
||||
|
|
@ -30,13 +36,6 @@ import ru.spcex.platform.utils.validation.IValidationRule;
|
|||
import ru.spcex.platform.utils.validation.IValidator;
|
||||
import ru.spcex.platform.utils.validation.ValidatorImpl;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Function;
|
||||
|
||||
@Configuration
|
||||
public class TradingClearingRegistryValidationConfig {
|
||||
|
||||
|
|
@ -162,9 +161,20 @@ public class TradingClearingRegistryValidationConfig {
|
|||
return empty();
|
||||
} else {
|
||||
Imdg<Account> accountImdg = context.obtainMap(IMDGDistributedNames.Map_Account, Account.class);
|
||||
Account account = accountImdg.getSingleObjectByID(validatedObject.getMoneyAccountId());
|
||||
if (account == null && validatedObject.getDepoAccountId() != null) account = accountImdg.getSingleObjectByID(validatedObject.getDepoAccountId());
|
||||
return of(AccountError.AccountForTradingClearingRegistryAlreadyUsed, account.getAccount());
|
||||
Account dubAcc = null;
|
||||
for (TradingClearingRegistry duplicate : existTCR) {
|
||||
if (Objects.equals(duplicate.getMoneyAccountId(), validatedObject.getMoneyAccountId())) {
|
||||
dubAcc = accountImdg.getSingleObjectByID(validatedObject.getMoneyAccountId());
|
||||
}
|
||||
if (Objects.equals(duplicate.getDepoAccountId(), validatedObject.getDepoAccountId())) {
|
||||
dubAcc = accountImdg.getSingleObjectByID(validatedObject.getDepoAccountId());
|
||||
}
|
||||
if (dubAcc != null) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return of(AccountError.AccountForTradingClearingRegistryAlreadyUsed,
|
||||
dubAcc != null ? dubAcc.getAccount() : "null");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue