From e22e4222141fa0d15d0aafe85bc538feab338223 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Mon, 16 Jan 2023 11:29:05 +0300 Subject: [PATCH] =?UTF-8?q?balance-service=20=D0=BF=D0=BE=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=B8=D0=BB=20=D0=B2=D0=B0=D0=BB=D0=B8=D0=B4=D0=B0?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D1=8B=20=D1=81=20null=20BigInt.=202.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../validation/Sdf16ValidationRule.java | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/validation/Sdf16ValidationRule.java b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/validation/Sdf16ValidationRule.java index b56e58f17..ce0616a82 100644 --- a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/validation/Sdf16ValidationRule.java +++ b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/validation/Sdf16ValidationRule.java @@ -21,19 +21,23 @@ public enum Sdf16ValidationRule implements IValidationRule companySymbolsImdg = context.obtainMap(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class); Imdg companyImdg = context.obtainMap(IMDGDistributedNames.Map_Company, Company.class); - if (sdf16.getInn() == null) { - return of(BalanceError.CompanyNotFound, "empty inn"); + String sql = ""; + if (sdf16.getInn() != null) { + 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) { - return of(BalanceError.CompanyNotFound, "empty bic"); + if (sdf16.getBic() != null) { + if (!sql.isEmpty()) sql += " or "; + String bicStr = sdf16.getBic().setScale(0, RoundingMode.DOWN).toString(); + sql += String.format("(companySymbolValue = '%s' and companySymbol = '%s') ", + bicStr, CompanySymbol.BIC.getKey()); + } + if (sql.isEmpty()) { + return of(BalanceError.CompanyNotFound, "inn and bic is empty"); } - String innStr = sdf16.getInn().setScale(0, RoundingMode.DOWN).toString(); - String bicStr = sdf16.getBic().setScale(0, RoundingMode.DOWN).toString(); - CompanySymbols companySymbols = companySymbolsImdg.getSingleObjectBySQL( - String.format("(companySymbolValue = '%s' and companySymbol = '%s') " + - "or (companySymbolValue = '%s' and companySymbol = '%s')", - innStr, CompanySymbol.INN.getKey(), bicStr, CompanySymbol.BIC.getKey())); Company company = null; + CompanySymbols companySymbols = companySymbolsImdg.getSingleObjectBySQL(sql); if (companySymbols != null) { company = companyImdg.getSingleObjectByID(companySymbols.getCompanyId()); }