Merge branch 'dev' into report_25_26_29

This commit is contained in:
akulikov 2022-12-26 13:50:43 +03:00
commit a396d54c7b
59 changed files with 4398 additions and 4849 deletions

View file

@ -50,7 +50,7 @@ public class AccountService extends QueueConsumer implements InitializingBean {
for (AccountSdfRequestPart accountReq : req.getAccounts()) {
Account account = new Account();
account.setAccount(accountReq.getAccount());
//fixme account.setCompany();
account.setCompanyId(accountReq.getCompanyId());
accountMap.insert(account);
AccountSdfToStatementRequestPart responsePart = responsePart(accountReq.getSdfId());
accountToStatement.add(responsePart);

View file

@ -55,6 +55,7 @@ public class BankAccountService extends QueueConsumer implements InitializingBea
bankAccount.setDestination(req.getDestination());
bankAccount.setTaxpayerIdentificationNumber(req.getTaxpayerIdentificationNumber());
bankAccount.setTaxRegistrationReasonCode(req.getTaxRegistrationReasonCode());
bankAccount.setAccount(req.getAccount());
bankAccountMap.insert(bankAccount);
log.debug("successfully processed, new id {}", bankAccount.getId());
@ -72,6 +73,7 @@ public class BankAccountService extends QueueConsumer implements InitializingBea
bankAccount.setDestination(req.getDestination());
bankAccount.setTaxpayerIdentificationNumber(req.getTaxpayerIdentificationNumber());
bankAccount.setTaxRegistrationReasonCode(req.getTaxRegistrationReasonCode());
bankAccount.setAccount(req.getAccount());
bankAccountMap.update(bankAccount);
log.debug("successfully update, existing bankAccount with id {}", bankAccount.getId());

View file

@ -8,7 +8,9 @@ import ru.spcex.clearing.backendapi.errors.BackEndError;
import ru.spcex.clearing.platform.messaging.domain.ActionType;
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.text.TextUtil;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
@ -39,33 +41,39 @@ public class BankAccountNewAction implements IAction<BankAccountNewRequest> {
@ApiModelProperty(value = "Код причины постановки (КПП)", example = "01")
@JsonProperty
private String taxRegistrationReasonCode;
@ApiModelProperty(value = "Номер счета", example = "1234567")
@JsonProperty
private String account;
@Override
public Collection<EnumMessage> validate() {
List<EnumMessage> errors = new ArrayList<>();
if (!StringUtils.hasLength(this.bankIdentificationCode))
return List.of(new EnumMessage(BackEndError.ValidationError, "bankIdentificationCode"));
errors.add(new EnumMessage(BackEndError.ValidationError, "bankIdentificationCode"));
if (!StringUtils.hasLength(this.bankName))
return List.of(new EnumMessage(BackEndError.ValidationError, "bankIdentificationCode"));
errors.add(new EnumMessage(BackEndError.ValidationError, "bankIdentificationCode"));
if ("RUB".equalsIgnoreCase(this.currency) && !StringUtils.hasLength(correspondentAccount)) {
return List.of(new EnumMessage(BackEndError.ValidationError, "correspondentAccount"));
errors.add(new EnumMessage(BackEndError.ValidationError, "correspondentAccount"));
}
if ("RUB".equalsIgnoreCase(this.currency) && !StringUtils.hasLength(correspondentAccountName)) {
return List.of(new EnumMessage(BackEndError.ValidationError, "correspondentAccountName"));
errors.add(new EnumMessage(BackEndError.ValidationError, "correspondentAccountName"));
}
if (!StringUtils.hasLength(currency)) {
return List.of(new EnumMessage(BackEndError.ValidationError, "currency"));
errors.add(new EnumMessage(BackEndError.ValidationError, "currency"));
}
if (!StringUtils.hasLength(destination)) {
return List.of(new EnumMessage(BackEndError.ValidationError, "destination"));
errors.add(new EnumMessage(BackEndError.ValidationError, "destination"));
}
if ("RUB".equalsIgnoreCase(this.currency) && !StringUtils.hasLength(taxpayerIdentificationNumber)) {
return List.of(new EnumMessage(BackEndError.ValidationError, "taxpayerIdentificationNumber"));
errors.add(new EnumMessage(BackEndError.ValidationError, "taxpayerIdentificationNumber"));
}
if ("RUB".equalsIgnoreCase(this.currency) && !StringUtils.hasLength(taxRegistrationReasonCode)) {
return List.of(new EnumMessage(BackEndError.ValidationError, "taxRegistrationReasonCode"));
errors.add(new EnumMessage(BackEndError.ValidationError, "taxRegistrationReasonCode"));
}
return Collections.emptyList();
if (TextUtil.isEmpty(account)) {
errors.add(new EnumMessage(BackEndError.ValidationError, "account"));
}
return errors.isEmpty() ? Collections.emptyList() : errors;
}
@Override
@ -79,6 +87,7 @@ public class BankAccountNewAction implements IAction<BankAccountNewRequest> {
req.setDestination(this.destination);
req.setTaxpayerIdentificationNumber(this.taxpayerIdentificationNumber);
req.setTaxRegistrationReasonCode(this.taxRegistrationReasonCode);
req.setAccount(this.account);
return req;
}
@ -151,4 +160,12 @@ public class BankAccountNewAction implements IAction<BankAccountNewRequest> {
public void setTaxRegistrationReasonCode(String taxRegistrationReasonCode) {
this.taxRegistrationReasonCode = taxRegistrationReasonCode;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
}

View file

@ -40,6 +40,7 @@ public class BankAccountUpdateAction implements IAction<BankAccountUpdateRequest
private String taxRegistrationReasonCode;
@ApiModelProperty(value = "Номер счета", example = "11111222223333344444")
private String account;
@Override
public Collection<EnumMessage> validate() {
@ -58,6 +59,7 @@ public class BankAccountUpdateAction implements IAction<BankAccountUpdateRequest
req.setDestination(this.destination);
req.setTaxpayerIdentificationNumber(this.taxpayerIdentificationNumber);
req.setTaxRegistrationReasonCode(this.taxRegistrationReasonCode);
req.setAccount(this.account);
return req;
}
@ -138,4 +140,12 @@ public class BankAccountUpdateAction implements IAction<BankAccountUpdateRequest
public void setTaxRegistrationReasonCode(String taxRegistrationReasonCode) {
this.taxRegistrationReasonCode = taxRegistrationReasonCode;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
}

View file

@ -46,6 +46,10 @@ public class PlannerNewAction implements IAction<PlannerNewRequest> {
@JsonProperty
public String taskStatus;
@ApiModelProperty(value = "Компания", example = "1000")
@JsonProperty
public Long companyId;
@ApiModelProperty(value = "Инструмент", example = "1000")
@JsonProperty
public Long securityId;
@ -58,6 +62,7 @@ public class PlannerNewAction implements IAction<PlannerNewRequest> {
plannerNewRequest.setClearingDate(clearingDate);
plannerNewRequest.setMarket(market);
plannerNewRequest.setTaskStatus(taskStatus);
plannerNewRequest.setCompanyId(companyId);
plannerNewRequest.setSecurityId(securityId);
return plannerNewRequest;
}

View file

@ -30,6 +30,12 @@ public class PlannerTemplateNewAction implements IAction<PlannerTemplateNewReque
@ApiModelProperty(value = "Статус", example = "ACTV")
@JsonProperty
public String taskStatus;
@ApiModelProperty(value = "Компания", example = "123")
@JsonProperty
public Long companyId;
@ApiModelProperty(value = "Инструмент", example = "123")
@JsonProperty
public Long securityId;
@Override
public PlannerTemplateNewRequest toRequest() {
@ -37,6 +43,8 @@ public class PlannerTemplateNewAction implements IAction<PlannerTemplateNewReque
plannerTemplateNewRequest.setTask(task);
plannerTemplateNewRequest.setTaskTime(taskTime);
plannerTemplateNewRequest.setTaskStatus(taskStatus);
plannerTemplateNewRequest.setCompanyId(companyId);
plannerTemplateNewRequest.setSecurityId(securityId);
return plannerTemplateNewRequest;
}
@ -84,4 +92,20 @@ public class PlannerTemplateNewAction implements IAction<PlannerTemplateNewReque
public void setTaskStatus(String taskStatus) {
this.taskStatus = taskStatus;
}
public Long getCompanyId() {
return companyId;
}
public void setCompanyId(Long companyId) {
this.companyId = companyId;
}
public Long getSecurityId() {
return securityId;
}
public void setSecurityId(Long securityId) {
this.securityId = securityId;
}
}

View file

@ -34,6 +34,12 @@ public class PlannerTemplateUpdateAction implements IAction<PlannerTemplateUpdat
@ApiModelProperty(value = "Статус", example = "ACTV")
@JsonProperty
public String taskStatus;
@ApiModelProperty(value = "Компания", example = "123")
@JsonProperty
public Long companyId;
@ApiModelProperty(value = "Инструмент", example = "123")
@JsonProperty
public Long securityId;
@Override
public PlannerTemplateUpdateRequest toRequest() {
@ -42,6 +48,8 @@ public class PlannerTemplateUpdateAction implements IAction<PlannerTemplateUpdat
plannerTemplateUpdateRequest.setTask(task);
plannerTemplateUpdateRequest.setTaskTime(taskTime);
plannerTemplateUpdateRequest.setTaskStatus(taskStatus);
plannerTemplateUpdateRequest.setCompanyId(companyId);
plannerTemplateUpdateRequest.setSecurityId(securityId);
return plannerTemplateUpdateRequest;
}
@ -101,4 +109,20 @@ public class PlannerTemplateUpdateAction implements IAction<PlannerTemplateUpdat
public void setTaskStatus(String taskStatus) {
this.taskStatus = taskStatus;
}
public Long getCompanyId() {
return companyId;
}
public void setCompanyId(Long companyId) {
this.companyId = companyId;
}
public Long getSecurityId() {
return securityId;
}
public void setSecurityId(Long securityId) {
this.securityId = securityId;
}
}

View file

@ -51,6 +51,10 @@ public class PlannerUpdateAction implements IAction<PlannerUpdateRequest>, WithI
@JsonProperty
public String taskStatus;
@ApiModelProperty(value = "Компания", example = "1000")
@JsonProperty
public Long companyId;
@ApiModelProperty(value = "Инструмент", example = "1000")
@JsonProperty
public Long securityId;
@ -64,6 +68,7 @@ public class PlannerUpdateAction implements IAction<PlannerUpdateRequest>, WithI
plannerUpdateRequest.setClearingDate(clearingDate);
plannerUpdateRequest.setMarket(market);
plannerUpdateRequest.setTaskStatus(taskStatus);
plannerUpdateRequest.setCompanyId(companyId);
plannerUpdateRequest.setSecurityId(securityId);
return plannerUpdateRequest;
}
@ -151,4 +156,12 @@ public class PlannerUpdateAction implements IAction<PlannerUpdateRequest>, WithI
public void setSecurityId(Long securityId) {
this.securityId = securityId;
}
public Long getCompanyId() {
return companyId;
}
public void setCompanyId(Long companyId) {
this.companyId = companyId;
}
}

View file

@ -6,17 +6,27 @@
<termType id="2" code="K" name="Комбинированный"/>
<termType id="3" code="V" name="До востребования"/>
<task id="1" code="GBAL" name="Зачисление остатков"/>
<task id="2" code="GBLC" name="Подтверждение зачисления остатков"/>
<task id="3" code="ABLK" name="Блокировка счета"/>
<task id="4" code="GALB" name="Запрос остатков по всем счетам"/>
<task id="5" code="ADBL" name="Дозачисление/списание остатков"/>
<task id="6" code="ADBC" name="Подтверждение дозачисления/списания остатков"/>
<task id="7" code="CORD" name="Формирование сводного платежного поручения"/>
<task id="8" code="CORC" name="Получение подтверждения переводов"/>
<task id="25" code="GTRD" name="Получение сделок из Торговой системы"/>
<task id="9" code="GVER" name="Запуск сверки"/>
<task id="11" code="STCP" name="Формирование уведомления о завершении расчетов"/>
<task id="12" code="CMBA" name="Формирование распоряжения на перевод с ТБС"/>
<task id="14" code="GCMR" name="Формирование реестра участников клиринга"/>
<task id="15" code="GBRR" name="Формирование реестра остатков денежных средств "/>
<task id="16" code="GORR" name="Формирование реестра распоряжений, направленных расчетной организации"/>
<task id="17" code="GETR" name="Формирование отчетности"/>
<task id="21" code="GSRR" name="Формирование реестра отправленных отчетов"/>
<task id="25" code="GERP" name="Получение сделок из Торговой системы"/>
<task id="26" code="VICR" name="Сверка обеспеченности Инициатора"/>
<task id="32" code="GACA" name="Создание файла остатков CSV по клиринговым счетам"/>
<task id="33" code="GAIA" name="Создание файла остатков CSV по внутренним информационным счетам"/>
<task id="34" code="GBLD" name="Поступление средств"/>
<task id="35" code="GBDC" name="Подтверждение поступления средств"/>
<task id="36" code="GREG" name="Формирование реестров"/>
<task id="35" code="SCLR" name="Запуск клиринговой сессии"/>
<task id="36" code="SPRC" name="Запуск преклиринга"/>
<task id="37" code="SPOC" name="Запуск постклиринга"/>
<taskStatus id="1" code="ACTV" name="Активна"/>
<taskStatus id="2" code="BLKD" name="Не активна"/>
<taskStatus id="3" code="CNCL" name="Отмена расписания"/>
@ -38,9 +48,6 @@
<clearingStatus id="2" code="FAIL" name="Не успешно"/>
<clearingStatus id="3" code="MNG" name="Не учитывать"/>
<clearingStatus id="4" code="PROC" name="К клирингу"/>
<interestStatus id="1" code="FREE" name="Не требуется"/>
<interestStatus id="2" code="RTND" name="Возвращены"/>
<interestStatus id="3" code="DFLT" name="Не возвращены"/>
<workflowStatus id="1" code="ACTV" name="Активен"/>
<workflowStatus id="2" code="BLKD" name="Не активен"/>
<accountStatus id="1" code="ACTV" name="Активен"/>
@ -85,7 +92,7 @@
<managementJournalPurpose id="1" code="ACC" name="Доступ"/>
<managementJournalPurpose id="2" code="NOND" name="Не поставка"/>
<managementJournalPurpose id="3" code="DEL" name="Удалена"/>
<contactType id="1" code="ADRS" name="Адрес местонахождения"/>
<contactType id="1" code="ADRS" name="Адрес"/>
<contactType id="2" code="POST" name="Почтовый адрес"/>
<contactType id="3" code="CONT" name="Контактное лицо"/>
<contactType id="4" code="MAIL" name="Электронная почта"/>
@ -143,12 +150,14 @@
<userRole id="1" code="ADMN" name="Администратор Клиринга МКР"/>
<userRole id="2" code="SPVS" name="Супервайзер Клиринга МКР"/>
<userRole id="3" code="SCRT" name="Администратор безопасности Клиринга МКР"/>
<accountType id="1" code="CLRN" name="Торговый клиринговый счет"/>
<accountType id="2" code="BANK" name="Текущий банковский счет"/>
<accountType id="1" code="CLRN" name="Клиринговый счет"/>
<accountType id="2" code="BANK" name="Банковский счет"/>
<accountType id="3" code="USPD" name="Счет невыясненных поступлений"/>
<accountType id="4" code="CORR" name="Корреспондентский счет"/>
<accountType id="5" code="INFO" name="Информационный счет"/>
<accountType id="6" code="PYER" name="Счет плательщика"/>
<accountType id="7" code="ANLT" name="Аналитический счет"/>
<accountType id="8" code="TRAN" name="Транзакционный счет"/>
<instrumentType id="1" code="RATE" name="Инструмент Денежного рынка"/>
<instrumentType id="2" code="CRNC" name="Валюты"/>
<resultStatus id="1" code="NACK" name="Неуспешно"/>
@ -160,17 +169,19 @@
<sessionStatus id="2" code="CLRN" name="Идет клиринг"/>
<sessionStatus id="3" code="CLOS" name="Клиринг завершен"/>
<objectType id="1" code="STMT" name="STATEMENT"/>
<objectType id="2" code="VFRS" name="verificationResult"/>
<notificationStatus id="1" code="PEND" name="В ожидании"/>
<notificationStatus id="2" code="CNCL" name="Отменено"/>
<notificationStatus id="3" code="ACPT" name="Принято"/>
<notificationStatus id="4" code="READ" name="Прочтено"/>
<eventType id="1" code="CRET" name="Создание"/>
<eventType id="2" code="UPDT" name="Обновление"/>
<eventType id="3" code="DELT" name="Удаление"/>
<currencyCode id="643" code="RUB" name="Российский рубль"/>
<!-- error code for securities-services -->
<errorCode id="1000" code="SECR" name="Общая ошибка модуля securities-services."/>
<!-- error code for securities-service -->
<errorCode id="1000" code="SECR" name="Общая ошибка модуля securities-service."/>
<errorCode id="1001" code="SECR" name="Нет прав на проведение данной операции."/>
<errorCode id="1002" code="SECR" name="Не заданы обязательные поля."/>
<errorCode id="1003" code="SECR" name="Запись с указанным идентификатором в справочнике %s не найдена."/>
@ -183,8 +194,8 @@
<errorCode id="1011" code="SECR" name="Инструмент не найден."/>
<errorCode id="1012" code="SECR" name="Инструмент неактивен."/>
<!-- error code for utility-services -->
<errorCode id="2000" code="UTIL" name="Общая ошибка модуля utility-services."/>
<!-- error code for utility-service -->
<errorCode id="2000" code="UTIL" name="Общая ошибка модуля utility-service."/>
<errorCode id="2001" code="UTIL" name="Нет прав на проведение данной операции."/>
<errorCode id="2002" code="UTIL" name="Не заданы обязательные поля."/>
<errorCode id="2003" code="UTIL" name="Запись с указанным идентификатором в справочнике %s не найдена."/>
@ -192,8 +203,8 @@
<errorCode id="2005" code="UTIL" name="Такая запись уже существует."/>
<errorCode id="2006" code="UTIL" name="Запись не найдена."/>
<!-- error code for company-services -->
<errorCode id="3000" code="CMPN" name="Общая ошибка модуля company-services."/>
<!-- error code for company-service -->
<errorCode id="3000" code="CMPN" name="Общая ошибка модуля company-service."/>
<errorCode id="3001" code="CMPN" name="Нет прав на проведение данной операции."/>
<errorCode id="3002" code="CMPN" name="Не заданы обязательные поля."/>
<errorCode id="3003" code="CMPN" name="Запись с указанным идентификатором в справочнике %s не найдена."/>
@ -208,13 +219,14 @@
<errorCode id="3015" code="CMPN" name="Контакт Компании не найден."/>
<errorCode id="3016" code="CMPN" name="Категория Компании не найдена."/>
<errorCode id="3017" code="CMPN" name="Компании уже присвоена Категория %s."/>
<errorCode id="3018" code="CMPN" name="У компании присутствуют обязательства"/>
<!-- error code for report-serivces -->
<errorCode id="4000" code="RPRT" name="Общая ошибка модуля report-serivces."/>
<!-- error code for report-serivce -->
<errorCode id="4000" code="RPRT" name="Общая ошибка модуля report-serivce."/>
<!-- == error code for processing accounts and balances == -->
<!-- error code for account-services -->
<errorCode id="5000" code="ACNT" name="Общая ошибка модуля account-services."/>
<!-- error code for account-service -->
<errorCode id="5000" code="ACNT" name="Общая ошибка модуля account-service."/>
<errorCode id="5001" code="ACNT" name="Нет прав на проведение данной операции."/>
<errorCode id="5002" code="ACNT" name="Не заданы обязательные поля."/>
<errorCode id="5003" code="ACNT" name="Запись с указанным идентификатором в справочнике %s не найдена."/>
@ -226,8 +238,8 @@
<errorCode id="5012" code="ACNT" name="Счет %s неактивен."/>
<errorCode id="5013" code="ACNT" name="Компания не найдена."/>
<errorCode id="5014" code="ACNT" name="Компания неактивна."/>
<!-- error code for balance-services -->
<errorCode id="5200" code="BLNC" name="Общая ошибка модуля balance-services."/>
<!-- error code for balance-service -->
<errorCode id="5200" code="BLNC" name="Общая ошибка модуля balance-service."/>
<errorCode id="5210" code="BLNC" name="Клиринговая сессия неактивна."/>
<errorCode id="5211" code="BLNC" name="Компания не найдена."/>
<errorCode id="5212" code="BLNC" name="Компания неактивна."/>
@ -241,8 +253,8 @@
<errorCode id="5220" code="BLNC" name="Сумма списания превышает сумму средств на счете."/>
<errorCode id="5221" code="BLNC" name="Поступление средств возможно только по рынку МКР."/>
<errorCode id="5222" code="BLNC" name="Сумма списания превышает сумму средств на счете."/>
<!-- error code for clearing-services -->
<errorCode id="5400" code="CLRN" name="Общая ошибка модуля clearing-services."/>
<!-- error code for clearing-service -->
<errorCode id="5400" code="CLRN" name="Общая ошибка модуля clearing-service."/>
<errorCode id="5401" code="CLRN" name="Нет прав на проведение данной операции."/>
<errorCode id="5402" code="CLRN" name="Не заданы обязательные поля."/>
<errorCode id="5403" code="CLRN" name="Запись с указанным идентификатором в справочнике %s не найдена."/>
@ -263,8 +275,8 @@
<!-- error code for api-lk-company -->
<errorCode id="6000" code="APIC" name="Общая ошибка модуля api-lk-company."/>
<!-- error code for scheduler-services -->
<errorCode id="7000" code="SCHD" name="Общая ошибка модуля scheduler-services."/>
<!-- error code for scheduler-service -->
<errorCode id="7000" code="SCHD" name="Общая ошибка модуля scheduler-service."/>
<errorCode id="7001" code="SCHD" name="Нет прав на проведение данной операции."/>
<errorCode id="7002" code="SCHD" name="Не заданы обязательные поля."/>
<errorCode id="7003" code="SCHD" name="Запись с указанным идентификатором в справочнике %s не найдена."/>
@ -277,6 +289,9 @@
<errorCode id="7013" code="SCHD" name="Указанный инструмент неактивен."/>
<errorCode id="7014" code="SCHD" name="Указанная в задаче компания не найдена."/>
<errorCode id="7015" code="SCHD" name="Указанная компания неактивна."/>
<!-- error code for control-service -->
<errorCode id="8000" code="CNTR" name="Общая ошибка модуля control-service."/>
<!-- error code for backend-api -->
<errorCode id="9000" code="BAPI" name="Ошибка проверки поля %s."/>

File diff suppressed because it is too large Load diff

View file

@ -17,7 +17,6 @@ import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgId;
import ru.spcex.platform.imdg.api.ImdgProvider;
import java.math.BigDecimal;
import java.time.Instant;
@Service
@ -46,9 +45,9 @@ public class Sdf08Service extends QueueConsumer implements InitializingBean {
private void newSDf08(BaseRequest<Object> userRequest) {
log.debug("getAllBalance request received");
SDf08 sDf08 = new SDf08();
sDf08.setNumber(BigDecimal.valueOf(Math.random()));
sDf08.setNumber(idGenerator.nextId().toString());
Instant now = Instant.now();
sDf08.setDatetime(now);
sDf08.setDatetime(String.valueOf(now.toEpochMilli()));
sDf08.setGenerationTime(now);
sDf08.setGenerationId(idGenerator.nextId());
sdf8Map.insert(sDf08);

View file

@ -162,7 +162,7 @@ public class Sdf09Executor extends AbstractExecutor<SDf09> {
sDf10.setMarket(sdf09.getMarket());
sDf10.setType(sdf09.getType());
sDf10.setNumber(sdf09.getNumber());
sDf10.setINN(sdf09.getInn());
sDf10.setInn(sdf09.getInn());
sDf10.setResult("OK");
sDf10.setGenerationId(generationIdForGroup);
sDf10.setGenerationTime(Instant.now());

View file

@ -176,9 +176,9 @@ public class Sdf16Executor extends AbstractExecutor<SDf16> {
errorSdf.setSum(sdf.getSum());
errorSdf.setMarket(sdf.getMarket());
errorSdf.setType(sdf.getType());
errorSdf.setINN(sdf.getInn());
errorSdf.setBIC(sdf.getBic());
errorSdf.setSPEC(sdf.getSpec());
errorSdf.setInn(sdf.getInn());
errorSdf.setBic(sdf.getBic());
errorSdf.setSpec(sdf.getSpec());
errorSdf.setNumber(sdf.getNumber());
errorSdf.setResult(obtainResultNum(error));
errorSdf.setGenerationId(generationIdForGroup);
@ -193,9 +193,9 @@ public class Sdf16Executor extends AbstractExecutor<SDf16> {
successSdf.setSum(sdf.getSum());
successSdf.setMarket(sdf.getMarket());
successSdf.setType(sdf.getType());
successSdf.setINN(sdf.getInn());
successSdf.setBIC(sdf.getBic());
successSdf.setSPEC(sdf.getSpec());
successSdf.setInn(sdf.getInn());
successSdf.setBic(sdf.getBic());
successSdf.setSpec(sdf.getSpec());
successSdf.setNumber(sdf.getNumber());
successSdf.setGenerationId(generationIdForGroup);
successSdf.setGenerationTime(Instant.now());

View file

@ -16,6 +16,7 @@ public class Account extends BusinessObject {
private Long relationId;
private String accountStatus;
private String processingSign;
private Long companyId;
public String getAccount() {
return account;
@ -56,4 +57,12 @@ public class Account extends BusinessObject {
public void setProcessingSign(String processingSign) {
this.processingSign = processingSign;
}
public Long getCompanyId() {
return companyId;
}
public void setCompanyId(Long companyId) {
this.companyId = companyId;
}
}

View file

@ -23,6 +23,8 @@ public class BankAccount extends SpcexObjectBase {
private String swiftCode;
private String taxpayerIdentificationNumber;
private String taxRegistrationReasonCode;
private String account;
private Long companyId;
public Long getAccountId() {
return accountId;
@ -119,4 +121,20 @@ public class BankAccount extends SpcexObjectBase {
public void setTaxRegistrationReasonCode(String value) {
this.taxRegistrationReasonCode = value;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public Long getCompanyId() {
return companyId;
}
public void setCompanyId(Long companyId) {
this.companyId = companyId;
}
}

View file

@ -13,6 +13,7 @@ public class InformationAccount extends SpcexObjectBase {
private Long accountId;
private Long clearingAccountId;
private Long companyId;
public Long getAccountId() {
return accountId;
@ -30,4 +31,11 @@ public class InformationAccount extends SpcexObjectBase {
this.clearingAccountId = value;
}
public Long getCompanyId() {
return companyId;
}
public void setCompanyId(Long companyId) {
this.companyId = companyId;
}
}

View file

@ -10,9 +10,9 @@ public class PaymentInstruction extends BusinessObject {
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
private Long senderId; // type="1"
private Long addresseeId; // type="1"
private String adresseeBIC; // type="2"
private String adresseeBic; // type="2"
private String payeeBankName; // type="2"
private String payeeBIC; // type="2"
private String payeeBic; // type="2"
private String addresseeBankName; // type="2"
private Instant paymentDate; // type="4"
private String paymentPurpose; // type="2"
@ -49,12 +49,12 @@ public class PaymentInstruction extends BusinessObject {
this.addresseeId = addresseeId;
}
public String getAdresseeBIC() {
return adresseeBIC;
public String getAdresseeBic() {
return adresseeBic;
}
public void setAdresseeBIC(String adresseeBIC) {
this.adresseeBIC = adresseeBIC;
public void setAdresseeBic(String adresseeBic) {
this.adresseeBic = adresseeBic;
}
public String getPayeeBankName() {
@ -65,12 +65,12 @@ public class PaymentInstruction extends BusinessObject {
this.payeeBankName = payeeBankName;
}
public String getPayeeBIC() {
return payeeBIC;
public String getPayeeBic() {
return payeeBic;
}
public void setPayeeBIC(String payeeBIC) {
this.payeeBIC = payeeBIC;
public void setPayeeBic(String payeeBic) {
this.payeeBic = payeeBic;
}
public String getAddresseeBankName() {

View file

@ -19,6 +19,7 @@ public class Planner extends BusinessObject {
private LocalDate clearingDate;
private String market;
private String taskStatus;
private Long companyId;
private Long securityId;
@ -70,4 +71,11 @@ public class Planner extends BusinessObject {
this.securityId = value;
}
public Long getCompanyId() {
return companyId;
}
public void setCompanyId(Long companyId) {
this.companyId = companyId;
}
}

View file

@ -19,6 +19,7 @@ public class PlannerAllToday extends SpcexObjectBase {
private LocalDate clearingDate;
private String market;
private String taskStatus;
private Long companyId;
private Long securityId;
private String parent;
private Long parentId;
@ -87,4 +88,11 @@ public class PlannerAllToday extends SpcexObjectBase {
this.parentId = value;
}
public Long getCompanyId() {
return companyId;
}
public void setCompanyId(Long companyId) {
this.companyId = companyId;
}
}

View file

@ -16,6 +16,8 @@ public class PlannerTemplate extends BusinessObject {
private String task;
private LocalTime taskTime;
private String taskStatus;
private Long companyId;
private Long securityId;
public String getTask() {
return task;
@ -41,4 +43,19 @@ public class PlannerTemplate extends BusinessObject {
this.taskStatus = value;
}
public Long getCompanyId() {
return companyId;
}
public void setCompanyId(Long companyId) {
this.companyId = companyId;
}
public Long getSecurityId() {
return securityId;
}
public void setSecurityId(Long securityId) {
this.securityId = securityId;
}
}

View file

@ -3,7 +3,6 @@ package ru.clearing.classes.statics.data.sdf;
import ru.clearing.classes.ConstSerializable;
import ru.spcex.platform.classes.base.SpcexObjectBase;
import java.math.BigDecimal;
import java.time.Instant;
/**
@ -14,24 +13,24 @@ import java.time.Instant;
public class SDf08 extends SpcexObjectBase {
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
private BigDecimal number;
private Instant datetime;
private String number;
private String datetime;
private Instant generationTime;
private Long generationId;
public BigDecimal getNumber() {
public String getNumber() {
return number;
}
public void setNumber(BigDecimal value) {
public void setNumber(String value) {
this.number = value;
}
public Instant getDatetime() {
public String getDatetime() {
return datetime;
}
public void setDatetime(Instant value) {
public void setDatetime(String value) {
this.datetime = value;
}

View file

@ -20,7 +20,7 @@ public class SDf10 extends SpcexObjectBase implements WithAccount {
private String market;
private String type;
private BigDecimal number;
private BigDecimal INN;
private BigDecimal inn;
private String result;
private Instant generationTime;
private Long generationId;
@ -67,12 +67,12 @@ public class SDf10 extends SpcexObjectBase implements WithAccount {
this.number = number;
}
public BigDecimal getINN() {
return INN;
public BigDecimal getInn() {
return inn;
}
public void setINN(BigDecimal INN) {
this.INN = INN;
public void setInn(BigDecimal inn) {
this.inn = inn;
}
public String getResult() {

View file

@ -19,9 +19,9 @@ public class SDf17 extends SpcexObjectBase implements WithAccount {
private BigDecimal sum;
private String market;
private String type;
private BigDecimal INN;
private BigDecimal BIC;
private String SPEC;
private BigDecimal inn;
private BigDecimal bic;
private String spec;
private BigDecimal number;
private Integer result;
private Instant generationTime;
@ -61,28 +61,28 @@ public class SDf17 extends SpcexObjectBase implements WithAccount {
this.type = value;
}
public BigDecimal getINN() {
return INN;
public BigDecimal getInn() {
return inn;
}
public void setINN(BigDecimal value) {
this.INN = value;
public void setInn(BigDecimal value) {
this.inn = value;
}
public BigDecimal getBIC() {
return BIC;
public BigDecimal getBic() {
return bic;
}
public void setBIC(BigDecimal value) {
this.BIC = value;
public void setBic(BigDecimal value) {
this.bic = value;
}
public String getSPEC() {
return SPEC;
public String getSpec() {
return spec;
}
public void setSPEC(String value) {
this.SPEC = value;
public void setSpec(String value) {
this.spec = value;
}
public BigDecimal getNumber() {

View file

@ -17,8 +17,8 @@ public class UserConnect extends BusinessObject {
private Long userId;
private Instant connectionTime;
private Instant disconnectionTime;
private String serverIP;
private String clientIP;
private String serverIp;
private String clientIp;
private String connectionState;
private LocalDate clearingDate;
private Long errorCode;
@ -48,20 +48,20 @@ public class UserConnect extends BusinessObject {
this.disconnectionTime = value;
}
public String getServerIP() {
return serverIP;
public String getServerIp() {
return serverIp;
}
public void setServerIP(String value) {
this.serverIP = value;
public void setServerIp(String value) {
this.serverIp = value;
}
public String getClientIP() {
return clientIP;
public String getClientIp() {
return clientIp;
}
public void setClientIP(String value) {
this.clientIP = value;
public void setClientIp(String value) {
this.clientIp = value;
}
public String getConnectionState() {

View file

@ -1,5 +1,5 @@
-- DB version: 0.0.0.6
-- DATA version: 0.0.0.0
-- DB version: 2.4.0.0
-- DATA version: 1.2.0.0
/* Dictionaries */
INSERT INTO COURIER_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'STHS', 'ЭДО с Расчетной Организацией');
@ -12,23 +12,47 @@ INSERT INTO TERM_TYPE_DICTIONARY(ID, CODE, NAME) values (3, 'V', 'До вост
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (1, 'GBAL', 'Зачисление остатков');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (2, 'GBLC', 'Подтверждение зачисления остатков');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (3, 'ABLK', 'Блокировка счета');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (4, 'GALB', 'Запрос остатков по всем счетам');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (5, 'ADBL', 'Дозачисление/списание остатков');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (6, 'ADBC', 'Подтверждение дозачисления/списания остатков');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (7, 'CORD', 'Формирование сводного платежного поручения');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (8, 'CORC', 'Получение подтверждения переводов');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (9, 'GVER', 'Запуск сверки');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (11, 'STCP', 'Формирование уведомления о завершении расчетов');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (12, 'CMBA', 'Формирование распоряжения на перевод с ТБС');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (14, 'GCMR', 'Формирование реестра участников клиринга');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (15, 'GBRR', 'Формирование реестра остатков денежных средств ');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (16, 'GORR', 'Формирование реестра распоряжений, направленных расчетной организации');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (17, 'GETR', 'Формирование отчетности');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (21, 'GSRR', 'Формирование реестра отправленных отчетов');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (25, 'GERP', 'Получение сделок из Торговой системы');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (26, 'VICR', 'Сверка обеспеченности Инициатора');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (32, 'GACA', 'Создание файла остатков CSV по клиринговым счетам');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (33, 'GAIA', 'Создание файла остатков CSV по внутренним информационным счетам');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (34, 'GBLD', 'Поступление средств');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (35, 'GBDC', 'Подтверждение поступления средств');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (35, 'SCLR', 'Запуск клиринговой сессии');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (36, 'SPRC', 'Запуск преклиринга');
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (37, 'SPOC', 'Запуск постклиринга');
INSERT INTO TASK_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'ACTV', 'Активна');
@ -36,13 +60,27 @@ INSERT INTO TASK_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'BLKD', 'Не ак
INSERT INTO TASK_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'CNCL', 'Отмена расписания');
INSERT INTO TRADING_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'TRAD', 'Торговый');
INSERT INTO DAY_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'BDAY', 'Рабочий');
INSERT INTO TRADING_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'NTRD', 'Неторговый');
INSERT INTO DAY_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'DOFF', 'Нерабочий');
INSERT INTO SOURCE_DICTIONARY(ID, CODE, NAME) values (1, 'TIMT', 'Расписание');
INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'STLD', 'Рассчитан');
INSERT INTO SOURCE_DICTIONARY(ID, CODE, NAME) values (2, 'SCHD', 'Планировщик');
INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'SENT', 'Отправлен в ПРЦ');
INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'OK', 'Обработан ПРЦ');
INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (4, 'FAIL', 'Ошибка ПРЦ');
INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (5, 'CHER', 'Ошибка КС');
INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (6, 'NSNT', 'Не отправлен в ПРЦ');
INSERT INTO PARENT_DICTIONARY(ID, CODE, NAME) values (1, 'TMPL', 'Шаблон');
INSERT INTO PARENT_DICTIONARY(ID, CODE, NAME) values (2, 'PLNR', 'Расписание');
INSERT INTO PARENT_DICTIONARY(ID, CODE, NAME) values (3, 'CLND', 'Календарь');
INSERT INTO CHARGE_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'PRCT', 'Процент');
@ -58,12 +96,6 @@ INSERT INTO CLEARING_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'MNG', 'Не
INSERT INTO CLEARING_STATUS_DICTIONARY(ID, CODE, NAME) values (4, 'PROC', 'К клирингу');
INSERT INTO INTEREST_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'FREE', 'Не требуется');
INSERT INTO INTEREST_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'RTND', 'Возвращены');
INSERT INTO INTEREST_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'DFLT', 'Не возвращены');
INSERT INTO WORKFLOW_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'ACTV', 'Активен');
INSERT INTO WORKFLOW_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'BLKD', 'Не активен');
@ -98,6 +130,8 @@ INSERT INTO SERVICE_STATUS_DICTIONARY(ID, CODE, NAME) values (4, 'CLOS', 'Зак
INSERT INTO SERVICE_STATUS_DICTIONARY(ID, CODE, NAME) values (5, 'ROPN', 'Возобновлен');
INSERT INTO STATEMENT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'FULL', 'Установка суммы');
INSERT INTO STATEMENT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'INCR', 'Изменение суммы');
INSERT INTO OPERATION_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'STMT', 'Расчетные операции');
@ -150,7 +184,7 @@ INSERT INTO MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY(ID, CODE, NAME) values (2, 'NO
INSERT INTO MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY(ID, CODE, NAME) values (3, 'DEL', 'Удалена');
INSERT INTO CONTACT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'ADRS', 'Адрес местонахождения');
INSERT INTO CONTACT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'ADRS', 'Адрес');
INSERT INTO CONTACT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'POST', 'Почтовый адрес');
@ -266,9 +300,9 @@ INSERT INTO USER_ROLE_DICTIONARY(ID, CODE, NAME) values (2, 'SPVS', 'Супер
INSERT INTO USER_ROLE_DICTIONARY(ID, CODE, NAME) values (3, 'SCRT', 'Администратор безопасности Клиринга МКР');
INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'CLRN', 'Торговый клиринговый счет');
INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'CLRN', 'Клиринговый счет');
INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'BANK', 'Текущий банковский счет');
INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'BANK', 'Банковский счет');
INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (3, 'USPD', 'Счет невыясненных поступлений');
@ -278,6 +312,10 @@ INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (5, 'INFO', 'Инфо
INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (6, 'PYER', 'Счет плательщика');
INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (7, 'ANLT', 'Аналитический счет');
INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (8, 'TRAN', 'Транзакционный счет');
INSERT INTO INSTRUMENT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'RATE', 'Инструмент Денежного рынка');
INSERT INTO INSTRUMENT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'CRNC', 'Валюты');
@ -292,189 +330,227 @@ INSERT INTO IN_OUT_S_DF_TYPE_DICTIONARY(ID, CODE, NAME) values (2, '1617', 'Вх
INSERT INTO IN_OUT_S_DF_TYPE_DICTIONARY(ID, CODE, NAME) values (3, '0910', 'Входящий ДФ-09/Исходящий ДФ-10');
INSERT INTO SESSION_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'ACTV', 'Сессия активна');
INSERT INTO SESSION_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'CLRN', 'Идет клиринг');
INSERT INTO SESSION_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'CLOS', 'Клиринг завершен');
INSERT INTO OBJECT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'STMT', 'STATEMENT');
INSERT INTO OBJECT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'VFRS', 'verificationResult');
INSERT INTO NOTIFICATION_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'PEND', 'В ожидании');
INSERT INTO NOTIFICATION_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'CNCL', 'Отменено');
INSERT INTO NOTIFICATION_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'ACPT', 'Принято');
INSERT INTO NOTIFICATION_STATUS_DICTIONARY(ID, CODE, NAME) values (4, 'READ', 'Прочтено');
INSERT INTO EVENT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'CRET', 'Создание');
INSERT INTO EVENT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'UPDT', 'Обновление');
INSERT INTO EVENT_TYPE_DICTIONARY(ID, CODE, NAME) values (3, 'DELT', 'Удаление');
INSERT INTO CURRENCY_CODE_DICTIONARY(ID, CODE, NAME) values (643, 'RUB', 'Российский рубль');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1000, '1000', 'Общая ошибка модуля securities_services.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1000, 'SECR', 'Общая ошибка модуля securities-service.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1001, '1001', 'Нет прав на проведение данной операции.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1001, 'SECR', 'Нет прав на проведение данной операции.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1002, '1002', 'Не заданы обязательные поля.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1002, 'SECR', 'Не заданы обязательные поля.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1003, '1003', 'Запись с указанным идентификатором в справочнике %s не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1003, 'SECR', 'Запись с указанным идентификатором в справочнике %s не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1004, '1004', 'Неверное значение поля %s.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1004, 'SECR', 'Неверное значение поля %s.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1005, '1005', 'Такая запись уже существует.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1005, 'SECR', 'Такая запись уже существует.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1006, '1006', 'Запись не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1006, 'SECR', 'Запись не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1007, '1007', 'Пользователь не найден.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1007, 'SECR', 'Пользователь не найден.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1008, '1008', 'Пользователь неактивен.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1008, 'SECR', 'Пользователь неактивен.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1010, '1010', 'Такой Инструмент уже существует.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1010, 'SECR', 'Такой Инструмент уже существует.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1011, '1011', 'Инструмент не найден.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1011, 'SECR', 'Инструмент не найден.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1012, '1012', 'Инструмент неактивен.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1012, 'SECR', 'Инструмент неактивен.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2000, '2000', 'Общая ошибка модуля utility_service');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2000, 'UTIL', 'Общая ошибка модуля utility-service.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2001, '2001', 'Нет прав на проведение данной операции.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2001, 'UTIL', 'Нет прав на проведение данной операции.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2002, '2002', 'Не заданы обязательные поля.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2002, 'UTIL', 'Не заданы обязательные поля.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2003, '2003', 'Запись с указанным идентификатором в справочнике %s не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2003, 'UTIL', 'Запись с указанным идентификатором в справочнике %s не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2004, '2004', 'Неверное значение поля %s.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2004, 'UTIL', 'Неверное значение поля %s.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2005, '2005', 'Такая запись уже существует.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2005, 'UTIL', 'Такая запись уже существует.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2006, '2006', 'Запись не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2006, 'UTIL', 'Запись не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3000, '3000', 'Общая ошибка модуля company_services');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3000, 'CMPN', 'Общая ошибка модуля company-service.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3001, '3001', 'Нет прав на проведение данной операции.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3001, 'CMPN', 'Нет прав на проведение данной операции.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3002, '3002', 'Не заданы обязательные поля.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3002, 'CMPN', 'Не заданы обязательные поля.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3003, '3003', 'Запись с указанным идентификатором в справочнике %s не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3003, 'CMPN', 'Запись с указанным идентификатором в справочнике %s не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3004, '3004', 'Неверное значение поля %s.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3004, 'CMPN', 'Неверное значение поля %s.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3005, '3005', 'Такая запись уже существует.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3005, 'CMPN', 'Такая запись уже существует.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3006, '3006', 'Запись не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3006, 'CMPN', 'Запись не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3010, '3010', 'Такая Компания уже существует');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3010, 'CMPN', 'Такая Компания уже существует');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3011, '3011', 'Компания не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3011, 'CMPN', 'Компания не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3012, '3012', 'Компания неактивна.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3012, 'CMPN', 'Компания неактивна.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3013, '3013', 'Профиль Компании не найден.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3013, 'CMPN', 'Профиль Компании не найден.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3014, '3014', 'Реквизит Компании не найден.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3014, 'CMPN', 'Реквизит Компании не найден.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3015, '3015', 'Контакт Компании не найден.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3015, 'CMPN', 'Контакт Компании не найден.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3016, '3016', 'Категория Компании не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3016, 'CMPN', 'Категория Компании не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3017, '3017', 'Компании уже присвоена Категория %s.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3017, 'CMPN', 'Компании уже присвоена Категория %s.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (4000, '4000', 'Общая ошибка модуля report_serivces');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3018, 'CMPN', 'У компании присутствуют обязательства');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5000, '5000', 'Общая ошибка модуля account_services');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (4000, 'RPRT', 'Общая ошибка модуля report-serivce.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5001, '5001', 'Нет прав на проведение данной операции.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5000, 'ACNT', 'Общая ошибка модуля account-service.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5002, '5002', 'Не заданы обязательные поля.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5001, 'ACNT', 'Нет прав на проведение данной операции.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5003, '5003', 'Запись с указанным идентификатором в справочнике %s не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5002, 'ACNT', 'Не заданы обязательные поля.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5004, '5004', 'Неверное значение поля %s.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5003, 'ACNT', 'Запись с указанным идентификатором в справочнике %s не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5005, '5005', 'Такая запись уже существует.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5004, 'ACNT', 'Неверное значение поля %s.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5006, '5006', 'Запись не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5005, 'ACNT', 'Такая запись уже существует.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5010, '5010', 'Счет %s уже существует.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5006, 'ACNT', 'Запись не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5011, '5011', 'Счет %s не найден.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5010, 'ACNT', 'Счет %s уже существует.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5012, '5012', 'Счет %s неактивен.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5011, 'ACNT', 'Счет %s не найден.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5013, '5013', 'Компания не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5012, 'ACNT', 'Счет %s неактивен.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5014, '5014', 'Компания неактивна.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5013, 'ACNT', 'Компания не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5200, '5200', 'Общая ошибка модуля balance_services');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5014, 'ACNT', 'Компания неактивна.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5210, '5210', 'Клиринговая сессия неактивна.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5200, 'BLNC', 'Общая ошибка модуля balance-service.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5211, '5211', 'Компания не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5210, 'BLNC', 'Клиринговая сессия неактивна.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5212, '5212', 'Компания неактивна.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5211, 'BLNC', 'Компания не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5213, '5213', 'Валюта не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5212, 'BLNC', 'Компания неактивна.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5214, '5214', 'Загрузка остатков возможна только на текущую дату.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5213, 'BLNC', 'Валюта не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5215, '5215', 'Загрузка остатков возможна только по рынку МКР.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5214, 'BLNC', 'Загрузка остатков возможна только на текущую дату.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5216, '5216', 'Загрузка остатков возможна только по собственным счетам.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5215, 'BLNC', 'Загрузка остатков возможна только по рынку МКР.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5217, '5217', 'Счет %s не найден.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5216, 'BLNC', 'Загрузка остатков возможна только по собственным счетам.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5218, '5218', 'Счет %s неактивен.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5217, 'BLNC', 'Счет %s не найден.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5219, '5219', 'Дозачисления/списания возможны только по рынку МКР.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5218, 'BLNC', 'Счет %s неактивен.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5220, '5220', 'Сумма списания превышает сумму средств на счете.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5219, 'BLNC', 'Дозачисления/списания возможны только по рынку МКР.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5221, '5221', 'Поступление средств возможно только по рынку МКР.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5220, 'BLNC', 'Сумма списания превышает сумму средств на счете.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5222, '5222', 'Сумма списания превышает сумму средств на счете.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5221, 'BLNC', 'Поступление средств возможно только по рынку МКР.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5400, '5400', 'Общая ошибка модуля проведения расчетов');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5222, 'BLNC', 'Сумма списания превышает сумму средств на счете.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5600, '5600', 'Общая ошибка модуля dbf-loader');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5400, 'CLRN', 'Общая ошибка модуля clearing-service.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5800, '5800', 'Общая ошибка модуля dbf-export');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5401, 'CLRN', 'Нет прав на проведение данной операции.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (6000, '6000', 'Общая ошибка модуля api-lk-company');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5402, 'CLRN', 'Не заданы обязательные поля.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7000, '7000', 'Общая ошибка модуля scheduler_service');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5403, 'CLRN', 'Запись с указанным идентификатором в справочнике %s не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7001, '7001', 'Нет прав на проведение данной операции.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5404, 'CLRN', 'Неверное значение поля %s.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7002, '7002', 'Не заданы обязательные поля.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5405, 'CLRN', 'Такая запись уже существует.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7003, '7003', 'Запись с указанным идентификатором в справочнике %s не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5406, 'CLRN', 'Запись не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7004, '7004', 'Неверное значение поля %s.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5407, 'CLRN', 'Пользователь не найден.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7005, '7005', 'Такая запись уже существует.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5408, 'CLRN', 'Пользователь неактивен.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7006, '7006', 'Запись не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5410, 'CLRN', 'Компания не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7010, '7010', 'Невозможно добавить задачу на прошедшую дату.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5411, 'CLRN', 'Компания неактивна.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7011, '7011', 'Невозможно добавить задачу на прошедшее время.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5412, 'CLRN', 'У компании %s не сошлась сумма кредит-проводок.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7012, '7012', 'Указанный в задаче нструмент не найден.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5413, 'CLRN', 'У компании %s не сошлась сумма дебет-проводок.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7013, '7013', 'Указанный инструмент неактивен.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5600, 'DBFI', 'Общая ошибка модуля dbf-importer.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7014, '7014', 'Указанная в задаче компания не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5800, 'DBFE', 'Общая ошибка модуля dbf-exporter.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7015, '7015', 'Указанная компания неактивна.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (6000, 'APIC', 'Общая ошибка модуля api-lk-company.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (8000, '8000', 'Общая ошибка модуля utility_service');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7000, 'SCHD', 'Общая ошибка модуля scheduler-service.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (8001, '8001', 'Нет прав на проведение данной операции.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7001, 'SCHD', 'Нет прав на проведение данной операции.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (8002, '8002', 'Не заданы обязательные поля.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7002, 'SCHD', 'Не заданы обязательные поля.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (8003, '8003', 'Запись с указанным идентификатором в справочнике %s не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7003, 'SCHD', 'Запись с указанным идентификатором в справочнике %s не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (8004, '8004', 'Неверное значение поля %s.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7004, 'SCHD', 'Неверное значение поля %s.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (8005, '8005', 'Такая запись уже существует.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7005, 'SCHD', 'Такая запись уже существует.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (8006, '8006', 'Запись не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7006, 'SCHD', 'Запись не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (9000, '9000', 'Ошибка проверки поля %s');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7010, 'SCHD', 'Невозможно добавить задачу на прошедшую дату.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (9001, '9001', 'Неопознанное значение json свойства %s');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7011, 'SCHD', 'Невозможно добавить задачу на прошедшее время.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (9002, '9002', 'Не удалось обработать http сообщение');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7012, 'SCHD', 'Указанный в задаче нструмент не найден.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (9003, '9003', 'Keycloak роли содержат дубликаты');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7013, 'SCHD', 'Указанный инструмент неактивен.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (9004, '9004', 'Не может обнаружитьт словарь %s');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7014, 'SCHD', 'Указанная в задаче компания не найдена.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (9005, '9005', 'Не найдено ресурс %s');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7015, 'SCHD', 'Указанная компания неактивна.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (8000, 'CNTR', 'Общая ошибка модуля control-service.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (9000, 'BAPI', 'Ошибка проверки поля %s.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (9001, 'BAPI', 'Неопознанное значение json свойства %s.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (9002, 'BAPI', 'Не удалось обработать http сообщение.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (9003, 'BAPI', 'Keycloak роли содержат дубликаты.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (9004, 'BAPI', 'Не может обнаружитьт словарь %s.');
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (9005, 'BAPI', 'Не найдено ресурс %s.');
/* Business objects */

File diff suppressed because it is too large Load diff

View file

@ -18,7 +18,7 @@ public class S_DF10_Converter extends DFConverter<SDf10> {
values.add(typeMatch(entity.getMarket()));
values.add(typeMatch(entity.getType()));
values.add(typeMatch(entity.getNumber()));
values.add(typeMatch(entity.getINN()));
values.add(typeMatch(entity.getInn()));
values.add(typeMatch(entity.getResult()));
return values.toArray(Object[]::new);
}

View file

@ -17,9 +17,9 @@ public class S_DF17_Converter extends DFConverter<SDf17> {
values.add(typeMatch(entity.getSum()));
values.add(typeMatch(entity.getMarket()));
values.add(typeMatch(entity.getType()));
values.add(typeMatch(entity.getINN()));
values.add(typeMatch(entity.getBIC()));
values.add(typeMatch(entity.getSPEC()));
values.add(typeMatch(entity.getInn()));
values.add(typeMatch(entity.getBic()));
values.add(typeMatch(entity.getSpec()));
values.add(typeMatch(entity.getNumber()));
values.add(typeMatch(entity.getResult()));
return values.toArray(Object[]::new);

View file

@ -9,7 +9,7 @@ export-dbf-service.hazelcast.password=dev-pass
export-dbf-service.common.encoding=cp866
export-dbf-service.common.threads-count=10
export-dbf-service.store.out-dir=/opt/clearing/file/exporter/
export-dbf-service.store.out-dir=d:\\trash\\clearing\\exporter\\out\\
export-dbf-service.kafka-consumer.bootstrap-servers=localhost:9092
export-dbf-service.kafka-consumer.group-id=dev-group-balance-service

View file

@ -1,12 +0,0 @@
package ru.clearing.platform.dictionary;
/**
* Справочник статусов возваращения процентов
* <p>
* Dictionary DB table: INTEREST_STATUS_DICTIONARY
**/
public class InterestStatusDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -28,7 +28,7 @@ public class InformationAccountHistoryMapStore extends TemplateEventMapStore<Inf
@Override
public String[] getFields() {
return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID",
"INFORMATION_ACCOUNT_ID", "ACCOUNT_ID", "CLEARING_ACCOUNT_ID"
"INFORMATION_ACCOUNT_ID", "ACCOUNT_ID", "CLEARING_ACCOUNT_ID", "COMPANY_ID"
};
}
@ -42,7 +42,8 @@ public class InformationAccountHistoryMapStore extends TemplateEventMapStore<Inf
object.getId(),
object.getAccountId(),
object.getClearingAccountId()
object.getClearingAccountId(),
object.getCompanyId()
};
return args;
}

View file

@ -28,7 +28,7 @@ public class UserConnectHistoryMapStore extends TemplateEventMapStore<UserConnec
@Override
public String[] getFields() {
return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID",
"USER_CONNECT_ID", "CREATED_AT", "UPDATED_AT", "USER_ID", "CONNECTION_TIME", "DISCONNECTION_TIME", "SERVER_I_P", "CLIENT_I_P", "CONNECTION_STATE", "CLEARING_DATE", "ERROR_CODE", "ERROR_TEXT"
"USER_CONNECT_ID", "CREATED_AT", "UPDATED_AT", "USER_ID", "CONNECTION_TIME", "DISCONNECTION_TIME", "SERVER_IP", "CLIENT_IP", "CONNECTION_STATE", "CLEARING_DATE", "ERROR_CODE", "ERROR_TEXT"
};
}
@ -46,8 +46,8 @@ public class UserConnectHistoryMapStore extends TemplateEventMapStore<UserConnec
object.getUserId(),
TimeUtil.toDateFromInstant(object.getConnectionTime()),
TimeUtil.toDateFromInstant(object.getDisconnectionTime()),
object.getServerIP(),
object.getClientIP(),
object.getServerIp(),
object.getClientIp(),
object.getConnectionState(),
TimeUtil.toDateFromLocalDate(object.getClearingDate()),
object.getErrorCode(),

View file

@ -30,7 +30,7 @@ public class AccountMapStore extends TemplateMapStore<Account> {
@Override
public String[] getFields() {
return new String[]{
"ID", "CREATED_AT", "UPDATED_AT", "ACCOUNT", "ACCOUNT_TYPE", "RELATION_ID", "ACCOUNT_STATUS", "PROCESSING_SIGN"
"ID", "CREATED_AT", "UPDATED_AT", "ACCOUNT", "ACCOUNT_TYPE", "RELATION_ID", "ACCOUNT_STATUS", "PROCESSING_SIGN", "COMPANY_ID"
};
}
@ -45,6 +45,7 @@ public class AccountMapStore extends TemplateMapStore<Account> {
object.setRelationId(resultSet.getObject("RELATION_ID", Long.class));
object.setAccountStatus(resultSet.getObject("ACCOUNT_STATUS", String.class));
object.setProcessingSign(resultSet.getObject("PROCESSING_SIGN", String.class));
object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class));
return object;
}
@ -58,7 +59,8 @@ public class AccountMapStore extends TemplateMapStore<Account> {
object.getAccountType(),
object.getRelationId(),
object.getAccountStatus(),
object.getProcessingSign()
object.getProcessingSign(),
object.getCompanyId()
};
return args;
}

View file

@ -30,7 +30,7 @@ public class PlannerMapStore extends TemplateMapStore<Planner> {
@Override
public String[] getFields() {
return new String[]{
"ID", "CREATED_AT", "UPDATED_AT", "TASK", "TASK_TIME", "CLEARING_DATE", "MARKET", "TASK_STATUS", "SECURITY_ID"
"ID", "CREATED_AT", "UPDATED_AT", "TASK", "TASK_TIME", "CLEARING_DATE", "MARKET", "TASK_STATUS", "COMPANY_ID", "SECURITY_ID"
};
}
@ -45,6 +45,7 @@ public class PlannerMapStore extends TemplateMapStore<Planner> {
object.setClearingDate(getLocalDateFromSqlDate(resultSet, "CLEARING_DATE"));
object.setMarket(resultSet.getObject("MARKET", String.class));
object.setTaskStatus(resultSet.getObject("TASK_STATUS", String.class));
object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class));
object.setSecurityId(resultSet.getObject("SECURITY_ID", Long.class));
return object;
}
@ -60,6 +61,7 @@ public class PlannerMapStore extends TemplateMapStore<Planner> {
TimeUtil.toDateFromLocalDate(object.getClearingDate()),
object.getMarket(),
object.getTaskStatus(),
object.getCompanyId(),
object.getSecurityId()
};
return args;

View file

@ -30,7 +30,7 @@ public class PlannerTemplateMapStore extends TemplateMapStore<PlannerTemplate> {
@Override
public String[] getFields() {
return new String[]{
"ID", "CREATED_AT", "UPDATED_AT", "TASK", "TASK_TIME", "TASK_STATUS"
"ID", "CREATED_AT", "UPDATED_AT", "TASK", "TASK_TIME", "TASK_STATUS", "COMPANY_ID", "SECURITY_ID"
};
}
@ -43,6 +43,8 @@ public class PlannerTemplateMapStore extends TemplateMapStore<PlannerTemplate> {
object.setTask(resultSet.getObject("TASK", String.class));
object.setTaskTime(getLocalTimeFromSqlTime(resultSet, "TASK_TIME"));
object.setTaskStatus(resultSet.getObject("TASK_STATUS", String.class));
object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class));
object.setSecurityId(resultSet.getObject("SECURITY_ID", Long.class));
return object;
}
@ -54,7 +56,9 @@ public class PlannerTemplateMapStore extends TemplateMapStore<PlannerTemplate> {
TimeUtil.toDateFromInstant(object.getUpdated()),
object.getTask(),
TimeUtil.toDateFromLocalTime(object.getTaskTime()),
object.getTaskStatus()
object.getTaskStatus(),
object.getCompanyId(),
object.getSecurityId()
};
return args;
}

View file

@ -30,7 +30,7 @@ public class UserConnectMapStore extends TemplateMapStore<UserConnect> {
@Override
public String[] getFields() {
return new String[]{
"ID", "CREATED_AT", "UPDATED_AT", "USER_ID", "CONNECTION_TIME", "DISCONNECTION_TIME", "SERVER_I_P", "CLIENT_I_P", "CONNECTION_STATE", "CLEARING_DATE", "ERROR_CODE", "ERROR_TEXT"
"ID", "CREATED_AT", "UPDATED_AT", "USER_ID", "CONNECTION_TIME", "DISCONNECTION_TIME", "SERVER_IP", "CLIENT_IP", "CONNECTION_STATE", "CLEARING_DATE", "ERROR_CODE", "ERROR_TEXT"
};
}
@ -43,8 +43,8 @@ public class UserConnectMapStore extends TemplateMapStore<UserConnect> {
object.setUserId(resultSet.getObject("USER_ID", Long.class));
object.setConnectionTime(getInstantFromTimestamp(resultSet, "CONNECTION_TIME"));
object.setDisconnectionTime(getInstantFromTimestamp(resultSet, "DISCONNECTION_TIME"));
object.setServerIP(resultSet.getObject("SERVER_I_P", String.class));
object.setClientIP(resultSet.getObject("CLIENT_I_P", String.class));
object.setServerIp(resultSet.getObject("SERVER_IP", String.class));
object.setClientIp(resultSet.getObject("CLIENT_IP", String.class));
object.setConnectionState(resultSet.getObject("CONNECTION_STATE", String.class));
object.setClearingDate(getLocalDateFromSqlDate(resultSet, "CLEARING_DATE"));
object.setErrorCode(resultSet.getObject("ERROR_CODE", Long.class));
@ -61,8 +61,8 @@ public class UserConnectMapStore extends TemplateMapStore<UserConnect> {
object.getUserId(),
TimeUtil.toDateFromInstant(object.getConnectionTime()),
TimeUtil.toDateFromInstant(object.getDisconnectionTime()),
object.getServerIP(),
object.getClientIP(),
object.getServerIp(),
object.getClientIp(),
object.getConnectionState(),
TimeUtil.toDateFromLocalDate(object.getClearingDate()),
object.getErrorCode(),

View file

@ -1,31 +0,0 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.InterestStatusDictionary;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
@Component
public class InterestStatusDictionaryMapStore extends DictionaryTMapStore<InterestStatusDictionary> {
public InterestStatusDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_InterestStatusDictionary;
}
@Override
public String getTableName() {
return "INTEREST_STATUS_DICTIONARY";
}
@Override
public InterestStatusDictionary getDictionaryObject() {
return new InterestStatusDictionary();
}
}

View file

@ -29,7 +29,7 @@ public class BankAccountMapStore extends TemplateMapStore<BankAccount> {
@Override
public String[] getFields() {
return new String[]{
"ID", "ACCOUNT_ID", "BANK_IDENTIFICATION_CODE", "BANK_NAME", "CORRESPONDENT_ACCOUNT", "CORRESPONDENT_ACCOUNT_NAME", "CURRENCY", "DESTINATION", "IBAN", "INTERNATIONAL_TRANSFER_SIGN", "SWIFT_CODE", "TAXPAYER_IDENTIFICATION_NUMBER", "TAX_REGISTRATION_REASON_CODE"
"ID", "ACCOUNT_ID", "BANK_IDENTIFICATION_CODE", "BANK_NAME", "CORRESPONDENT_ACCOUNT", "CORRESPONDENT_ACCOUNT_NAME", "CURRENCY", "DESTINATION", "IBAN", "INTERNATIONAL_TRANSFER_SIGN", "SWIFT_CODE", "TAXPAYER_IDENTIFICATION_NUMBER", "TAX_REGISTRATION_REASON_CODE", "ACCOUNT", "COMPANY_ID"
};
}
@ -49,6 +49,8 @@ public class BankAccountMapStore extends TemplateMapStore<BankAccount> {
object.setSwiftCode(resultSet.getObject("SWIFT_CODE", String.class));
object.setTaxpayerIdentificationNumber(resultSet.getObject("TAXPAYER_IDENTIFICATION_NUMBER", String.class));
object.setTaxRegistrationReasonCode(resultSet.getObject("TAX_REGISTRATION_REASON_CODE", String.class));
object.setAccount(resultSet.getObject("ACCOUNT", String.class));
object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class));
return object;
}
@ -68,6 +70,8 @@ public class BankAccountMapStore extends TemplateMapStore<BankAccount> {
object.getSwiftCode(),
object.getTaxpayerIdentificationNumber(),
object.getTaxRegistrationReasonCode(),
object.getAccount(),
object.getCompanyId(),
};
return args;
}

View file

@ -29,7 +29,7 @@ public class InformationAccountMapStore extends TemplateMapStore<InformationAcco
@Override
public String[] getFields() {
return new String[]{
"ID", "ACCOUNT_ID", "CLEARING_ACCOUNT_ID"
"ID", "ACCOUNT_ID", "CLEARING_ACCOUNT_ID", "COMPANY_ID"
};
}
@ -39,6 +39,7 @@ public class InformationAccountMapStore extends TemplateMapStore<InformationAcco
object.setId(resultSet.getObject("ID", Long.class));
object.setAccountId(resultSet.getObject("ACCOUNT_ID", Long.class));
object.setClearingAccountId(resultSet.getObject("CLEARING_ACCOUNT_ID", Long.class));
object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class));
return object;
}
@ -47,7 +48,8 @@ public class InformationAccountMapStore extends TemplateMapStore<InformationAcco
Object[] args = new Object[]{
object.getId(),
object.getAccountId(),
object.getClearingAccountId()
object.getClearingAccountId(),
object.getCompanyId()
};
return args;
}

View file

@ -29,7 +29,7 @@ public class PaymentInstructionMapStore extends TemplateMapStore<PaymentInstruct
@Override
public String[] getFields() {
return new String[]{"id", "created_at", "updated_at", "sender_id", "addressee_id", "adressee_b_i_c", "payee_bank_name", "payee_b_i_c", "addressee_bank_name", "payment_date",
return new String[]{"id", "created_at", "updated_at", "sender_id", "addressee_id", "adressee_bic", "payee_bank_name", "payee_bic", "addressee_bank_name", "payment_date",
"payment_purpose", "settlement_date", "credit_leg_amount", "debit_leg_amount", "credit_leg_account_id", "credit_cs_account", "credit_leg_account", "debit_leg_account_id",
"debit_cs_account", "debit_leg_account", "credit_leg_direction", "debit_leg_direction", "credit_leg_currency_code", "debit_leg_currency_code", "clearing_date", "transaction_status", "document_number"};
}
@ -42,9 +42,9 @@ public class PaymentInstructionMapStore extends TemplateMapStore<PaymentInstruct
paymentInstruction.setUpdated(getInstantFromTimestamp(resultSet, "updated_at"));
paymentInstruction.setSenderId(resultSet.getLong("sender_id"));
paymentInstruction.setAddresseeId(resultSet.getLong("addressee_id"));
paymentInstruction.setAdresseeBIC(resultSet.getString("adressee_b_i_c"));
paymentInstruction.setAdresseeBic(resultSet.getString("adressee_bic"));
paymentInstruction.setPayeeBankName(resultSet.getString("payee_bank_name"));
paymentInstruction.setPayeeBIC(resultSet.getString("payee_b_i_c"));
paymentInstruction.setPayeeBic(resultSet.getString("payee_bic"));
paymentInstruction.setAddresseeBankName(resultSet.getString("addressee_bank_name"));
paymentInstruction.setPaymentDate(getInstantFromTimestamp(resultSet, "payment_date"));
paymentInstruction.setPaymentPurpose(resultSet.getString("payment_purpose"));
@ -75,9 +75,9 @@ public class PaymentInstructionMapStore extends TemplateMapStore<PaymentInstruct
TimeUtil.toDateFromInstant(paymentInstruction.getUpdated()),
paymentInstruction.getSenderId(),
paymentInstruction.getAddresseeId(),
paymentInstruction.getAdresseeBIC(),
paymentInstruction.getAdresseeBic(),
paymentInstruction.getPayeeBankName(),
paymentInstruction.getPayeeBIC(),
paymentInstruction.getPayeeBic(),
paymentInstruction.getAddresseeBankName(),
TimeUtil.toDateFromInstant(paymentInstruction.getPaymentDate()),
paymentInstruction.getPaymentPurpose(),

View file

@ -30,7 +30,7 @@ public class PlannerAllTodayMapStore extends TemplateMapStore<PlannerAllToday> {
@Override
public String[] getFields() {
return new String[]{
"ID", "TASK", "TASK_TIME", "CLEARING_DATE", "MARKET", "TASK_STATUS", "SECURITY_ID", "PARENT", "PARENT_ID"
"ID", "TASK", "TASK_TIME", "CLEARING_DATE", "MARKET", "TASK_STATUS", "COMPANY_ID", "SECURITY_ID", "PARENT", "PARENT_ID"
};
}
@ -43,6 +43,7 @@ public class PlannerAllTodayMapStore extends TemplateMapStore<PlannerAllToday> {
object.setClearingDate(getLocalDateFromSqlDate(resultSet, "CLEARING_DATE"));
object.setMarket(resultSet.getObject("MARKET", String.class));
object.setTaskStatus(resultSet.getObject("TASK_STATUS", String.class));
object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class));
object.setSecurityId(resultSet.getObject("SECURITY_ID", Long.class));
object.setParent(resultSet.getObject("PARENT", String.class));
object.setParentId(resultSet.getObject("PARENT_ID", Long.class));
@ -58,6 +59,7 @@ public class PlannerAllTodayMapStore extends TemplateMapStore<PlannerAllToday> {
TimeUtil.toDateFromLocalDate(object.getClearingDate()),
object.getMarket(),
object.getTaskStatus(),
object.getCompanyId(),
object.getSecurityId(),
object.getParent(),
object.getParentId()

View file

@ -7,7 +7,6 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.imdg.base.TemplateMapStore;
import ru.spcex.platform.utils.time.TimeUtil;
import java.math.BigDecimal;
import java.sql.ResultSet;
import java.sql.SQLException;
@ -39,8 +38,8 @@ public class SDf08MapStore extends TemplateMapStore<SDf08> {
public SDf08 objectReader(ResultSet resultSet) throws SQLException {
SDf08 object = new SDf08();
object.setId(resultSet.getObject("ID", Long.class));
object.setNumber(resultSet.getObject("NUMBER", BigDecimal.class));
object.setDatetime(getInstantFromTimestamp(resultSet, "DATETIME"));
object.setNumber(resultSet.getObject("NUMBER", String.class));
object.setDatetime(resultSet.getObject("DATETIME", String.class));
object.setGenerationTime(getInstantFromTimestamp(resultSet, "GENERATION_TIME"));
object.setGenerationId(resultSet.getObject("GENERATION_ID", Long.class));
return object;
@ -51,7 +50,7 @@ public class SDf08MapStore extends TemplateMapStore<SDf08> {
Object[] args = new Object[]{
object.getId(),
object.getNumber(),
TimeUtil.toDateFromInstant(object.getDatetime()),
object.getDatetime(),
TimeUtil.toDateFromInstant(object.getGenerationTime()),
object.getGenerationId()
};

View file

@ -31,7 +31,7 @@ public class SDf09MapStore extends TemplateMapStore<SDf09> {
@Override
public String[] getFields() {
return new String[]{
"ID", "ACCOUNT", "SUM", "MARKET", "TYPE", "NUMBER", "_I_N_N", "FILE_NAME", "GENERATION_TIME",
"ID", "ACCOUNT", "SUM", "MARKET", "TYPE", "NUMBER", "INN", "FILE_NAME", "GENERATION_TIME",
"GENERATION_ID"
};
}
@ -45,7 +45,7 @@ public class SDf09MapStore extends TemplateMapStore<SDf09> {
object.setMarket(resultSet.getString("MARKET"));
object.setType(resultSet.getString("TYPE"));
object.setNumber(resultSet.getObject("NUMBER", BigDecimal.class));
object.setInn(resultSet.getObject("_I_N_N", BigDecimal.class));
object.setInn(resultSet.getObject("INN", BigDecimal.class));
object.setFileName(resultSet.getString("FILE_NAME"));
object.setGenerationTime(getInstantFromTimestamp(resultSet, "GENERATION_TIME"));
object.setGenerationId(resultSet.getObject("GENERATION_ID", Long.class));

View file

@ -31,7 +31,7 @@ public class SDf10MapStore extends TemplateMapStore<SDf10> {
@Override
public String[] getFields() {
return new String[]{
"ID", "ACCOUNT", "SUM", "MARKET", "TYPE", "NUMBER", "_I_N_N",
"ID", "ACCOUNT", "SUM", "MARKET", "TYPE", "NUMBER", "INN",
"RESULT", "GENERATION_TIME", "GENERATION_ID", "IN_S_DF09_ID"
};
}
@ -45,7 +45,7 @@ public class SDf10MapStore extends TemplateMapStore<SDf10> {
object.setMarket(resultSet.getObject("MARKET", String.class));
object.setType(resultSet.getObject("TYPE", String.class));
object.setNumber(resultSet.getObject("NUMBER", BigDecimal.class));
object.setINN(resultSet.getObject("_I_N_N", BigDecimal.class));
object.setInn(resultSet.getObject("INN", BigDecimal.class));
object.setResult(resultSet.getObject("RESULT", String.class));
object.setGenerationTime(getInstantFromTimestamp(resultSet, "GENERATION_TIME"));
object.setGenerationId(resultSet.getObject("GENERATION_ID", Long.class));
@ -62,7 +62,7 @@ public class SDf10MapStore extends TemplateMapStore<SDf10> {
object.getMarket(),
object.getType(),
object.getNumber(),
object.getINN(),
object.getInn(),
object.getResult(),
TimeUtil.toDateFromInstant(object.getGenerationTime()),
object.getGenerationId(),

View file

@ -31,7 +31,7 @@ public class SDf16MapStore extends TemplateMapStore<SDf16> {
@Override
public String[] getFields() {
return new String[]{
"ID", "ACCOUNT", "SUM", "MARKET", "TYPE", "_I_N_N", "_B_I_C", "_S_P_E_C", "NUMBER", "FILE_NAME", "GENERATION_TIME", "GENERATION_ID"
"ID", "ACCOUNT", "SUM", "MARKET", "TYPE", "INN", "BIC", "SPEC", "NUMBER", "FILE_NAME", "GENERATION_TIME", "GENERATION_ID"
};
}
@ -43,9 +43,9 @@ public class SDf16MapStore extends TemplateMapStore<SDf16> {
object.setSum(resultSet.getObject("SUM", BigDecimal.class));
object.setMarket(resultSet.getObject("MARKET", String.class));
object.setType(resultSet.getObject("TYPE", String.class));
object.setInn(resultSet.getObject("_I_N_N", BigDecimal.class));
object.setBic(resultSet.getObject("_B_I_C", BigDecimal.class));
object.setSpec(resultSet.getObject("_S_P_E_C", String.class));
object.setInn(resultSet.getObject("INN", BigDecimal.class));
object.setBic(resultSet.getObject("BIC", BigDecimal.class));
object.setSpec(resultSet.getObject("SPEC", String.class));
object.setNumber(resultSet.getObject("NUMBER", BigDecimal.class));
object.setFileName(resultSet.getObject("FILE_NAME", String.class));
object.setGenerationTime(getInstantFromTimestamp(resultSet, "GENERATION_TIME"));

View file

@ -31,7 +31,7 @@ public class SDf17MapStore extends TemplateMapStore<SDf17> {
@Override
public String[] getFields() {
return new String[]{
"ID", "ACCOUNT", "SUM", "MARKET", "TYPE", "_I_N_N", "_B_I_C", "_S_P_E_C", "NUMBER", "RESULT", "GENERATION_TIME", "GENERATION_ID", "IN_S_DF16_ID"
"ID", "ACCOUNT", "SUM", "MARKET", "TYPE", "INN", "BIC", "SPEC", "NUMBER", "RESULT", "GENERATION_TIME", "GENERATION_ID", "IN_S_DF16_ID"
};
}
@ -43,9 +43,9 @@ public class SDf17MapStore extends TemplateMapStore<SDf17> {
object.setSum(resultSet.getObject("SUM", BigDecimal.class));
object.setMarket(resultSet.getObject("MARKET", String.class));
object.setType(resultSet.getObject("TYPE", String.class));
object.setINN(resultSet.getObject("_I_N_N", BigDecimal.class));
object.setBIC(resultSet.getObject("_B_I_C", BigDecimal.class));
object.setSPEC(resultSet.getObject("_S_P_E_C", String.class));
object.setInn(resultSet.getObject("INN", BigDecimal.class));
object.setBic(resultSet.getObject("BIC", BigDecimal.class));
object.setSpec(resultSet.getObject("SPEC", String.class));
object.setNumber(resultSet.getObject("NUMBER", BigDecimal.class));
object.setResult(resultSet.getObject("RESULT", Integer.class));
object.setGenerationTime(getInstantFromTimestamp(resultSet, "GENERATION_TIME"));
@ -62,9 +62,9 @@ public class SDf17MapStore extends TemplateMapStore<SDf17> {
object.getSum(),
object.getMarket(),
object.getType(),
object.getINN(),
object.getBIC(),
object.getSPEC(),
object.getInn(),
object.getBic(),
object.getSpec(),
object.getNumber(),
object.getResult(),
TimeUtil.toDateFromInstant(object.getGenerationTime()),

View file

@ -93,6 +93,7 @@ public class Util {
res.setClearingDate(planner.getClearingDate());
res.setMarket(planner.getMarket());
res.setTaskStatus(planner.getTaskStatus());
res.setCompanyId(planner.getCompanyId());
res.setSecurityId(planner.getSecurityId());
res.setParent("PLNR");
res.setParentId(planner.getId());

View file

@ -95,7 +95,6 @@ public class RunnableMapNamesForTesting {
dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_ErrorCodeDictionary, ErrorCodeDictionary.class));
dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_InOutDirectionDictionary, InOutDirectionDictionary.class));
dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_InstrumentTypeDictionary, InstrumentTypeDictionary.class));
dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_InterestStatusDictionary, InterestStatusDictionary.class));
dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_LegalKindDictionary, LegalKindDictionary.class));
dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_ManagementJournalPurposeDictionary, ManagementJournalPurposeDictionary.class));
dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_ManagementJournalStatusDictionary, ManagementJournalStatusDictionary.class));

View file

@ -18,6 +18,8 @@ import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import java.time.Instant;
@Service
public class PlannerService extends QueueConsumer implements InitializingBean {
private final Logger log = LoggerFactory.getLogger(getClass());
@ -48,11 +50,13 @@ public class PlannerService extends QueueConsumer implements InitializingBean {
PlannerNewRequest req = userRequest.getRequestPayload();
log.debug("PlannerNewRequest received");
Planner planner = new Planner();
planner.setCreated(Instant.now());
planner.setTask(req.getTask());
planner.setTaskTime(req.getTaskTime());
planner.setClearingDate(req.getClearingDate());
planner.setMarket(req.getMarket());
planner.setTaskStatus(req.getTaskStatus());
planner.setCompanyId(req.getCompanyId());
planner.setSecurityId(req.getSecurityId());
plannerMap.insert(planner);
log.debug("successfully processed, new id {}", planner.getId());
@ -62,11 +66,13 @@ public class PlannerService extends QueueConsumer implements InitializingBean {
PlannerUpdateRequest req = userRequest.getRequestPayload();
log.debug("PlannerUpdateRequest received id = {}", req.getId());
Planner planner = plannerMap.getSingleObjectByID(req.getId());
planner.setUpdated(Instant.now());
planner.setTask(req.getTask());
planner.setTaskTime(req.getTaskTime());
planner.setClearingDate(req.getClearingDate());
planner.setMarket(req.getMarket());
planner.setTaskStatus(req.getTaskStatus());
planner.setCompanyId(req.getCompanyId());
planner.setSecurityId(req.getSecurityId());
plannerMap.update(planner);
}

View file

@ -18,6 +18,8 @@ import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import java.time.Instant;
@Service
public class PlannerTemplateService extends QueueConsumer implements InitializingBean {
private final Logger log = LoggerFactory.getLogger(getClass());
@ -48,9 +50,12 @@ public class PlannerTemplateService extends QueueConsumer implements Initializin
PlannerTemplateNewRequest req = userRequest.getRequestPayload();
log.debug("PlannerTemplateNewRequest received");
PlannerTemplate plannerTemplate = new PlannerTemplate();
plannerTemplate.setCreated(Instant.now());
plannerTemplate.setTask(req.getTask());
plannerTemplate.setTaskTime(req.getTaskTime());
plannerTemplate.setTaskStatus(req.getTaskStatus());
plannerTemplate.setCompanyId(req.getCompanyId());
plannerTemplate.setSecurityId(req.getSecurityId());
plannerTemplateMap.insert(plannerTemplate);
log.debug("successfully processed, new id {}", plannerTemplate.getId());
}
@ -59,9 +64,12 @@ public class PlannerTemplateService extends QueueConsumer implements Initializin
PlannerTemplateUpdateRequest req = userRequest.getRequestPayload();
log.debug("PlannerTemplateUpdateRequest received");
PlannerTemplate plannerTemplate = plannerTemplateMap.getSingleObjectByID(req.getId());
plannerTemplate.setUpdated(Instant.now());
plannerTemplate.setTask(req.getTask());
plannerTemplate.setTaskTime(req.getTaskTime());
plannerTemplate.setTaskStatus(req.getTaskStatus());
plannerTemplate.setCompanyId(req.getCompanyId());
plannerTemplate.setSecurityId(req.getSecurityId());
plannerTemplateMap.update(plannerTemplate);
log.debug("successfully processed, new id {}", plannerTemplate.getId());
}

View file

@ -184,8 +184,8 @@ public class UserService extends QueueConsumer implements InitializingBean {
userConnect.setUpdated(time);
}
userConnect.setConnectionTime(time);
userConnect.setServerIP(serverIp);
userConnect.setClientIP(clientIp);
userConnect.setServerIp(serverIp);
userConnect.setClientIp(clientIp);
userConnect.setConnectionState(ConnectionState.Connected.getKey());
userConnect.setClearingDate(LocalDate.now());
if (isNew) {

View file

@ -58,7 +58,6 @@ public final class IMDGDistributedNames {
public static final String Map_SDf09 = "Map_SDf09";
public static final String Map_SDf12 = "Map_SDf12";
public static final String Map_SDf18 = "Map_SDf18";
public static final String Map_InterestStatusDictionary = "Map_InterestStatusDictionary";
public static final String Map_AllowedDictionary = "Map_AllowedDictionary";
public static final String Map_ClearingCategoryDictionary = "Map_ClearingMemberCategoryDictionary";
public static final String Map_CompanyRoleDictionary = "Map_CompanyRoleDictionary";

View file

@ -1,8 +1,9 @@
package ru.spcex.clearing.platform.messaging.domain.cud.common;
import com.fasterxml.jackson.annotation.JsonProperty;
import ru.spcex.platform.classes.base.interfaces.WithId;
public class CommonDeleteRequest {
public class CommonDeleteRequest implements WithId {
@JsonProperty
public Long id;

View file

@ -32,6 +32,9 @@ public class PlannerNewRequest {
@JsonProperty
public String taskStatus;
@JsonProperty
public Long companyId;
@JsonProperty
public Long securityId;
@ -82,4 +85,12 @@ public class PlannerNewRequest {
public void setSecurityId(Long securityId) {
this.securityId = securityId;
}
public Long getCompanyId() {
return companyId;
}
public void setCompanyId(Long companyId) {
this.companyId = companyId;
}
}

View file

@ -18,6 +18,10 @@ public class PlannerTemplateNewRequest {
public LocalTime taskTime;
@JsonProperty
public String taskStatus;
@JsonProperty
public Long companyId;
@JsonProperty
public Long securityId;
public String getTask() {
return task;
@ -42,4 +46,20 @@ public class PlannerTemplateNewRequest {
public void setTaskStatus(String taskStatus) {
this.taskStatus = taskStatus;
}
public Long getCompanyId() {
return companyId;
}
public void setCompanyId(Long companyId) {
this.companyId = companyId;
}
public Long getSecurityId() {
return securityId;
}
public void setSecurityId(Long securityId) {
this.securityId = securityId;
}
}

View file

@ -21,6 +21,10 @@ public class PlannerTemplateUpdateRequest {
public LocalTime taskTime;
@JsonProperty
public String taskStatus;
@JsonProperty
public Long companyId;
@JsonProperty
public Long securityId;
public String getTask() {
return task;
@ -53,4 +57,20 @@ public class PlannerTemplateUpdateRequest {
public void setId(Long id) {
this.id = id;
}
public Long getCompanyId() {
return companyId;
}
public void setCompanyId(Long companyId) {
this.companyId = companyId;
}
public Long getSecurityId() {
return securityId;
}
public void setSecurityId(Long securityId) {
this.securityId = securityId;
}
}

View file

@ -30,6 +30,8 @@ public class PlannerUpdateRequest {
@JsonProperty
public String taskStatus;
@JsonProperty
public Long companyId;
@JsonProperty
public Long securityId;
public Long getId() {
@ -87,4 +89,12 @@ public class PlannerUpdateRequest {
public void setSecurityId(Long securityId) {
this.securityId = securityId;
}
public Long getCompanyId() {
return companyId;
}
public void setCompanyId(Long companyId) {
this.companyId = companyId;
}
}

View file

@ -7,11 +7,12 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.LocalDateDeserializer;
import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalDateSerializer;
import ru.spcex.platform.classes.base.interfaces.WithEndDt;
import ru.spcex.platform.classes.base.interfaces.WithId;
import ru.spcex.platform.classes.base.interfaces.WithStartDt;
import java.time.LocalDate;
public class MoneyMarketSecurityUpdateRequest implements WithStartDt, WithEndDt {
public class MoneyMarketSecurityUpdateRequest implements WithId, WithStartDt, WithEndDt {
@JsonProperty
public Long id;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Europe/Moscow")

View file

@ -2,6 +2,7 @@ package ru.spcex.clearing.platform.messaging.domain.cud.utilities;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonRawValue;
import com.fasterxml.jackson.databind.JsonNode;
public class UserSettingsUpdateRequest {
@JsonProperty
@ -11,6 +12,11 @@ public class UserSettingsUpdateRequest {
@JsonRawValue
public String json;
@JsonProperty("json")
public void unpackRawJson(JsonNode json) {
this.json = json.toString();
}
public Long getUserId() {
return userId;
}