SDF06 поиск компании по deal

This commit is contained in:
ialbert 2023-08-08 12:13:41 +03:00
parent 7279fdf743
commit 8ecb0b7c9e

View file

@ -4,14 +4,12 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.clearing.classes.statics.data.account.Account;
import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.statics.data.company.CompanySymbols;
import ru.clearing.classes.statics.data.misc.Session;
import ru.clearing.classes.statics.data.registry.Registry;
import ru.clearing.classes.statics.data.sdf.SDf06;
import ru.spcex.clearing.error.ClearingError;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.platform.enumeration.AccountType;
import ru.spcex.platform.enumeration.CompanySymbol;
import ru.spcex.platform.enumeration.RegistryTradingParams;
import ru.spcex.platform.enumeration.WorkflowStatus;
import ru.spcex.platform.imdg.api.Imdg;
@ -35,27 +33,13 @@ public enum Sdf06NewValidationRule implements IValidationRule<ImdgValidationCont
@Override
public Optional<EnumMessage> validate(ImdgValidationContext<SDf06> context) {
SDf06 sdf06 = context.getValidatedObject();
Imdg<CompanySymbols> companySymbolsImdg = context.obtainMap(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
Imdg<Company> companyImdg = context.obtainMap(IMDGDistributedNames.Map_Company, Company.class);
CompanySymbols companySymbols = null;
if (sdf06.getInn() != null) { //TextUtil.isEmpty
companySymbols = companySymbolsImdg.getFirstObjectByFieldValues(Map.of(
"companySymbol", CompanySymbol.INN.getKey(),
"companySymbolValue", sdf06.getInn()));
} else if (sdf06.getBic() != null) {
companySymbols = companySymbolsImdg.getFirstObjectByFieldValues(Map.of(
"companySymbol", CompanySymbol.BIC.getKey(),
"companySymbolValue", sdf06.getBic()));
if (TextUtil.isEmpty(sdf06.getDeal())) {
return of(ClearingError.CompanyNotFoundB, sdf06.getDeal());
}
if (companySymbols == null) {
return of(ClearingError.CompanyNotFoundB, "inn=" + sdf06.getInn() + "/bic=" + sdf06.getBic());
}
Company company = companyImdg.getSingleObjectByID(companySymbols.getCompanyId());
Company company = companyImdg.getFirstObjectBySQL("tradingCode = '" + sdf06.getDeal() + "'");
if (company == null) {
return of(ClearingError.CompanyNotFoundB, "inn=" + sdf06.getInn()
+ "/bic=" + sdf06.getBic()
+ "/companyId=" + companySymbols.getCompanyId());
return of(ClearingError.CompanyNotFoundB, sdf06.getDeal());
}
context.storeObject(ValidationStored.Sdf06Company, company);
return empty();