From 103a60f5263492eb639a85ad57a3c308d6405f10 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Fri, 24 Apr 2026 10:44:13 +0300 Subject: [PATCH 1/6] http://jira.mfd.msk:8088/browse/CLS-970 // http://jira.mfd.msk:8088/browse/CLS-969 --- .../dflt/management/listener/TaskListener.java | 16 +++++++++------- .../config/validation/RatesValidationConfig.java | 2 +- .../validation/SCrossRatesValidationConfig.java | 2 +- .../securities/errors/SecuritiesError.java | 1 + 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/listener/TaskListener.java b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/listener/TaskListener.java index 4e61ccdcd..abef73fad 100644 --- a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/listener/TaskListener.java +++ b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/listener/TaskListener.java @@ -140,13 +140,15 @@ public class TaskListener extends QueueConsumer implements InitializingBean { .filter(Objects::nonNull) .toList(); - String comment = "После проведения первой части сделок переноса будет получен отрицательный баланс по RUB:\n" - + String.join("\n", messages); - NotificationNewRequest newReq = new NotificationNewRequest(); - newReq.setObjectType(ObjectType.rgst.getKey()); - newReq.setPriority(Priority.HIGH.getKey()); - newReq.setComment(comment); - kafkaSender.sendRequestToQueue(Consts.NOTIFICATION_NEW, newReq); + if (!messages.isEmpty()) { + String comment = "После проведения первой части сделок переноса будет получен отрицательный баланс по RUB:\n" + + String.join("\n", messages); + NotificationNewRequest newReq = new NotificationNewRequest(); + newReq.setObjectType(ObjectType.rgst.getKey()); + newReq.setPriority(Priority.HIGH.getKey()); + newReq.setComment(comment); + kafkaSender.sendRequestToQueue(Consts.NOTIFICATION_NEW, newReq); + } log.info("SDOR export and send command to fix, request={}", req); try { diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/RatesValidationConfig.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/RatesValidationConfig.java index e7ab2dbe8..d15c73455 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/RatesValidationConfig.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/RatesValidationConfig.java @@ -51,7 +51,7 @@ public class RatesValidationConfig { IMDGDistributedNames.Map_Rates, RiskParameter.class, SecuritiesError.RequiredFieldIsEmpty, - SecuritiesError.RequiredFieldIsEmpty) + SecuritiesError.RecordNotFound) ); }; } diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/SCrossRatesValidationConfig.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/SCrossRatesValidationConfig.java index 217b1a75f..e17e4d670 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/SCrossRatesValidationConfig.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/validation/SCrossRatesValidationConfig.java @@ -50,7 +50,7 @@ public class SCrossRatesValidationConfig { IMDGDistributedNames.Map_SCrossRate, SCrossRate.class, SecuritiesError.RequiredFieldIsEmpty, - SecuritiesError.RequiredFieldIsEmpty) + SecuritiesError.RecordNotFound) ); }; } diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/errors/SecuritiesError.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/errors/SecuritiesError.java index 3434d6349..47bab7425 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/errors/SecuritiesError.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/errors/SecuritiesError.java @@ -8,6 +8,7 @@ public enum SecuritiesError implements IErrorEnumId { RequiredFieldIsEmpty(1002L), DictionaryNotFound(1003L), WrongFieldValue(1004L), + RecordNotFound(1006L), InstrumentAlreadyExists(1010L), InstrumentNotFound(1011L), InstrumentNotActive(1012L), From 0d45ad95548a4c82e5753b0506be1ce1137f1f0b Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Fri, 24 Apr 2026 12:19:21 +0300 Subject: [PATCH 2/6] http://jira.mfd.msk:8088/browse/CLS-967 // http://jira.mfd.msk:8088/browse/CLS-977 --- .../cud/securities/RatesNewAction.java | 12 ++++---- .../cud/securities/RatesUpdateAction.java | 12 ++++---- .../securities/RiskParameterNewAction.java | 12 ++++---- .../securities/RiskParameterUpdateAction.java | 12 ++++---- .../securities/SCrossRateUpdateAction.java | 8 ----- .../src/main/resources/meta/meta.json | 30 +++++++------------ .../src/main/resources/meta/meta.xml | 24 +++++++-------- .../service/facade/RatesFacade.java | 4 +-- .../service/facade/RiskParameterFacade.java | 4 +-- .../service/facade/SCrossRateFacade.java | 4 +-- .../listeners/RatesMessageListener.java | 4 +-- .../securitites/SCrossRateUpdateRequest.java | 27 ----------------- .../domain/cud/security/RatesNewRequest.java | 10 +++---- .../cud/security/RatesUpdateRequest.java | 10 +++---- .../cud/security/RiskParameterNewRequest.java | 10 +++---- .../security/RiskParameterUpdateRequest.java | 10 +++---- 16 files changed, 73 insertions(+), 120 deletions(-) diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/RatesNewAction.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/RatesNewAction.java index 76cd987f2..7edabbbc0 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/RatesNewAction.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/RatesNewAction.java @@ -27,7 +27,7 @@ public class RatesNewAction implements IAction { private Long currencyId; @ApiModelProperty(value = "Статус.", example = "1234") @JsonProperty - private String status; + private String workflowStatus; @Override public RatesNewRequest toRequest() { @@ -35,7 +35,7 @@ public class RatesNewAction implements IAction { request.setValue(this.value); request.setValueDate(this.valueDate); request.setCurrencyId(this.currencyId); - request.setStatus(this.status); + request.setWorkflowStatus(this.workflowStatus); return request; } @@ -69,11 +69,11 @@ public class RatesNewAction implements IAction { this.currencyId = currencyPairId; } - public String getStatus() { - return status; + public String getWorkflowStatus() { + return workflowStatus; } - public void setStatus(String status) { - this.status = status; + public void setWorkflowStatus(String workflowStatus) { + this.workflowStatus = workflowStatus; } } diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/RatesUpdateAction.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/RatesUpdateAction.java index cdb630797..4dc60ed0a 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/RatesUpdateAction.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/RatesUpdateAction.java @@ -17,14 +17,14 @@ public class RatesUpdateAction implements IAction { private BigDecimal value; @ApiModelProperty(value = "Статус.", example = "1234") @JsonProperty - private String status; + private String workflowStatus; @Override public RatesUpdateRequest toRequest() { RatesUpdateRequest request = new RatesUpdateRequest(); request.setId(this.id); request.setValue(this.value); - request.setStatus(this.status); + request.setWorkflowStatus(this.workflowStatus); return request; } @@ -50,11 +50,11 @@ public class RatesUpdateAction implements IAction { this.value = value; } - public String getStatus() { - return status; + public String getWorkflowStatus() { + return workflowStatus; } - public void setStatus(String status) { - this.status = status; + public void setWorkflowStatus(String workflowStatus) { + this.workflowStatus = workflowStatus; } } diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/RiskParameterNewAction.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/RiskParameterNewAction.java index 9aa0e1e26..74b308982 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/RiskParameterNewAction.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/RiskParameterNewAction.java @@ -23,7 +23,7 @@ public class RiskParameterNewAction implements IAction private Long currencyPairId; @ApiModelProperty(value = "Статус.", example = "1234") @JsonProperty - private String status; + private String workflowStatus; @Override public RiskParameterNewRequest toRequest() { @@ -32,7 +32,7 @@ public class RiskParameterNewAction implements IAction request.setQuoteValue(this.quoteValue); request.setSettlementType(this.settlementType); request.setCurrencyPairId(this.currencyPairId); - request.setStatus(this.status); + request.setWorkflowStatus(this.workflowStatus); return request; } @@ -66,11 +66,11 @@ public class RiskParameterNewAction implements IAction this.currencyPairId = currencyPairId; } - public String getStatus() { - return status; + public String getWorkflowStatus() { + return workflowStatus; } - public void setStatus(String status) { - this.status = status; + public void setWorkflowStatus(String workflowStatus) { + this.workflowStatus = workflowStatus; } } diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/RiskParameterUpdateAction.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/RiskParameterUpdateAction.java index 3a4d2f8a2..581628feb 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/RiskParameterUpdateAction.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/securities/RiskParameterUpdateAction.java @@ -20,7 +20,7 @@ public class RiskParameterUpdateAction implements IAction @JsonProperty private Long id; @JsonProperty - @JsonSerialize(using = LocalDateSerializer.class) - @JsonDeserialize(using = LocalDateDeserializer.class) - private LocalDate date; - @JsonProperty - private String currency; - @JsonProperty private BigDecimal unitRate; @JsonProperty private BigDecimal faceValue; @@ -31,8 +25,6 @@ public class SCrossRateUpdateAction implements IAction public SCrossRateUpdateRequest toRequest() { SCrossRateUpdateRequest sCrossRateUpdateRequest = new SCrossRateUpdateRequest(); sCrossRateUpdateRequest.setId(id); - sCrossRateUpdateRequest.setDate(date); - sCrossRateUpdateRequest.setCurrency(currency); sCrossRateUpdateRequest.setUnitRate(unitRate); sCrossRateUpdateRequest.setFaceValue(faceValue); sCrossRateUpdateRequest.setRate(rate); diff --git a/clearing-parent/backend-api/src/main/resources/meta/meta.json b/clearing-parent/backend-api/src/main/resources/meta/meta.json index 59355b630..9f069b969 100644 --- a/clearing-parent/backend-api/src/main/resources/meta/meta.json +++ b/clearing-parent/backend-api/src/main/resources/meta/meta.json @@ -1,6 +1,6 @@ { - "version": "3.23.295.157", + "version": "3.23.295.158", "enums": { @@ -10906,7 +10906,7 @@ "name": "Добавление центрального курса", - "class": "ru.spcex.clearing.platform.messaging.domain.cud.securitites.SCrossRateNewRequest", + "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.SCrossRateNewAction", "fields": [ {"code": "date", @@ -10935,20 +10935,12 @@ "name": "Изменение центрального курса", - "class": "ru.spcex.clearing.platform.messaging.domain.cud.securitites.SCrossRateUpdateRequest", + "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.SCrossRateUpdateAction", "fields": [ {"code": "id", "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "sCrossRate","linkCode": "id","required": true } - , - {"code": "date", - "name": "Дата торгов","shortname": "Дата","type": 6,"required": true - } - , - {"code": "currency", - "name": "Наименование валюты","shortname": "Валюта","type": 2,"length": 50,"link": "currencyCode","linkCode": "code","required": true - } , {"code": "faceValue", "name": "Единица базовой валюты","shortname": "Единица базовой валюты","type": 10 @@ -11036,7 +11028,7 @@ "name": "Добавление параметров риска", - "confirmation": "value,quoteValue,settlementType,currencyPairId,status", + "confirmation": "value,quoteValue,settlementType,currencyPairId,workflowStatus", "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.RiskParameterNewAction", @@ -11057,7 +11049,7 @@ "name": "Ставка сопряженной валюты","shortname": "Ставка сопряженной валюты","type": 10 } , - {"code": "status", + {"code": "workflowStatus", "name": "Статус","shortname": "Статус","type": 2,"length": 4,"link": "workflowStatus" } ] @@ -11067,7 +11059,7 @@ "name": "Изменение параметров риска", - "confirmation": "value,quoteValue,status", + "confirmation": "value,quoteValue,workflowStatus", "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.RiskParameterUpdateAction", @@ -11084,7 +11076,7 @@ "name": "Ставка сопряженной валюты","shortname": "Ставка сопряженной валюты","type": 10 } , - {"code": "status", + {"code": "workflowStatus", "name": "Статус","shortname": "Статус","type": 2,"length": 4,"link": "workflowStatus" } ] @@ -11132,7 +11124,7 @@ "name": "Добавление расчетного курса", - "confirmation": "value,valueDate,currencyId,status", + "confirmation": "value,valueDate,currencyId,workflowStatus", "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.RatesNewAction", @@ -11149,7 +11141,7 @@ "name": "Расчетный курс","shortname": "Расчетный курс","type": 10 } , - {"code": "status", + {"code": "workflowStatus", "name": "Статус","shortname": "Статус","type": 2,"length": 4,"link": "workflowStatus" } ] @@ -11159,7 +11151,7 @@ "name": "Изменение расчетного курса", - "confirmation": "value,status", + "confirmation": "value,workflowStatus", "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.RatesUpdateAction", @@ -11172,7 +11164,7 @@ "name": "Расчетный курс","shortname": "Расчетный курс","type": 10 } , - {"code": "status", + {"code": "workflowStatus", "name": "Статус","shortname": "Статус","type": 2,"length": 4,"link": "workflowStatus" } ] diff --git a/clearing-parent/backend-api/src/main/resources/meta/meta.xml b/clearing-parent/backend-api/src/main/resources/meta/meta.xml index 6d1473be5..b0c5d0861 100644 --- a/clearing-parent/backend-api/src/main/resources/meta/meta.xml +++ b/clearing-parent/backend-api/src/main/resources/meta/meta.xml @@ -1,6 +1,6 @@ - + @@ -2526,17 +2526,15 @@ - + - + - - @@ -2557,18 +2555,18 @@ - + - + - + - + @@ -2580,16 +2578,16 @@ - + - + - + - + diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/facade/RatesFacade.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/facade/RatesFacade.java index 083718c55..4e1821b43 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/facade/RatesFacade.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/facade/RatesFacade.java @@ -38,7 +38,7 @@ public class RatesFacade implements IClearingFacade { rates.setCurrency(currencyCodeDictionary.getCode()); rates.setValue(request.getValue()); rates.setValueDate(request.getValueDate()); - rates.setWorkflowStatus(request.getStatus()); + rates.setWorkflowStatus(request.getWorkflowStatus()); rates.setCreated(Instant.now()); ratesImdg.insert(rates); @@ -50,7 +50,7 @@ public class RatesFacade implements IClearingFacade { Rates ratesForUpdate = ratesImdg.getSingleObjectByID(request.getId()); ratesForUpdate.setValue(request.getValue()); - ratesForUpdate.setWorkflowStatus(request.getStatus()); + ratesForUpdate.setWorkflowStatus(request.getWorkflowStatus()); ratesForUpdate.setUpdated(Instant.now()); ratesImdg.update(ratesForUpdate); diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/facade/RiskParameterFacade.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/facade/RiskParameterFacade.java index d24c4be26..dc0058614 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/facade/RiskParameterFacade.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/facade/RiskParameterFacade.java @@ -42,7 +42,7 @@ public class RiskParameterFacade implements IClearingFacade { riskParameter.setSettlementType(request.getSettlementType()); riskParameter.setValue(request.getValue()); riskParameter.setQuoteValue(request.getQuoteValue()); - riskParameter.setWorkflowStatus(request.getStatus()); + riskParameter.setWorkflowStatus(request.getWorkflowStatus()); riskParameter.setCreated(Instant.now()); riskParameterImdg.insert(riskParameter); @@ -55,7 +55,7 @@ public class RiskParameterFacade implements IClearingFacade { riskParameterForUpdate.setValue(request.getValue()); riskParameterForUpdate.setQuoteValue(request.getQuoteValue()); - riskParameterForUpdate.setWorkflowStatus(request.getStatus()); + riskParameterForUpdate.setWorkflowStatus(request.getWorkflowStatus()); riskParameterImdg.update(riskParameterForUpdate); log.debug("successfully processed, updated risk_parameter id {}", riskParameterForUpdate.getId()); diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/facade/SCrossRateFacade.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/facade/SCrossRateFacade.java index 319754a03..42a6364ac 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/facade/SCrossRateFacade.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/facade/SCrossRateFacade.java @@ -38,9 +38,7 @@ public class SCrossRateFacade { public void update(SCrossRateUpdateRequest req) { SCrossRate sCrossRate = sCrossRateImdg.getSingleObjectByID(req.getId()); - if (req.getDate() != null) { - sCrossRate.setDate(req.getDate()); - } + sCrossRate.setUnitRate(req.getUnitRate()); sCrossRate.setFaceValue(req.getFaceValue()); sCrossRate.setRate(req.getRate()); diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/listeners/RatesMessageListener.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/listeners/RatesMessageListener.java index 3b45db880..f983b7945 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/listeners/RatesMessageListener.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/listeners/RatesMessageListener.java @@ -145,7 +145,7 @@ public class RatesMessageListener extends QueueConsumer implements InitializingB newRequest.setCurrencyId(currencyCodeDictionary.getId()); newRequest.setValueDate(sRateElem.getDate()); newRequest.setValue(sRateElem.getPrice()); - newRequest.setStatus(WorkflowStatus.Active.getKey()); + newRequest.setWorkflowStatus(WorkflowStatus.Active.getKey()); return Optional.of(newRequest); } @@ -157,7 +157,7 @@ public class RatesMessageListener extends QueueConsumer implements InitializingB return Optional.empty(); } updateRequest.setValue(sRateElem.getPrice()); - updateRequest.setStatus(WorkflowStatus.Active.getKey()); + updateRequest.setWorkflowStatus(WorkflowStatus.Active.getKey()); return Optional.of(updateRequest); } diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/securitites/SCrossRateUpdateRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/securitites/SCrossRateUpdateRequest.java index 40dbfc125..f48667b2c 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/securitites/SCrossRateUpdateRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/securitites/SCrossRateUpdateRequest.java @@ -1,23 +1,12 @@ package ru.spcex.clearing.platform.messaging.domain.cud.securitites; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; import java.math.BigDecimal; -import java.time.LocalDate; -import ru.spcex.clearing.platform.messaging.domain.json.deserialize.LocalDateDeserializer; -import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalDateSerializer; public class SCrossRateUpdateRequest { @JsonProperty private Long id; @JsonProperty - @JsonSerialize(using = LocalDateSerializer.class) - @JsonDeserialize(using = LocalDateDeserializer.class) - private LocalDate date; - @JsonProperty - private String currency; - @JsonProperty private BigDecimal unitRate; @JsonProperty private BigDecimal faceValue; @@ -54,20 +43,4 @@ public class SCrossRateUpdateRequest { public void setRate(BigDecimal rate) { this.rate = rate; } - - public LocalDate getDate() { - return date; - } - - public void setDate(LocalDate date) { - this.date = date; - } - - public String getCurrency() { - return currency; - } - - public void setCurrency(String currency) { - this.currency = currency; - } } diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/security/RatesNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/security/RatesNewRequest.java index 665088823..d84dccfe7 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/security/RatesNewRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/security/RatesNewRequest.java @@ -19,7 +19,7 @@ public class RatesNewRequest { @JsonProperty private Long currencyId; @JsonProperty - private String status; + private String workflowStatus; public BigDecimal getValue() { return value; @@ -45,11 +45,11 @@ public class RatesNewRequest { this.currencyId = currencyId; } - public String getStatus() { - return status; + public String getWorkflowStatus() { + return workflowStatus; } - public void setStatus(String status) { - this.status = status; + public void setWorkflowStatus(String workflowStatus) { + this.workflowStatus = workflowStatus; } } diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/security/RatesUpdateRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/security/RatesUpdateRequest.java index fabdb2b99..1a7928b8c 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/security/RatesUpdateRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/security/RatesUpdateRequest.java @@ -10,7 +10,7 @@ public class RatesUpdateRequest { @JsonProperty private BigDecimal value; @JsonProperty - private String status; + private String workflowStatus; public Long getId() { return id; @@ -28,11 +28,11 @@ public class RatesUpdateRequest { this.value = value; } - public String getStatus() { - return status; + public String getWorkflowStatus() { + return workflowStatus; } - public void setStatus(String status) { - this.status = status; + public void setWorkflowStatus(String workflowStatus) { + this.workflowStatus = workflowStatus; } } diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/security/RiskParameterNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/security/RiskParameterNewRequest.java index 02200ffe7..b910fc5d5 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/security/RiskParameterNewRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/security/RiskParameterNewRequest.java @@ -14,7 +14,7 @@ public class RiskParameterNewRequest { @JsonProperty private Long currencyPairId; @JsonProperty - private String status; + private String workflowStatus; public BigDecimal getValue() { return value; @@ -48,11 +48,11 @@ public class RiskParameterNewRequest { this.currencyPairId = currencyPairId; } - public String getStatus() { - return status; + public String getWorkflowStatus() { + return workflowStatus; } - public void setStatus(String status) { - this.status = status; + public void setWorkflowStatus(String status) { + this.workflowStatus = status; } } diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/security/RiskParameterUpdateRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/security/RiskParameterUpdateRequest.java index 0dcc7b2df..fde0f985f 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/security/RiskParameterUpdateRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/security/RiskParameterUpdateRequest.java @@ -12,7 +12,7 @@ public class RiskParameterUpdateRequest { @JsonProperty private BigDecimal quoteValue; @JsonProperty - private String status; + private String workflowStatus; public Long getId() { return id; @@ -38,11 +38,11 @@ public class RiskParameterUpdateRequest { this.quoteValue = quoteValue; } - public String getStatus() { - return status; + public String getWorkflowStatus() { + return workflowStatus; } - public void setStatus(String status) { - this.status = status; + public void setWorkflowStatus(String status) { + this.workflowStatus = status; } } From a9c9f040b3805910fe3dd7f5f3bc158015e3e106 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Fri, 24 Apr 2026 12:54:42 +0300 Subject: [PATCH 3/6] http://jira.mfd.msk:8088/browse/CLS-941 --- .../db-scripts/src/main/resources/db/DICTIONARIES.sql | 2 ++ 1 file changed, 2 insertions(+) diff --git a/clearing-parent/db-scripts/src/main/resources/db/DICTIONARIES.sql b/clearing-parent/db-scripts/src/main/resources/db/DICTIONARIES.sql index bd9d901a4..4dddb88bc 100644 --- a/clearing-parent/db-scripts/src/main/resources/db/DICTIONARIES.sql +++ b/clearing-parent/db-scripts/src/main/resources/db/DICTIONARIES.sql @@ -832,6 +832,8 @@ INSERT INTO SESSION_TYPE_DICTIONARY(ID, CODE, NAME) values (13, 'RSLT', 'Сес INSERT INTO SESSION_TYPE_DICTIONARY(ID, CODE, NAME) values (14, 'PREC', 'Расчет дефолтов') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; +INSERT INTO SESSION_TYPE_DICTIONARY(ID, CODE, NAME) values (15, 'PRPC', 'Расчет дефолтов для ПЛ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + INSERT INTO MONEY_FLOW_SIDE_DICTIONARY(ID, CODE, NAME) values (1, 'BUY', 'Привлечь') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO MONEY_FLOW_SIDE_DICTIONARY(ID, CODE, NAME) values (2, 'SELL', 'Разместить') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; From 4dd5f7fde1f59d6f35cce07518fe0e49da569931 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Fri, 24 Apr 2026 12:59:25 +0300 Subject: [PATCH 4/6] fix error codes --- .../management/error/DefaultManagementErrors.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/error/DefaultManagementErrors.java b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/error/DefaultManagementErrors.java index eb9777438..054cfa2c8 100644 --- a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/error/DefaultManagementErrors.java +++ b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/error/DefaultManagementErrors.java @@ -4,12 +4,11 @@ import ru.spcex.platform.utils.enumeration.IErrorEnumId; public enum DefaultManagementErrors implements IErrorEnumId { - //todo уточнить порядковый номер ошибки модуля - GeneralError(3000L), // Общая ошибка модуля - UserVerifyDenial(3001L), // 'Нет прав на проведение данной операции - RequiredFieldIsEmpty(3002L), - DictionaryNotFound(3003L), - RecordNotFound(3006L), + GeneralError(11000L), + UserVerifyDenial(11001L), + RequiredFieldIsEmpty(11002L), + DictionaryNotFound(11003L), + RecordNotFound(11006L), RecordAlreadyPresent(11002L), OnlyBalancingOrdersAllowed(11003L), ; From b702758d6d24611d647e72735e9e62bb64fa3612 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Fri, 24 Apr 2026 13:04:54 +0300 Subject: [PATCH 5/6] add error --- .../clearing/dflt/management/error/DefaultManagementErrors.java | 1 + 1 file changed, 1 insertion(+) diff --git a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/error/DefaultManagementErrors.java b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/error/DefaultManagementErrors.java index 054cfa2c8..cee30b3d0 100644 --- a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/error/DefaultManagementErrors.java +++ b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/error/DefaultManagementErrors.java @@ -11,6 +11,7 @@ public enum DefaultManagementErrors implements IErrorEnumId { RecordNotFound(11006L), RecordAlreadyPresent(11002L), OnlyBalancingOrdersAllowed(11003L), + OnlyBalancingOrdersAllowedForChanging(11004L), ; private final Long id; From 37c0112525d3d42f9951fabb7a35649269037ed5 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Fri, 24 Apr 2026 13:15:11 +0300 Subject: [PATCH 6/6] fix overnightType creating OrderCurrency --- .../validation/OvernightTypeChanged.java | 3 -- ...Context.java => OrderCurrencyContext.java} | 21 +++++++++--- .../service/OrderCalculationService.java | 6 ++-- .../service/OrderTemplateBuilder.java | 32 +++++++++---------- .../service/SpotOvernightOrderService.java | 6 ++-- .../service/SwapOvernightOrderService.java | 6 ++-- 6 files changed, 43 insertions(+), 31 deletions(-) rename clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/model/{SwapContext.java => OrderCurrencyContext.java} (81%) diff --git a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/component/validation/OvernightTypeChanged.java b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/component/validation/OvernightTypeChanged.java index 062d00079..0a257e3d3 100644 --- a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/component/validation/OvernightTypeChanged.java +++ b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/component/validation/OvernightTypeChanged.java @@ -15,9 +15,6 @@ public class OvernightTypeChanged implements IValidationRule validate(ImdgValidationContext ctx) { OrderCurrencyUpdateRequest validatedObject = ctx.getValidatedObject(); OrderCurrency oc = ctx.getStoredObject(OrderCurrencyValidationStored.OrderCurrency); - if (oc.getOvernightType() == null) { - return of(DefaultManagementErrors.GeneralError); //не понятно че с ним делать... - } if (oc.getOvernightType().equalsIgnoreCase(validatedObject.getOvernightType())) { return of(DefaultManagementErrors.GeneralError); //todo нормальную ошибку } diff --git a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/model/SwapContext.java b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/model/OrderCurrencyContext.java similarity index 81% rename from clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/model/SwapContext.java rename to clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/model/OrderCurrencyContext.java index 28cfb35b1..2bd7d8f86 100644 --- a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/model/SwapContext.java +++ b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/model/OrderCurrencyContext.java @@ -3,8 +3,9 @@ package ru.spcex.clearing.dflt.management.model; import ru.clearing.classes.statics.data.misc.Market; import ru.clearing.classes.statics.data.registry.Registry; import ru.clearing.classes.statics.data.security.RiskParameter; +import ru.spcex.platform.enumeration.OvernightType; -public class SwapContext { +public class OrderCurrencyContext { private final Registry registry; private final String orderCategory; private final Market market; @@ -12,8 +13,9 @@ public class SwapContext { private final CounterpartyInfo categoryP; private final CounterpartyInfo clcc; private final CounterpartyInfo rgcm; + private final OvernightType overnightType; - private SwapContext(Builder builder) { + private OrderCurrencyContext(Builder builder) { this.registry = builder.registry; this.orderCategory = builder.orderCategory; this.market = builder.market; @@ -21,6 +23,7 @@ public class SwapContext { this.categoryP = builder.categoryP; this.clcc = builder.clcc; this.rgcm = builder.rgcm; + this.overnightType = builder.overnightType; } public Registry getRegistry() { @@ -51,6 +54,10 @@ public class SwapContext { return rgcm; } + public OvernightType getOvernightType() { + return overnightType; + } + public static Builder builder() { return new Builder(); } @@ -63,6 +70,7 @@ public class SwapContext { private CounterpartyInfo categoryP; private CounterpartyInfo clcc; private CounterpartyInfo rgcm; + private OvernightType overnightType; public Builder registry(Registry registry) { this.registry = registry; @@ -99,8 +107,13 @@ public class SwapContext { return this; } - public SwapContext build() { - return new SwapContext(this); + public Builder overnightType(OvernightType overnightType) { + this.overnightType = overnightType; + return this; + } + + public OrderCurrencyContext build() { + return new OrderCurrencyContext(this); } } } diff --git a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/OrderCalculationService.java b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/OrderCalculationService.java index e871d7d65..335da6a62 100644 --- a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/OrderCalculationService.java +++ b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/OrderCalculationService.java @@ -12,7 +12,7 @@ import ru.clearing.classes.statics.data.registry.Registry; import ru.clearing.classes.statics.data.security.Rates; import ru.clearing.platform.dictionary.CurrencyPairDictionary; import ru.spcex.clearing.dflt.management.model.CalculationResult; -import ru.spcex.clearing.dflt.management.model.SwapContext; +import ru.spcex.clearing.dflt.management.model.OrderCurrencyContext; import ru.spcex.platform.enumeration.SettleCode; @Service @@ -29,7 +29,7 @@ public class OrderCalculationService { } public void calcAndEnrichSwap(OrderCurrency order, - SwapContext context) { + OrderCurrencyContext context) { Registry registry = context.getRegistry(); Listing listing = imdgQueryService.findListing(registry, context.getMarket().getCode(), order.getSettleCode()); @@ -49,7 +49,7 @@ public class OrderCalculationService { } public void calcAndEnrichSpot(OrderCurrency order, - SwapContext context) { + OrderCurrencyContext context) { Registry registry = context.getRegistry(); Listing listing = imdgQueryService.findListing(registry, context.getMarket().getCode(), order.getSettleCode()); diff --git a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/OrderTemplateBuilder.java b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/OrderTemplateBuilder.java index 79bc9bb74..2af0fa2ef 100644 --- a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/OrderTemplateBuilder.java +++ b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/OrderTemplateBuilder.java @@ -6,9 +6,8 @@ import ru.clearing.classes.statics.data.misc.Listing; import ru.clearing.classes.statics.data.misc.Market; import ru.clearing.classes.statics.data.misc.OrderCurrency; import ru.clearing.classes.statics.data.registry.Registry; -import ru.clearing.classes.statics.data.security.RiskParameter; import ru.spcex.clearing.dflt.management.model.CounterpartyInfo; -import ru.spcex.clearing.dflt.management.model.SwapContext; +import ru.spcex.clearing.dflt.management.model.OrderCurrencyContext; import ru.spcex.platform.enumeration.SettleCode; import static ru.spcex.platform.enumeration.SettleCode.T0; import ru.spcex.platform.enumeration.Side; @@ -21,7 +20,7 @@ public class OrderTemplateBuilder { this.imdgQueryService = imdgQueryService; } - public OrderCurrency buildPrimaryTransfer(SwapContext context, SettleCode settleCode) { + public OrderCurrency buildPrimaryTransfer(OrderCurrencyContext context, SettleCode settleCode) { OrderCurrency orderCurrency; switch (context.getOrderCategory()) { case "PL" -> orderCurrency = buildPrimaryTransferPl(context); @@ -33,7 +32,7 @@ public class OrderTemplateBuilder { return orderCurrency; } - public OrderCurrency buildCounterTransfer(SwapContext context, SettleCode settleCode) { + public OrderCurrency buildCounterTransfer(OrderCurrencyContext context, SettleCode settleCode) { OrderCurrency orderCurrency; switch (context.getOrderCategory()) { case "PL" -> orderCurrency = buildCounterTransferPl(context); @@ -46,7 +45,7 @@ public class OrderTemplateBuilder { return orderCurrency; } - public OrderCurrency buildPrimaryBalancing(SwapContext context, SettleCode settleCode) { + public OrderCurrency buildPrimaryBalancing(OrderCurrencyContext context, SettleCode settleCode) { OrderCurrency orderCurrency; switch (context.getOrderCategory()) { case "PL" -> orderCurrency = buildPrimaryBalancingPl(context); @@ -59,7 +58,7 @@ public class OrderTemplateBuilder { return orderCurrency; } - public OrderCurrency buildCounterBalancing(SwapContext context, SettleCode settleCode) { + public OrderCurrency buildCounterBalancing(OrderCurrencyContext context, SettleCode settleCode) { OrderCurrency orderCurrency; switch (context.getOrderCategory()) { case "PL" -> orderCurrency = buildCounterBalancingPl(context); @@ -72,7 +71,7 @@ public class OrderTemplateBuilder { return orderCurrency; } - private OrderCurrency buildPrimaryTransferUk(SwapContext context) { + private OrderCurrency buildPrimaryTransferUk(OrderCurrencyContext context) { CounterpartyInfo clcc = context.getClcc(); Registry registry = context.getRegistry(); @@ -87,7 +86,7 @@ public class OrderTemplateBuilder { return order; } - private OrderCurrency buildCounterTransferUk(SwapContext context) { + private OrderCurrency buildCounterTransferUk(OrderCurrencyContext context) { CounterpartyInfo clcc = context.getClcc(); Registry registry = context.getRegistry(); @@ -102,7 +101,7 @@ public class OrderTemplateBuilder { return order; } - private OrderCurrency buildPrimaryBalancingUk(SwapContext context) { + private OrderCurrency buildPrimaryBalancingUk(OrderCurrencyContext context) { CounterpartyInfo categoryP = context.getCategoryP(); CounterpartyInfo clcc = context.getClcc(); @@ -117,7 +116,7 @@ public class OrderTemplateBuilder { return order; } - private OrderCurrency buildCounterBalancingUk(SwapContext context) { + private OrderCurrency buildCounterBalancingUk(OrderCurrencyContext context) { CounterpartyInfo categoryP = context.getCategoryP(); CounterpartyInfo clcc = context.getClcc(); @@ -132,7 +131,7 @@ public class OrderTemplateBuilder { return order; } - private OrderCurrency buildPrimaryTransferPl(SwapContext context) { + private OrderCurrency buildPrimaryTransferPl(OrderCurrencyContext context) { CounterpartyInfo clcc = context.getClcc(); Registry registry = context.getRegistry(); @@ -147,7 +146,7 @@ public class OrderTemplateBuilder { return order; } - private OrderCurrency buildCounterTransferPl(SwapContext context) { + private OrderCurrency buildCounterTransferPl(OrderCurrencyContext context) { CounterpartyInfo clcc = context.getClcc(); Registry registry = context.getRegistry(); @@ -162,7 +161,7 @@ public class OrderTemplateBuilder { return order; } - private OrderCurrency buildPrimaryBalancingPl(SwapContext context) { + private OrderCurrency buildPrimaryBalancingPl(OrderCurrencyContext context) { CounterpartyInfo rgcm = context.getRgcm(); CounterpartyInfo clcc = context.getClcc(); @@ -177,7 +176,7 @@ public class OrderTemplateBuilder { return order; } - private OrderCurrency buildCounterBalancingPl(SwapContext context) { + private OrderCurrency buildCounterBalancingPl(OrderCurrencyContext context) { CounterpartyInfo clcc = context.getClcc(); CounterpartyInfo rgcm = context.getRgcm(); @@ -193,16 +192,15 @@ public class OrderTemplateBuilder { } public void enrichOrder(OrderCurrency order, - SwapContext context, + OrderCurrencyContext context, Side side, String comment, SettleCode settleCode) { Registry registry = context.getRegistry(); Market market = context.getMarket(); - RiskParameter riskParameter = context.getRiskParameter(); Listing listing = imdgQueryService.findListing(registry, market.getCode(), settleCode.getKey()); - order.setOvernightType("SWAP"); + order.setOvernightType(context.getOvernightType().getKey()); order.setMarket(market.getCode()); order.setListingId(listing.getId()); order.setSecuritySymbol(listing.getSymbolCode()); diff --git a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/SpotOvernightOrderService.java b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/SpotOvernightOrderService.java index 03c2663c1..9b9991915 100644 --- a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/SpotOvernightOrderService.java +++ b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/SpotOvernightOrderService.java @@ -8,9 +8,10 @@ import ru.clearing.classes.statics.data.misc.OrderCurrency; import ru.clearing.classes.statics.data.registry.Registry; import ru.clearing.classes.statics.data.security.RiskParameter; import ru.spcex.clearing.dflt.management.model.CounterpartyInfo; -import ru.spcex.clearing.dflt.management.model.SwapContext; +import ru.spcex.clearing.dflt.management.model.OrderCurrencyContext; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.platform.enumeration.CompanyRole; +import ru.spcex.platform.enumeration.OvernightType; import ru.spcex.platform.enumeration.RegistryStatus; import ru.spcex.platform.enumeration.SettleCode; import ru.spcex.platform.imdg.api.Imdg; @@ -46,7 +47,7 @@ public class SpotOvernightOrderService { CounterpartyInfo clcc = imdgQueryService.getCompanyByRole(CompanyRole.CLCC); CounterpartyInfo rgcm = imdgQueryService.getCompanyByRole(CompanyRole.RGCM); - SwapContext context = SwapContext.builder() + OrderCurrencyContext context = OrderCurrencyContext.builder() .registry(registry) .orderCategory(orderCategory) .market(market) @@ -54,6 +55,7 @@ public class SpotOvernightOrderService { .categoryP(categoryP) .clcc(clcc) .rgcm(rgcm) + .overnightType(OvernightType.SPOT) .build(); OrderCurrency primaryTransferT0 = templateBuilder.buildPrimaryTransfer(context, SettleCode.T0); diff --git a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/SwapOvernightOrderService.java b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/SwapOvernightOrderService.java index 3e4cab785..67f95849c 100644 --- a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/SwapOvernightOrderService.java +++ b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/SwapOvernightOrderService.java @@ -8,9 +8,10 @@ import ru.clearing.classes.statics.data.misc.OrderCurrency; import ru.clearing.classes.statics.data.registry.Registry; import ru.clearing.classes.statics.data.security.RiskParameter; import ru.spcex.clearing.dflt.management.model.CounterpartyInfo; -import ru.spcex.clearing.dflt.management.model.SwapContext; +import ru.spcex.clearing.dflt.management.model.OrderCurrencyContext; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.platform.enumeration.CompanyRole; +import ru.spcex.platform.enumeration.OvernightType; import ru.spcex.platform.enumeration.RegistryStatus; import ru.spcex.platform.enumeration.SettleCode; import ru.spcex.platform.imdg.api.Imdg; @@ -46,7 +47,7 @@ public class SwapOvernightOrderService { CounterpartyInfo clcc = imdgQueryService.getCompanyByRole(CompanyRole.CLCC); CounterpartyInfo rgcm = imdgQueryService.getCompanyByRole(CompanyRole.RGCM); - SwapContext context = SwapContext.builder() + OrderCurrencyContext context = OrderCurrencyContext.builder() .registry(registry) .orderCategory(orderCategory) .market(market) @@ -54,6 +55,7 @@ public class SwapOvernightOrderService { .categoryP(categoryP) .clcc(clcc) .rgcm(rgcm) + .overnightType(OvernightType.SWAP) .build(); OrderCurrency primaryTransfer = templateBuilder.buildPrimaryTransfer(context, SettleCode.T1);