balance-service поправил валидаторы с null BigInt. 2.

This commit is contained in:
AKurakin 2023-01-16 11:29:05 +03:00
parent 9ae5936a01
commit e22e422214

View file

@ -21,19 +21,23 @@ public enum Sdf16ValidationRule implements IValidationRule<ImdgValidationContext
SDf16 sdf16 = context.getValidatedObject(); SDf16 sdf16 = context.getValidatedObject();
Imdg<CompanySymbols> companySymbolsImdg = context.obtainMap(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class); Imdg<CompanySymbols> companySymbolsImdg = context.obtainMap(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
Imdg<Company> companyImdg = context.obtainMap(IMDGDistributedNames.Map_Company, Company.class); Imdg<Company> companyImdg = context.obtainMap(IMDGDistributedNames.Map_Company, Company.class);
if (sdf16.getInn() == null) { String sql = "";
return of(BalanceError.CompanyNotFound, "empty inn"); if (sdf16.getInn() != null) {
}
if (sdf16.getBic() == null) {
return of(BalanceError.CompanyNotFound, "empty bic");
}
String innStr = sdf16.getInn().setScale(0, RoundingMode.DOWN).toString(); String innStr = sdf16.getInn().setScale(0, RoundingMode.DOWN).toString();
sql = String.format("(companySymbolValue = '%s' and companySymbol = '%s') ",
innStr, CompanySymbol.INN.getKey());
}
if (sdf16.getBic() != null) {
if (!sql.isEmpty()) sql += " or ";
String bicStr = sdf16.getBic().setScale(0, RoundingMode.DOWN).toString(); String bicStr = sdf16.getBic().setScale(0, RoundingMode.DOWN).toString();
CompanySymbols companySymbols = companySymbolsImdg.getSingleObjectBySQL( sql += String.format("(companySymbolValue = '%s' and companySymbol = '%s') ",
String.format("(companySymbolValue = '%s' and companySymbol = '%s') " + bicStr, CompanySymbol.BIC.getKey());
"or (companySymbolValue = '%s' and companySymbol = '%s')", }
innStr, CompanySymbol.INN.getKey(), bicStr, CompanySymbol.BIC.getKey())); if (sql.isEmpty()) {
return of(BalanceError.CompanyNotFound, "inn and bic is empty");
}
Company company = null; Company company = null;
CompanySymbols companySymbols = companySymbolsImdg.getSingleObjectBySQL(sql);
if (companySymbols != null) { if (companySymbols != null) {
company = companyImdg.getSingleObjectByID(companySymbols.getCompanyId()); company = companyImdg.getSingleObjectByID(companySymbols.getCompanyId());
} }