From f9044dcc1ccb0ae83797c77c8fa1e902b54ab5e7 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Wed, 24 May 2023 15:54:06 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-290 --- .../ru/spcex/clearing/config/ValidationConfig.java | 1 + .../java/ru/spcex/clearing/error/ClearingError.java | 3 ++- .../service/validation/Sdf01ValidationRule.java | 6 +++--- .../service/validation/Sdf57ValidationRule.java | 12 ++++++------ .../session/stage/PrimaryAuctionBnSession.java | 3 +++ 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/ValidationConfig.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/ValidationConfig.java index 0e7dfc67d..0cb4c69b7 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/ValidationConfig.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/ValidationConfig.java @@ -137,6 +137,7 @@ public class ValidationConfig { Sdf57ValidationRule.CompanyDebPresent, Sdf57ValidationRule.CompanyCredPresent, Sdf57ValidationRule.AccountDebPresent, + Sdf57ValidationRule.AccountCredPresent, Sdf57ValidationRule.CurrencyCode ); }; diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/error/ClearingError.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/error/ClearingError.java index 6cc1b6d75..578fd53ac 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/error/ClearingError.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/error/ClearingError.java @@ -4,12 +4,13 @@ import ru.spcex.platform.utils.enumeration.IErrorEnumId; public enum ClearingError implements IErrorEnumId { GeneralError(5400L), + IncorrectValue(5404L), RecordNotFound(5406L), CompanyNotFound(5410L), CompanyNotActive(5411L), CompanyCreditCheck(5412L), CompanyDebitCheck(5413L), - CurrentDateOnly(5214L), + AccountNotFound(5414L), AccountNotActive(5415L), SecurityNotFound(5416L), AccountNotPresent(5417L), diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/Sdf01ValidationRule.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/Sdf01ValidationRule.java index 0dee8747c..9fbaa9e42 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/Sdf01ValidationRule.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/Sdf01ValidationRule.java @@ -66,16 +66,16 @@ public enum Sdf01ValidationRule implements IValidationRule validate(ImdgValidationContext context) { SDf01 sdf01 = context.getValidatedObject(); if (sdf01.getDat() == null) { - return of(ClearingError.CurrentDateOnly); + return of(ClearingError.IncorrectValue); } LocalDate date; try { date = LocalDate.parse(sdf01.getDat(), datFormatter); } catch (DateTimeParseException e) { - return of(ClearingError.CurrentDateOnly); + return of(ClearingError.IncorrectValue); } if (!LocalDate.now().equals(date)) { - return of(ClearingError.CurrentDateOnly); + return of(ClearingError.IncorrectValue); } return empty(); } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/Sdf57ValidationRule.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/Sdf57ValidationRule.java index 464062c48..b39c990bc 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/Sdf57ValidationRule.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/Sdf57ValidationRule.java @@ -34,12 +34,12 @@ public enum Sdf57ValidationRule implements IValidationRule validate(ImdgValidationContext context) { SDf57 sdf57 = context.getValidatedObject(); if (TextUtil.isEmpty(sdf57.getDeal_cred())) { - return of(ClearingError.CompanyNotFound, sdf57.getDeal_deb()); + return of(ClearingError.CompanyNotFound, sdf57.getDeal_cred()); } Imdg companyImdg = context.obtainMap(IMDGDistributedNames.Map_Company, Company.class); Company found = companyImdg.getSingleObjectBySQL("tradingCode = '" + sdf57.getDeal_cred() + "'"); if (found == null) { - return of(ClearingError.CompanyNotFound, sdf57.getDeal_deb()); + return of(ClearingError.CompanyNotFound, sdf57.getDeal_cred()); } context.storeObject(ValidationStored.Sdf57CompanyCred, found); return empty(); @@ -49,12 +49,12 @@ public enum Sdf57ValidationRule implements IValidationRule validate(ImdgValidationContext context) { SDf57 sdf57 = context.getValidatedObject(); if (TextUtil.isEmpty(sdf57.getC_acc_deb())) { - return of(ClearingError.AccountNotPresent, sdf57.getDeal_deb()); + return of(ClearingError.AccountNotPresent, sdf57.getC_acc_deb()); } Imdg accountImdg = context.obtainMap(IMDGDistributedNames.Map_Account, Account.class); Account found = accountImdg.getSingleObjectBySQL("account = '" + sdf57.getC_acc_deb() + "'"); if (found == null) { - return of(ClearingError.AccountNotPresent, sdf57.getDeal_deb()); + return of(ClearingError.AccountNotPresent, sdf57.getC_acc_deb()); } context.storeObject(ValidationStored.Sdf57AccountDeb, found); return empty(); @@ -65,12 +65,12 @@ public enum Sdf57ValidationRule implements IValidationRule validate(ImdgValidationContext context) { SDf57 sdf57 = context.getValidatedObject(); if (TextUtil.isEmpty(sdf57.getC_acc_cred())) { - return of(ClearingError.AccountNotPresent, sdf57.getDeal_deb()); + return of(ClearingError.AccountNotPresent, sdf57.getC_acc_cred()); } Imdg accountImdg = context.obtainMap(IMDGDistributedNames.Map_Account, Account.class); Account found = accountImdg.getSingleObjectBySQL("account = '" + sdf57.getC_acc_cred() + "'"); if (found == null) { - return of(ClearingError.AccountNotPresent, sdf57.getDeal_deb()); + return of(ClearingError.AccountNotPresent, sdf57.getC_acc_cred()); } context.storeObject(ValidationStored.Sdf57AccountCred, found); return empty(); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionBnSession.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionBnSession.java index e3d4c4312..7beadc73e 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionBnSession.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionBnSession.java @@ -21,6 +21,7 @@ import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; import ru.spcex.platform.utils.enumeration.IMessageResolver; +import java.time.LocalDate; import java.util.List; @Service @@ -153,6 +154,8 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali newSession.setSection(Section.FOND.getKey()); newSession.setSessionType(SessionType.IPOB.getKey()); newSession.setSessionStatus(SessionStatus.CLRN.getKey()); + newSession.setClearingDate(LocalDate.now()); + //todo companyId/securityId/userId передается из сообщения очереди sessionImdg.insert(newSession); currSession = newSession;