Merge branch 'dev' into cls-265
This commit is contained in:
commit
bf82612485
118 changed files with 15766 additions and 8340 deletions
|
|
@ -20,4 +20,15 @@ public class AbstractQueueController {
|
|||
responseToClient.setMessage("success");
|
||||
return responseToClient;
|
||||
}
|
||||
|
||||
/**
|
||||
* Для оптимизации передачи userId
|
||||
*/
|
||||
protected <T> CudResponse processRequest(String destination, IAction<T> iAction, Long userId) throws ExecutionException, InterruptedException {
|
||||
CudResponse responseToClient = new CudResponse();
|
||||
responseToClient.setPayload(operator.sendRequestToQueue(destination, iAction, userId));
|
||||
responseToClient.setCode(0);
|
||||
responseToClient.setMessage("success");
|
||||
return responseToClient;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
@Deprecated
|
||||
@Controller
|
||||
@RequestMapping("/account-balances")
|
||||
public class AccountBalanceController {
|
||||
|
|
|
|||
|
|
@ -1,28 +1,38 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.account;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import ru.clearing.classes.statics.data.account.Account;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.account.AccountNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.account.AccountUpdateAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/accounting/accounts")
|
||||
public class AccountController {
|
||||
public class AccountController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public AccountController(IStateLoader stateLoader) {
|
||||
public AccountController(IOperator operator, IStateLoader stateLoader) {
|
||||
super(operator);
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
|
|
@ -36,4 +46,40 @@ public class AccountController {
|
|||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "create account.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse add(
|
||||
@ApiParam(value = "Параметры команды в JSON формате.", required = true)
|
||||
@RequestBody AccountNewAction accountNewAction) throws ExecutionException, InterruptedException {
|
||||
return processRequest(Consts.DESTINATION_ACCOUNT_NEW, accountNewAction);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "update account.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse update(
|
||||
@ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234")
|
||||
@PathVariable("id") Long id,
|
||||
@ApiParam(value = "Новые значения полей объекта.", required = true)
|
||||
@RequestBody AccountUpdateAction accountUpdateAction) throws ExecutionException, InterruptedException {
|
||||
accountUpdateAction.setId(id);
|
||||
return processRequest(Consts.DESTINATION_ACCOUNT_UPDATE, accountUpdateAction);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "delete account.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
|
||||
@ResponseBody
|
||||
public CudResponse delete(@ApiParam(value = "Идентификатор удаляемого объекта", required = true, example = "1234")
|
||||
@PathVariable("id") Long id) throws ExecutionException, InterruptedException {
|
||||
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||
deleteAction.setId(id);
|
||||
return processRequest(Consts.DESTINATION_ACCOUNT_DELETE, deleteAction);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ import java.util.Optional;
|
|||
import java.util.concurrent.ExecutionException;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/securities/bank-accounts")
|
||||
@RequestMapping("/accounting/bank-accounts")
|
||||
public class BankAccountController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
|
|
@ -53,7 +53,7 @@ public class BankAccountController extends AbstractQueueController {
|
|||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse update(
|
||||
@ApiParam(value = "Идентификатор изменяего объекта.", required = true, example = "1234")
|
||||
@ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234")
|
||||
@PathVariable("id") Long id,
|
||||
@ApiParam(value = "Новые значения полей объекта.", required = true)
|
||||
@RequestBody BankAccountUpdateAction bankAccountUpdateAction) throws ExecutionException, InterruptedException {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,39 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.account;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import ru.clearing.classes.statics.data.account.ClearingAccount;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/accounting/clearing-accounts")
|
||||
public class ClearingAccountController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public ClearingAccountController(IStateLoader stateLoader) {
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get all clearing account.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class);
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.account;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import ru.clearing.classes.statics.data.account.ClientCode;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.account.ClientCodeNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.account.ClientCodeUpdateAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/accounting/client-codes")
|
||||
public class ClientCodeController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public ClientCodeController(IOperator operator, IStateLoader stateLoader) {
|
||||
super(operator);
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "create client code.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse add(
|
||||
@ApiParam(value = "Параметры команды в JSON формате.", required = true)
|
||||
@RequestBody ClientCodeNewAction clientCodeNewAction) throws ExecutionException, InterruptedException {
|
||||
return processRequest(Consts.DESTINATION_CLIENT_CODE_NEW, clientCodeNewAction);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "update client-code.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse update(
|
||||
@ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234")
|
||||
@PathVariable("id") Long id,
|
||||
@ApiParam(value = "Новые значения полей объекта.", required = true)
|
||||
@RequestBody ClientCodeUpdateAction clientCodeUpdateAction) throws ExecutionException, InterruptedException {
|
||||
clientCodeUpdateAction.setId(id);
|
||||
return processRequest(Consts.DESTINATION_CLIENT_CODE_UPDATE, clientCodeUpdateAction);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "delete client code.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
|
||||
@ResponseBody
|
||||
public CudResponse delete(@ApiParam(value = "Идентификатор удаляемого объекта", required = true, example = "1234")
|
||||
@PathVariable("id") Long id) throws ExecutionException, InterruptedException {
|
||||
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||
deleteAction.setId(id);
|
||||
return processRequest(Consts.DESTINATION_CLIENT_CODE_DELETE, deleteAction);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "get all client codes.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_ClientCode, ClientCode.class);
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.account;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import ru.clearing.classes.statics.data.account.DepoAccount;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/accounting/depo-accounts")
|
||||
public class DepoAccountController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public DepoAccountController(IStateLoader stateLoader) {
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get all depo account.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_DepoAccount, DepoAccount.class);
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -51,7 +51,7 @@ public class EditClearingMemberCategoryController extends AbstractQueueControlle
|
|||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse update(
|
||||
@ApiParam(value = "Идентификатор изменяего объекта.", required = true, example = "1234")
|
||||
@ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234")
|
||||
@PathVariable("id") Long id,
|
||||
@ApiParam(value = "Новые значения полей объекта.", required = true)
|
||||
@RequestBody ClearingMemberCategoryUpdateAction clearingMemberCategoryUpdateAction) throws ExecutionException, InterruptedException {
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ public class EditCompanyInfoController extends AbstractQueueController {
|
|||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse update(
|
||||
@ApiParam(value = "Идентификатор изменяего объекта.", required = true, example = "1234")
|
||||
@ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234")
|
||||
@PathVariable("id") Long id,
|
||||
@ApiParam(value = "Новые значения полей объекта.", required = true)
|
||||
@RequestBody CompanyInfoUpdateAction companyInfoUpdateAction) throws ExecutionException, InterruptedException {
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public class EditCompanySymbolController extends AbstractQueueController {
|
|||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse update(
|
||||
@ApiParam(value = "Идентификатор изменяего объекта.", required = true, example = "1234")
|
||||
@ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234")
|
||||
@PathVariable("id") Long id,
|
||||
@ApiParam(value = "Новые значения полей объекта.", required = true)
|
||||
@RequestBody CompanySymbolUpdateAction companySymbolsUpdateAction) throws ExecutionException, InterruptedException {
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public class EditContactController extends AbstractQueueController {
|
|||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse update(
|
||||
@ApiParam(value = "Идентификатор изменяего объекта.", required = true, example = "1234")
|
||||
@ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234")
|
||||
@PathVariable("id") Long id,
|
||||
@ApiParam(value = "Новые значения полей объекта.", required = true)
|
||||
@RequestBody ContactUpdateAction contactUpdateAction) throws ExecutionException, InterruptedException {
|
||||
|
|
|
|||
|
|
@ -7,13 +7,12 @@ import io.swagger.annotations.ApiResponses;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import ru.clearing.classes.statics.data.profile.ProfileDocument;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.company.ProfileDocumentNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.company.ProfileDocumentUpdateAction;
|
||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
|
|
@ -57,4 +56,28 @@ public class ProfileDocumentController extends AbstractQueueController {
|
|||
@RequestBody ProfileDocumentNewAction profileDocumentNewAction) throws ExecutionException, InterruptedException {
|
||||
return processRequest(Consts.DESTINATION_PROFILE_DOCUMENT_NEW, profileDocumentNewAction);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "update profile document.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse update(
|
||||
@PathVariable("id") Long id,
|
||||
@ApiParam(value = "Параметры команды в JSON формате.", required = true)
|
||||
@RequestBody ProfileDocumentUpdateAction profileDocumentUpdateAction) throws ExecutionException, InterruptedException {
|
||||
profileDocumentUpdateAction.setId(id);
|
||||
return processRequest(Consts.DESTINATION_PROFILE_DOCUMENT_UPDATE, profileDocumentUpdateAction);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "delete profile document.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class)})
|
||||
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
|
||||
@ResponseBody
|
||||
public CudResponse delete(@ApiParam(value = "Идентификатор удаляемого объекта", required = true, example = "1234")
|
||||
@PathVariable("id") Long id) throws ExecutionException, InterruptedException {
|
||||
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||
deleteAction.setId(id);
|
||||
return processRequest(Consts.DESTINATION_PROFILE_DOCUMENT_DELETE, deleteAction);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ public class RelationController extends AbstractQueueController {
|
|||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse update(
|
||||
@ApiParam(value = "Идентификатор изменяего объекта.", required = true, example = "1234")
|
||||
@ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234")
|
||||
@PathVariable("id") Long id,
|
||||
@ApiParam(value = "Новые значения полей объекта.", required = true)
|
||||
@RequestBody RelationUpdateAction relationUpdateAction) throws ExecutionException, InterruptedException {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,44 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.execution;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import ru.clearing.classes.statics.data.execution.ExecutionFond;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/execution-fonds")
|
||||
public class ExecutionFondController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public ExecutionFondController(IOperator operator, IStateLoader stateLoader) {
|
||||
super(operator);
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get all ExecutionFond.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
||||
IMDGDistributedNames.Map_ExecutionFond,
|
||||
ExecutionFond.class);
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,97 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.registry;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryUpdateAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.registry.TradingClearingRegistryBackendGetById;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/registry/trading-clearing-registry")
|
||||
public class TradingClearingRegistryController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public TradingClearingRegistryController(IOperator operator, IStateLoader stateLoader) {
|
||||
super(operator);
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "create TradingClearingRegistry.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse add(
|
||||
@ApiParam(value = "Параметры команды в JSON формате.", required = true)
|
||||
@RequestBody TradingClearingRegistryNewAction bankAccountNewAction) throws ExecutionException, InterruptedException {
|
||||
return processRequest(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_NEW, bankAccountNewAction);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "update TradingClearingRegistry.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse update(
|
||||
@ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234")
|
||||
@PathVariable("id") Long id,
|
||||
@ApiParam(value = "Новые значения полей объекта.", required = true)
|
||||
@RequestBody TradingClearingRegistryUpdateAction tradingClearingRegistryUpdateAction) throws ExecutionException, InterruptedException {
|
||||
tradingClearingRegistryUpdateAction.setId(id);
|
||||
return processRequest(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_UPDATE, tradingClearingRegistryUpdateAction);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "delete TradingClearingRegistry.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
|
||||
@ResponseBody
|
||||
public CudResponse delete(@ApiParam(value = "Идентификатор удаляемого объекта", required = true, example = "1234")
|
||||
@PathVariable("id") Long id) throws ExecutionException, InterruptedException {
|
||||
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||
deleteAction.setId(id);
|
||||
return processRequest(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_DELETE, deleteAction);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get TradingClearingRegistry by id.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = TradingClearingRegistryBackendGetById.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public TradingClearingRegistryBackendGetById getById(@ApiParam(value = "Идентификатор объекта", required = true, example = "1234")
|
||||
@PathVariable("id") Long id) {
|
||||
Optional<TradingClearingRegistry> tradingClearingRegistry = stateLoader.getById(id, IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class);
|
||||
TradingClearingRegistryBackendGetById response = new TradingClearingRegistryBackendGetById();
|
||||
tradingClearingRegistry.ifPresentOrElse(response::fromEntity, () -> response.setCode(404));
|
||||
return response;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get all TradingClearingRegistry's.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class);
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -62,7 +62,7 @@ public class ClearingCalendarController extends AbstractQueueController {
|
|||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse update(
|
||||
@ApiParam(value = "Идентификатор изменяего объекта.", required = true, example = "1234")
|
||||
@ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234")
|
||||
@PathVariable("id") Long id,
|
||||
@ApiParam(value = "Новые значения полей объекта.", required = true)
|
||||
@RequestBody ClearingCalendarUpdateAction clearingCalendarUpdateAction) throws ExecutionException, InterruptedException {
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ public class PlannerController extends AbstractQueueController {
|
|||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse update(
|
||||
@ApiParam(value = "Идентификатор изменяего объекта.", required = true, example = "1234")
|
||||
@ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234")
|
||||
@PathVariable("id") Long id,
|
||||
@ApiParam(value = "Новые значения полей объекта.", required = true)
|
||||
@RequestBody PlannerUpdateAction plannerUpdateAction) throws ExecutionException, InterruptedException {
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ public class PlannerTemplateController extends AbstractQueueController {
|
|||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse update(
|
||||
@ApiParam(value = "Идентификатор изменяего объекта.", required = true, example = "1234")
|
||||
@ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234")
|
||||
@PathVariable("id") Long id,
|
||||
@ApiParam(value = "Новые значения полей объекта.", required = true)
|
||||
@RequestBody PlannerTemplateUpdateAction plannerTemplateUpdateAction) throws ExecutionException, InterruptedException {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,43 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.securities;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import ru.clearing.classes.statics.data.instrument.issue.CouponPeriod;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/securities/coupon-period-securities")
|
||||
public class CudCouponPeriodController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public CudCouponPeriodController(IOperator operator, IStateLoader stateLoader) {
|
||||
super(operator);
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get all coupon periods.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_CouponPeriod,
|
||||
CouponPeriod.class);
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.securities;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import ru.clearing.classes.statics.data.instrument.issue.EquitySecurity;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.securities.EquitySecurityNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.securities.EquitySecurityUpdateAction;
|
||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.platform.enumeration.Status;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/securities/equity-securities")
|
||||
public class CudEquitySecurityController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public CudEquitySecurityController(IOperator operator, IStateLoader stateLoader) {
|
||||
super(operator);
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "create equity security.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse add(
|
||||
@ApiParam(value = "Параметры команды в JSON формате.", required = true)
|
||||
@RequestBody EquitySecurityNewAction equitySecurityNewAction) throws ExecutionException, InterruptedException {
|
||||
return processRequest(Consts.DESTINATION_EQUITY_SECURITY_NEW, equitySecurityNewAction);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "update equity security.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse update(
|
||||
@ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234")
|
||||
@PathVariable("id") Long id,
|
||||
@ApiParam(value = "Новые значения полей объекта.", required = true)
|
||||
@RequestBody EquitySecurityUpdateAction equitySecurityUpdateAction) throws ExecutionException, InterruptedException {
|
||||
equitySecurityUpdateAction.setId(id);
|
||||
return processRequest(Consts.DESTINATION_EQUITY_SECURITY_UPDATE, equitySecurityUpdateAction);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "delete equity security.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
|
||||
@ResponseBody
|
||||
public CudResponse delete(@ApiParam(value = "Идентификатор удаляемого объекта", required = true, example = "1234")
|
||||
@PathVariable("id") Long id) throws ExecutionException, InterruptedException {
|
||||
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||
deleteAction.setId(id);
|
||||
return processRequest(Consts.DESTINATION_EQUITY_SECURITY_DELETE, deleteAction);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get all equity securities.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_EquitySecurity,
|
||||
EquitySecurity.class,
|
||||
Map.of("workflowStatus", Status.Active.getKey()));
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.securities;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeCashFlow;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/securities/fixed-income-cash-flow-securities")
|
||||
public class CudFixedIncomeCashFlowController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public CudFixedIncomeCashFlowController(IOperator operator, IStateLoader stateLoader) {
|
||||
super(operator);
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get all fixed income cash flow securities.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_FixedIncomeCashFlow,
|
||||
FixedIncomeCashFlow.class);
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.securities;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.securities.FixedIncomeSecurityNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.securities.FixedIncomeSecurityUpdateAction;
|
||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.platform.enumeration.Status;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/securities/fixed-income-securities")
|
||||
public class CudFixedIncomeSecurityController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public CudFixedIncomeSecurityController(IOperator operator, IStateLoader stateLoader) {
|
||||
super(operator);
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "create fixed income security.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse add(
|
||||
@ApiParam(value = "Параметры команды в JSON формате.", required = true)
|
||||
@RequestBody FixedIncomeSecurityNewAction fixedIncomeSecurityNewAction) throws ExecutionException, InterruptedException {
|
||||
return processRequest(Consts.DESTINATION_FIXED_INCOME_SECURITY_NEW, fixedIncomeSecurityNewAction);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "update fixed income security.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse update(
|
||||
@ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234")
|
||||
@PathVariable("id") Long id,
|
||||
@ApiParam(value = "Новые значения полей объекта.", required = true)
|
||||
@RequestBody FixedIncomeSecurityUpdateAction fixedIncomeSecurityUpdateAction) throws ExecutionException, InterruptedException {
|
||||
fixedIncomeSecurityUpdateAction.setId(id);
|
||||
return processRequest(Consts.DESTINATION_FIXED_INCOME_SECURITY_UPDATE, fixedIncomeSecurityUpdateAction);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "delete fixed income security.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
|
||||
@ResponseBody
|
||||
public CudResponse delete(@ApiParam(value = "Идентификатор удаляемого объекта", required = true, example = "1234")
|
||||
@PathVariable("id") Long id) throws ExecutionException, InterruptedException {
|
||||
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||
deleteAction.setId(id);
|
||||
return processRequest(Consts.DESTINATION_FIXED_INCOME_SECURITY_DELETE, deleteAction);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get all equity securities.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_FixedIncomeSecurity,
|
||||
FixedIncomeSecurity.class,
|
||||
Map.of("workflowStatus", Status.Active.getKey()));
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -52,7 +52,7 @@ public class CudMoneyMarketSecurityController extends AbstractQueueController {
|
|||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse update(
|
||||
@ApiParam(value = "Идентификатор изменяего объекта.", required = true, example = "1234")
|
||||
@ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234")
|
||||
@PathVariable("id") Long id,
|
||||
@ApiParam(value = "Новые значения полей объекта.", required = true)
|
||||
@RequestBody MoneyMarketSecurityUpdateAction moneySecurityUpdateAction) throws ExecutionException, InterruptedException {
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
@Deprecated //todo не лишний ли этот контроллер? См. CudMoneyMarketSecurityController @Deprecated
|
||||
@Controller
|
||||
@RequestMapping("/securities")
|
||||
public class SecurityController {
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ public class CudKeyRateController extends AbstractQueueController {
|
|||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse update(
|
||||
@ApiParam(value = "Идентификатор изменяего объекта.", required = true, example = "1234")
|
||||
@ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234")
|
||||
@PathVariable("id") Long id,
|
||||
@ApiParam(value = "Новые значения полей объекта.", required = true)
|
||||
@RequestBody KeyRateUpdateAction keyRateUpdateAction) throws ExecutionException, InterruptedException {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,92 @@
|
|||
package ru.spcex.clearing.backendapi.controller.request.cud.account;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.springframework.util.StringUtils;
|
||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||
import ru.spcex.clearing.backendapi.errors.BackEndError;
|
||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.AccountNewRequest;
|
||||
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;
|
||||
|
||||
public class AccountNewAction implements IAction<AccountNewRequest> {
|
||||
|
||||
@ApiModelProperty(value = "Наименование компании", example = "1200")
|
||||
@JsonProperty
|
||||
private Long companyId;
|
||||
@ApiModelProperty(value = "Номер счета", example = "A30101111111111111776")
|
||||
@JsonProperty
|
||||
private String account;
|
||||
@ApiModelProperty(value = "Наименование статуса", example = "ACTV")
|
||||
@JsonProperty
|
||||
private String status;
|
||||
@ApiModelProperty(value = "Наименование типа счета", example = "CLRN")
|
||||
@JsonProperty
|
||||
private String accountType;
|
||||
|
||||
@Override
|
||||
public Collection<EnumMessage> validate() {
|
||||
List<EnumMessage> errors = new ArrayList<>();
|
||||
if (this.companyId == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "companyId"));
|
||||
if (!StringUtils.hasLength(this.account))
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "account"));
|
||||
if (!StringUtils.hasLength(this.accountType))
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "accountType"));
|
||||
return errors.isEmpty() ? Collections.emptyList() : errors;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AccountNewRequest toRequest() {
|
||||
var req = new AccountNewRequest();
|
||||
req.setCompanyId(this.companyId);
|
||||
req.setAccount(this.account);
|
||||
req.setStatus(this.status);
|
||||
req.setAccountType(this.accountType);
|
||||
return req;
|
||||
}
|
||||
|
||||
@ApiModelProperty(hidden = true)
|
||||
@Override
|
||||
public ActionType getActionType() {
|
||||
return ActionType.NEW;
|
||||
}
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public String getAccount() {
|
||||
return account;
|
||||
}
|
||||
|
||||
public void setAccount(String account) {
|
||||
this.account = account;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getAccountType() {
|
||||
return accountType;
|
||||
}
|
||||
|
||||
public void setAccountType(String accountType) {
|
||||
this.accountType = accountType;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,101 @@
|
|||
package ru.spcex.clearing.backendapi.controller.request.cud.account;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.springframework.util.StringUtils;
|
||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||
import ru.spcex.clearing.backendapi.errors.BackEndError;
|
||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.AccountUpdateRequest;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class AccountUpdateAction implements IAction<AccountUpdateRequest> {
|
||||
|
||||
@ApiModelProperty(hidden = true)
|
||||
@JsonProperty
|
||||
public Long id;
|
||||
@ApiModelProperty(value = "Наименование компании", example = "1200")
|
||||
@JsonProperty
|
||||
private Long companyId;
|
||||
@ApiModelProperty(value = "Номер счета", example = "A30101111111111111776")
|
||||
@JsonProperty
|
||||
private String account;
|
||||
@ApiModelProperty(value = "Наименование статуса", example = "ACTV")
|
||||
@JsonProperty
|
||||
private String status;
|
||||
@ApiModelProperty(value = "Наименование типа счета", example = "CLRN")
|
||||
@JsonProperty
|
||||
private String accountType;
|
||||
|
||||
@Override
|
||||
public Collection<EnumMessage> validate() {
|
||||
List<EnumMessage> errors = new ArrayList<>();
|
||||
if (this.id == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "id"));
|
||||
if (!StringUtils.hasLength(this.accountType))
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "accountType"));
|
||||
return errors.isEmpty() ? Collections.emptyList() : errors;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AccountUpdateRequest toRequest() {
|
||||
var req = new AccountUpdateRequest();
|
||||
req.setId(this.id);
|
||||
req.setCompanyId(this.companyId);
|
||||
req.setAccount(this.account);
|
||||
req.setStatus(this.status);
|
||||
req.setAccountType(this.accountType);
|
||||
return req;
|
||||
}
|
||||
|
||||
@ApiModelProperty(hidden = true)
|
||||
@Override
|
||||
public ActionType getActionType() {
|
||||
return ActionType.UPDATE;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public String getAccount() {
|
||||
return account;
|
||||
}
|
||||
|
||||
public void setAccount(String account) {
|
||||
this.account = account;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getAccountType() {
|
||||
return accountType;
|
||||
}
|
||||
|
||||
public void setAccountType(String accountType) {
|
||||
this.accountType = accountType;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,113 @@
|
|||
package ru.spcex.clearing.backendapi.controller.request.cud.account;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.springframework.util.StringUtils;
|
||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||
import ru.spcex.clearing.backendapi.errors.BackEndError;
|
||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.ClientCodeNewRequest;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class ClientCodeNewAction implements IAction<ClientCodeNewRequest> {
|
||||
|
||||
@ApiModelProperty(value = "Наименование компании", example = "1200")
|
||||
@JsonProperty
|
||||
private Long companyId;
|
||||
@ApiModelProperty(value = "Код клиента", example = "A301011111")
|
||||
@JsonProperty
|
||||
private String code;
|
||||
@ApiModelProperty(value = "Торгово-клиринговый регистр", example = "1234")
|
||||
@JsonProperty
|
||||
private Long tradingClearingRegistryId;
|
||||
@ApiModelProperty(value = "Номер денежного счета", example = "1234")
|
||||
@JsonProperty
|
||||
private Long moneyAccountId;
|
||||
@ApiModelProperty(value = "Номер депозитарного счета", example = "1234")
|
||||
@JsonProperty
|
||||
private Long depoAccountId;
|
||||
@ApiModelProperty(value = "Наименование статуса", example = "ACTV")
|
||||
@JsonProperty
|
||||
private String status;
|
||||
|
||||
@Override
|
||||
public Collection<EnumMessage> validate() {
|
||||
List<EnumMessage> errors = new ArrayList<>();
|
||||
if (this.companyId == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "companyId"));
|
||||
if (!StringUtils.hasLength(this.code))
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "code"));
|
||||
return errors.isEmpty() ? Collections.emptyList() : errors;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClientCodeNewRequest toRequest() {
|
||||
var req = new ClientCodeNewRequest();
|
||||
req.setCompanyId(this.companyId);
|
||||
req.setCode(this.code);
|
||||
req.setTradingClearingRegistryId(this.tradingClearingRegistryId);
|
||||
req.setMoneyAccountId(this.moneyAccountId);
|
||||
req.setDepoAccountId(this.depoAccountId);
|
||||
req.setStatus(this.status);
|
||||
return req;
|
||||
}
|
||||
|
||||
@ApiModelProperty(hidden = true)
|
||||
@Override
|
||||
public ActionType getActionType() {
|
||||
return ActionType.NEW;
|
||||
}
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public Long getTradingClearingRegistryId() {
|
||||
return tradingClearingRegistryId;
|
||||
}
|
||||
|
||||
public void setTradingClearingRegistryId(Long tradingClearingRegistryId) {
|
||||
this.tradingClearingRegistryId = tradingClearingRegistryId;
|
||||
}
|
||||
|
||||
public Long getMoneyAccountId() {
|
||||
return moneyAccountId;
|
||||
}
|
||||
|
||||
public void setMoneyAccountId(Long moneyAccountId) {
|
||||
this.moneyAccountId = moneyAccountId;
|
||||
}
|
||||
|
||||
public Long getDepoAccountId() {
|
||||
return depoAccountId;
|
||||
}
|
||||
|
||||
public void setDepoAccountId(Long depoAccountId) {
|
||||
this.depoAccountId = depoAccountId;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,121 @@
|
|||
package ru.spcex.clearing.backendapi.controller.request.cud.account;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||
import ru.spcex.clearing.backendapi.errors.BackEndError;
|
||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.ClientCodeUpdateRequest;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class ClientCodeUpdateAction implements IAction<ClientCodeUpdateRequest> {
|
||||
@ApiModelProperty(hidden = true)
|
||||
@JsonProperty
|
||||
public Long id;
|
||||
@ApiModelProperty(value = "Наименование компании", example = "1200")
|
||||
@JsonProperty
|
||||
private Long companyId;
|
||||
@ApiModelProperty(value = "Код клиента", example = "A301011111")
|
||||
@JsonProperty
|
||||
private String code;
|
||||
@ApiModelProperty(value = "Торгово-клиринговый регистр", example = "1234")
|
||||
@JsonProperty
|
||||
private Long tradingClearingRegistryId;
|
||||
@ApiModelProperty(value = "Номер денежного счета", example = "1234")
|
||||
@JsonProperty
|
||||
private Long moneyAccountId;
|
||||
@ApiModelProperty(value = "Номер депозитарного счета", example = "1234")
|
||||
@JsonProperty
|
||||
private Long depoAccountId;
|
||||
@ApiModelProperty(value = "Наименование статуса", example = "ACTV")
|
||||
@JsonProperty
|
||||
private String status;
|
||||
|
||||
@Override
|
||||
public Collection<EnumMessage> validate() {
|
||||
List<EnumMessage> errors = new ArrayList<>();
|
||||
if (this.id == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "id"));
|
||||
return errors.isEmpty() ? Collections.emptyList() : errors;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClientCodeUpdateRequest toRequest() {
|
||||
var req = new ClientCodeUpdateRequest();
|
||||
req.setId(this.id);
|
||||
req.setCompanyId(this.companyId);
|
||||
req.setCode(this.code);
|
||||
req.setTradingClearingRegistryId(this.tradingClearingRegistryId);
|
||||
req.setMoneyAccountId(this.moneyAccountId);
|
||||
req.setDepoAccountId(this.depoAccountId);
|
||||
req.setStatus(this.status);
|
||||
return req;
|
||||
}
|
||||
|
||||
@ApiModelProperty(hidden = true)
|
||||
@Override
|
||||
public ActionType getActionType() {
|
||||
return ActionType.UPDATE;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public Long getTradingClearingRegistryId() {
|
||||
return tradingClearingRegistryId;
|
||||
}
|
||||
|
||||
public void setTradingClearingRegistryId(Long tradingClearingRegistryId) {
|
||||
this.tradingClearingRegistryId = tradingClearingRegistryId;
|
||||
}
|
||||
|
||||
public Long getMoneyAccountId() {
|
||||
return moneyAccountId;
|
||||
}
|
||||
|
||||
public void setMoneyAccountId(Long moneyAccountId) {
|
||||
this.moneyAccountId = moneyAccountId;
|
||||
}
|
||||
|
||||
public Long getDepoAccountId() {
|
||||
return depoAccountId;
|
||||
}
|
||||
|
||||
public void setDepoAccountId(Long depoAccountId) {
|
||||
this.depoAccountId = depoAccountId;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
}
|
||||
|
|
@ -11,45 +11,42 @@ public class CompanyInfoUpdateAction implements IAction<CompanyInfoUpdateRequest
|
|||
@JsonProperty
|
||||
public Long id;
|
||||
|
||||
@ApiModelProperty(value = "Идентификатор единоличного исполнительного органа", example = "ABCD")
|
||||
@JsonProperty
|
||||
private String corporationSoleType;
|
||||
@ApiModelProperty(value = "Идентификатор кода страны", example = "ABCD")
|
||||
@JsonProperty
|
||||
private String countryCode;
|
||||
@ApiModelProperty(value = "Описание", example = "ABCD")
|
||||
@JsonProperty
|
||||
private String description;
|
||||
@ApiModelProperty(value = "Признак проф. Участника", example = "ABCD")
|
||||
@JsonProperty
|
||||
private String professionalSign;
|
||||
@ApiModelProperty(value = "Идентификатор вида субъекта", example = "ABCD")
|
||||
@JsonProperty
|
||||
private String legalKind;
|
||||
@ApiModelProperty(value = "Идентификатор типа организации", example = "ABCD")
|
||||
@JsonProperty
|
||||
private String organizationType;
|
||||
@ApiModelProperty(value = "Идентификатор кода страны", example = "ABCD")
|
||||
@JsonProperty
|
||||
private String residence;
|
||||
@ApiModelProperty(value = "Краткое наименование Компании на английском", example = "Test Company Inc.")
|
||||
@JsonProperty
|
||||
private String shortNameEng;
|
||||
@ApiModelProperty(value = "Полное наименование Компании на английском", example = "Test Company Incorporated")
|
||||
@JsonProperty
|
||||
private String fullNameEng;
|
||||
@ApiModelProperty(value = "Краткое наименование Компании", example = "Test Company Incorporated")
|
||||
@ApiModelProperty(value = "Краткое наименование компании", example = "ABCD")
|
||||
@JsonProperty
|
||||
private String shortName;
|
||||
@ApiModelProperty(value = "Полное наименование Компании", example = "Test Company Incorporated PlaceHolder Text Communication")
|
||||
@ApiModelProperty(value = "Полное наименование компании", example = "Test Компания Incorporated PlaceHolder Text Communication")
|
||||
@JsonProperty
|
||||
private String fullName;
|
||||
@ApiModelProperty(value = "Код участника торгов", example = "ABCD")
|
||||
@ApiModelProperty(value = "Юрисдикция", example = "ABCD")
|
||||
@JsonProperty
|
||||
private String tradingCode;
|
||||
@ApiModelProperty(value = "Код участника клиринга", example = "ABCD")
|
||||
private String countryCode;
|
||||
@ApiModelProperty(value = "Единоличный исполнительный орган", example = "ABCD")
|
||||
@JsonProperty
|
||||
private String clearingCode;
|
||||
private String corporationSoleType;
|
||||
@ApiModelProperty(value = "Вид субъекта", example = "ABCD")
|
||||
@JsonProperty
|
||||
private String legalKind;
|
||||
@ApiModelProperty(value = "Тип организации", example = "ABCD")
|
||||
@JsonProperty
|
||||
private String organizationType;
|
||||
@ApiModelProperty(value = "Резиденция (идентификатор кода страны)", example = "ABCD")
|
||||
@JsonProperty
|
||||
private String residence;
|
||||
@ApiModelProperty(value = "Полное наименование компании на английском", example = "Test Company Incorporated")
|
||||
@JsonProperty
|
||||
private String fullNameEng;
|
||||
@ApiModelProperty(value = "Краткое наименование компании на английском", example = "Test Company Inc.")
|
||||
@JsonProperty
|
||||
private String shortNameEng;
|
||||
@ApiModelProperty(value = "Признак профессионального участника", example = "ABCD")
|
||||
@JsonProperty
|
||||
private String professionalSign;
|
||||
@ApiModelProperty(value = "Описание компании", example = "ABCD")
|
||||
@JsonProperty
|
||||
private String description;
|
||||
@ApiModelProperty(value = "Наименование статуса", example = "ACTV")
|
||||
@JsonProperty
|
||||
private String workflowStatus;
|
||||
|
||||
@Override
|
||||
public CompanyInfoUpdateRequest toRequest() {
|
||||
|
|
@ -66,8 +63,7 @@ public class CompanyInfoUpdateAction implements IAction<CompanyInfoUpdateRequest
|
|||
request.setFullNameEng(this.fullNameEng);
|
||||
request.setShortName(this.shortName);
|
||||
request.setFullName(this.fullName);
|
||||
request.setTradingCode(this.tradingCode);
|
||||
request.setClearingCode(this.clearingCode);
|
||||
request.setWorkflowStatus(workflowStatus);
|
||||
return request;
|
||||
}
|
||||
|
||||
|
|
@ -173,19 +169,11 @@ public class CompanyInfoUpdateAction implements IAction<CompanyInfoUpdateRequest
|
|||
this.fullName = fullName;
|
||||
}
|
||||
|
||||
public String getTradingCode() {
|
||||
return tradingCode;
|
||||
public String getWorkflowStatus() {
|
||||
return workflowStatus;
|
||||
}
|
||||
|
||||
public void setTradingCode(String tradingCode) {
|
||||
this.tradingCode = tradingCode;
|
||||
}
|
||||
|
||||
public String getClearingCode() {
|
||||
return clearingCode;
|
||||
}
|
||||
|
||||
public void setClearingCode(String clearingCode) {
|
||||
this.clearingCode = clearingCode;
|
||||
public void setWorkflowStatus(String workflowStatus) {
|
||||
this.workflowStatus = workflowStatus;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,95 @@
|
|||
package ru.spcex.clearing.backendapi.controller.request.cud.company;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.company.ProfileDocumentUpdateRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.LocalDateDeserializer;
|
||||
import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalDateSerializer;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class ProfileDocumentUpdateAction implements IAction<ProfileDocumentUpdateRequest> {
|
||||
@ApiModelProperty(hidden = true)
|
||||
@JsonProperty
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "Идентификатор Компании", example = "123")
|
||||
@JsonProperty
|
||||
private Long companyId;
|
||||
@ApiModelProperty(value = "Идентификатор типа документа", example = "ABCD")
|
||||
@JsonProperty
|
||||
private String documentType;
|
||||
@ApiModelProperty(value = "Дата выдачи", example = "2022-12-25")
|
||||
@JsonSerialize(using = LocalDateSerializer.class)
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||
@JsonProperty
|
||||
private LocalDate issueDate;
|
||||
@ApiModelProperty(value = "Место выдачи", example = "Example string")
|
||||
@JsonProperty
|
||||
private String issuePlace;
|
||||
@ApiModelProperty(value = "Кем выдан", example = "Example string")
|
||||
@JsonProperty
|
||||
private String issuer;
|
||||
@ApiModelProperty(value = "Код выдавшего органа", example = "Example string")
|
||||
@JsonProperty
|
||||
private String issuerCode;
|
||||
@ApiModelProperty(value = "Наименование", example = "Example string")
|
||||
@JsonProperty
|
||||
private String name;
|
||||
@ApiModelProperty(value = "Номер", example = "Example string")
|
||||
@JsonProperty
|
||||
private String number;
|
||||
@ApiModelProperty(value = "Место", example = "Example string")
|
||||
@JsonProperty
|
||||
private String place;
|
||||
@ApiModelProperty(value = "Дата начала срока действия", example = "2022-12-25")
|
||||
@JsonSerialize(using = LocalDateSerializer.class)
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||
@JsonProperty
|
||||
private LocalDate validFromDate;
|
||||
@ApiModelProperty(value = "Дата окончания срока действия", example = "2022-12-25")
|
||||
@JsonSerialize(using = LocalDateSerializer.class)
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||
@JsonProperty
|
||||
private LocalDate validToDate;
|
||||
@ApiModelProperty(value = "Ссылка на документ", example = "Example string")
|
||||
@JsonProperty
|
||||
private String link;
|
||||
|
||||
@Override
|
||||
public ProfileDocumentUpdateRequest toRequest() {
|
||||
ProfileDocumentUpdateRequest request = new ProfileDocumentUpdateRequest();
|
||||
request.setId(this.id);
|
||||
request.setCompanyId(this.companyId);
|
||||
request.setDocumentType(this.documentType);
|
||||
request.setIssueDate(this.issueDate);
|
||||
request.setIssuePlace(this.issuePlace);
|
||||
request.setIssuer(this.issuer);
|
||||
request.setIssuerCode(this.issuerCode);
|
||||
request.setName(this.name);
|
||||
request.setNumber(this.number);
|
||||
request.setPlace(this.place);
|
||||
request.setValidFromDate(this.validFromDate);
|
||||
request.setValidToDate(this.validToDate);
|
||||
request.setLink(this.link);
|
||||
return request;
|
||||
}
|
||||
|
||||
@ApiModelProperty(hidden = true)
|
||||
@Override
|
||||
public ActionType getActionType() {
|
||||
return ActionType.UPDATE;
|
||||
}
|
||||
|
||||
@ApiModelProperty(hidden = true)
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
package ru.spcex.clearing.backendapi.controller.request.cud.registry;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||
import ru.spcex.clearing.backendapi.errors.BackEndError;
|
||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryNewRequest;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class TradingClearingRegistryNewAction implements IAction<TradingClearingRegistryNewRequest> {
|
||||
@ApiModelProperty(value = "Наименование компании", example = "1200")
|
||||
@JsonProperty
|
||||
private Long companyId;
|
||||
@ApiModelProperty(value = "Номер денежного счета", example = "1500")
|
||||
@JsonProperty
|
||||
private Long moneyAccountId;
|
||||
@ApiModelProperty(value = "Номер депозитарного счета", example = "1600")
|
||||
@JsonProperty
|
||||
private Long depoAccountId;
|
||||
@ApiModelProperty(value = "Наименование статуса", example = "ACTV")
|
||||
@JsonProperty
|
||||
private String status;
|
||||
|
||||
@Override
|
||||
public Collection<EnumMessage> validate() {
|
||||
List<EnumMessage> errors = new ArrayList<>();
|
||||
if (this.companyId == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "companyId"));
|
||||
if (this.moneyAccountId == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "moneyAccountId"));
|
||||
return errors.isEmpty() ? Collections.emptyList() : errors;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TradingClearingRegistryNewRequest toRequest() {
|
||||
var req = new TradingClearingRegistryNewRequest();
|
||||
req.setCompanyId(this.companyId);
|
||||
req.setMoneyAccountId(this.moneyAccountId);
|
||||
req.setDepoAccountId(this.depoAccountId);
|
||||
req.setStatus(this.status);
|
||||
return req;
|
||||
}
|
||||
|
||||
@ApiModelProperty(hidden = true)
|
||||
@Override
|
||||
public ActionType getActionType() {
|
||||
return ActionType.NEW;
|
||||
}
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public Long getMoneyAccountId() {
|
||||
return moneyAccountId;
|
||||
}
|
||||
|
||||
public void setMoneyAccountId(Long moneyAccountId) {
|
||||
this.moneyAccountId = moneyAccountId;
|
||||
}
|
||||
|
||||
public Long getDepoAccountId() {
|
||||
return depoAccountId;
|
||||
}
|
||||
|
||||
public void setDepoAccountId(Long depoAccountId) {
|
||||
this.depoAccountId = depoAccountId;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
package ru.spcex.clearing.backendapi.controller.request.cud.registry;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||
import ru.spcex.clearing.backendapi.errors.BackEndError;
|
||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryUpdateRequest;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class TradingClearingRegistryUpdateAction implements IAction<TradingClearingRegistryUpdateRequest> {
|
||||
|
||||
@ApiModelProperty(hidden = true)
|
||||
@JsonProperty
|
||||
public Long id;
|
||||
|
||||
@JsonProperty
|
||||
private String status;
|
||||
|
||||
@Override
|
||||
public Collection<EnumMessage> validate() {
|
||||
List<EnumMessage> errors = new ArrayList<>();
|
||||
if (this.id == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "id"));
|
||||
return errors.isEmpty() ? Collections.emptyList() : errors;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TradingClearingRegistryUpdateRequest toRequest() {
|
||||
var req = new TradingClearingRegistryUpdateRequest();
|
||||
req.setId(this.id);
|
||||
req.setStatus(this.status);
|
||||
return req;
|
||||
}
|
||||
|
||||
@ApiModelProperty(hidden = true)
|
||||
@Override
|
||||
public ActionType getActionType() {
|
||||
return ActionType.UPDATE;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,179 @@
|
|||
package ru.spcex.clearing.backendapi.controller.request.cud.securities;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||
import ru.spcex.clearing.backendapi.errors.BackEndError;
|
||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.EquitySecurityNewRequest;
|
||||
import ru.spcex.platform.classes.base.interfaces.WithSecuritySymbol;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
import ru.spcex.platform.utils.text.TextUtil;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class EquitySecurityNewAction implements IAction<EquitySecurityNewRequest>, WithSecuritySymbol {
|
||||
@ApiModelProperty(value = "Код инструмента", example = "ABSDEFJ")
|
||||
@JsonProperty
|
||||
public String securitySymbol;
|
||||
@ApiModelProperty(value = "Краткое наименование инструмента", example = "ABSDE")
|
||||
@JsonProperty
|
||||
public String shortName;
|
||||
@ApiModelProperty(value = "Полное наименование инструмента", example = "Treasury bills")
|
||||
@JsonProperty
|
||||
public String fullName;
|
||||
@ApiModelProperty(value = "Наименование инструмента ISIN", example = "AFLT")
|
||||
@JsonProperty
|
||||
public String isin;
|
||||
@ApiModelProperty(value = "Код типа акции", example = "S")
|
||||
@JsonProperty
|
||||
public String shareType;
|
||||
@ApiModelProperty(value = "Размер лота", example = "300.5")
|
||||
@JsonProperty
|
||||
public BigDecimal lotSize;
|
||||
@ApiModelProperty(value = "Наименование эмитента (company)", example = "123")
|
||||
@JsonProperty
|
||||
public Long issuerId;
|
||||
@ApiModelProperty(value = "Краткое наименование инструмента на английском", example = "Aero LLC")
|
||||
@JsonProperty
|
||||
public String shortNameEng;
|
||||
@ApiModelProperty(value = "Полное наименование инструмента на английском", example = "Aero floating Limited local Company")
|
||||
@JsonProperty
|
||||
public String fullNameEng;
|
||||
@ApiModelProperty(value = "Наименование статуса", example = "ACTV")
|
||||
@JsonProperty
|
||||
public String workflowStatus;
|
||||
@ApiModelProperty(value = "Наименование типа инструмента", example = "EQTY")
|
||||
@JsonProperty
|
||||
public String instrumentType;
|
||||
|
||||
@Override
|
||||
public Collection<EnumMessage> validate() {
|
||||
List<EnumMessage> errors = new ArrayList<>();
|
||||
if (TextUtil.isEmpty(shortName))
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "shortName"));
|
||||
if (TextUtil.isEmpty(securitySymbol))
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "securitySymbol"));
|
||||
if (lotSize == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "lotSize"));
|
||||
if (TextUtil.isEmpty(instrumentType))
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "instrumentType"));
|
||||
return errors.size() > 0 ? errors : Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public EquitySecurityNewRequest toRequest() {
|
||||
var req = new EquitySecurityNewRequest();
|
||||
req.setSecuritySymbol(this.getSecuritySymbol());
|
||||
req.setShortName(this.getShortName());
|
||||
req.setFullName(this.getFullName());
|
||||
req.setIsin(this.getIsin());
|
||||
req.setShareType(this.getShareType());
|
||||
req.setLotSize(this.getLotSize());
|
||||
req.setIssuerId(this.getIssuerId());
|
||||
req.setShortNameEng(this.getShortNameEng());
|
||||
req.setFullNameEng(this.getFullNameEng());
|
||||
req.setWorkflowStatus(this.getWorkflowStatus());
|
||||
req.setInstrumentType(this.getInstrumentType());
|
||||
return req;
|
||||
}
|
||||
|
||||
@ApiModelProperty(hidden = true)
|
||||
@Override
|
||||
public ActionType getActionType() {
|
||||
return ActionType.NEW;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSecuritySymbol() {
|
||||
return securitySymbol;
|
||||
}
|
||||
|
||||
public void setSecuritySymbol(String securitySymbol) {
|
||||
this.securitySymbol = securitySymbol;
|
||||
}
|
||||
|
||||
public String getShortName() {
|
||||
return shortName;
|
||||
}
|
||||
|
||||
public void setShortName(String shortName) {
|
||||
this.shortName = shortName;
|
||||
}
|
||||
|
||||
public String getFullName() {
|
||||
return fullName;
|
||||
}
|
||||
|
||||
public void setFullName(String fullName) {
|
||||
this.fullName = fullName;
|
||||
}
|
||||
|
||||
public String getIsin() {
|
||||
return isin;
|
||||
}
|
||||
|
||||
public void setIsin(String isin) {
|
||||
this.isin = isin;
|
||||
}
|
||||
|
||||
public String getShareType() {
|
||||
return shareType;
|
||||
}
|
||||
|
||||
public void setShareType(String shareType) {
|
||||
this.shareType = shareType;
|
||||
}
|
||||
|
||||
public BigDecimal getLotSize() {
|
||||
return lotSize;
|
||||
}
|
||||
|
||||
public void setLotSize(BigDecimal lotSize) {
|
||||
this.lotSize = lotSize;
|
||||
}
|
||||
|
||||
public Long getIssuerId() {
|
||||
return issuerId;
|
||||
}
|
||||
|
||||
public void setIssuerId(Long issuerId) {
|
||||
this.issuerId = issuerId;
|
||||
}
|
||||
|
||||
public String getShortNameEng() {
|
||||
return shortNameEng;
|
||||
}
|
||||
|
||||
public void setShortNameEng(String shortNameEng) {
|
||||
this.shortNameEng = shortNameEng;
|
||||
}
|
||||
|
||||
public String getFullNameEng() {
|
||||
return fullNameEng;
|
||||
}
|
||||
|
||||
public void setFullNameEng(String fullNameEng) {
|
||||
this.fullNameEng = fullNameEng;
|
||||
}
|
||||
|
||||
public String getWorkflowStatus() {
|
||||
return workflowStatus;
|
||||
}
|
||||
|
||||
public void setWorkflowStatus(String workflowStatus) {
|
||||
this.workflowStatus = workflowStatus;
|
||||
}
|
||||
|
||||
public String getInstrumentType() {
|
||||
return instrumentType;
|
||||
}
|
||||
|
||||
public void setInstrumentType(String instrumentType) {
|
||||
this.instrumentType = instrumentType;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,184 @@
|
|||
package ru.spcex.clearing.backendapi.controller.request.cud.securities;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||
import ru.spcex.clearing.backendapi.errors.BackEndError;
|
||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.EquitySecurityUpdateRequest;
|
||||
import ru.spcex.platform.classes.base.interfaces.WithSecuritySymbol;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class EquitySecurityUpdateAction implements IAction<EquitySecurityUpdateRequest>, WithSecuritySymbol {
|
||||
@ApiModelProperty(hidden = true)
|
||||
@JsonProperty
|
||||
public Long id;
|
||||
@ApiModelProperty(value = "Код инструмента", example = "ABSDEFJ")
|
||||
@JsonProperty
|
||||
public String securitySymbol;
|
||||
@ApiModelProperty(value = "Краткое наименование инструмента", example = "ABSDE")
|
||||
@JsonProperty
|
||||
public String shortName;
|
||||
@ApiModelProperty(value = "Полное наименование инструмента", example = "Treasury bills")
|
||||
@JsonProperty
|
||||
public String fullName;
|
||||
@ApiModelProperty(value = "Наименование инструмента ISIN", example = "AFLT")
|
||||
@JsonProperty
|
||||
public String isin;
|
||||
@ApiModelProperty(value = "Код типа акции", example = "S")
|
||||
@JsonProperty
|
||||
public String shareType;
|
||||
@ApiModelProperty(value = "Размер лота", example = "300.5")
|
||||
@JsonProperty
|
||||
public BigDecimal lotSize;
|
||||
@ApiModelProperty(value = "Наименование эмитента (company)", example = "123")
|
||||
@JsonProperty
|
||||
public Long issuerId;
|
||||
@ApiModelProperty(value = "Краткое наименование инструмента на английском", example = "Aero LLC")
|
||||
@JsonProperty
|
||||
public String shortNameEng;
|
||||
@ApiModelProperty(value = "Полное наименование инструмента на английском", example = "Aero floating Limited local Company")
|
||||
@JsonProperty
|
||||
public String fullNameEng;
|
||||
@ApiModelProperty(value = "Наименование статуса", example = "ACTV")
|
||||
@JsonProperty
|
||||
public String workflowStatus;
|
||||
@ApiModelProperty(value = "Наименование типа инструмента", example = "EQTY")
|
||||
@JsonProperty
|
||||
public String instrumentType;
|
||||
|
||||
@Override
|
||||
public Collection<EnumMessage> validate() {
|
||||
List<EnumMessage> errors = new ArrayList<>();
|
||||
if (id == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "id"));
|
||||
return errors.size() > 0 ? errors : Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public EquitySecurityUpdateRequest toRequest() {
|
||||
var req = new EquitySecurityUpdateRequest();
|
||||
req.setId(this.getId());
|
||||
req.setSecuritySymbol(this.getSecuritySymbol());
|
||||
req.setShortName(this.getShortName());
|
||||
req.setFullName(this.getFullName());
|
||||
req.setIsin(this.getIsin());
|
||||
req.setShareType(this.getShareType());
|
||||
req.setLotSize(this.getLotSize());
|
||||
req.setIssuerId(this.getIssuerId());
|
||||
req.setShortNameEng(this.getShortNameEng());
|
||||
req.setFullNameEng(this.getFullNameEng());
|
||||
req.setWorkflowStatus(this.getWorkflowStatus());
|
||||
req.setInstrumentType(this.getInstrumentType());
|
||||
return req;
|
||||
}
|
||||
|
||||
@ApiModelProperty(hidden = true)
|
||||
@Override
|
||||
public ActionType getActionType() {
|
||||
return ActionType.UPDATE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSecuritySymbol() {
|
||||
return securitySymbol;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public void setSecuritySymbol(String securitySymbol) {
|
||||
this.securitySymbol = securitySymbol;
|
||||
}
|
||||
|
||||
public String getShortName() {
|
||||
return shortName;
|
||||
}
|
||||
|
||||
public void setShortName(String shortName) {
|
||||
this.shortName = shortName;
|
||||
}
|
||||
|
||||
public String getFullName() {
|
||||
return fullName;
|
||||
}
|
||||
|
||||
public void setFullName(String fullName) {
|
||||
this.fullName = fullName;
|
||||
}
|
||||
|
||||
public String getIsin() {
|
||||
return isin;
|
||||
}
|
||||
|
||||
public void setIsin(String isin) {
|
||||
this.isin = isin;
|
||||
}
|
||||
|
||||
public String getShareType() {
|
||||
return shareType;
|
||||
}
|
||||
|
||||
public void setShareType(String shareType) {
|
||||
this.shareType = shareType;
|
||||
}
|
||||
|
||||
public BigDecimal getLotSize() {
|
||||
return lotSize;
|
||||
}
|
||||
|
||||
public void setLotSize(BigDecimal lotSize) {
|
||||
this.lotSize = lotSize;
|
||||
}
|
||||
|
||||
public Long getIssuerId() {
|
||||
return issuerId;
|
||||
}
|
||||
|
||||
public void setIssuerId(Long issuerId) {
|
||||
this.issuerId = issuerId;
|
||||
}
|
||||
|
||||
public String getShortNameEng() {
|
||||
return shortNameEng;
|
||||
}
|
||||
|
||||
public void setShortNameEng(String shortNameEng) {
|
||||
this.shortNameEng = shortNameEng;
|
||||
}
|
||||
|
||||
public String getFullNameEng() {
|
||||
return fullNameEng;
|
||||
}
|
||||
|
||||
public void setFullNameEng(String fullNameEng) {
|
||||
this.fullNameEng = fullNameEng;
|
||||
}
|
||||
|
||||
public String getWorkflowStatus() {
|
||||
return workflowStatus;
|
||||
}
|
||||
|
||||
public void setWorkflowStatus(String workflowStatus) {
|
||||
this.workflowStatus = workflowStatus;
|
||||
}
|
||||
|
||||
public String getInstrumentType() {
|
||||
return instrumentType;
|
||||
}
|
||||
|
||||
public void setInstrumentType(String instrumentType) {
|
||||
this.instrumentType = instrumentType;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,246 @@
|
|||
package ru.spcex.clearing.backendapi.controller.request.cud.securities;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||
import ru.spcex.clearing.backendapi.errors.BackEndError;
|
||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.FixedIncomeSecurityNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.LocalDateDeserializer;
|
||||
import ru.spcex.platform.classes.base.interfaces.WithSecuritySymbol;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
import ru.spcex.platform.utils.text.TextUtil;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class FixedIncomeSecurityNewAction implements IAction<FixedIncomeSecurityNewRequest>, WithSecuritySymbol {
|
||||
@ApiModelProperty(value = "Код инструмента", example = "ABSDEFJ")
|
||||
@JsonProperty
|
||||
public String securitySymbol;
|
||||
@ApiModelProperty(value = "Краткое наименование инструмента", example = "ABSDE")
|
||||
@JsonProperty
|
||||
public String shortName;
|
||||
@ApiModelProperty(value = "Полное наименование инструмента", example = "Treasury bills")
|
||||
@JsonProperty
|
||||
public String fullName;
|
||||
@ApiModelProperty(value = "Наименование инструмента ISIN", example = "AFLT")
|
||||
@JsonProperty
|
||||
public String isin;
|
||||
@ApiModelProperty(value = "Код типа облигации", example = "AFLT")
|
||||
@JsonProperty
|
||||
public String bondType;
|
||||
@ApiModelProperty(value = "Размер лота", example = "300.5")
|
||||
@JsonProperty
|
||||
public BigDecimal lotSize;
|
||||
@ApiModelProperty(value = "Номинал", example = "200.5")
|
||||
@JsonProperty
|
||||
public BigDecimal nominalValue;
|
||||
@ApiModelProperty(value = "Наименование валюты номинала", example = "RUB")
|
||||
@JsonProperty
|
||||
public String nominalCurrency;
|
||||
@ApiModelProperty(value = "Дата погашения", example = "2022-02-21")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Europe/Moscow")
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||
@JsonProperty
|
||||
public LocalDate maturityDate;
|
||||
@ApiModelProperty(value = "Купон", example = "310.5")
|
||||
@JsonProperty
|
||||
public BigDecimal coupon;
|
||||
@ApiModelProperty(value = "Длительность купона", example = "4")
|
||||
@JsonProperty
|
||||
public Long couponFrequency;
|
||||
@ApiModelProperty(value = "Наименование эмитента", example = "1000")
|
||||
@JsonProperty
|
||||
public Long issuerId;
|
||||
|
||||
@ApiModelProperty(value = "Краткое наименование инструмента на английском", example = "Short LLT")
|
||||
@JsonProperty
|
||||
public String shortNameEng;
|
||||
@ApiModelProperty(value = "Полное наименование инструмента на английском", example = "True short name Limited Lumia Technology LLT")
|
||||
@JsonProperty
|
||||
public String fullNameEng;
|
||||
@ApiModelProperty(value = "Наименование статуса", example = "ACTV")
|
||||
@JsonProperty
|
||||
public String workflowStatus;
|
||||
@ApiModelProperty(value = "Наименование типа инструмента", example = "EQTY")
|
||||
@JsonProperty
|
||||
public String instrumentType;
|
||||
|
||||
@Override
|
||||
public Collection<EnumMessage> validate() {
|
||||
List<EnumMessage> errors = new ArrayList<>();
|
||||
if (TextUtil.isEmpty(securitySymbol))
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "securitySymbol"));
|
||||
if (TextUtil.isEmpty(shortName))
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "shortName"));
|
||||
if (lotSize == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "lotSize"));
|
||||
if (TextUtil.isEmpty(instrumentType))
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "instrumentType"));
|
||||
return errors.size() > 0 ? errors : Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public FixedIncomeSecurityNewRequest toRequest() {
|
||||
var req = new FixedIncomeSecurityNewRequest();
|
||||
req.setSecuritySymbol(this.getSecuritySymbol());
|
||||
req.setShortName(this.getShortName());
|
||||
req.setFullName(this.getFullName());
|
||||
req.setIsin(this.getIsin());
|
||||
req.setBondType(this.getBondType());
|
||||
req.setLotSize(this.getLotSize());
|
||||
req.setNominalValue(this.getNominalValue());
|
||||
req.setNominalCurrency(this.getNominalCurrency());
|
||||
req.setMaturityDate(this.getMaturityDate());
|
||||
req.setCoupon(this.getCoupon());
|
||||
req.setCouponFrequency(this.getCouponFrequency());
|
||||
req.setIssuerId(this.getIssuerId());
|
||||
req.setShortNameEng(this.getShortNameEng());
|
||||
req.setFullNameEng(this.getFullNameEng());
|
||||
req.setWorkflowStatus(this.getWorkflowStatus());
|
||||
req.setInstrumentType(this.getInstrumentType());
|
||||
return req;
|
||||
}
|
||||
|
||||
@ApiModelProperty(hidden = true)
|
||||
@Override
|
||||
public ActionType getActionType() {
|
||||
return ActionType.NEW;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSecuritySymbol() {
|
||||
return securitySymbol;
|
||||
}
|
||||
|
||||
public void setSecuritySymbol(String securitySymbol) {
|
||||
this.securitySymbol = securitySymbol;
|
||||
}
|
||||
|
||||
public String getShortName() {
|
||||
return shortName;
|
||||
}
|
||||
|
||||
public void setShortName(String shortName) {
|
||||
this.shortName = shortName;
|
||||
}
|
||||
|
||||
public String getFullName() {
|
||||
return fullName;
|
||||
}
|
||||
|
||||
public void setFullName(String fullName) {
|
||||
this.fullName = fullName;
|
||||
}
|
||||
|
||||
public String getIsin() {
|
||||
return isin;
|
||||
}
|
||||
|
||||
public void setIsin(String isin) {
|
||||
this.isin = isin;
|
||||
}
|
||||
|
||||
public String getBondType() {
|
||||
return bondType;
|
||||
}
|
||||
|
||||
public void setBondType(String bondType) {
|
||||
this.bondType = bondType;
|
||||
}
|
||||
|
||||
public BigDecimal getLotSize() {
|
||||
return lotSize;
|
||||
}
|
||||
|
||||
public void setLotSize(BigDecimal lotSize) {
|
||||
this.lotSize = lotSize;
|
||||
}
|
||||
|
||||
public BigDecimal getNominalValue() {
|
||||
return nominalValue;
|
||||
}
|
||||
|
||||
public void setNominalValue(BigDecimal nominalValue) {
|
||||
this.nominalValue = nominalValue;
|
||||
}
|
||||
|
||||
public String getNominalCurrency() {
|
||||
return nominalCurrency;
|
||||
}
|
||||
|
||||
public void setNominalCurrency(String nominalCurrency) {
|
||||
this.nominalCurrency = nominalCurrency;
|
||||
}
|
||||
|
||||
public LocalDate getMaturityDate() {
|
||||
return maturityDate;
|
||||
}
|
||||
|
||||
public void setMaturityDate(LocalDate maturityDate) {
|
||||
this.maturityDate = maturityDate;
|
||||
}
|
||||
|
||||
public BigDecimal getCoupon() {
|
||||
return coupon;
|
||||
}
|
||||
|
||||
public void setCoupon(BigDecimal coupon) {
|
||||
this.coupon = coupon;
|
||||
}
|
||||
|
||||
public Long getCouponFrequency() {
|
||||
return couponFrequency;
|
||||
}
|
||||
|
||||
public void setCouponFrequency(Long couponFrequency) {
|
||||
this.couponFrequency = couponFrequency;
|
||||
}
|
||||
|
||||
public Long getIssuerId() {
|
||||
return issuerId;
|
||||
}
|
||||
|
||||
public void setIssuerId(Long issuerId) {
|
||||
this.issuerId = issuerId;
|
||||
}
|
||||
|
||||
public String getShortNameEng() {
|
||||
return shortNameEng;
|
||||
}
|
||||
|
||||
public void setShortNameEng(String shortNameEng) {
|
||||
this.shortNameEng = shortNameEng;
|
||||
}
|
||||
|
||||
public String getFullNameEng() {
|
||||
return fullNameEng;
|
||||
}
|
||||
|
||||
public void setFullNameEng(String fullNameEng) {
|
||||
this.fullNameEng = fullNameEng;
|
||||
}
|
||||
|
||||
public String getWorkflowStatus() {
|
||||
return workflowStatus;
|
||||
}
|
||||
|
||||
public void setWorkflowStatus(String workflowStatus) {
|
||||
this.workflowStatus = workflowStatus;
|
||||
}
|
||||
|
||||
public String getInstrumentType() {
|
||||
return instrumentType;
|
||||
}
|
||||
|
||||
public void setInstrumentType(String instrumentType) {
|
||||
this.instrumentType = instrumentType;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,251 @@
|
|||
package ru.spcex.clearing.backendapi.controller.request.cud.securities;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||
import ru.spcex.clearing.backendapi.errors.BackEndError;
|
||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.FixedIncomeSecurityUpdateRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.LocalDateDeserializer;
|
||||
import ru.spcex.platform.classes.base.interfaces.WithSecuritySymbol;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class FixedIncomeSecurityUpdateAction implements IAction<FixedIncomeSecurityUpdateRequest>, WithSecuritySymbol {
|
||||
@ApiModelProperty(hidden = true)
|
||||
@JsonProperty
|
||||
public Long id;
|
||||
@ApiModelProperty(value = "Код инструмента", example = "ABSDEFJ")
|
||||
@JsonProperty
|
||||
public String securitySymbol;
|
||||
@ApiModelProperty(value = "Краткое наименование инструмента", example = "ABSDE")
|
||||
@JsonProperty
|
||||
public String shortName;
|
||||
@ApiModelProperty(value = "Полное наименование инструмента", example = "Treasury bills")
|
||||
@JsonProperty
|
||||
public String fullName;
|
||||
@ApiModelProperty(value = "Наименование инструмента ISIN", example = "AFLT")
|
||||
@JsonProperty
|
||||
public String isin;
|
||||
@ApiModelProperty(value = "Код типа облигации", example = "AFLT")
|
||||
@JsonProperty
|
||||
public String bondType;
|
||||
@ApiModelProperty(value = "Размер лота", example = "300.5")
|
||||
@JsonProperty
|
||||
public BigDecimal lotSize;
|
||||
@ApiModelProperty(value = "Номинал", example = "200.5")
|
||||
@JsonProperty
|
||||
public BigDecimal nominalValue;
|
||||
@ApiModelProperty(value = "Наименование валюты номинала", example = "RUB")
|
||||
@JsonProperty
|
||||
public String nominalCurrency;
|
||||
@ApiModelProperty(value = "Дата погашения", example = "2022-02-21")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Europe/Moscow")
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||
@JsonProperty
|
||||
public LocalDate maturityDate;
|
||||
@ApiModelProperty(value = "Купон", example = "310.5")
|
||||
@JsonProperty
|
||||
public BigDecimal coupon;
|
||||
@ApiModelProperty(value = "Длительность купона", example = "4")
|
||||
@JsonProperty
|
||||
public Long couponFrequency;
|
||||
@ApiModelProperty(value = "Наименование эмитента", example = "1000")
|
||||
@JsonProperty
|
||||
public Long issuerId;
|
||||
|
||||
@ApiModelProperty(value = "Краткое наименование инструмента на английском", example = "Short LLT")
|
||||
@JsonProperty
|
||||
public String shortNameEng;
|
||||
@ApiModelProperty(value = "Полное наименование инструмента на английском", example = "True short name Limited Lumia Technology LLT")
|
||||
@JsonProperty
|
||||
public String fullNameEng;
|
||||
@ApiModelProperty(value = "Наименование статуса", example = "ACTV")
|
||||
@JsonProperty
|
||||
public String workflowStatus;
|
||||
@ApiModelProperty(value = "Наименование типа инструмента", example = "EQTY")
|
||||
@JsonProperty
|
||||
public String instrumentType;
|
||||
|
||||
@Override
|
||||
public Collection<EnumMessage> validate() {
|
||||
List<EnumMessage> errors = new ArrayList<>();
|
||||
if (id == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "id"));
|
||||
return errors.size() > 0 ? errors : Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public FixedIncomeSecurityUpdateRequest toRequest() {
|
||||
var req = new FixedIncomeSecurityUpdateRequest();
|
||||
req.setId(this.getId());
|
||||
req.setSecuritySymbol(this.getSecuritySymbol());
|
||||
req.setShortName(this.getShortName());
|
||||
req.setFullName(this.getFullName());
|
||||
req.setIsin(this.getIsin());
|
||||
req.setBondType(this.getBondType());
|
||||
req.setLotSize(this.getLotSize());
|
||||
req.setNominalValue(this.getNominalValue());
|
||||
req.setNominalCurrency(this.getNominalCurrency());
|
||||
req.setMaturityDate(this.getMaturityDate());
|
||||
req.setCoupon(this.getCoupon());
|
||||
req.setCouponFrequency(this.getCouponFrequency());
|
||||
req.setIssuerId(this.getIssuerId());
|
||||
req.setShortNameEng(this.getShortNameEng());
|
||||
req.setFullNameEng(this.getFullNameEng());
|
||||
req.setWorkflowStatus(this.getWorkflowStatus());
|
||||
req.setInstrumentType(this.getInstrumentType());
|
||||
return req;
|
||||
}
|
||||
|
||||
@ApiModelProperty(hidden = true)
|
||||
@Override
|
||||
public ActionType getActionType() {
|
||||
return ActionType.UPDATE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSecuritySymbol() {
|
||||
return securitySymbol;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public void setSecuritySymbol(String securitySymbol) {
|
||||
this.securitySymbol = securitySymbol;
|
||||
}
|
||||
|
||||
public String getShortName() {
|
||||
return shortName;
|
||||
}
|
||||
|
||||
public void setShortName(String shortName) {
|
||||
this.shortName = shortName;
|
||||
}
|
||||
|
||||
public String getFullName() {
|
||||
return fullName;
|
||||
}
|
||||
|
||||
public void setFullName(String fullName) {
|
||||
this.fullName = fullName;
|
||||
}
|
||||
|
||||
public String getIsin() {
|
||||
return isin;
|
||||
}
|
||||
|
||||
public void setIsin(String isin) {
|
||||
this.isin = isin;
|
||||
}
|
||||
|
||||
public String getBondType() {
|
||||
return bondType;
|
||||
}
|
||||
|
||||
public void setBondType(String bondType) {
|
||||
this.bondType = bondType;
|
||||
}
|
||||
|
||||
public BigDecimal getLotSize() {
|
||||
return lotSize;
|
||||
}
|
||||
|
||||
public void setLotSize(BigDecimal lotSize) {
|
||||
this.lotSize = lotSize;
|
||||
}
|
||||
|
||||
public BigDecimal getNominalValue() {
|
||||
return nominalValue;
|
||||
}
|
||||
|
||||
public void setNominalValue(BigDecimal nominalValue) {
|
||||
this.nominalValue = nominalValue;
|
||||
}
|
||||
|
||||
public String getNominalCurrency() {
|
||||
return nominalCurrency;
|
||||
}
|
||||
|
||||
public void setNominalCurrency(String nominalCurrency) {
|
||||
this.nominalCurrency = nominalCurrency;
|
||||
}
|
||||
|
||||
public LocalDate getMaturityDate() {
|
||||
return maturityDate;
|
||||
}
|
||||
|
||||
public void setMaturityDate(LocalDate maturityDate) {
|
||||
this.maturityDate = maturityDate;
|
||||
}
|
||||
|
||||
public BigDecimal getCoupon() {
|
||||
return coupon;
|
||||
}
|
||||
|
||||
public void setCoupon(BigDecimal coupon) {
|
||||
this.coupon = coupon;
|
||||
}
|
||||
|
||||
public Long getCouponFrequency() {
|
||||
return couponFrequency;
|
||||
}
|
||||
|
||||
public void setCouponFrequency(Long couponFrequency) {
|
||||
this.couponFrequency = couponFrequency;
|
||||
}
|
||||
|
||||
public Long getIssuerId() {
|
||||
return issuerId;
|
||||
}
|
||||
|
||||
public void setIssuerId(Long issuerId) {
|
||||
this.issuerId = issuerId;
|
||||
}
|
||||
|
||||
public String getShortNameEng() {
|
||||
return shortNameEng;
|
||||
}
|
||||
|
||||
public void setShortNameEng(String shortNameEng) {
|
||||
this.shortNameEng = shortNameEng;
|
||||
}
|
||||
|
||||
public String getFullNameEng() {
|
||||
return fullNameEng;
|
||||
}
|
||||
|
||||
public void setFullNameEng(String fullNameEng) {
|
||||
this.fullNameEng = fullNameEng;
|
||||
}
|
||||
|
||||
public String getWorkflowStatus() {
|
||||
return workflowStatus;
|
||||
}
|
||||
|
||||
public void setWorkflowStatus(String workflowStatus) {
|
||||
this.workflowStatus = workflowStatus;
|
||||
}
|
||||
|
||||
public String getInstrumentType() {
|
||||
return instrumentType;
|
||||
}
|
||||
|
||||
public void setInstrumentType(String instrumentType) {
|
||||
this.instrumentType = instrumentType;
|
||||
}
|
||||
}
|
||||
|
|
@ -49,26 +49,31 @@ public class MoneyMarketSecurityNewAction implements IAction<MoneyMarketSecurity
|
|||
@ApiModelProperty(value = "Размер лота", example = "300.5")
|
||||
@JsonProperty
|
||||
public BigDecimal lotSize;
|
||||
@ApiModelProperty(value = "Краткое наименование инструмента", example = "ABSDE")
|
||||
@JsonProperty
|
||||
public String shortName;
|
||||
|
||||
@Override
|
||||
public Collection<EnumMessage> validate() {
|
||||
List<EnumMessage> errors = new ArrayList<>();
|
||||
if (this.startDate == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "startDate"));
|
||||
if (this.endDate == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "endDate"));
|
||||
if (TextUtil.isEmpty(securitySymbol))
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "securitySymbol"));
|
||||
if (TextUtil.isEmpty(shortName))
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "shortName"));
|
||||
if (this.lotSize == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "lotSize"));
|
||||
if (this.nominalValue == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "nominalValue"));
|
||||
if (TextUtil.isEmpty(nominalCurrency))
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "nominalCurrency"));
|
||||
if (this.startDate == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "startDate"));
|
||||
if (this.endDate == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "endDate"));
|
||||
// if (this.termType == null)
|
||||
// errors.add(new EnumMessage(BackEndError.ValidationError, "termType"));
|
||||
if (TextUtil.isEmpty(instrumentType))
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "instrumentType"));
|
||||
if (TextUtil.isEmpty(fullName))
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "fullName"));
|
||||
if (TextUtil.isEmpty(securitySymbol))
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "securitySymbol"));
|
||||
if (this.lotSize == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "lotSize"));
|
||||
return errors.size() > 0 ? errors : Collections.emptyList();
|
||||
}
|
||||
|
||||
|
|
@ -83,6 +88,7 @@ public class MoneyMarketSecurityNewAction implements IAction<MoneyMarketSecurity
|
|||
req.setFullName(this.getFullName());
|
||||
req.setSecuritySymbol(this.getSecuritySymbol());
|
||||
req.setLotSize(this.getLotSize());
|
||||
req.setShortName(this.getShortName());
|
||||
return req;
|
||||
}
|
||||
|
||||
|
|
@ -155,4 +161,12 @@ public class MoneyMarketSecurityNewAction implements IAction<MoneyMarketSecurity
|
|||
public void setLotSize(BigDecimal lotSize) {
|
||||
this.lotSize = lotSize;
|
||||
}
|
||||
|
||||
public String getShortName() {
|
||||
return shortName;
|
||||
}
|
||||
|
||||
public void setShortName(String shortName) {
|
||||
this.shortName = shortName;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,6 +49,9 @@ public class MoneyMarketSecurityUpdateAction implements IAction<MoneyMarketSecur
|
|||
@ApiModelProperty(value = "Размер лота", example = "300.5")
|
||||
@JsonProperty
|
||||
public BigDecimal lotSize;
|
||||
@ApiModelProperty(value = "Краткое наименование инструмента", example = "ABSDE")
|
||||
@JsonProperty
|
||||
public String shortName;
|
||||
|
||||
@Override
|
||||
public MoneyMarketSecurityUpdateRequest toRequest() {
|
||||
|
|
@ -61,26 +64,15 @@ public class MoneyMarketSecurityUpdateAction implements IAction<MoneyMarketSecur
|
|||
req.setInstrumentType(this.getInstrumentType());
|
||||
req.setFullName(this.getFullName());
|
||||
req.setLotSize(this.getLotSize());
|
||||
req.setShortName(this.getShortName());
|
||||
return req;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<EnumMessage> validate() {
|
||||
List<EnumMessage> errors = new ArrayList<>();
|
||||
if (this.startDate == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "startDate"));
|
||||
if (this.endDate == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "endDate"));
|
||||
if (this.nominalValue == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "nominalValue"));
|
||||
if (TextUtil.isEmpty(nominalCurrency))
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "nominalCurrency"));
|
||||
if (TextUtil.isEmpty(instrumentType))
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "instrumentType"));
|
||||
if (TextUtil.isEmpty(fullName))
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "fullName"));
|
||||
if (this.lotSize == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "lotSize"));
|
||||
if (this.id == null)
|
||||
errors.add(new EnumMessage(BackEndError.ValidationError, "id"));
|
||||
return errors.size() > 0 ? errors : Collections.emptyList();
|
||||
}
|
||||
|
||||
|
|
@ -154,4 +146,12 @@ public class MoneyMarketSecurityUpdateAction implements IAction<MoneyMarketSecur
|
|||
public void setStartDate(LocalDate startDate) {
|
||||
this.startDate = startDate;
|
||||
}
|
||||
|
||||
public String getShortName() {
|
||||
return shortName;
|
||||
}
|
||||
|
||||
public void setShortName(String shortName) {
|
||||
this.shortName = shortName;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,13 +60,8 @@ public class CompanyBackendGetAll extends BasicSpcexResponse {
|
|||
singleItem.setLegalKind(profile.getLegalKind());
|
||||
singleItem.setOrganizationType(profile.getOrganizationType());
|
||||
singleItem.setResidence(profile.getResidence());
|
||||
singleItem.setShortName(profile.getShortName());
|
||||
singleItem.setFullName(profile.getFullName());
|
||||
singleItem.setShortNameEng(profile.getShortNameEng());
|
||||
singleItem.setFullNameEng(profile.getFullNameEng());
|
||||
singleItem.setTradingCode(profile.getTradingCode());
|
||||
singleItem.setClearingCode(profile.getClearingCode());
|
||||
singleItem.setRegistrationCode(profile.getRegistrationCode());
|
||||
}
|
||||
payload.getItems().add(singleItem);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,13 +50,8 @@ public class CompanyBackendInfoGetAll extends BasicSpcexResponse {
|
|||
singleItem.setLegalKind(companyInfo.getLegalKind());
|
||||
singleItem.setOrganizationType(companyInfo.getOrganizationType());
|
||||
singleItem.setResidence(companyInfo.getResidence());
|
||||
singleItem.setShortName(companyInfo.getShortName());
|
||||
singleItem.setFullName(companyInfo.getFullName());
|
||||
singleItem.setShortNameEng(companyInfo.getShortNameEng());
|
||||
singleItem.setFullNameEng(companyInfo.getFullNameEng());
|
||||
singleItem.setTradingCode(companyInfo.getTradingCode());
|
||||
singleItem.setClearingCode(companyInfo.getClearingCode());
|
||||
singleItem.setRegistrationCode(companyInfo.getRegistrationCode());
|
||||
payload.getItems().add(singleItem);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
package ru.spcex.clearing.backendapi.controller.response.entity.registry;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||
|
||||
/**
|
||||
* Банковские реквизиты для перечисления денежных средств
|
||||
*
|
||||
* @ApiModel(description = "Ответ в результате отправки операции в топик Kafka.")
|
||||
* @ApiModelProperty(value = "Информация о принятом запросе")
|
||||
**/
|
||||
@ApiModel(description = "Ответ при получении объекта TradingClearingRegistry.")
|
||||
public class TradingClearingRegistryBackendGetById extends BasicSpcexResponse {
|
||||
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Поля объекта")
|
||||
private TradingClearingRegistryBackendGetFields payload;
|
||||
|
||||
public TradingClearingRegistryBackendGetFields getPayload() {
|
||||
return payload;
|
||||
}
|
||||
|
||||
public void setPayload(TradingClearingRegistryBackendGetFields payload) {
|
||||
this.payload = payload;
|
||||
}
|
||||
|
||||
public void fromEntity(TradingClearingRegistry tcr) {
|
||||
var payload = new TradingClearingRegistryBackendGetFields();
|
||||
this.setPayload(payload);
|
||||
payload.setId(tcr.getId());
|
||||
payload.setCompanyId(tcr.getCompanyId());
|
||||
payload.setCode(tcr.getCode());
|
||||
payload.setMoneyAccountId(tcr.getMoneyAccountId());
|
||||
payload.setDepoAaccountId(tcr.getDepoAaccountId());
|
||||
payload.setTradingClearingRegistryType(tcr.getTradingClearingRegistryType());
|
||||
payload.setTradingClearingRegistryLevel(tcr.getTradingClearingRegistryLevel());
|
||||
payload.setTradingClearingRegistryPurpose(tcr.getTradingClearingRegistryPurpose());
|
||||
payload.setStatus(tcr.getStatus());
|
||||
payload.setCreatedAt(tcr.getCreated());
|
||||
payload.setUpdatedAt(tcr.getUpdated());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,133 @@
|
|||
package ru.spcex.clearing.backendapi.controller.response.entity.registry;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.platform.messaging.domain.json.serialize.InstantSerializer;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
public class TradingClearingRegistryBackendGetFields {
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Идентификатор", example = "1234")
|
||||
private Long id;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Идентификатор компании", example = "1234")
|
||||
private Long companyId;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "од торгово-клирингового регистра", example = "ABCD")
|
||||
private String code;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Идентификатор денежного счета", example = "")
|
||||
private Long moneyAccountId;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Идентификатор депозитарного счета", example = "")
|
||||
private Long depoAaccountId;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Код торгово-клирингового регистра", example = "")
|
||||
private String tradingClearingRegistryType;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Код торгово-клирингового регистра", example = "")
|
||||
private String tradingClearingRegistryLevel;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Код области применения", example = "")
|
||||
private String tradingClearingRegistryPurpose;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Наименование статуса", example = "ACTV")
|
||||
private String status;
|
||||
|
||||
@JsonProperty("Дата-время создания записи")
|
||||
@JsonSerialize(using = InstantSerializer.class)
|
||||
private Instant createdAt;
|
||||
@JsonProperty("Дата-время изменения записи")
|
||||
@JsonSerialize(using = InstantSerializer.class)
|
||||
private Instant updatedAt;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public Long getMoneyAccountId() {
|
||||
return moneyAccountId;
|
||||
}
|
||||
|
||||
public void setMoneyAccountId(Long moneyAccountId) {
|
||||
this.moneyAccountId = moneyAccountId;
|
||||
}
|
||||
|
||||
public Long getDepoAaccountId() {
|
||||
return depoAaccountId;
|
||||
}
|
||||
|
||||
public void setDepoAaccountId(Long depoAaccountId) {
|
||||
this.depoAaccountId = depoAaccountId;
|
||||
}
|
||||
|
||||
public String getTradingClearingRegistryType() {
|
||||
return tradingClearingRegistryType;
|
||||
}
|
||||
|
||||
public void setTradingClearingRegistryType(String tradingClearingRegistryType) {
|
||||
this.tradingClearingRegistryType = tradingClearingRegistryType;
|
||||
}
|
||||
|
||||
public String getTradingClearingRegistryLevel() {
|
||||
return tradingClearingRegistryLevel;
|
||||
}
|
||||
|
||||
public void setTradingClearingRegistryLevel(String tradingClearingRegistryLevel) {
|
||||
this.tradingClearingRegistryLevel = tradingClearingRegistryLevel;
|
||||
}
|
||||
|
||||
public String getTradingClearingRegistryPurpose() {
|
||||
return tradingClearingRegistryPurpose;
|
||||
}
|
||||
|
||||
public void setTradingClearingRegistryPurpose(String tradingClearingRegistryPurpose) {
|
||||
this.tradingClearingRegistryPurpose = tradingClearingRegistryPurpose;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Instant createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Instant getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
}
|
||||
|
|
@ -24,4 +24,10 @@ public class ActionValidationException extends RuntimeException {
|
|||
public Collection<EnumMessage> getErrors() {
|
||||
return errors;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "ActionValidationException{message:" + getMessage() +
|
||||
", errors=" + errors + "}";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,4 +7,17 @@ import java.util.concurrent.ExecutionException;
|
|||
|
||||
public interface IOperator {
|
||||
QueueSuccessResponse sendRequestToQueue(String destination, IAction<?> iAction, boolean appendUserId) throws ExecutionException, InterruptedException;
|
||||
|
||||
/**
|
||||
* Для оптимизации проставления userId.
|
||||
* Аналог sendRequestToQueue(String destination, IAction<?> iAction, true)
|
||||
*
|
||||
* @param destination
|
||||
* @param iAction
|
||||
* @param userId совершивший запрос
|
||||
* @return
|
||||
* @throws ExecutionException
|
||||
* @throws InterruptedException
|
||||
*/
|
||||
QueueSuccessResponse sendRequestToQueue(String destination, IAction<?> iAction, Long userId) throws ExecutionException, InterruptedException;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import ru.spcex.platform.imdg.api.Imdg;
|
|||
import ru.spcex.platform.imdg.api.ImdgId;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
import ru.spcex.platform.utils.log.ExceptionUtils;
|
||||
import ru.spcex.platform.utils.validation.IValidator;
|
||||
|
||||
import java.util.Collection;
|
||||
|
|
@ -80,6 +81,25 @@ public class OperatorImpl implements IOperator {
|
|||
return new QueueSuccessResponse(request.getActionType(), request.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public QueueSuccessResponse sendRequestToQueue(String destination, IAction<?> iAction, Long userId) throws ExecutionException, InterruptedException {
|
||||
throwValidate(destination, iAction);
|
||||
BaseRequest<Object> request = new BaseRequest<>();
|
||||
request.setId(idGenerator.nextId());
|
||||
request.setActionType(iAction.getActionType());
|
||||
request.setRequestPayload(iAction.toRequest());
|
||||
if (userId == null) {
|
||||
log.warn("userId not set, Stacktrace: {}", ExceptionUtils.getStackTrace(new IllegalArgumentException("Empty userId")));
|
||||
} else {
|
||||
request.setUserId(userId);
|
||||
}
|
||||
//сохраняет данные о запросе в хранилище
|
||||
saveRequestToStorage(destination, request);
|
||||
Future<RecordMetadata> send = kafka.send(new ProducerRecord<>(destination, request));
|
||||
send.get();
|
||||
return new QueueSuccessResponse(request.getActionType(), request.getId());
|
||||
}
|
||||
|
||||
private void saveRequestToStorage(String destination, BaseRequest<Object> request) {
|
||||
Imdg<RequestInfo> requestStorage = imdgProvider.getImdg(IMDGDistributedNames.Map_RequestInfo, RequestInfo.class);
|
||||
RequestInfo requestInfo = RequestInfo.create(request.getId());
|
||||
|
|
|
|||
|
|
@ -1,230 +1,251 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<meta version="3.5.0.2">
|
||||
<meta version="3.5.0.4">
|
||||
<enums>
|
||||
<allowed id="1" code="ALWD" name="Разрешено" part="1"/>
|
||||
<allowed id="2" code="DEND" name="Запрещено" part="1"/>
|
||||
<workflowStatus id="1" code="ACTV" name="Активен" part="1"/>
|
||||
<workflowStatus id="2" code="BLKD" name="Не активен" part="1"/>
|
||||
<countryCode id="1" code="RUS" name="Россия" part="1"/>
|
||||
<section id="1" code="MKR" name="Секция Денежного рынка МКР" part="1"/>
|
||||
<section id="2" code="FOND" name="Фондовая секция" part="1"/>
|
||||
<userRole id="1" code="ADMN" name="Администратор Клиринга МКР" part="1"/>
|
||||
<userRole id="2" code="SPVS" name="Супервайзер Клиринга МКР" part="1"/>
|
||||
<userRole id="3" code="SCRT" name="Администратор безопасности Клиринга МКР" part="1"/>
|
||||
<connectionState id="1" code="CNCT" name="Подключен" part="1"/>
|
||||
<connectionState id="2" code="DSBL" name="Отключен" part="1"/>
|
||||
<legalKind id="1" code="JURD" name="Юридическое лицо" part="1"/>
|
||||
<legalKind id="2" code="PHYS" name="Физическое лицо" part="1"/>
|
||||
<organizationType id="1" code="CRED" name="Кредитная" part="1"/>
|
||||
<organizationType id="2" code="NCRD" name="Некредитная" part="1"/>
|
||||
<corporationSoleType id="1" code="PRSD" name="Президент" part="1"/>
|
||||
<corporationSoleType id="2" code="GDIR" name="Генеральный директор" part="1"/>
|
||||
<corporationSoleType id="3" code="CMAN" name="Председатель правления" part="1"/>
|
||||
<corporationSoleType id="4" code="MGNT" name="Управляющая компания" part="1"/>
|
||||
<corporationSoleType id="5" code="OTHR" name="Другой" part="1"/>
|
||||
<clearingCategory id="1" code="C" name="Категория «Ц» - Банк России" part="1"/>
|
||||
<clearingCategory id="2" code="B" name="Категория «Б» - Кредитная организация ДР" part="1"/>
|
||||
<clearingCategory id="3" code="F" name="Категория «Ф» - Участник рынка РЦБ" part="1"/>
|
||||
<clearingCategory id="4" code="I" name="Категория «И» - Инициатор по ТБС" part="1"/>
|
||||
<clearingCategory id="5" code="V" name="Категория «В» - Инициатор по ТКС" part="1"/>
|
||||
<clearingCategory id="6" code="T" name="Категория «Т» - Участник товарного рынка" part="1"/>
|
||||
<clearingCategory id="7" code="K" name="Категория «К» - Участник клиринга - Контроллер" part="1"/>
|
||||
<contactType id="1" code="ADRS" name="Адрес" part="1"/>
|
||||
<contactType id="2" code="POST" name="Почтовый адрес" part="1"/>
|
||||
<contactType id="3" code="CONT" name="Контактное лицо" part="1"/>
|
||||
<contactType id="4" code="MAIL" name="Электронная почта" part="1"/>
|
||||
<contactType id="5" code="PHON" name="Телефон" part="1"/>
|
||||
<contactType id="6" code="GDIR" name="Генеральный директор" part="1"/>
|
||||
<contactType id="7" code="TRST" name="Доверенное лицо" part="1"/>
|
||||
<contactType id="8" code="FAX" name="Факс" part="1"/>
|
||||
<contactType id="9" code="INFO" name="Контактная информация" part="1"/>
|
||||
<contactType id="10" code="CMNT" name="Примечание" part="1"/>
|
||||
<documentType id="1" code="PASP" name="Паспорт" part="1"/>
|
||||
<documentType id="2" code="ICRT" name="Удостоверение личности" part="1"/>
|
||||
<documentType id="3" code="PRXY" name="Доверенность" part="1"/>
|
||||
<documentType id="4" code="CNTR" name="Договор клиринга" part="1"/>
|
||||
<documentType id="5" code="REGS" name="Регистрация" part="1"/>
|
||||
<documentType id="6" code="FORM" name="Анкета участника" part="1"/>
|
||||
<documentType id="7" code="OGRN" name="ОГРН" part="1"/>
|
||||
<documentType id="8" code="LICB" name="Банковская лицензия" part="1"/>
|
||||
<documentType id="9" code="LICP" name="Лицензия проф. участника" part="1"/>
|
||||
<documentType id="10" code="PLAC" name="Регистрация по месту пребывания" part="1"/>
|
||||
<documentType id="11" code="INN" name="ИНН" part="1"/>
|
||||
<documentType id="12" code="CIO" name="КИО" part="1"/>
|
||||
<documentType id="13" code="LICR" name="Брокерская лицензия" part="1"/>
|
||||
<documentType id="14" code="FIN" name="Финансовая отчетность" part="1"/>
|
||||
<documentType id="15" code="TRST" name="Полномочия должностных лиц" part="1"/>
|
||||
<documentType id="16" code="PMKR" name="Распоряжение на списание МКР" part="1"/>
|
||||
<documentType id="17" code="TAUT" name="Допуск к торгам" part="1"/>
|
||||
<documentType id="18" code="EDOC" name="Договор об электронном взаимодействии" part="1"/>
|
||||
<documentType id="19" code="XCNT" name="Документ о расторжении Договора клиринга" part="1"/>
|
||||
<documentType id="20" code="LICD" name="Документ о дилерской лицензии" shortname="Дилерская деятельность" part="1"/>
|
||||
<documentType id="21" code="LICT" name="Документ о лицензии по управлению ЦБ" shortname="Управление ценными бумагами" part="1"/>
|
||||
<documentType id="22" code="LICС" name="Документ о лицензии по брокерской деятельности ПФИ (производных финансовых инструментов)" shortname="Брокерская деятельность ПФИ" part="1"/>
|
||||
<documentType id="23" code="LICF" name="Документ о лицензии форекс-дилера" shortname="Деятельность форекс-дилера" part="1"/>
|
||||
<companySymbol id="1" code="OCVD" name="Общероссийский классификатор видов экономической деятельности" shortname="ОКВЭД" part="1"/>
|
||||
<companySymbol id="2" code="INN" name="Индивидуальный налоговый номер" shortname="ИНН" part="1"/>
|
||||
<companySymbol id="3" code="CPP" name="Код причины постановки" shortname="КПП" part="1"/>
|
||||
<companySymbol id="4" code="OCPO" name="Общероссийский классификатор предприятий и организаций" shortname="ОКПО" part="1"/>
|
||||
<companySymbol id="5" code="LICP" name="Номер лицензии профессионального участника по брокерской деятельности" shortname="Профессиональная деятельность на рынке ценных бумаг" part="1"/>
|
||||
<companySymbol id="6" code="LICB" name="Номер банковской лицензии" shortname="Банковская деятельность" part="1"/>
|
||||
<companySymbol id="7" code="BIC" name="Банковский идентификационный код" shortname="БИК" part="1"/>
|
||||
<companySymbol id="8" code="OGRN" name="Основной государственный регистрационный номер" shortname="ОГРН" part="1"/>
|
||||
<companySymbol id="9" code="CIO" name="Код иностранной организации" shortname="КИО" part="1"/>
|
||||
<companySymbol id="10" code="LICD" name="Номер дилерской лицензии" shortname="Дилерская деятельность" part="1"/>
|
||||
<companySymbol id="11" code="LICT" name="Номер лицензии по управлению ЦБ" shortname="Управление ценными бумагами" part="1"/>
|
||||
<companySymbol id="12" code="LICС" name="Номер лицензии по брокерской деятельности ПФИ (производных финансовых инструментов)" shortname="Брокерская деятельность ПФИ" part="1"/>
|
||||
<companySymbol id="13" code="LICF" name="Номер лицензии форекс-дилера" shortname="Деятельность форекс-дилера" part="1"/>
|
||||
<companySymbol id="14" code="LICR" name="Номер брокерской лицензии" shortname="Брокерская деятельность" part="1"/>
|
||||
<companySymbol id="15" code="TRDC" name="Код участника торгов" shortname="Биржевой код" part="1"/>
|
||||
<companySymbol id="16" code="CLRC" name="Код участника клиринга" shortname="Клиринговый код" part="1"/>
|
||||
<companySymbol id="17" code="RGRC" name="Регистрационный код участника" shortname="Регистрационный код" part="1"/>
|
||||
<companySymbol id="18" code="UUID" name="Идентификатор во внешней системе" shortname="Внешний идентификатор" part="1"/>
|
||||
<companyRole id="1" code="RPRT" name="Отчетная организация" part="1"/>
|
||||
<companyRole id="2" code="CLRH" name="Клиринговая организация" part="1"/>
|
||||
<companyRole id="3" code="EXCH" name="Торговая система" part="1"/>
|
||||
<companyRole id="4" code="SETH" name="Расчетный центр" part="1"/>
|
||||
<companyRole id="5" code="DEPS" name="Депозитарий" part="1"/>
|
||||
<companyRole id="6" code="CLRM" name="Участник клиринга" part="1"/>
|
||||
<currencyCode id="643" code="RUB" name="Российский рубль" part="1"/>
|
||||
<instrumentType id="1" code="RATE" name="Инструмент Денежного рынка" part="1"/>
|
||||
<instrumentType id="2" code="CRNC" name="Валюта" part="1"/>
|
||||
<instrumentType id="3" code="EQTY" name="Акция" part="1"/>
|
||||
<instrumentType id="4" code="BOND" name="Облигация" part="1"/>
|
||||
<instrumentType id="5" code="MFND" name="ПАИ" part="1"/>
|
||||
<termType id="1" code="S" name="Срочный" part="1"/>
|
||||
<termType id="2" code="K" name="Комбинированный" part="1"/>
|
||||
<termType id="3" code="V" name="До востребования" part="1"/>
|
||||
<shareType id="1" code="S" name="Обыкновенная акция" part="1"/>
|
||||
<shareType id="2" code="P" name="Привилегированная акция" part="1"/>
|
||||
<bondType id="1" code="Z" name="Дисконтная облигация" part="1"/>
|
||||
<bondType id="2" code="F" name="Купонная облигация с постоянным купоном" part="1"/>
|
||||
<bondType id="3" code="V" name="Купонная облигация с переменным купоном" part="1"/>
|
||||
<bondType id="4" code="C" name="Купонная облигация Банка России" part="1"/>
|
||||
<bondType id="5" code="E" name="Биржевая облигация" part="1"/>
|
||||
<bondType id="6" code="I" name="Облигации с индексированным номиналом" part="1"/>
|
||||
<bondType id="7" code="M" name="Облигации с амортизацией долга" part="1"/>
|
||||
<allowed id="1" code="ALWD" name="Разрешено"/>
|
||||
<allowed id="2" code="DEND" name="Запрещено"/>
|
||||
<workflowStatus id="1" code="ACTV" name="Активен"/>
|
||||
<workflowStatus id="2" code="BLKD" name="Не активен"/>
|
||||
<countryCode id="1" code="RUS" name="Россия"/>
|
||||
<section id="1" code="MKR" name="Секция Денежного рынка МКР"/>
|
||||
<section id="2" code="FOND" name="Фондовая секция"/>
|
||||
<userRole id="1" code="ADMN" name="Администратор Клиринга МКР"/>
|
||||
<userRole id="2" code="SPVS" name="Супервайзер Клиринга МКР"/>
|
||||
<userRole id="3" code="SCRT" name="Администратор безопасности Клиринга МКР"/>
|
||||
<connectionState id="1" code="CNCT" name="Подключен"/>
|
||||
<connectionState id="2" code="DSBL" name="Отключен"/>
|
||||
<legalKind id="1" code="JURD" name="Юридическое лицо"/>
|
||||
<legalKind id="2" code="PHYS" name="Физическое лицо"/>
|
||||
<organizationType id="1" code="CRED" name="Кредитная"/>
|
||||
<organizationType id="2" code="NCRD" name="Некредитная"/>
|
||||
<corporationSoleType id="1" code="PRSD" name="Президент"/>
|
||||
<corporationSoleType id="2" code="GDIR" name="Генеральный директор"/>
|
||||
<corporationSoleType id="3" code="CMAN" name="Председатель правления"/>
|
||||
<corporationSoleType id="4" code="MGNT" name="Управляющая компания"/>
|
||||
<corporationSoleType id="5" code="OTHR" name="Другой"/>
|
||||
<clearingCategory id="1" code="C" name="Категория «Ц» - Банк России"/>
|
||||
<clearingCategory id="2" code="B" name="Категория «Б» - Кредитная организация ДР"/>
|
||||
<clearingCategory id="3" code="F" name="Категория «Ф» - Участник рынка РЦБ"/>
|
||||
<clearingCategory id="4" code="I" name="Категория «И» - Инициатор по ТБС"/>
|
||||
<clearingCategory id="5" code="V" name="Категория «В» - Инициатор по ТКС"/>
|
||||
<clearingCategory id="6" code="T" name="Категория «Т» - Участник товарного рынка"/>
|
||||
<clearingCategory id="7" code="K" 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="Электронная почта"/>
|
||||
<contactType id="5" code="PHON" name="Телефон"/>
|
||||
<contactType id="6" code="GDIR" name="Генеральный директор"/>
|
||||
<contactType id="7" code="TRST" name="Доверенное лицо"/>
|
||||
<contactType id="8" code="FAX" name="Факс"/>
|
||||
<contactType id="9" code="INFO" name="Контактная информация"/>
|
||||
<contactType id="10" code="CMNT" name="Примечание"/>
|
||||
<documentType id="1" code="PASP" name="Паспорт"/>
|
||||
<documentType id="2" code="ICRT" name="Удостоверение личности"/>
|
||||
<documentType id="3" code="PRXY" name="Доверенность"/>
|
||||
<documentType id="4" code="CNTR" name="Договор клиринга"/>
|
||||
<documentType id="5" code="REGS" name="Регистрация"/>
|
||||
<documentType id="6" code="FORM" name="Анкета участника"/>
|
||||
<documentType id="7" code="OGRN" name="ОГРН"/>
|
||||
<documentType id="8" code="LICB" name="Банковская лицензия"/>
|
||||
<documentType id="9" code="LICP" name="Лицензия проф. участника"/>
|
||||
<documentType id="10" code="PLAC" name="Регистрация по месту пребывания"/>
|
||||
<documentType id="11" code="INN" name="ИНН"/>
|
||||
<documentType id="12" code="CIO" name="КИО"/>
|
||||
<documentType id="13" code="LICR" name="Брокерская лицензия"/>
|
||||
<documentType id="14" code="FIN" name="Финансовая отчетность"/>
|
||||
<documentType id="15" code="TRST" name="Полномочия должностных лиц"/>
|
||||
<documentType id="16" code="PMKR" name="Распоряжение на списание МКР"/>
|
||||
<documentType id="17" code="TAUT" name="Допуск к торгам"/>
|
||||
<documentType id="18" code="EDOC" name="Договор об электронном взаимодействии"/>
|
||||
<documentType id="19" code="XCNT" name="Документ о расторжении Договора клиринга"/>
|
||||
<documentType id="20" code="LICD" name="Документ о дилерской лицензии" shortname="Дилерская деятельность"/>
|
||||
<documentType id="21" code="LICT" name="Документ о лицензии по управлению ЦБ" shortname="Управление ценными бумагами"/>
|
||||
<documentType id="22" code="LICС" name="Документ о лицензии по брокерской деятельности ПФИ (производных финансовых инструментов)" shortname="Брокерская деятельность ПФИ"/>
|
||||
<documentType id="23" code="LICF" name="Документ о лицензии форекс-дилера" shortname="Деятельность форекс-дилера"/>
|
||||
<companySymbol id="1" code="OCVD" name="Общероссийский классификатор видов экономической деятельности" shortname="ОКВЭД"/>
|
||||
<companySymbol id="2" code="INN" name="Индивидуальный налоговый номер" shortname="ИНН"/>
|
||||
<companySymbol id="3" code="CPP" name="Код причины постановки" shortname="КПП"/>
|
||||
<companySymbol id="4" code="OCPO" name="Общероссийский классификатор предприятий и организаций" shortname="ОКПО"/>
|
||||
<companySymbol id="5" code="LICP" name="Номер лицензии профессионального участника по брокерской деятельности" shortname="Профессиональная деятельность на рынке ценных бумаг"/>
|
||||
<companySymbol id="6" code="LICB" name="Номер банковской лицензии" shortname="Банковская деятельность"/>
|
||||
<companySymbol id="7" code="BIC" name="Банковский идентификационный код" shortname="БИК"/>
|
||||
<companySymbol id="8" code="OGRN" name="Основной государственный регистрационный номер" shortname="ОГРН"/>
|
||||
<companySymbol id="9" code="CIO" name="Код иностранной организации" shortname="КИО"/>
|
||||
<companySymbol id="10" code="LICD" name="Номер дилерской лицензии" shortname="Дилерская деятельность"/>
|
||||
<companySymbol id="11" code="LICT" name="Номер лицензии по управлению ЦБ" shortname="Управление ценными бумагами"/>
|
||||
<companySymbol id="12" code="LICС" name="Номер лицензии по брокерской деятельности ПФИ (производных финансовых инструментов)" shortname="Брокерская деятельность ПФИ"/>
|
||||
<companySymbol id="13" code="LICF" name="Номер лицензии форекс-дилера" shortname="Деятельность форекс-дилера"/>
|
||||
<companySymbol id="14" code="LICR" name="Номер брокерской лицензии" shortname="Брокерская деятельность"/>
|
||||
<companySymbol id="15" code="TRDC" name="Код участника торгов" shortname="Биржевой код"/>
|
||||
<companySymbol id="16" code="CLRC" name="Код участника клиринга" shortname="Клиринговый код"/>
|
||||
<companySymbol id="17" code="RGRC" name="Регистрационный код участника" shortname="Регистрационный код"/>
|
||||
<companySymbol id="18" code="UUID" name="Идентификатор во внешней системе" shortname="Внешний идентификатор"/>
|
||||
<companySymbol id="19" code="RDPZ" name="Требуется получение документа о подтверждении открытия депозитного счета" shortname="Подтверждение депозитного счета"/>
|
||||
<companyRole id="1" code="RPRT" name="Отчетная организация"/>
|
||||
<companyRole id="2" code="CLRH" name="Клиринговая организация"/>
|
||||
<companyRole id="3" code="EXCH" name="Торговая система"/>
|
||||
<companyRole id="4" code="SETH" name="Расчетный центр"/>
|
||||
<companyRole id="5" code="DEPS" name="Депозитарий"/>
|
||||
<companyRole id="6" code="CLRM" name="Участник клиринга"/>
|
||||
<currencyCode id="643" code="RUB" name="Российский рубль"/>
|
||||
<instrumentType id="1" code="RATE" name="Инструмент Денежного рынка"/>
|
||||
<instrumentType id="2" code="CRNC" name="Валюта"/>
|
||||
<instrumentType id="3" code="EQTY" name="Акция"/>
|
||||
<instrumentType id="4" code="BOND" name="Облигация"/>
|
||||
<instrumentType id="5" code="MFND" name="ПАИ"/>
|
||||
<termType id="1" code="S" name="Срочный"/>
|
||||
<termType id="2" code="K" name="Комбинированный"/>
|
||||
<termType id="3" code="V" name="До востребования"/>
|
||||
<shareType id="1" code="S" name="Обыкновенная акция"/>
|
||||
<shareType id="2" code="P" name="Привилегированная акция"/>
|
||||
<bondType id="1" code="Z" name="Дисконтная облигация"/>
|
||||
<bondType id="2" code="F" name="Купонная облигация с постоянным купоном"/>
|
||||
<bondType id="3" code="V" name="Купонная облигация с переменным купоном"/>
|
||||
<bondType id="4" code="C" name="Купонная облигация Банка России"/>
|
||||
<bondType id="5" code="E" name="Биржевая облигация"/>
|
||||
<bondType id="6" code="I" name="Облигации с индексированным номиналом"/>
|
||||
<bondType id="7" code="M" name="Облигации с амортизацией долга"/>
|
||||
|
||||
<tradingClearingRegistryType id="1" code="А" name="Владелец" part="2"/>
|
||||
<tradingClearingRegistryType id="2" code="B" name="Клиентский" part="2"/>
|
||||
<tradingClearingRegistryType id="3" code="С" name="Попечитель" part="2"/>
|
||||
<tradingClearingRegistryType id="4" code="D" name="Доверительный управляющий" part="2"/>
|
||||
<tradingClearingRegistryType id="5" code="E" name="Эмитент" part="2"/>
|
||||
<tradingClearingRegistryType id="6" code="Z" name="К размещению/выкупу" part="2"/>
|
||||
<tradingClearingRegistryType id="7" code="H" name="Депо по учету облигаций" part="2"/>
|
||||
<tradingClearingRegistryType id="8" code="T" name="Депо по учету акций" part="2"/>
|
||||
<tradingClearingRegistryType id="9" code="N" name="Депо по учету облигаций с попечителем" part="2"/>
|
||||
<tradingClearingRegistryType id="10" code="S" name="Депо по учету акций с попечителем" part="2"/>
|
||||
<tradingClearingRegistryLevel id="1" code="ONE" name="Первый уровень ТКР" part="2"/>
|
||||
<tradingClearingRegistryLevel id="2" code="TWO" name="Второй уровень ТКР" part="2"/>
|
||||
<tradingClearingRegistryPurpose id="1" code="C" name="Общий" part="2"/>
|
||||
<tradingClearingRegistryPurpose id="2" code="M" name="Денежный рынок" part="2"/>
|
||||
<tradingClearingRegistryPurpose id="3" code="K" name="Код ТКР второго уровня" part="2"/>
|
||||
<service id="1" code="MKR" name="Денежный рынок МКР" part="2"/>
|
||||
<service id="2" code="FOND" name="Фондовый рынок" part="2"/>
|
||||
<serviceStatus id="1" code="ACTV" name="Активен" part="2"/>
|
||||
<serviceStatus id="2" code="BLKD" name="Заблокирован" part="2"/>
|
||||
<serviceStatus id="3" code="SSPD" name="Приостановлен" part="2"/>
|
||||
<serviceStatus id="4" code="CLOS" name="Закрыт" part="2"/>
|
||||
<serviceStatus id="5" code="ROPN" name="Возобновлен" part="2"/>
|
||||
<serviceStatus id="6" code="APPL" name="Допущен к клиринговому обслуживанию" part="2"/>
|
||||
<serviceProduct id="1" code="PRNT" name="Расчет обязательств с процентом" part="2"/>
|
||||
<serviceProduct id="2" code="ZERO" name="Расчет обязательств без процента (по умолчанию)" part="2"/>
|
||||
<registryDesignation id="1" code="L" name="Обязательства" part="2"/>
|
||||
<registryDesignation id="2" code="A" name="Активы" part="2"/>
|
||||
<registryDesignation id="3" code="C" name="Требования" part="2"/>
|
||||
<registryDesignation id="4" code="O" name="Обязательства по сделкам в рамках формирования клирингового пула" part="2"/>
|
||||
<registryDesignation id="5" code="T" name="Требования по сделкам в рамках формирования клирингового пула" part="2"/>
|
||||
<registryDesignation id="6" code="D" name="Депозиты" part="2"/>
|
||||
<registryInstrumentType id="1" code="M" name="Деньги" part="2"/>
|
||||
<registryInstrumentType id="2" code="S" name="Бумаги" part="2"/>
|
||||
<registryCapacity id="1" code="A" name="Принципал" part="2"/>
|
||||
<registryCapacity id="2" code="B" name="Клиент" part="2"/>
|
||||
<registryCapacity id="3" code="C" name="Попечитель" part="2"/>
|
||||
<registryCapacity id="4" code="D" name="ДУ" part="2"/>
|
||||
<registryCapacity id="5" code="Z" name="Размещение/Выкуп" part="2"/>
|
||||
<registryCapacity id="6" code="F" name="Держатель" part="2"/>
|
||||
<registryCapacity id="7" code="E" name="Эмитент" part="2"/>
|
||||
<registryUnit id="1" code="T" name="Под торги" part="2"/>
|
||||
<registryUnit id="2" code="F" name="Свободные" part="2"/>
|
||||
<registryUnit id="3" code="B" name="Заблокированные" part="2"/>
|
||||
<registryUnit id="4" code="C" name="Комиссия" part="2"/>
|
||||
<registryCode id="1" code="AMPT" name="Денежные средства - на торги" part="2"/>
|
||||
<registryCode id="2" code="AMPF" name="Денежные средства - свободные" part="2"/>
|
||||
<registryCode id="3" code="AMPB" name="Денежные средства - блокированные" part="2"/>
|
||||
<registryCode id="4" code="TMPT" name="Требования по деньгам - клиринговый пул" part="2"/>
|
||||
<registryCode id="5" code="OSPT" name="Обязательства по инструментам - клиринговый пул" part="2"/>
|
||||
<registryCode id="6" code="OMPT" name="Обязательства по деньгам - клиринговый пул" part="2"/>
|
||||
<registryCode id="7" code="TSPT" name="Требования по инструментам - клиринговый пул" part="2"/>
|
||||
<registryCode id="8" code="CMPT" name="Требования по деньгам - свои" part="2"/>
|
||||
<registryCode id="9" code="LSPT" name="Обязательства по инструментам - свои" part="2"/>
|
||||
<registryCode id="10" code="LMPT" name="Обязательства по деньгам - свои" part="2"/>
|
||||
<registryCode id="11" code="CSPT" name="Требования по инструментам - свои" part="2"/>
|
||||
<registryStatus id="1" code="OK" name="Успешно" part="2"/>
|
||||
<registryStatus id="2" code="FAIL" name="Не успешно" part="2"/>
|
||||
<registryStatus id="3" code="MNG" name="Не учитывать" part="2"/>
|
||||
<registryStatus id="4" code="PROC" name="К клирингу" part="2"/>
|
||||
<registryStatus id="5" code="LIQU" name="Ликвидационный неттинг" part="2"/>
|
||||
<balanceDimension id="1" code="PICS" name="Штуки" part="2"/>
|
||||
<balanceDimension id="2" code="LOTS" name="Лоты" part="2"/>
|
||||
<balanceDimension id="3" code="MONY" name="Деньги" part="2"/>
|
||||
<accountType id="1" code="CLRN" name="Торгово-Банковский Счет" part="2"/>
|
||||
<accountType id="2" code="BANK" name="Счет вывода средств из ПРЦ" part="2"/>
|
||||
<accountType id="3" code="USPD" name="Регистр невыясненных поступлений" part="2"/>
|
||||
<accountType id="4" code="CORR" name="Корреспондентский счет" part="2"/>
|
||||
<accountType id="5" code="INFO" name="Регистр" part="2"/>
|
||||
<accountType id="6" code="PYER" name="Счет плательщика" part="2"/>
|
||||
<accountType id="7" code="ANLT" name="Клиринговый-Банковский Счет" part="2"/>
|
||||
<accountType id="8" code="TRAN" name="Транзакционный счет" part="2"/>
|
||||
<accountType id="9" code="DEPO" name="Депозитарный счет" part="2"/>
|
||||
<depoAccountType id="1" code="A" name="Счет участника" part="2"/>
|
||||
<depoAccountType id="2" code="B" name="Счет клиента" part="2"/>
|
||||
<depoAccountType id="3" code="C" name="Счет попечителя" part="2"/>
|
||||
<depoAccountType id="4" code="D" name="Счет доверительного управляющего" part="2"/>
|
||||
<depoAccountType id="5" code="Z" name="Счет к размещению/выкупу" part="2"/>
|
||||
<depoAccountType id="6" code="F" name="Счет держателя" part="2"/>
|
||||
<depoAccountType id="7" code="E" name="Счет эмитента" part="2"/>
|
||||
<clearingAccountType id="1" code="A" name="Счет участника" part="2"/>
|
||||
<clearingAccountType id="2" code="B" name="Счет клиента" part="2"/>
|
||||
<task id="1" code="GBAL" name="Зачисление остатков" part="2"/>
|
||||
<task id="3" code="ABLK" name="Блокировка счета" part="2"/>
|
||||
<task id="4" code="GALB" name="Запрос остатков по всем счетам" part="2"/>
|
||||
<task id="5" code="ADBL" name="Дозачисление/списание остатков" part="2"/>
|
||||
<task id="7" code="CORD" name="Формирование сводного платежного поручения" part="2"/>
|
||||
<task id="8" code="CORC" name="Получение подтверждения переводов" part="2"/>
|
||||
<task id="9" code="GVER" name="Запуск сверки" part="2"/>
|
||||
<task id="12" code="CMBA" name="Формирование распоряжения на перевод с ТБС" part="2"/>
|
||||
<task id="14" code="GCMR" name="Формирование реестра участников клиринга" part="2"/>
|
||||
<task id="15" code="GBRR" name="Формирование реестра остатков денежных средств " part="2"/>
|
||||
<task id="16" code="GORR" name="Формирование реестра распоряжений, направленных расчетной организации" part="2"/>
|
||||
<task id="17" code="GREP" name="Формирование отчетности" part="2"/>
|
||||
<task id="21" code="GSRR" name="Формирование реестра отправленных отчетов" part="2"/>
|
||||
<task id="25" code="GTRD" name="Получение сделок из Торговой системы" part="2"/>
|
||||
<task id="32" code="GACA" name="Создание файла остатков CSV по клиринговым счетам" part="2"/>
|
||||
<task id="33" code="GAIA" name="Создание файла остатков CSV по внутренним информацион.счетам" part="2"/>
|
||||
<task id="35" code="SCLR" name="Запуск клиринговой сессии" part="2"/>
|
||||
<task id="36" code="SPRC" name="Запуск преклиринга" part="2"/>
|
||||
<task id="37" code="SPOC" name="Запуск постклиринга" part="2"/>
|
||||
<task id="38" code="LIMM" name="Выгрузка в торговую систему остатков секции МКР" part="2"/>
|
||||
<task id="38" code="LIMF" name="Выгрузка в торговую систему остатков Фондовой секции" part="2"/>
|
||||
<task id="39" code="LIQU" name="Ликвидационная сессия по обязательтсвам участника" part="2"/>
|
||||
<task id="40" code="STRM" name="Начало торговой сессии секции МКР" part="2"/>
|
||||
<task id="41" code="ETRM" name="Завершение торговой сессии секции МКР" part="2"/>
|
||||
<task id="42" code="SIPO" name="Начало торговой сессии по первичным торгам" part="2"/>
|
||||
<task id="43" code="EIPO" name="Завершение торговой сессии по первичным торгам" part="2"/>
|
||||
<task id="44" code="STRF" name="Начало торговой сессии по вторичным торгам" part="2"/>
|
||||
<task id="45" code="ETRF" name="Завершение торговой сессии по вторичным торгам" part="2"/>
|
||||
<task id="46" code="RCHK" name="Запрос на сверку активов" part="2"/>
|
||||
<task id="47" code="GRYT" name="Сформировать регистр на текущий день" part="2"/>
|
||||
<task id="48" code="GRRT" name="Сформировать реестр на текущий день" part="2"/>
|
||||
<taskStatus id="1" code="ACTV" name="Активна" part="2"/>
|
||||
<taskStatus id="2" code="BLKD" name="Не активна" part="2"/>
|
||||
<taskStatus id="3" code="CNCL" name="Отмена расписания" part="2"/>
|
||||
<dayStatus id="1" code="BDAY" name="Рабочий" part="2"/>
|
||||
<dayStatus id="2" code="DOFF" name="Нерабочий" part="2"/>
|
||||
<parent id="1" code="TMPL" name="Шаблон" part="2"/>
|
||||
<parent id="2" code="PLNR" name="Расписание" part="2"/>
|
||||
<parent id="3" code="CLND" name="Календарь" part="2"/>
|
||||
<tradingClearingRegistryType id="1" code="A" name="Владелец"/>
|
||||
<tradingClearingRegistryType id="2" code="B" name="Клиентский"/>
|
||||
<tradingClearingRegistryType id="3" code="C" name="Попечитель"/>
|
||||
<tradingClearingRegistryType id="4" code="D" name="Доверительный управляющий"/>
|
||||
<tradingClearingRegistryType id="5" code="E" name="Эмитент"/>
|
||||
<tradingClearingRegistryType id="6" code="Z" name="К размещению/выкупу"/>
|
||||
<tradingClearingRegistryType id="7" code="H" name="Депо по учету облигаций"/>
|
||||
<tradingClearingRegistryType id="8" code="T" name="Депо по учету акций"/>
|
||||
<tradingClearingRegistryType id="9" code="N" name="Депо по учету облигаций с попечителем"/>
|
||||
<tradingClearingRegistryType id="10" code="S" name="Депо по учету акций с попечителем"/>
|
||||
<tradingClearingRegistryLevel id="1" code="ONE" name="Первый уровень ТКР"/>
|
||||
<tradingClearingRegistryLevel id="2" code="TWO" name="Второй уровень ТКР"/>
|
||||
<tradingClearingRegistryPurpose id="1" code="C" name="Общий"/>
|
||||
<tradingClearingRegistryPurpose id="2" code="M" name="Денежный рынок"/>
|
||||
<tradingClearingRegistryPurpose id="3" code="K" name="Код ТКР второго уровня"/>
|
||||
<service id="1" code="MKR" name="Денежный рынок МКР"/>
|
||||
<service id="2" code="FOND" name="Фондовый рынок"/>
|
||||
<serviceStatus id="1" code="ACTV" name="Активен"/>
|
||||
<serviceStatus id="2" code="BLKD" name="Заблокирован"/>
|
||||
<serviceStatus id="3" code="SSPD" name="Приостановлен"/>
|
||||
<serviceStatus id="4" code="CLOS" name="Закрыт"/>
|
||||
<serviceStatus id="5" code="ROPN" name="Возобновлен"/>
|
||||
<serviceStatus id="6" code="APPL" name="Допущен к клиринговому обслуживанию"/>
|
||||
<serviceProduct id="1" code="PRNT" name="Расчет обязательств с процентом"/>
|
||||
<serviceProduct id="2" code="ZERO" name="Расчет обязательств без процента (по умолчанию)"/>
|
||||
<registryDesignation id="1" code="L" name="Обязательства"/>
|
||||
<registryDesignation id="2" code="A" name="Активы"/>
|
||||
<registryDesignation id="3" code="C" name="Требования"/>
|
||||
<registryDesignation id="4" code="O" name="Обязательства по сделкам в рамках формирования клирингового пула"/>
|
||||
<registryDesignation id="5" code="T" name="Требования по сделкам в рамках формирования клирингового пула"/>
|
||||
<registryDesignation id="6" code="D" name="Депозиты"/>
|
||||
<registryInstrumentType id="1" code="M" name="Деньги"/>
|
||||
<registryInstrumentType id="2" code="S" name="Бумаги"/>
|
||||
<registryCapacity id="1" code="A" name="Принципал"/>
|
||||
<registryCapacity id="2" code="B" name="Клиент"/>
|
||||
<registryCapacity id="3" code="C" name="Попечитель"/>
|
||||
<registryCapacity id="4" code="D" name="ДУ"/>
|
||||
<registryCapacity id="5" code="Z" name="Размещение/Выкуп"/>
|
||||
<registryCapacity id="6" code="F" name="Держатель"/>
|
||||
<registryCapacity id="7" code="E" name="Эмитент"/>
|
||||
<registryUnit id="1" code="T" name="Под торги"/>
|
||||
<registryUnit id="2" code="F" name="Свободные"/>
|
||||
<registryUnit id="3" code="B" name="Заблокированные"/>
|
||||
<registryUnit id="4" code="C" name="Комиссия"/>
|
||||
<registryCode id="1" code="AMPT" name="Денежные средства - на торги"/>
|
||||
<registryCode id="2" code="AMPF" name="Денежные средства - свободные"/>
|
||||
<registryCode id="3" code="AMPB" name="Денежные средства - блокированные"/>
|
||||
<registryCode id="4" code="TMPT" name="Требования по деньгам - клиринговый пул"/>
|
||||
<registryCode id="5" code="OSPT" name="Обязательства по инструментам - клиринговый пул"/>
|
||||
<registryCode id="6" code="OMPT" name="Обязательства по деньгам - клиринговый пул"/>
|
||||
<registryCode id="7" code="TSPT" name="Требования по инструментам - клиринговый пул"/>
|
||||
<registryCode id="8" code="CMPT" name="Требования по деньгам - свои"/>
|
||||
<registryCode id="9" code="LSPT" name="Обязательства по инструментам - свои"/>
|
||||
<registryCode id="10" code="LMPT" name="Обязательства по деньгам - свои"/>
|
||||
<registryCode id="11" code="CSPT" name="Требования по инструментам - свои"/>
|
||||
<registryStatus id="1" code="OK" name="Успешно"/>
|
||||
<registryStatus id="2" code="UNCV" name="Не исполнено"/>
|
||||
<registryStatus id="3" code="FAIL" name="Не исполнено контрагентом"/>
|
||||
<registryStatus id="4" code="MNG" name="Не учитывать"/>
|
||||
<registryStatus id="5" code="PROC" name="К клирингу"/>
|
||||
<registryStatus id="6" code="LIQU" name="Ликвидационный неттинг"/>
|
||||
<registryStatus id="7" code="POOL" name="В клиринге"/>
|
||||
<balanceDimension id="1" code="PICS" name="Штуки"/>
|
||||
<balanceDimension id="2" code="LOTS" name="Лоты"/>
|
||||
<balanceDimension id="3" code="MONY" 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="Транзакционный счет"/>
|
||||
<accountType id="9" code="DEPO" name="Депозитарный счет"/>
|
||||
<depoAccountType id="1" code="A" name="Счет участника"/>
|
||||
<depoAccountType id="2" code="B" name="Счет клиента"/>
|
||||
<depoAccountType id="3" code="C" name="Счет попечителя"/>
|
||||
<depoAccountType id="4" code="D" name="Счет доверительного управляющего"/>
|
||||
<depoAccountType id="5" code="Z" name="Счет к размещению/выкупу"/>
|
||||
<depoAccountType id="6" code="F" name="Счет держателя"/>
|
||||
<depoAccountType id="7" code="E" name="Счет эмитента"/>
|
||||
<clearingAccountType id="1" code="A" name="Счет участника"/>
|
||||
<clearingAccountType id="2" code="B" name="Счет клиента"/>
|
||||
<task id="1" code="GBAL" name="Зачисление остатков"/>
|
||||
<task id="3" code="ABLK" name="Блокировка счета"/>
|
||||
<task id="4" code="GALB" name="Запрос остатков по всем счетам"/>
|
||||
<task id="5" code="ADBL" name="Дозачисление/списание остатков"/>
|
||||
<task id="7" code="CORD" name="Формирование сводного платежного поручения"/>
|
||||
<task id="8" code="CORC" name="Получение подтверждения переводов"/>
|
||||
<task id="9" code="GVER" 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="GREP" name="Формирование отчетности"/>
|
||||
<task id="21" code="GSRR" name="Формирование реестра отправленных отчетов"/>
|
||||
<task id="25" code="GTRD" name="Получение сделок из Торговой системы"/>
|
||||
<task id="32" code="GACA" name="Создание файла остатков CSV по клиринговым счетам"/>
|
||||
<task id="33" code="GAIA" name="Создание файла остатков CSV по внутренним информацион.счетам"/>
|
||||
<task id="35" code="SCLR" name="Запуск клиринговой сессии"/>
|
||||
<task id="36" code="SPRC" name="Запуск преклиринга"/>
|
||||
<task id="37" code="SPOC" name="Запуск постклиринга"/>
|
||||
<task id="38" code="LIMM" name="Выгрузка в торговую систему остатков секции МКР"/>
|
||||
<task id="38" code="LIMF" name="Выгрузка в торговую систему остатков Фондовой секции"/>
|
||||
<task id="39" code="LIQU" name="Ликвидационная сессия по обязательтсвам участника"/>
|
||||
<task id="40" code="STRM" name="Начало торговой сессии секции МКР"/>
|
||||
<task id="41" code="ETRM" name="Завершение торговой сессии секции МКР"/>
|
||||
<task id="42" code="SIPO" name="Начало торговой сессии по первичным торгам"/>
|
||||
<task id="43" code="EIPO" name="Завершение торговой сессии по первичным торгам"/>
|
||||
<task id="44" code="STRF" name="Начало торговой сессии по вторичным торгам"/>
|
||||
<task id="45" code="ETRF" name="Завершение торговой сессии по вторичным торгам"/>
|
||||
<task id="46" code="RCHK" name="Запрос на сверку активов"/>
|
||||
<task id="47" code="GRYT" name="Сформировать регистр на текущий день"/>
|
||||
<task id="48" code="GRRT" name="Сформировать реестр на текущий день"/>
|
||||
<task id="49" code="GORD" name="Формирование реестра распоряжений, направленных расчетному депозитарию"/>
|
||||
<taskStatus id="1" code="ACTV" name="Активна"/>
|
||||
<taskStatus id="2" code="BLKD" name="Не активна"/>
|
||||
<taskStatus id="3" code="CNCL" name="Отмена расписания"/>
|
||||
<dayStatus id="1" code="BDAY" name="Рабочий"/>
|
||||
<dayStatus id="2" code="DOFF" name="Нерабочий"/>
|
||||
<parent id="1" code="TMPL" name="Шаблон"/>
|
||||
<parent id="2" code="PLNR" name="Расписание"/>
|
||||
<parent id="3" code="CLND" name="Календарь"/>
|
||||
|
||||
<sessionStatus id="1" code="ACTV" name="Сессия активна"/>
|
||||
<sessionStatus id="2" code="CLRN" name="Идет клиринг"/>
|
||||
<sessionStatus id="3" code="CLOS" name="Клиринг завершен"/>
|
||||
<sessionType id="1" code="FINL" name="Итоговая клиринговая сессия"/>
|
||||
<sessionType id="2" code="MEDM" name="Промежуточная клиринговая сессия"/>
|
||||
<sessionType id="3" code="XDEP" name="Промежуточная возврат депозитов"/>
|
||||
<sessionType id="4" code="IPOT" name="Первичные торги Т0"/>
|
||||
<sessionType id="5" code="TRDT" name="Вторичные торги Т0"/>
|
||||
<sessionType id="6" code="LIQU" name="Ликвидационное прекращение обязательств"/>
|
||||
<sessionType id="7" code="IPOB" name="Первичные торги Bn"/>
|
||||
<sessionType id="8" code="IPO0" name="Первичные торги B0"/>
|
||||
<moneyFlowSide id="1" code="BUY" name="Разместить"/>
|
||||
<moneyFlowSide id="2" code="SELL" name="Привлечь"/>
|
||||
<side id="1" code="BUY" name="Покупка"/>
|
||||
<side id="2" code="SELL" name="Продажа"/>
|
||||
<marketCode id="1" code="BMIC" name="СПВБ: ОФЗ-ИН - Аукцион БР"/>
|
||||
|
||||
<courierType id="1" code="STHS" name="ЭДО с Расчетной Организацией"/>
|
||||
<transactionStatus id="1" code="STLD" name="Рассчитан"/>
|
||||
|
|
@ -243,8 +264,6 @@
|
|||
<balanceAccountType id="1" code="ACNT" name="Остатки по счетам"/>
|
||||
<inOutDirection id="1" code="IN" name="Зачисление"/>
|
||||
<inOutDirection id="2" code="OUT" name="Списание"/>
|
||||
<moneyFlowSide id="1" code="BUY" name="Разместить"/>
|
||||
<moneyFlowSide id="2" code="SELL" name="Привлечь"/>
|
||||
<statementType id="1" code="FULL" name="Установка суммы"/>
|
||||
<statementType id="2" code="INCR" name="Изменение суммы"/>
|
||||
<operationType id="1" code="STMT" name="Расчетные операции"/>
|
||||
|
|
@ -266,9 +285,6 @@
|
|||
<inOutSDfType id="1" code="0102" name="Входящий ДФ-01/Исходящий ДФ-02"/>
|
||||
<inOutSDfType id="2" code="1617" name="Входящий ДФ-16/Исходящий ДФ-17"/>
|
||||
<inOutSDfType id="3" code="0910" name="Входящий ДФ-09/Исходящий ДФ-10"/>
|
||||
<sessionStatus id="1" code="ACTV" name="Сессия активна"/>
|
||||
<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="В ожидании"/>
|
||||
|
|
@ -328,6 +344,11 @@
|
|||
<errorCode id="3019" code="CMPN" name="Компания с %s = %s уже создана."/>
|
||||
<errorCode id="3020" code="CMPN" name="Тип реквизита компании %s не может быть изменен."/>
|
||||
<errorCode id="3021" code="CMPN" name="Тип контакта компании %s не может быть изменен."/>
|
||||
<errorCode id="3022" code="CMPN" name="ТКР с кодом %s не найден."/>
|
||||
<errorCode id="3023" code="CMPN" name="Счет %s не найден."/>
|
||||
<errorCode id="3024" code="CMPN" name="Договорные отношения %s в секции МКР уже созданы."/>
|
||||
<errorCode id="3025" code="CMPN" name="Договорные отношения %s на фондовой секции уже созданы."/>
|
||||
<errorCode id="3026" code="CMPN" name="Запись о договорных отношениях не найдена."/>
|
||||
|
||||
<!-- error code for report-serivce -->
|
||||
<errorCode id="4000" code="RPRT" name="Общая ошибка модуля report-serivce."/>
|
||||
|
|
@ -344,9 +365,12 @@
|
|||
<errorCode id="5010" code="ACNT" name="Счет %s уже существует."/>
|
||||
<errorCode id="5011" code="ACNT" name="Счет %s не найден."/>
|
||||
<errorCode id="5012" code="ACNT" name="Счет %s неактивен."/>
|
||||
<errorCode id="5013" code="ACNT" name="Компания не найдена."/>
|
||||
<errorCode id="5014" code="ACNT" name="Компания неактивна."/>
|
||||
<errorCode id="5015" code="ACNT" name="Для Компании %s уже создан информационный счет %s."/>
|
||||
<errorCode id="5013" code="ACNT" name="Компания %s не найдена."/>
|
||||
<errorCode id="5014" code="ACNT" name="Компания %s неактивна."/>
|
||||
<errorCode id="5015" code="ACNT" name="Для компании %s уже создан информационный счет %s."/>
|
||||
<errorCode id="5016" code="ACNT" name="Для Компании %s уже создан ТКР %s."/>
|
||||
<errorCode id="5017" code="ACNT" name="Для Компании %s отсутствует счет ДЕПО."/>
|
||||
<errorCode id="5018" code="ACNT" name="Для Компании %s отсутствует денежный счет."/>
|
||||
<!-- error code for balance-service -->
|
||||
<errorCode id="5200" code="BLNC" name="Общая ошибка модуля balance-service."/>
|
||||
<errorCode id="5210" code="BLNC" name="Клиринговая сессия неактивна."/>
|
||||
|
|
@ -355,7 +379,7 @@
|
|||
<errorCode id="5213" code="BLNC" name="Валюта %s не найдена."/>
|
||||
<errorCode id="5214" code="BLNC" name="Загрузка остатков возможна только на текущую дату."/>
|
||||
<errorCode id="5215" code="BLNC" name="Загрузка остатков возможна только по рынку МКР."/>
|
||||
<errorCode id="5216" code="BLNC" name="Загрузка остатков возможна только по собственным счетам."/>
|
||||
<errorCode id="5216" code="BLNC" name="Загрузка остатков возможна только по собственным или клиентским счетам."/>
|
||||
<errorCode id="5217" code="BLNC" name="Счет %s не найден."/>
|
||||
<errorCode id="5218" code="BLNC" name="Счет %s неактивен."/>
|
||||
<errorCode id="5219" code="BLNC" name="Дозачисления/списания возможны только по рынку МКР."/>
|
||||
|
|
@ -380,7 +404,7 @@
|
|||
<errorCode id="5415" code="CLRN" name="Счет %s неактивен."/>
|
||||
<errorCode id="5416" code="CLRN" name="Инструмент %s не найден."/>
|
||||
<errorCode id="5417" code="CLRN" name="Инструмент %s неактивен."/>
|
||||
<errorCode id="5418" code="CLRN" name="Торгово-клиринговый регистр %s не найден."/>
|
||||
<errorCode id="5418" code="CLRN" name="Торгово-клиринговый регистр %s не найден для компании %s."/>
|
||||
<errorCode id="5419" code="CLRN" name="Торгово-клиринговый регистр %s неактивен."/>
|
||||
<!-- error code for dbf-importer -->
|
||||
<errorCode id="5600" code="DBFI" name="Общая ошибка модуля dbf-importer."/>
|
||||
|
|
@ -420,9 +444,11 @@
|
|||
|
||||
</enums>
|
||||
<objects>
|
||||
<company id="1" fullName="АО Санкт-Петербургская Валютная Биржа" shortName="СПВБ" tradingCode="1" clearingCode="1" workflowStatus="ACTV"/>
|
||||
<company id="2" fullName="НКО ЗАО «Петербургский Расчетный Центр»" shortName="НКО АО ПРЦ" tradingCode="2" clearingCode="2" workflowStatus="ACTV"/>
|
||||
<company id="3" fullName="Торговая организация" shortName="ТС" tradingCode="3" clearingCode="3" workflowStatus="ACTV"/>
|
||||
<company id="1" fullName="АО Санкт-Петербургская Валютная Биржа" shortName="СПВБ" tradingCode="" clearingCode="" workflowStatus="ACTV"/>
|
||||
<company id="2" fullName="ЗАО «Петербургский Расчетный Центр»" shortName="ПРЦ" tradingCode="" clearingCode="" workflowStatus="ACTV"/>
|
||||
<company id="3" fullName="Торговая организация" shortName="ТС" tradingCode="" clearingCode="" workflowStatus="ACTV"/>
|
||||
<company id="4" fullName="ЗАО «Санкт-Петербургский Расчетно-Депозитарный Центр»" shortName="РДЦ" tradingCode="" clearingCode="" workflowStatus="ACTV"/>
|
||||
<company id="5" fullName="Центральный Банк Российской Федерации" shortName="ЦБ РФ" tradingCode="" clearingCode="" workflowStatus="ACTV"/>
|
||||
|
||||
<companySymbols id="1" companyId="1" companySymbol="BIC" companySymbolValue="044030920"/>
|
||||
<companySymbols id="2" companyId="2" companySymbol="BIC" companySymbolValue="044030505"/>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--?xml-stylesheet type="text/xsl" href="\..\corp-reports\src\data\meta\meta.server.xslt"?-->
|
||||
<meta version="3.5.0.18">
|
||||
<meta version="3.5.0.20">
|
||||
<!-- _xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" _xsi:noNamespaceSchemaLocation="file:///E:/d/projects/meta/from/meta.xsd" -->
|
||||
<!--Здесь словари-->
|
||||
<enums>
|
||||
|
|
@ -136,32 +136,32 @@
|
|||
<code name="Код" shortname="Код" type="12"/>
|
||||
<name name="Наименование" shortname="Наименование" type="2" length="255"/>
|
||||
</serviceProduct>
|
||||
<registryDesignation name="Справочник символов регистров - назначения" class="com.spicex.dictionary.RegistryDesignationDictionary" table="registry_designation_dictionary">
|
||||
<registryDesignation name="Справочник символов регистров - назначения" class="ru.clearing.platform.dictionary.RegistryDesignationDictionary" table="registry_designation_dictionary">
|
||||
<id name="Идентификатор записи" shortname="ID" type="1"/>
|
||||
<code name="Код" shortname="Код" type="12"/>
|
||||
<name name="Наименование" shortname="Наименование" type="2" length="255"/>
|
||||
</registryDesignation>
|
||||
<registryInstrumentType name="Справочник символов регистров - инструменты" class="com.spicex.dictionary.RegistryInstrumentTypeDictionary" table="registry_instrument_type_dictionary">
|
||||
<registryInstrumentType name="Справочник символов регистров - инструменты" class="ru.clearing.platform.dictionary.RegistryInstrumentTypeDictionary" table="registry_instrument_type_dictionary">
|
||||
<id name="Идентификатор записи" shortname="ID" type="1"/>
|
||||
<code name="Код" shortname="Код" type="12"/>
|
||||
<name name="Наименование" shortname="Наименование" type="2" length="255"/>
|
||||
</registryInstrumentType>
|
||||
<registryCapacity name="Справочник символов регистров - источники средств" class="com.spicex.dictionary.RegistryCapacityDictionary" table="registry_capacity_dictionary">
|
||||
<registryCapacity name="Справочник символов регистров - источники средств" class="ru.clearing.platform.dictionary.RegistryCapacityDictionary" table="registry_capacity_dictionary">
|
||||
<id name="Идентификатор записи" shortname="ID" type="1"/>
|
||||
<code name="Код" shortname="Код" type="12"/>
|
||||
<name name="Наименование" shortname="Наименование" type="2" length="255"/>
|
||||
</registryCapacity>
|
||||
<registryUnit name="Справочник символов регистров - части регистров" class="com.spicex.dictionary.RegistryUnitDictionary" table="registry_unit_dictionary">
|
||||
<registryUnit name="Справочник символов регистров - части регистров" class="ru.clearing.platform.dictionary.RegistryUnitDictionary" table="registry_unit_dictionary">
|
||||
<id name="Идентификатор записи" shortname="ID" type="1"/>
|
||||
<code name="Код" shortname="Код" type="12"/>
|
||||
<name name="Наименование" shortname="Наименование" type="2" length="255"/>
|
||||
</registryUnit>
|
||||
<registryCode name="Справочник кодов регистров" class="com.spicex.dictionary.RegistryCodeDictionary" table="registry_code_dictionary">
|
||||
<registryCode name="Справочник кодов регистров" class="ru.clearing.platform.dictionary.RegistryCodeDictionary" table="registry_code_dictionary">
|
||||
<id name="Идентификатор записи" shortname="ID" type="1"/>
|
||||
<code name="Код" shortname="Код" type="12"/>
|
||||
<name name="Наименование" shortname="Наименование" type="2" length="255"/>
|
||||
</registryCode>
|
||||
<registryStatus name="Справочник статусов регистров" class="com.spicex.dictionary.RegistryStatusDictionary" table="registry_status_dictionary">
|
||||
<registryStatus name="Справочник статусов регистров" class="ru.clearing.platform.dictionary.RegistryStatusDictionary" table="registry_status_dictionary">
|
||||
<id name="Идентификатор записи" shortname="ID" type="1"/>
|
||||
<code name="Код" shortname="Код" type="12"/>
|
||||
<name name="Наименование" shortname="Наименование" type="2" length="255"/>
|
||||
|
|
@ -207,6 +207,32 @@
|
|||
<name name="Наименование" shortname="Источник" type="2" length="50"/>
|
||||
</parent>
|
||||
|
||||
<sessionStatus name="Справочник статусов клиринговых сессий" class="ru.clearing.platform.dictionary.SessionStatusDictionary" table="session_status_dictionary">
|
||||
<id name="Идентификатор" shortname="ID" type="1"/>
|
||||
<code name="Код" shortname="Код" type="12"/>
|
||||
<name name="Наименование" shortname="Наименование" type="2" length="50"/>
|
||||
</sessionStatus>
|
||||
<sessionType name="Справочник типов клиринговых сессий" class="ru.clearing.platform.dictionary.SessionTypeDictionary" table="session_type_dictionary">
|
||||
<id name="Идентификатор" shortname="ID" type="1"/>
|
||||
<code name="Код" shortname="Код" type="12"/>
|
||||
<name name="Наименование" shortname="Наименование" type="2" length="50"/>
|
||||
</sessionType>
|
||||
<moneyFlowSide name="Справочник направлений денежного рынка" class="ru.clearing.platform.dictionary.MoneyFlowSideDictionary" table="money_flow_side_dictionary">
|
||||
<id name="Идентификатор" shortname="ID" type="1"/>
|
||||
<code name="Код" shortname="Код" type="12"/>
|
||||
<name name="Значение" shortname="Значение" type="2" length="255"/>
|
||||
</moneyFlowSide>
|
||||
<side name="Справочник направлений" class="ru.clearing.platform.dictionary.SideDictionary" table="side_dictionary">
|
||||
<id name="Идентификатор" shortname="ID" type="1"/>
|
||||
<code name="Код" shortname="Код" type="12"/>
|
||||
<name name="Значение" shortname="Значение" type="2" length="255"/>
|
||||
</side>
|
||||
<marketCode name="Справочник кодов рынков" class="ru.clearing.platform.dictionary.MarketCodeDictionary" table="market_code_dictionary">
|
||||
<id name="Идентификатор" shortname="ID" type="1"/>
|
||||
<code name="Код" shortname="Код" type="12"/>
|
||||
<name name="Значение" shortname="Значение" type="2" length="255"/>
|
||||
</marketCode>
|
||||
|
||||
<chargeDirection name="Направление начисления комиссии" class="ru.clearing.platform.dictionary.ChargeDirectionDictionary" table="charge_direction_dictionary">
|
||||
<id name="Идентификатор" shortname="ID" type="1"/>
|
||||
<code name="Код" shortname="Код" type="12"/>
|
||||
|
|
@ -232,11 +258,6 @@
|
|||
<code name="Код" shortname="Код" type="12"/>
|
||||
<name name="Наименование" shortname="Тип" type="2" length="255"/>
|
||||
</clearingStatus>
|
||||
<moneyFlowSide name="Направление заявки" class="ru.clearing.platform.dictionary.MoneyFlowSideDictionary" table="money_flow_side_dictionary">
|
||||
<id name="Идентификатор" shortname="ID" type="1"/>
|
||||
<code name="Код" shortname="Код" type="12"/>
|
||||
<name name="Значение" shortname="Значение" type="2" length="255"/>
|
||||
</moneyFlowSide>
|
||||
<inOutDirection name="Справочник значений направления денежного потока" class="ru.clearing.platform.dictionary.InOutDirectionDictionary" table="in_out_direction_dictionary">
|
||||
<id name="Идентификатор" shortname="ID" type="1"/>
|
||||
<code name="Код" shortname="Код" type="12"/>
|
||||
|
|
@ -287,11 +308,6 @@
|
|||
<code name="Код" shortname="Код" type="12"/>
|
||||
<name name="Тип записи" shortname="Наименование" type="2" length="50"/>
|
||||
</inOutSDfType>
|
||||
<sessionStatus name="Справочник статусов клиринговой сессии" class="ru.clearing.platform.dictionary.SessionStatusDictionary" table="session_status_dictionary">
|
||||
<id name="Идентификатор" shortname="ID" type="1"/>
|
||||
<code name="Код" shortname="Код" type="12"/>
|
||||
<name name="Наименование" shortname="Наименование" type="2" length="50"/>
|
||||
</sessionStatus>
|
||||
<objectType name="Справочник типов объектов" class="ru.clearing.platform.dictionary.ObjectTypeDictionary" table="object_type_dictionary">
|
||||
<id name="Идентификатор" shortname="ID" type="1"/>
|
||||
<code name="Код" shortname="Код" type="12"/>
|
||||
|
|
@ -421,7 +437,7 @@
|
|||
</put>
|
||||
</actions>
|
||||
</companyInfo>
|
||||
<clearingMemberCategory name="Категории участника клиринга" destination="clearing-member-categories" class="ru.clearing.classes.statics.data.generated.ClearingMemberCategory" logUpdates="true" table="clearing_member_category">
|
||||
<clearingMemberCategory name="Категории участника клиринга" destination="clearing-member-categories" class="ru.clearing.classes.statics.data.company.ClearingMemberCategory" logUpdates="true" table="clearing_member_category">
|
||||
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
|
||||
<clearingMemberCategory type="12" dbname="Код категории участника клиринга" name="Категория участника клиринга" shortname="Категория" searchable="true" sortable="true" visible="true" link="clearingCategory"/>
|
||||
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
|
||||
|
|
@ -602,7 +618,7 @@
|
|||
</delete>
|
||||
</actions>
|
||||
</moneyMarketSecurity>
|
||||
<equitySecurity name="Акции" destination="securities/equity-securities" class="com.spicex.platform.classes.StaticData.Instrument.Issue.Equity" logUpdates="true" table="equity_security">
|
||||
<equitySecurity name="Акции" destination="securities/equity-securities" class="ru.clearing.classes.statics.data.instrument.issue.EquitySecurity" logUpdates="true" table="equity_security">
|
||||
<securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security" linkCode="shortName"/>
|
||||
<shortName type="2" length="255" name="Краткое наименование инструмента" shortname="Краткое наименование" searchable="true" sortable="true" visible="true" extends="security"/>
|
||||
<securitySymbol type="2" length="255" name="Код инструмента" shortname="Код" searchable="true" sortable="true" visible="true" extends="security"/>
|
||||
|
|
@ -649,7 +665,7 @@
|
|||
</delete>
|
||||
</actions>
|
||||
</equitySecurity>
|
||||
<fixedIncomeSecurity name="Облигации" destination="securities/fixed-income-securities" class="com.spicex.platform.classes.StaticData.Instrument.Issue.FixedIncome" logUpdates="true" table="fixed_income_security">
|
||||
<fixedIncomeSecurity name="Облигации" destination="securities/fixed-income-securities" class="ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity" logUpdates="true" table="fixed_income_security">
|
||||
<securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security" linkCode="shortName"/>
|
||||
<shortName type="2" length="255" name="Краткое наименование инструмента" shortname="Краткое наименование" searchable="true" sortable="true" visible="true" extends="security"/>
|
||||
<securitySymbol type="2" length="255" name="Код инструмента" shortname="Код" searchable="true" sortable="true" visible="true" extends="security"/>
|
||||
|
|
@ -711,7 +727,7 @@
|
|||
</delete>
|
||||
</actions>
|
||||
</fixedIncomeSecurity>
|
||||
<fixedIncomeCashFlow name="Выплаты по купонам" destination="securities/fixed-income-cash-flows" class="com.spicex.platform.classes.StaticData.Instrument.Issue.FixedIncome" logUpdates="true" table="fixed_income_cash_flow">
|
||||
<fixedIncomeCashFlow name="Выплаты по купонам" destination="securities/fixed-income-cash-flows" class="ru.clearing.classes.statics.data.instrument.issue.FixedIncomeCashFlow" logUpdates="true" table="fixed_income_cash_flow">
|
||||
<securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security" linkCode="shortName"/>
|
||||
<accruedCoupon type="11" name="Купон" shortname="Купон" searchable="true" sortable="true" visible="true"/>
|
||||
<nominalValue type="10" name="Номинал" shortname="Номинал" searchable="true" sortable="true"/>
|
||||
|
|
@ -719,7 +735,7 @@
|
|||
<valueDate type="6" name="Дата выплаты купона" shortname="Выплата" searchable="true" sortable="true" visible="true"/>
|
||||
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
|
||||
</fixedIncomeCashFlow>
|
||||
<couponPeriod name="Купонное расписание" destination="securities/coupon-periods" class="com.spicex.platform.classes.StaticData.Instrument.Issue.FixedIncome" logUpdates="true" table="coupon_period">
|
||||
<couponPeriod name="Купонное расписание" destination="securities/coupon-periods" class="ru.clearing.classes.statics.data.instrument.issue.CouponPeriod" logUpdates="true" table="coupon_period">
|
||||
<securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security" linkCode="shortName"/>
|
||||
<couponRate type="11" name="Купонная ставка" shortname="Ставка" searchable="true" sortable="true" visible="true"/>
|
||||
<number type="3" name="Номер купона" shortname="Номер" searchable="true" sortable="true" visible="true"/>
|
||||
|
|
@ -743,7 +759,7 @@
|
|||
<description type="2" length="255" name="Описание" shortname="Описание" searchable="true" sortable="true"/>
|
||||
<exchangeId type="1" dbname="Идентификатор площадки" name="Наименование площадки" shortname="Площадка" searchable="true" sortable="true" link="company"/>
|
||||
<name type="2" length="255" name="Наименование рынка" shortname="Рынок" searchable="true" sortable="true"/>
|
||||
<code type="12" name="Код рынка" shortname="Код" searchable="true" sortable="true"/>
|
||||
<code type="12" name="Код рынка" shortname="Код" searchable="true" sortable="true" link="marketCode"/>
|
||||
<settlementCurrency type="12" dbname="Код валюты расчета" name="Наименование валюты расчета" shortname="Валюта" searchable="true" sortable="true" visible="true" link="currencyCode" linkCode="code"/>
|
||||
<section type="12" dbname="Код секции" name="Наименование секции" shortname="Секция" searchable="true" sortable="true" visible="true" link="section"/>
|
||||
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
|
||||
|
|
@ -788,7 +804,7 @@
|
|||
<depoAccountId type="1" name="Номер депозитарного счета" shortname="Депозитарный счет" link="account" linkCode="account"/>
|
||||
<status type="12" name="Наименование статуса" shortname="Статус" link="workflowStatus"/>
|
||||
</put>
|
||||
<delete name="Блокировка кода клиента">
|
||||
<delete name="Блокировка кода клиента" confirmation="companyId,code">
|
||||
<id type="1" name="Идентификатор записи" shortname="ID" link="clientCode" linkCode="id" required="true"/>
|
||||
</delete>
|
||||
</actions>
|
||||
|
|
@ -805,6 +821,21 @@
|
|||
<status type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" searchable="true" sortable="true" link="serviceStatus"/>
|
||||
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true" ignore="true"/>
|
||||
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
|
||||
<actions>
|
||||
<post name="Добавление ТКР" confirmation="companyId,moneyAccountId,depoAccountId,status">
|
||||
<companyId type="1" name="Наименование компании" shortname="Компания" link="company" linkCode="shortName" required="true"/>
|
||||
<moneyAccountId type="1" name="Номер денежного счета" shortname="Денежный счет" link="account" linkCode="account" required="true"/>
|
||||
<depoAccountId type="1" name="Номер депозитарного счета" shortname="Депозитарный счет" link="account" linkCode="account"/>
|
||||
<status type="12" name="Наименование статуса" shortname="Статус" link="workflowStatus"/>
|
||||
</post>
|
||||
<put name="Изменение ТКР" confirmation="companyId,moneyAccountId,depoAccountId,status">
|
||||
<id type="1" name="Идентификатор записи" shortname="ID" link="clientCode" linkCode="id" required="true"/>
|
||||
<status type="12" name="Наименование статуса" shortname="Статус" link="workflowStatus"/>
|
||||
</put>
|
||||
<delete name="Блокировка ТКР" confirmation="companyId,code">
|
||||
<id type="1" name="Идентификатор записи" shortname="ID" link="clientCode" linkCode="id" required="true"/>
|
||||
</delete>
|
||||
</actions>
|
||||
</tradingClearingRegistry>
|
||||
<registry name="Регистр активов, обязательств и требований УК" destination="registries" class="ru.clearing.classes.statics.data.registry.Registry" logUpdates="true" table="registry">
|
||||
<companyId type="1" dbname="Идентификатор участника" name="Наименование участника" shortname="Участник" searchable="true" sortable="true" visible="true" link="company"/>
|
||||
|
|
@ -864,6 +895,24 @@
|
|||
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
|
||||
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true"/>
|
||||
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
|
||||
<actions>
|
||||
<post name="Добавление корреспондентского счета" confirmation="companyId,account,status">
|
||||
<companyId type="1" name="Наименование компании" shortname="Компания" link="company" linkCode="shortName" required="true"/>
|
||||
<account type="2" length="50" name="Номер счета" shortname="Счет" required="true"/>
|
||||
<status type="12" name="Наименование статуса" shortname="Статус" link="serviceStatus"/>
|
||||
<accountType type="12" name="Наименование типа счета" shortname="Тип" link="accountType" required="true" visible="false"/>
|
||||
</post>
|
||||
<put name="Изменение корреспондентского счета" confirmation="companyId,account,status">
|
||||
<id type="1" name="Идентификатор записи" shortname="ID" link="account" linkCode="id" required="true"/>
|
||||
<companyId type="1" name="Наименование компании" shortname="Компания" link="company" linkCode="shortName"/>
|
||||
<account type="2" length="50" name="Номер счета" shortname="Счет"/>
|
||||
<status type="12" name="Наименование статуса" shortname="Статус" link="serviceStatus"/>
|
||||
<accountType type="12" name="Наименование типа счета" shortname="Тип" link="accountType" required="true" visible="false"/>
|
||||
</put>
|
||||
<delete name="Блокировка корреспондентского счета" confirmation="companyId,account">
|
||||
<id type="1" name="Идентификатор записи" shortname="ID" link="account" linkCode="id" required="true"/>
|
||||
</delete>
|
||||
</actions>
|
||||
</account>
|
||||
<relation name="Доступ в секцию" destination="relations" class="ru.clearing.classes.statics.data.company.relation.Relation" logUpdates="true" table="relation">
|
||||
<consumerId type="1" dbname="Идентификатор компании пользователя услуги" name="Наименование компании пользователя услуги" shortname="Потребитель" searchable="true" sortable="true" visible="true" link="company"/>
|
||||
|
|
@ -1148,9 +1197,135 @@
|
|||
</post>
|
||||
<post destination="GRRT" group="Клиринг" name="Сформировать реестр на текущий день">
|
||||
</post>
|
||||
<post destination="GORD" group="Клиринг" name="Формирование реестра распоряжений, направленных расчетному депозитарию">
|
||||
</post>
|
||||
</actions>
|
||||
</launcher>
|
||||
|
||||
<session name="Клиринговая сессия" destination="sessions" class="ru.clearing.classes.statics.data.misc.Session" logUpdates="true" table="session">
|
||||
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
|
||||
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true" ignore="true"/>
|
||||
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
|
||||
<clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true" visible="true"/>
|
||||
<sessionStatus type="12" dbname="Код статуса клиринговой сессии" name="Статус клиринговой сессии" shortname="Статус" searchable="true" sortable="true" visible="true" link="sessionStatus"/>
|
||||
<companyId type="1" dbname="Идентификатор инициатора торгов" name="Наименование инициатора торгов" shortname="Инициатор" visible="false" searchable="true" sortable="true" link="company" linkCode="shortName"/>
|
||||
<securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="false" sortable="true" visible="true" link="security" linkCode="shortName"/>
|
||||
<userId type="1" dbname="Идентификатор пользователя" name="Наименование пользователя" shortname="Пользователь" searchable="true" sortable="true" visible="true" link="userCls"/>
|
||||
<section type="12" dbname="Код наименования секции" name="Наименование секции" shortname="Секция" searchable="true" sortable="true" visible="true" link="section"/>
|
||||
<sessionType type="12" dbname="Код типа клиринговой сессии" name="Тип клиринговой сессии" shortname="Тип" searchable="true" sortable="true" visible="true" link="sessionType"/>
|
||||
</session>
|
||||
<sTrades name="Сделки из Торговой системы" class="ru.clearing.classes.statics.data.misc.STrades" table="s_trades">
|
||||
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
|
||||
<tradeNum type="1" name="Номер сделки" shortname="Номер сделки" searchable="true" sortable="true"/>
|
||||
<operation type="2" length="40" name="Направленность сделки (BUY или SELL)" shortname="Направленность сделки" searchable="true" sortable="true"/>
|
||||
<classCode type="2" length="255" name="Код класса инструментов" shortname="Код класса инструментов" searchable="true" sortable="true"/>
|
||||
<tradeDate type="6" name="Дата торговой сессии" shortname="Дата торговой сессии" searchable="true" sortable="true"/>
|
||||
<secCode type="2" length="255" name="Код инструмента" shortname="Код инструмента" searchable="true" sortable="true"/>
|
||||
<accruedint type="10" name="Накопленный купонный доход" shortname="НКД" searchable="true" sortable="true"/>
|
||||
<accruedint2 type="10" name="Доход(%) на дату выкупа" shortname="Доход(%) на дату выкупа" searchable="true" sortable="true"/>
|
||||
<lowerDiscount type="10" name="Нижний дисконт(%)" shortname="Нижний дисконт(%)" searchable="true" sortable="true"/>
|
||||
<orderNum type="1" name="Номер заявки" shortname="Номер заявки" searchable="true" sortable="true"/>
|
||||
<price type="10" name="Цена сделки" shortname="Цена сделки" searchable="true" sortable="true"/>
|
||||
<price2 type="10" name="Цена выкупа второй части РЕПО" shortname="Цена выкупа второй части РЕПО" searchable="true" sortable="true"/>
|
||||
<repoRate type="10" name="Ставка РЕПО (%)" shortname="Ставка РЕПО (%)" searchable="true" sortable="true"/>
|
||||
<repoValue type="10" name="Сумма РЕПО" shortname="Сумма РЕПО" searchable="true" sortable="true"/>
|
||||
<repo2Value type="10" name="Объем сделки выкупа РЕПО, рублей" shortname="Объем сделки выкупа РЕПО, рублей" searchable="true" sortable="true"/>
|
||||
<startDiscount type="10" name="Начальный дисконт(%)" shortname="Начальный дисконт(%)" searchable="true" sortable="true"/>
|
||||
<tsCommission type="10" name="Комиссия торговой системы" shortname="Комиссия торговой системы" searchable="true" sortable="true"/>
|
||||
<upperDiscount type="10" name="Верхний дисконт(%)" shortname="Верхний дисконт(%)" searchable="true" sortable="true"/>
|
||||
<value type="10" name="Объем сделки без учета комиссионного сбора биржи и % дохода" shortname="Объем сделки без сбора" searchable="true" sortable="true"/>
|
||||
<yield type="10" name="Доходность" shortname="Доходность" searchable="true" sortable="true"/>
|
||||
<qty type="10" name="Количество бумаг в лотах" shortname="Количество в лотах" searchable="true" sortable="true"/>
|
||||
<qtyPcs type="10" name="Количество бумаг в штуках" shortname="Количество в штуках" searchable="true" sortable="true"/>
|
||||
<tradeDateTime type="4" name="Дата и время сделки" shortname="Дата и время сделки" searchable="true" sortable="true"/>
|
||||
<repoTerm type="3" name="Срок РЕПО" shortname="Срок РЕПО" searchable="true" sortable="true"/>
|
||||
<clearingCommission type="10" name="Клиринговая комиссия. Параметр сделок на МБ" shortname="Клиринговая комиссия" searchable="true" sortable="true"/>
|
||||
<exchangeCommission type="10" name="Комиссия Фондовой биржи. Параметр сделок на МБ" shortname="Комиссия Фондовой биржи" searchable="true" sortable="true"/>
|
||||
<techCenterCommission type="10" name="Комиссия Технического центра. Параметр сделок на МБ" shortname="Комиссия Технического центра" searchable="true" sortable="true"/>
|
||||
<account type="2" length="50" name="Торговый счет" shortname="Торговый счет" searchable="true" sortable="true"/>
|
||||
<brokerRef type="2" length="34" name="Комментарий, обычно: код клиента>/номер поручения>" shortname="Комментарий" searchable="true" sortable="true"/>
|
||||
<clientCode type="2" length="255" name="Код участника торгов = Код участника клиринга = Код участника расчетов" shortname="Код клиента" searchable="true" sortable="true"/>
|
||||
<settleCode type="2" length="50" name="Код расчетов по сделке" shortname="Код расчетов" searchable="true" sortable="true"/>
|
||||
<userId type="2" length="32" name="Идентификатор трейдера" shortname="Идентификатор трейдера" searchable="true" sortable="true"/>
|
||||
<exchangeCode type="2" length="64" name="Идентификатор биржи" shortname="Идентификатор биржи" searchable="true" sortable="true"/>
|
||||
<firmId type="2" length="255" name="Трейдер" shortname="Трейдер" searchable="true" sortable="true"/>
|
||||
<firmName type="2" length="255" name="Организация трейдера" shortname="Организация трейдера" searchable="true" sortable="true"/>
|
||||
<cpFirmId type="2" length="255" name="Партнер" shortname="Партнер" searchable="true" sortable="true"/>
|
||||
<cpFirmName type="2" length="255" name="Организация партнера" shortname="Организация партнера" searchable="true" sortable="true"/>
|
||||
<className type="2" length="255" name="Класс инструмента" shortname="Класс инструмента" searchable="true" sortable="true"/>
|
||||
<secName type="2" length="255" name="Полное наименование инструмента" shortname="Полное наименование инструмента" searchable="true" sortable="true"/>
|
||||
<settleDate type="6" name="Дата расчетов" shortname="Дата расчетов" searchable="true" sortable="true"/>
|
||||
<settleCurrency type="2" length="4" name="Валюта расчетов" shortname="Валюта расчетов" searchable="true" sortable="true"/>
|
||||
<tradeCurrency type="2" length="4" name="Валюта сделки" shortname="Валюта сделки" searchable="true" sortable="true"/>
|
||||
<tradeTimeMs type="3" name="Микросекунды времени сделки" shortname="Микросекунды времени сделки" searchable="true" sortable="true"/>
|
||||
<bankAccId type="2" length="12" name="Идентификатор расчетного счета/кода в клиринговой организации" shortname="Код позиции" searchable="true" sortable="true"/>
|
||||
<section type="12" dbname="Код наименования секции" name="Наименование секции" shortname="Секция" searchable="true" sortable="true" visible="true" link="section"/>
|
||||
</sTrades>
|
||||
<executionDeposit name="Сделки" destination="execution-deposits" class="ru.clearing.classes.statics.data.execution.ExecutionDeposit" logUpdates="true" table="execution_deposit">
|
||||
<exchangeExecutionId type="1" name="Идентификационный номер сделки в Торговой системе" shortname="Номер сделки" visible="true" searchable="true" sortable="true"/>
|
||||
<exchangeExecutionTime type="4" name="Время заключения сделки в Торговой системе" shortname="Время заключения сделки" visible="true" searchable="true" sortable="true"/>
|
||||
<tradingDate type="6" name="Дата заключения сделки" shortname="Дата заключения сделки" visible="true" searchable="true" sortable="true"/>
|
||||
<tradingClearingRegistryId type="1" dbname="Идентификатор торгово-клирингового регистра" name="Торгово-клиринговый регистр" shortname="ТКР" visible="true" searchable="true" sortable="true" link="tradingClearingRegistry"/>
|
||||
<market type="12" dbname="Код секции финансового инструмента" name="Секция финансового инструмента" shortname="Секция" visible="true" searchable="true" sortable="true" link="market" linkCode="name"/>
|
||||
<price type="10" name="Ставка по депозиту" shortname="Ставка, %" visible="true" searchable="true" sortable="true"/>
|
||||
<lots type="11" name="Количество лотов" shortname="Лоты" visible="true" searchable="true" sortable="true"/>
|
||||
<quantity type="11" name="Количество штук" shortname="Штуки" visible="false" searchable="true" sortable="true"/>
|
||||
<firstLegAmount type="11" name="Объем сделки" shortname="Объем" visible="true" searchable="true" sortable="true"/>
|
||||
<secondLegAmount type="11" name="Объем возврата" shortname="Объем возврата" visible="false" searchable="true" sortable="true"/>
|
||||
<interestAmount type="11" name="Объем процентов" shortname="Проценты" visible="false" searchable="true" sortable="true"/>
|
||||
<side type="12" dbname="Код направления сделки" name="Направление сделки" shortname="Направление" visible="true" searchable="true" sortable="true" link="moneyFlowSide"/>
|
||||
<settlementCurrency type="12" dbname="Код валюты расчетов по инструменту" name="Валюта расчетов по инструменту" shortname="Валюта" visible="true" searchable="true" sortable="true" link="currencyCode" linkCode="code"/>
|
||||
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" visible="true" searchable="true" sortable="true" link="company" linkCode="shortName"/>
|
||||
<duration type="1" name="Срок, дней" shortname="Срок" visible="true" searchable="true" sortable="true"/>
|
||||
<firstLegSettlementDate type="6" name="Дата размещения" shortname="Дата размещения" visible="true" searchable="true" sortable="true"/>
|
||||
<secondLegSettlementDate type="6" name="Дата возврата" shortname="Дата возврата" visible="true" searchable="true" sortable="true"/>
|
||||
<firstLegSettlementCode type="2" length="12" name="Код расчетов при размещении" shortname="Код расчетов при размещении" visible="false" searchable="true" sortable="true" ignore="true"/>
|
||||
<secondLegSettlementCode type="2" length="12" name="Код расчетов при возврате" shortname="Код расчетов" visible="false" searchable="true" sortable="true" ignore="true"/>
|
||||
<securityFullName type="2" length="255" name="Наименование инструмента" shortname="Инструмент" visible="true" searchable="true" sortable="true"/>
|
||||
<securitySymbol type="2" length="255" name="Код инструмента в Торговой Системе" shortname="Код инструмента" visible="true" searchable="true" sortable="true"/>
|
||||
<securityId type="1" dbname="Идентификатор финансового инструмента" name="Финансовый инструмент" shortname="Код биржевого инструмента / товара" searchable="true" sortable="true" link="moneyMarketSecurity" linkCode="securitySymbol" ignore="true"/>
|
||||
<contract type="2" name="Продукт" shortname="Продукт" searchable="true" sortable="true" length="255" visible="true"/>
|
||||
<counterPartyId type="1" dbname="Идентификатор компании-партнера, с которой заключена сделка" name="Наименование компании-партнера, с которой заключена сделка" shortname="Партнер" visible="false" searchable="true" sortable="true" link="company"/>
|
||||
<coverageStatus type="12" dbname="Код статуса достаточности обеспечения" name="Cтатус достаточности обеспечения" shortname="Обеспеченность" searchable="true" sortable="true" link="allowed"/>
|
||||
<sessionId type="1" name="Сессия" shortname="Сессия" visible="true" searchable="true" sortable="true" link="session"/>
|
||||
<id type="1" name="Идентификатор записи" shortname="ID" visible="false" searchable="true" sortable="true"/>
|
||||
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" visible="false" searchable="true" sortable="true"/>
|
||||
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" visible="false" searchable="true" sortable="true"/>
|
||||
<clearingDate type="6" name="Дата клиринга" shortname="Дата клиринга" visible="false" searchable="true" sortable="true"/>
|
||||
</executionDeposit>
|
||||
<executionFond name="Сделки на Фондовой секции" destination="execution-fonds" class="ru.clearing.classes.statics.data.execution.ExecutionFond" logUpdates="true" table="execution_fond">
|
||||
<id type="1" name="Идентификатор записи" shortname="ID" visible="false" searchable="true" sortable="true"/>
|
||||
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" visible="false" searchable="true" sortable="true"/>
|
||||
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" visible="false" searchable="true" sortable="true"/>
|
||||
<clearingDate type="6" name="Дата клиринга" shortname="Дата клиринга" visible="false" searchable="true" sortable="true"/>
|
||||
<exchangeExecutionId type="1" name="Идентификационный номер сделки в Торговой системе" shortname="Номер сделки" visible="true" searchable="true" sortable="true"/>
|
||||
<side type="12" dbname="Код направления сделки" name="Направление сделки" shortname="Направление" visible="true" searchable="true" sortable="true" link="moneyFlowSide"/>
|
||||
<market type="12" dbname="Код секции финансового инструмента" name="Секция финансового инструмента" shortname="Секция" visible="true" searchable="true" sortable="true" link="market" linkCode="name"/>
|
||||
<tradingDate type="6" name="Дата заключения сделки" shortname="Дата заключения сделки" visible="true" searchable="true" sortable="true"/>
|
||||
<securitySymbol type="2" length="255" name="Код инструмента в Торговой Системе" shortname="Код инструмента" visible="true" searchable="true" sortable="true"/>
|
||||
<securityId type="1" dbname="Идентификатор финансового инструмента" name="Финансовый инструмент" shortname="Код биржевого инструмента / товара" searchable="true" sortable="true" link="security" linkCode="securitySymbol" ignore="true"/>
|
||||
<interestAmount type="11" name="Объем процентов" shortname="Проценты" visible="false" searchable="true" sortable="true"/>
|
||||
<exchangeOrderId type="1" name="Идентификационный номер заявки в Торговой системе" shortname="Номер заявки" visible="true" searchable="true" sortable="true"/>
|
||||
<price type="10" name="Ставка по депозиту" shortname="Ставка, %" visible="true" searchable="true" sortable="true"/>
|
||||
<settlementAmount type="11" name="Объем сделки" shortname="Объем" visible="true" searchable="true" sortable="true"/>
|
||||
<lots type="11" name="Количество лотов" shortname="Лоты" visible="true" searchable="true" sortable="true"/>
|
||||
<quantity type="11" name="Количество штук" shortname="Штуки" visible="false" searchable="true" sortable="true"/>
|
||||
<exchangeExecutionTime type="4" name="Время заключения сделки в Торговой системе" shortname="Время заключения сделки" visible="true" searchable="true" sortable="true"/>
|
||||
<duration type="1" name="Срок, дней" shortname="Срок" visible="true" searchable="true" sortable="true"/>
|
||||
<tradingClearingRegistryId type="1" dbname="Идентификатор торгово-клирингового регистра" name="Торгово-клиринговый регистр" shortname="ТКР" visible="true" searchable="true" sortable="true" link="tradingClearingRegistry"/>
|
||||
<comment type="2" name="Комментарий" shortname="Комментарий" searchable="true" sortable="true" length="255"/>
|
||||
<clientCodeId type="1" dbname="Идентификатор кода клиента" name="Код клиента" shortname="Клиент" searchable="true" sortable="true" visible="true"/>
|
||||
<settlementCode type="2" length="12" name="Код расчетов при размещении" shortname="Код расчетов при размещении" visible="false" searchable="true" sortable="true" ignore="true"/>
|
||||
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" visible="true" searchable="true" sortable="true" link="company" linkCode="shortName"/>
|
||||
<counterPartyId type="1" dbname="Идентификатор компании-партнера, с которой заключена сделка" name="Наименование компании-партнера, с которой заключена сделка" shortname="Партнер" visible="false" searchable="true" sortable="true" link="company"/>
|
||||
<securityFullName type="2" length="255" name="Наименование инструмента" shortname="Инструмент" visible="true" searchable="true" sortable="true"/>
|
||||
<settlementDate type="6" name="Дата расчетов" shortname="Дата расчетов" visible="true" searchable="true" sortable="true"/>
|
||||
<settlementCurrency type="12" dbname="Код валюты расчетов по инструменту" name="Валюта расчетов по инструменту" shortname="Валюта" visible="true" searchable="true" sortable="true" link="currencyCode" linkCode="code"/>
|
||||
<exchangeExecutionMicroseconds type="4" name="Микросекунды заключения сделки в Торговой системе" shortname="Микросекунды заключения сделки" visible="true" searchable="true" sortable="true"/>
|
||||
<coverageStatus type="12" dbname="Код статуса достаточности обеспечения" name="Cтатус достаточности обеспечения" shortname="Обеспеченность" searchable="true" sortable="true" link="allowed"/>
|
||||
<sessionId type="1" dbname="Идентификатор сессии" name="Сессия" shortname="Сессия" visible="true" searchable="true" sortable="true" link="session"/>
|
||||
</executionFond>
|
||||
|
||||
<clearmemberRegister name="Реестр участников клиринга" destination="clearmember-registers" serviceProduct="MKR" class="ru.clearing.classes.statics.data.misc.ClearMemberRegister" table="clearmember_register">
|
||||
<tradingCode type="2" length="255" name="Код участника торгов" shortname="Торговый код" searchable="true" sortable="true" visible="true"/>
|
||||
<clearingCode type="2" length="255" name="Код участника клиринга" shortname="Клиринговый код" searchable="true" sortable="true" visible="true"/>
|
||||
|
|
@ -1278,37 +1453,6 @@
|
|||
<resultStatus type="12" name="Статус выгрузки документа" shortname="Статус" searchable="true" sortable="true" visible="true" link="resultStatus"/>
|
||||
<id type="1" name="Идентификатор записи" shortname="№п/п" searchable="true" sortable="true"/>
|
||||
</outDocumentJournal>
|
||||
<executionDeposit name="Сделки" destination="execution-deposits" class="ru.clearing.classes.statics.data.execution.ExecutionDeposit" table="execution_deposit">
|
||||
<exchangeExecutionId type="1" name="Идентификационный номер сделки в Торговой системе" shortname="Номер сделки" visible="true" searchable="true" sortable="true"/>
|
||||
<exchangeExecutionTime type="4" name="Время заключения сделки в Торговой системе" shortname="Время заключения сделки" visible="true" searchable="true" sortable="true"/>
|
||||
<tradingDate type="6" name="Дата заключения сделки" shortname="Дата заключения сделки" visible="true" searchable="true" sortable="true"/>
|
||||
<accountId type="1" name="Торговый счет" shortname="Счет" visible="true" searchable="true" sortable="true" link="account" linkCode="account"/>
|
||||
<market type="12" name="Секция финансового инструмента" shortname="Секция" visible="true" searchable="true" sortable="true" link="market" linkCode="name"/>
|
||||
<price type="10" name="Ставка по депозиту" shortname="Ставка, %" visible="true" searchable="true" sortable="true"/>
|
||||
<lots type="11" name="Количество лотов" shortname="Лоты" visible="true" searchable="true" sortable="true"/>
|
||||
<quantity type="11" name="Количество штук" shortname="Штуки" visible="false" searchable="true" sortable="true"/>
|
||||
<firstLegAmount type="11" name="Объем сделки" shortname="Объем" visible="true" searchable="true" sortable="true"/>
|
||||
<secondLegAmount type="11" name="Объем возврата" shortname="Объем возврата" visible="false" searchable="true" sortable="true"/>
|
||||
<interestAmount type="11" name="Объем процентов" shortname="Проценты" visible="false" searchable="true" sortable="true"/>
|
||||
<side type="12" name="Направление сделки" shortname="Направление" visible="true" searchable="true" sortable="true" link="moneyFlowSide"/>
|
||||
<settlementCurrency type="12" name="Валюта расчетов по инструменту" shortname="Валюта" visible="true" searchable="true" sortable="true" link="currencyCode" linkCode="code"/>
|
||||
<companyId type="1" name="Название компании" shortname="Компания" visible="true" searchable="true" sortable="true" link="company" linkCode="shortName"/>
|
||||
<duration type="1" name="Срок, дней" shortname="Срок" visible="true" searchable="true" sortable="true"/>
|
||||
<firstLegSettlementDate type="6" name="Дата размещения" shortname="Дата размещения" visible="true" searchable="true" sortable="true"/>
|
||||
<secondLegSettlementDate type="6" name="Дата возврата" shortname="Дата возврата" visible="true" searchable="true" sortable="true"/>
|
||||
<firstLegSettlementCode type="6" name="Код расчетов при размещении" shortname="Код расчетов при размещении" visible="false" searchable="true" sortable="true" ignore="true"/>
|
||||
<secondLegSettlementCode type="6" name="Код расчетов при возврате" shortname="Код расчетов" visible="false" searchable="true" sortable="true" ignore="true"/>
|
||||
<securityFullName type="2" length="255" name="Наименование инструмента" shortname="Инструмент" visible="true" searchable="true" sortable="true"/>
|
||||
<securitySymbol type="2" length="255" name="Код инструмента в Торговой Системе" shortname="Код инструмента" visible="true" searchable="true" sortable="true"/>
|
||||
<securityId type="1" name="Финансовый инструмент" shortname="Код биржевого инструмента / товара" searchable="true" sortable="true" link="moneyMarketSecurity" linkCode="securitySymbol" ignore="true"/>
|
||||
<counterPartyId type="1" name="Имя компании-партнера, с которым заключена сделка" shortname="Партнер" visible="false" searchable="true" sortable="true" link="company"/>
|
||||
<coverageStatus type="12" name="Cтатус достаточности обеспечения" shortname="Обеспеченность" searchable="true" sortable="true" link="allowed"/>
|
||||
<sessionId type="1" name="Наименование сессии" shortname="Сессия" visible="true" searchable="true" sortable="true" link="moneyMarketSession"/>
|
||||
<id type="1" name="Идентификатор записи" shortname="ID" visible="false" searchable="true" sortable="true"/>
|
||||
<createdAt field="created" type="5" name="Время регистрации сделки" shortname="Время сделки" visible="false" searchable="true" sortable="true"/>
|
||||
<updatedAt field="updated" type="5" name="Время изменения сделки" shortname="Время изменения" visible="false" searchable="true" sortable="true"/>
|
||||
<clearingDate type="6" name="Дата клиринга" shortname="Дата клиринга" visible="false" searchable="true" sortable="true"/>
|
||||
</executionDeposit>
|
||||
<dealRegister name="Реестр сделок" destination="deal-registers" class="ru.clearing.classes.statics.data.register.DealRegister" table="deal_register">
|
||||
<executionId type="1" name="Идентификационный номер сделки в Клиринговой системе" shortname="Номер сделки КС" visible="false" searchable="true" sortable="true"/>
|
||||
<exchangeExecutionId type="1" name="Идентификационный номер сделки в Торговой системе" shortname="Номер сделки" visible="true" searchable="true" sortable="true"/>
|
||||
|
|
@ -1951,28 +2095,6 @@
|
|||
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/>
|
||||
<inSDf12Id type="1" name="Идентификатор соответствующей записи из таблицы-источника" shortname="Входящая запись" searchable="true" sortable="true"/>
|
||||
</sDf18>
|
||||
<s_trade name="Сделки из Торговой системы" class="ru.clearing.classes.statics.data.misc.STrade" table="s_trade">
|
||||
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
|
||||
<trade_num type="1" name="Номер сделки" shortname="Номер сделки" searchable="true" sortable="true"/>
|
||||
<sec_code type="2" length="255" name="Код ценной бумаги" shortname="Код ценной бумаги" searchable="true" sortable="true"/>
|
||||
<trade_date_time type="4" name="Дата-время сделки" shortname="Дата-время сделки" searchable="true" sortable="true"/>
|
||||
<settle_date type="6" name="Плановая дата исполнения сделки" shortname="Плановая дата исполнения сделки" searchable="true" sortable="true"/>
|
||||
<price type="10" name="Цена сделки" shortname="Цена сделки" searchable="true" sortable="true"/>
|
||||
<value type="11" name="Сумма сделки" shortname="Сумма сделки" searchable="true" sortable="true"/>
|
||||
<qty type="11" name="Количество лотов по сделке" shortname="Количество лотов по сделке" searchable="true" sortable="true"/>
|
||||
<accruedint type="10" name="НКД за 1 ценную бумагу" shortname="НКД за 1 ценную бумагу" searchable="true" sortable="true"/>
|
||||
<firm_id type="2" length="255" name="ID клиента в КС" shortname="ID клиента в КС" searchable="true" sortable="true"/>
|
||||
<client_code type="2" length="255" name="Код участника торгов = Код участника клиринга = Код участника расчетов" shortname="Участник" searchable="true" sortable="true"/>
|
||||
<exchange_commission type="11" name="Комиссия по сделке" shortname="Комиссия" searchable="true" sortable="true"/>
|
||||
<class_code type="2" length="255" name="Код класса сделки из новой ТС" shortname="Код класса сделки" searchable="true" sortable="true"/>
|
||||
<operation type="2" length="255" name="Тип плеча (Купля/Продажа)" shortname="Тип плеча" searchable="true" sortable="true"/>
|
||||
<issue_account type="2" length="50" name="Счет для учета ценной бумаги" shortname="Счет для учета ценной бумаги" searchable="true" sortable="true"/>
|
||||
<money_account type="2" length="50" name="Счет для учета денежных средств" shortname="Счет для учета денежных средств" searchable="true" sortable="true"/>
|
||||
<trade_type type="2" length="50" name="Первичное размещение/торги" shortname="Первичное размещение/торги" searchable="true" sortable="true"/>
|
||||
<days_to_mat_date type="1" name="Количество дней до погашения" shortname="Количество дней до погашения" searchable="true" sortable="true"/>
|
||||
<collateral type="2" length="50" name="Признак залога (не используется)" shortname="Признак залога (не используется)" searchable="true" sortable="true"/>
|
||||
<settle_code type="2" length="50" name="Код периода сделки из новой ТС" shortname="Код периода сделки из новой ТС" searchable="true" sortable="true"/>
|
||||
</s_trade>
|
||||
<notification name="Сообщения" destination="notifications" class="ru.clearing.classes.statics.data.misc.Notification" logUpdates="true" table="notification">
|
||||
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
|
||||
<createdAt field="created" type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true" ignore="true"/>
|
||||
|
|
@ -2004,13 +2126,6 @@
|
|||
<createdAt type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true" ignore="true"/>
|
||||
<updatedAt type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
|
||||
</verificationResult>
|
||||
<session name="Клиринговая сессия" class="ru.clearing.classes.statics.data.misc.Session" logUpdates="true" table="session">
|
||||
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
|
||||
<createdAt field="created" type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true" ignore="true"/>
|
||||
<updatedAt field="updated" type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
|
||||
<clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true" visible="true"/>
|
||||
<sessionStatus type="12" name="Статус клиринговой сессии" shortname="Статус" searchable="true" sortable="true" visible="true" link="sessionStatus"/>
|
||||
</session>
|
||||
<moneyMarketSession name="Сессия денежного рынка" class="com.spicex.TransactionData.Session" logUpdates="true" table="money_market_session">
|
||||
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
|
||||
<clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true" visible="true" extends="session"/>
|
||||
|
|
|
|||
|
|
@ -28,11 +28,10 @@ import org.springframework.web.context.WebApplicationContext;
|
|||
import org.springframework.web.filter.CharacterEncodingFilter;
|
||||
import ru.clearing.classes.statics.data.user.User;
|
||||
import ru.spcex.clearing.backendapi.controller.config.*;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.account.AccountBalanceController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.account.AccountController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.account.BankAccountController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.account.*;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.company.*;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.execution.ExecutionDepositController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.execution.ExecutionFondController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.journal.InDocumentJournalController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.journal.ManagementJournalController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.journal.OutDocumentJournalController;
|
||||
|
|
@ -41,10 +40,9 @@ import ru.spcex.clearing.backendapi.controller.queue.liabilities.LiabilitiesClai
|
|||
import ru.spcex.clearing.backendapi.controller.queue.misc.*;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.payment.PaymentInstructionController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.register.*;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.registry.TradingClearingRegistryController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.scheduler.*;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.securities.CudMoneyMarketSecurityController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.securities.InformationAccountController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.securities.SecurityController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.securities.*;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.user.UserController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.user.UserRoleSessionController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.utilities.CudKeyRateController;
|
||||
|
|
@ -90,6 +88,10 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi
|
|||
AccountBalanceController.class,
|
||||
AccountController.class,
|
||||
BankAccountController.class,
|
||||
ClearingAccountController.class,
|
||||
DepoAccountController.class,
|
||||
//account misc
|
||||
ClientCodeController.class,
|
||||
//company
|
||||
CompanyRoleSetController.class,
|
||||
CompanyController.class,
|
||||
|
|
@ -101,6 +103,7 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi
|
|||
RelationController.class,
|
||||
//execution
|
||||
ExecutionDepositController.class,
|
||||
ExecutionFondController.class,
|
||||
//journal
|
||||
InDocumentJournalController.class,
|
||||
ManagementJournalController.class,
|
||||
|
|
@ -127,6 +130,8 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi
|
|||
OrderRegisterController.class,
|
||||
ReportRegisterController.class,
|
||||
UncoveredDealRegisterController.class,
|
||||
//registry
|
||||
TradingClearingRegistryController.class,
|
||||
//scheduler
|
||||
ClearingCalendarController.class,
|
||||
LauncherController.class,
|
||||
|
|
@ -135,6 +140,10 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi
|
|||
PlannerTemplateController.class,
|
||||
//securities
|
||||
CudMoneyMarketSecurityController.class,
|
||||
CudCouponPeriodController.class,
|
||||
CudEquitySecurityController.class,
|
||||
CudFixedIncomeCashFlowController.class,
|
||||
CudFixedIncomeSecurityController.class,
|
||||
InformationAccountController.class,
|
||||
SecurityController.class,
|
||||
//user
|
||||
|
|
@ -156,7 +165,7 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi
|
|||
@WebMvcTest//(controllers = DeleteCompanyController.class)
|
||||
//@TestPropertySource(properties = "spring.config.location=D:/repo/mfd/clearing/clearing-parent/backend-api/src/main/resources/")
|
||||
public abstract class AbstractControllerTest {
|
||||
protected static final MatcherFactoryWithJson.Matcher<BaseRequest> BASE_REQUEST_MATCHER = usingIgnoringFieldsComparatorForClass(BaseRequest.class);
|
||||
protected static final MatcherFactoryWithJson.Matcher<BaseRequest> BASE_REQUEST_MATCHER = usingIgnoringFieldsComparatorForClass(BaseRequest.class,"userId");
|
||||
protected static final MatcherFactoryWithJson.Matcher<CudResponse> CUD_RESPONSE_MATCHER = usingIgnoringFieldsComparatorForClass(CudResponse.class);
|
||||
protected static final AtomicLong currentId = new AtomicLong();
|
||||
private static final CharacterEncodingFilter CHARACTER_ENCODING_FILTER = new CharacterEncodingFilter();
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import ru.clearing.classes.statics.data.account.AccountBalance;
|
|||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
@Deprecated
|
||||
class AccountBalanceControllerTest extends AbstractControllerTest {
|
||||
private static final String REST_URL = "/account-balances/";
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,11 @@ package ru.spcex.clearing.backendapi.controller.queue.account;
|
|||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.account.Account;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.account.AccountNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.account.AccountUpdateAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
|
||||
class AccountControllerTest extends AbstractControllerTest {
|
||||
private static final String REST_URL = "/accounting/accounts/";
|
||||
|
|
@ -11,7 +15,7 @@ class AccountControllerTest extends AbstractControllerTest {
|
|||
/**
|
||||
* {@link AccountController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_BankAccount.<br>
|
||||
* Входной запрос /securities/bank-accounts/ <br>
|
||||
* Входной запрос /accounting/accounts/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
|
|
@ -25,4 +29,79 @@ class AccountControllerTest extends AbstractControllerTest {
|
|||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_Account, existBankAccount, REST_URL);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link AccountController#add(AccountNewAction)} <br>
|
||||
* Тест проверяет получение сущности {@link AccountNewAction} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link AccountNewAction}:<br>
|
||||
*/
|
||||
@Test
|
||||
void add() throws Exception {
|
||||
//ARRANGE
|
||||
AccountNewAction accountNewAction = new AccountNewAction();
|
||||
accountNewAction.setStatus("ACTV");
|
||||
accountNewAction.setAccount("A11112222333");
|
||||
accountNewAction.setCompanyId(5L);
|
||||
accountNewAction.setAccountType("BANK");
|
||||
|
||||
//ACT and ASSERT
|
||||
checkAddingByRestApi(REST_URL, accountNewAction);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_ACCOUNT_NEW, accountNewAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link AccountController#update(Long, AccountUpdateAction)} <br>
|
||||
* Тест проверяет получение сущности {@link AccountUpdateAction} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link AccountUpdateAction}:<br>
|
||||
*/
|
||||
@Test
|
||||
void update() throws Exception {
|
||||
//ARRANGE
|
||||
long id = currentId.getAndIncrement();
|
||||
AccountUpdateAction accountUpdateAction = new AccountUpdateAction();
|
||||
accountUpdateAction.setId(id);
|
||||
accountUpdateAction.setStatus("ACTV");
|
||||
accountUpdateAction.setAccount("A11112222333");
|
||||
accountUpdateAction.setCompanyId(5L);
|
||||
accountUpdateAction.setAccountType("BANK");
|
||||
Account account = getAccount(id);
|
||||
|
||||
//ACT and ASSERT
|
||||
checkUpdatingWithIdVolidationByRestApi(IMDGDistributedNames.Map_Account, account,
|
||||
REST_URL, accountUpdateAction, id);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_ACCOUNT_UPDATE, accountUpdateAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link AccountController#delete(Long)} <br>
|
||||
* Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос /securities/account/{@link Long}: - 0L<br>
|
||||
*/
|
||||
@Test
|
||||
void delete() throws Exception {
|
||||
//ARRANGE
|
||||
long id = currentId.getAndIncrement();
|
||||
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||
deleteAction.setId(id);
|
||||
Account account = getAccount(id);
|
||||
|
||||
//ACT and ASSERT
|
||||
checkDeletingWithIdVolidationByRestApi(IMDGDistributedNames.Map_Account, account,
|
||||
REST_URL, id);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_ACCOUNT_DELETE, deleteAction);
|
||||
}
|
||||
|
||||
|
||||
private Account getAccount(Long id) {
|
||||
Account account = new Account();
|
||||
account.setId(id);
|
||||
account.setStatus("ACTV");
|
||||
account.setAccount("A11112222333");
|
||||
account.setRelationId(4L);
|
||||
account.setCompanyId(5L);
|
||||
account.setAccountType("BANK");
|
||||
account.setProcessingSign("B");
|
||||
account.setRelationId(6L);
|
||||
return account;
|
||||
}
|
||||
}
|
||||
|
|
@ -25,7 +25,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
|||
import static ru.spcex.clearing.test.json.JsonUtil.writeValue;
|
||||
|
||||
class BankAccountControllerTest extends AbstractControllerTest {
|
||||
private static final String REST_URL = "/securities/bank-accounts/";
|
||||
private static final String REST_URL = "/accounting/bank-accounts/";
|
||||
|
||||
/**
|
||||
* {@link BankAccountController#add(BankAccountNewAction)}<br>
|
||||
|
|
@ -124,7 +124,7 @@ class BankAccountControllerTest extends AbstractControllerTest {
|
|||
/**
|
||||
* {@link BankAccountController#delete(Long)} <br>
|
||||
* Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос /securities/bank-accounts/{@link Long}: - 0L<br>
|
||||
* Входной запрос /accounting/bank-accounts/{@link Long}: - 0L<br>
|
||||
*/
|
||||
@Test
|
||||
void delete() throws Exception {
|
||||
|
|
@ -140,7 +140,7 @@ class BankAccountControllerTest extends AbstractControllerTest {
|
|||
/**
|
||||
* {@link BankAccountController#getById(Long)} <br>
|
||||
* Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_BankAccount.<br>
|
||||
* Входной запрос /securities/bank-accounts/{@link Long}: - 0L <br>
|
||||
* Входной запрос /accounting/bank-accounts/{@link Long}: - 0L <br>
|
||||
* Ответ BankAccountBackendGetById <br>
|
||||
*/
|
||||
@Test
|
||||
|
|
@ -185,7 +185,7 @@ class BankAccountControllerTest extends AbstractControllerTest {
|
|||
/**
|
||||
* {@link BankAccountController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_BankAccount.<br>
|
||||
* Входной запрос /securities/bank-accounts/ <br>
|
||||
* Входной запрос /accounting/bank-accounts/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -0,0 +1,30 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.account;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.account.ClearingAccount;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
class ClearingAccountControllerTest extends AbstractControllerTest {
|
||||
private static final String REST_URL = "/accounting/clearing-accounts/";
|
||||
|
||||
/**
|
||||
* {@link ClearingAccountController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_ClearingAccount.<br>
|
||||
* Входной запрос /securities/clearing-accounts/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
ClearingAccount existClearingAccount = new ClearingAccount();
|
||||
existClearingAccount.setAccountId(99L);
|
||||
existClearingAccount.setClearingAccountType("CATPE-1");
|
||||
existClearingAccount.setCompanyId(6L);
|
||||
existClearingAccount.setId(currentId.get());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_ClearingAccount, existClearingAccount, REST_URL);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,174 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.account;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.core.NestedExceptionUtils;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
|
||||
import ru.clearing.classes.statics.data.account.ClientCode;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.account.ClientCodeNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.account.ClientCodeUpdateAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||
import ru.spcex.clearing.backendapi.errors.ActionValidationException;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
import static ru.spcex.clearing.test.json.JsonUtil.writeValue;
|
||||
|
||||
class ClientCodeControllerTest extends AbstractControllerTest {
|
||||
private static final String REST_URL = "/accounting/client-codes/";
|
||||
|
||||
/**
|
||||
* {@link ClientCodeController#add(ClientCodeNewAction)}<br>
|
||||
* Тест проверяет получение сущности {@link ClientCodeNewAction} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link ClientCodeNewRequest}:<br>
|
||||
* {@link ClientCodeNewRequest#} - 044525776<br>
|
||||
* ...
|
||||
*/
|
||||
@Test
|
||||
void add() throws Exception {
|
||||
//ARRANGE
|
||||
ClientCodeNewAction clientCodeNewAction = getClientCodeNewAction(
|
||||
0,
|
||||
"044525776",
|
||||
"ACTV",
|
||||
1000L,
|
||||
1010L,
|
||||
1020L,
|
||||
1030L);
|
||||
|
||||
//ACT and ASSERT
|
||||
checkAddingByRestApi(REST_URL, clientCodeNewAction);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_CLIENT_CODE_NEW, clientCodeNewAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link ClientCodeController#add(ClientCodeNewAction)}<br>
|
||||
* Тест проверяет работу валидации сущности {@link ClientCodeNewAction} принятой по REST API для отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link ClientCodeNewAction}:<br>
|
||||
* {@link ClientCodeNewAction#id} - (generated)<br>
|
||||
* {@link ClientCodeNewAction#code} - "044525776" или null или ""<br>
|
||||
* {@link ClientCodeNewAction#status} - "ACTV"<br>
|
||||
* {@link ClientCodeNewAction#companyId} - 1000L или null<br>
|
||||
* {@link ClientCodeNewAction#depoAccountId} - 1010L<br>
|
||||
* {@link ClientCodeNewAction#moneyAccountId} - 1020L<br>
|
||||
* {@link ClientCodeNewAction#tradingClearingRegistryId} - 1030L<br>
|
||||
*/
|
||||
@Test
|
||||
void addWithException() {
|
||||
assertThrowsFor(getClientCodeNewAction(0, "", "ACTV", 1000L, 1010L, 1020L, 1030L));
|
||||
assertThrowsFor(getClientCodeNewAction(0, null, "ACTV", 1000L, 1010L, 1020L, 1030L));
|
||||
assertThrowsFor(getClientCodeNewAction(0, "044525776", "ACTV", null, 1010L, 1020L, 1030L));
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link ClientCodeController#update(Long, ClientCodeUpdateAction)}<br>
|
||||
* Тест проверяет получение сущности {@link ClientCodeUpdateAction} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link ClientCodeUpdateAction}:<br>
|
||||
* {@link ClientCodeUpdateAction#id} - (generated)<br>
|
||||
* {@link ClientCodeUpdateAction#code} - "044525776"<br>
|
||||
* {@link ClientCodeUpdateAction#status} - "ACTV"<br>
|
||||
* {@link ClientCodeUpdateAction#companyId} - 1000L<br>
|
||||
* {@link ClientCodeUpdateAction#depoAccountId} - 1010L<br>
|
||||
* {@link ClientCodeUpdateAction#moneyAccountId} - 1020L<br>
|
||||
* {@link ClientCodeUpdateAction#tradingClearingRegistryId} - 1030L<br>
|
||||
*/
|
||||
@Test
|
||||
void update() throws Exception {
|
||||
//ARRANGE
|
||||
long id = 0;
|
||||
ClientCodeUpdateAction clientCodeUpdateAction = getClientCodeUpdateAction(
|
||||
id,
|
||||
"044525776",
|
||||
"ACTV",
|
||||
1000L,
|
||||
1010L,
|
||||
1020L,
|
||||
1030L);
|
||||
|
||||
//ACT and ASSERT
|
||||
checkUpdatingByRestApi(REST_URL, clientCodeUpdateAction, id);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_CLIENT_CODE_UPDATE, clientCodeUpdateAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link ClientCodeController#delete(Long)} <br>
|
||||
* Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос /accounting/client-codes/{@link Long}: - 0L<br>
|
||||
*/
|
||||
@Test
|
||||
void delete() throws Exception {
|
||||
//ARRANGE
|
||||
long id = currentId.getAndIncrement();
|
||||
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||
deleteAction.setId(id);
|
||||
//ACT and ASSERT
|
||||
checkDeletingByRestApi(REST_URL, id);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_CLIENT_CODE_DELETE, deleteAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link ClientCodeController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_ClientCode.<br>
|
||||
* Входной запрос /accounting/client-codes/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
ClientCode existClientCode = new ClientCode();
|
||||
existClientCode.setCode("ooo tinkoff");
|
||||
existClientCode.setCompanyId(1000L);
|
||||
existClientCode.setDepoAccountId(1010L);
|
||||
existClientCode.setStatus("ACTV");
|
||||
existClientCode.setMoneyAccountId(1020L);
|
||||
existClientCode.setTradingClearingRegistryId(1030L);
|
||||
existClientCode.setCreated(Instant.now());
|
||||
existClientCode.setUpdated(Instant.now());
|
||||
existClientCode.setId(currentId.get());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_ClientCode, existClientCode, REST_URL);
|
||||
}
|
||||
|
||||
private void assertThrowsFor(IAction<?> iAction) {
|
||||
assertThrows(ActionValidationException.class, () -> {
|
||||
try {
|
||||
perform(MockMvcRequestBuilders.post(REST_URL).contentType(MediaType.APPLICATION_JSON).content(writeValue(iAction)));
|
||||
} catch (Exception e) {
|
||||
Throwable rootCause = NestedExceptionUtils.getRootCause(e);
|
||||
throw rootCause != null ? rootCause : e;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private ClientCodeNewAction getClientCodeNewAction(long id,
|
||||
String code, String status, Long companyId, Long depoAccountId,
|
||||
Long moneyAccountId, Long tradingClearingRegistryId ) {
|
||||
ClientCodeNewAction clientCodeNewAction = new ClientCodeNewAction();
|
||||
clientCodeNewAction.setCode(code);
|
||||
clientCodeNewAction.setCompanyId(companyId);
|
||||
clientCodeNewAction.setDepoAccountId(depoAccountId);
|
||||
clientCodeNewAction.setStatus(status);
|
||||
clientCodeNewAction.setMoneyAccountId(moneyAccountId);
|
||||
clientCodeNewAction.setTradingClearingRegistryId(tradingClearingRegistryId);
|
||||
return clientCodeNewAction;
|
||||
}
|
||||
|
||||
private ClientCodeUpdateAction getClientCodeUpdateAction(long id, String code, String status, Long companyId, Long depoAccountId,
|
||||
Long moneyAccountId, Long tradingClearingRegistryId) {
|
||||
ClientCodeUpdateAction clientCodeUpdateAction = new ClientCodeUpdateAction();
|
||||
clientCodeUpdateAction.setId(id);
|
||||
clientCodeUpdateAction.setCode(code);
|
||||
clientCodeUpdateAction.setCompanyId(companyId);
|
||||
clientCodeUpdateAction.setDepoAccountId(depoAccountId);
|
||||
clientCodeUpdateAction.setStatus(status);
|
||||
clientCodeUpdateAction.setMoneyAccountId(moneyAccountId);
|
||||
clientCodeUpdateAction.setTradingClearingRegistryId(tradingClearingRegistryId);
|
||||
return clientCodeUpdateAction;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.account;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.account.DepoAccount;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
class DepoAccountControllerTest extends AbstractControllerTest {
|
||||
private static final String REST_URL = "/accounting/depo-accounts/";
|
||||
|
||||
/**
|
||||
* {@link DepoAccountController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_ClearingAccount.<br>
|
||||
* Входной запрос /securities/depo-accounts/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
DepoAccount existDepoAccount = new DepoAccount();
|
||||
existDepoAccount.setAccountId(99L);
|
||||
existDepoAccount.setDepoAccountType("T1001");
|
||||
existDepoAccount.setCompanyId(6L);
|
||||
existDepoAccount.setId(currentId.get());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_DepoAccount, existDepoAccount, REST_URL);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -33,8 +33,7 @@ class EditCompanyInfoControllerTest extends AbstractControllerTest {
|
|||
* {@link EditCompanyInfoController#update(Long, CompanyInfoUpdateAction)}<br>
|
||||
* Тест проверяет получение сущности {@link CompanyInfoUpdateAction} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link CompanyInfoUpdateAction}:<br>
|
||||
* {@link CompanyInfoUpdateAction#clearingCode} - 11<br>
|
||||
* {@link CompanyInfoUpdateAction#tradingCode} - 11<br>
|
||||
* {@link CompanyInfoUpdateAction#workflowStatus} - ACTV<br>
|
||||
* {@link CompanyInfoUpdateAction#corporationSoleType} - 0000<br>
|
||||
* {@link CompanyInfoUpdateAction#countryCode} - 0000<br>
|
||||
* {@link CompanyInfoUpdateAction#description} - exists description<br>
|
||||
|
|
@ -58,8 +57,7 @@ class EditCompanyInfoControllerTest extends AbstractControllerTest {
|
|||
* {@link EditCompanyInfoController#update(Long, CompanyInfoUpdateAction)}<br>
|
||||
* Тест проверяет получение сущности {@link CompanyInfoUpdateAction} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link CompanyInfoUpdateAction}:<br>
|
||||
* {@link CompanyInfoUpdateAction#clearingCode} - 11<br>
|
||||
* {@link CompanyInfoUpdateAction#tradingCode} - 11<br>
|
||||
* {@link CompanyInfoUpdateAction#workflowStatus} - ACTV<br>
|
||||
* {@link CompanyInfoUpdateAction#corporationSoleType} - 0000<br>
|
||||
* {@link CompanyInfoUpdateAction#countryCode} - 0000<br>
|
||||
* {@link CompanyInfoUpdateAction#description} - exists description<br>
|
||||
|
|
@ -77,8 +75,7 @@ class EditCompanyInfoControllerTest extends AbstractControllerTest {
|
|||
void update() throws Exception {
|
||||
//ARRANGE
|
||||
CompanyInfoUpdateAction companyInfoUpdateAction = new CompanyInfoUpdateAction();
|
||||
companyInfoUpdateAction.setClearingCode("11");
|
||||
companyInfoUpdateAction.setTradingCode("11");
|
||||
companyInfoUpdateAction.setWorkflowStatus("ACTV");
|
||||
companyInfoUpdateAction.setCorporationSoleType("0000");
|
||||
companyInfoUpdateAction.setCountryCode("0000");
|
||||
companyInfoUpdateAction.setDescription("exists description");
|
||||
|
|
@ -100,7 +97,7 @@ class EditCompanyInfoControllerTest extends AbstractControllerTest {
|
|||
/**
|
||||
* {@link EditCompanyInfoController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_Company.<br>
|
||||
* Входной запрос /securities/bank-accounts/ <br>
|
||||
* Входной запрос /company-infos/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
|
|
@ -119,8 +116,6 @@ class EditCompanyInfoControllerTest extends AbstractControllerTest {
|
|||
existsCompanyInfo.setResidence("0000");
|
||||
existsCompanyInfo.setShortNameEng("exists shortNameEng");
|
||||
existsCompanyInfo.setFullNameEng("exists fullNameEng");
|
||||
existsCompanyInfo.setShortName("exists shortName");
|
||||
existsCompanyInfo.setFullName("exists fullName");
|
||||
Company existsCompany = new Company();
|
||||
existsCompany.setId(ID);
|
||||
existsCompany.setProfile(existsCompanyInfo);
|
||||
|
|
|
|||
|
|
@ -26,7 +26,10 @@ class ExecutionDepositControllerTest extends AbstractControllerTest {
|
|||
executionDeposit.setExchangeExecutionId(currentId.get());
|
||||
executionDeposit.setExchangeExecutionTime(Instant.now());
|
||||
executionDeposit.setTradingDate(LocalDate.now());
|
||||
executionDeposit.setAccountId(currentId.get());
|
||||
executionDeposit.setTradingClearingRegistryId(currentId.get());
|
||||
executionDeposit.setFirstLegSettlementCode("lcde1");
|
||||
executionDeposit.setSecondLegSettlementCode("lcde2");
|
||||
executionDeposit.setContract("contract12");
|
||||
executionDeposit.setMarket("mark");
|
||||
executionDeposit.setPrice(new BigDecimal(0));
|
||||
executionDeposit.setLots(new BigDecimal(0));
|
||||
|
|
@ -40,8 +43,8 @@ class ExecutionDepositControllerTest extends AbstractControllerTest {
|
|||
executionDeposit.setDuration(currentId.get());
|
||||
executionDeposit.setFirstLegSettlementDate(LocalDate.now());
|
||||
executionDeposit.setSecondLegSettlementDate(LocalDate.now());
|
||||
executionDeposit.setFirstLegSettlementCode(LocalDate.now());
|
||||
executionDeposit.setSecondLegSettlementCode(LocalDate.now());
|
||||
executionDeposit.setFirstLegSettlementCode("leg1c");
|
||||
executionDeposit.setSecondLegSettlementCode("leg2c");
|
||||
executionDeposit.setSecurityFullName("sec");
|
||||
executionDeposit.setSecuritySymbol("sec");
|
||||
executionDeposit.setSecurityId(currentId.get());
|
||||
|
|
|
|||
|
|
@ -0,0 +1,57 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.execution;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.execution.ExecutionFond;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
class ExecutionFondControllerTest extends AbstractControllerTest {
|
||||
private static final String REST_URL = "/execution-fonds/";
|
||||
|
||||
/**
|
||||
* {@link ExecutionFondController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /execution-fonds/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
ExecutionFond executionFond = new ExecutionFond();
|
||||
executionFond.setId(currentId.get());
|
||||
executionFond.setExchangeExecutionId(currentId.get());
|
||||
executionFond.setExchangeExecutionTime(Instant.now());
|
||||
executionFond.setTradingDate(LocalDate.now());
|
||||
executionFond.setTradingClearingRegistryId(currentId.get());
|
||||
executionFond.setMarket("mark");
|
||||
executionFond.setPrice(new BigDecimal(0));
|
||||
executionFond.setLots(new BigDecimal(0));
|
||||
executionFond.setQuantity(new BigDecimal(0));
|
||||
executionFond.setInterestAmount(new BigDecimal(0));
|
||||
executionFond.setSide("sid");
|
||||
executionFond.setSettlementCurrency("set");
|
||||
executionFond.setCompanyId(currentId.get());
|
||||
executionFond.setDuration(currentId.get());
|
||||
executionFond.setSecurityFullName("sec");
|
||||
executionFond.setSecuritySymbol("sec");
|
||||
executionFond.setSecurityId(currentId.get());
|
||||
executionFond.setCounterPartyId(currentId.get());
|
||||
executionFond.setCoverageStatus("cov");
|
||||
executionFond.setSessionId(currentId.get());
|
||||
executionFond.setClearingDate(LocalDate.now());
|
||||
executionFond.setExchangeOrderId(123L);
|
||||
executionFond.setSettlementAmount(new BigDecimal(10));
|
||||
executionFond.setComment("comment - hello world fond");
|
||||
executionFond.setClientCodeId(444L);
|
||||
executionFond.setSettlementCode("settl1");
|
||||
executionFond.setSettlementDate(LocalDate.now());
|
||||
executionFond.setExchangeExecutionMicroseconds(Instant.now());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_ExecutionFond, executionFond, REST_URL);
|
||||
}
|
||||
}
|
||||
|
|
@ -15,7 +15,7 @@ class InDocumentJournalControllerTest extends AbstractControllerTest {
|
|||
/**
|
||||
* {@link InDocumentJournalController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /securities/bank-accounts/ <br>
|
||||
* Входной запрос /in-document-journals/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -0,0 +1,202 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.registry;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.core.NestedExceptionUtils;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
|
||||
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryUpdateAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.registry.TradingClearingRegistryBackendGetById;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.registry.TradingClearingRegistryBackendGetFields;
|
||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||
import ru.spcex.clearing.backendapi.errors.ActionValidationException;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryNewRequest;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||
import static ru.spcex.clearing.test.json.JsonUtil.writeValue;
|
||||
|
||||
class TradingClearingRegistryControllerTest extends AbstractControllerTest {
|
||||
private static final String REST_URL = "/registry/trading-clearing-registry/";
|
||||
|
||||
/**
|
||||
* {@link TradingClearingRegistryController#add(TradingClearingRegistryNewAction)}<br>
|
||||
* Тест проверяет получение сущности {@link TradingClearingRegistryNewAction} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link TradingClearingRegistryNewRequest}:<br>
|
||||
* {@link TradingClearingRegistryNewRequest#companyId} - 1234567890<br>
|
||||
* {@link TradingClearingRegistryNewRequest#moneyAccountId} - 18415056336414057<br>
|
||||
* {@link TradingClearingRegistryNewRequest#depoAccountId} - 21239757374450030<br>
|
||||
* {@link TradingClearingRegistryNewRequest#status} - ACTV<br>
|
||||
*/
|
||||
@Test
|
||||
void add() throws Exception {
|
||||
//ARRANGE
|
||||
TradingClearingRegistryNewAction tradingClearingRegistryNewAction = getTradingClearingRegistryNewAction(
|
||||
0,
|
||||
1234567890L, 18415056336414057L, 21239757374450030L, "ACTV"
|
||||
);
|
||||
|
||||
//ACT and ASSERT
|
||||
checkAddingByRestApi(REST_URL, tradingClearingRegistryNewAction);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_NEW, tradingClearingRegistryNewAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link TradingClearingRegistryController#add(TradingClearingRegistryNewAction)}<br>
|
||||
* Тест проверяет работу валидации сущности {@link TradingClearingRegistryNewAction} принятой по REST API для отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link TradingClearingRegistryNewRequest}:<br>
|
||||
* {@link TradingClearingRegistryNewRequest#companyId} - 1234567890 / null<br>
|
||||
* {@link TradingClearingRegistryNewRequest#moneyAccountId} - 18415056336414057 / null<br>
|
||||
* {@link TradingClearingRegistryNewRequest#depoAccountId} - 21239757374450030<br>
|
||||
* {@link TradingClearingRegistryNewRequest#status} - ACTV<br>
|
||||
*/
|
||||
@Test
|
||||
void addWithException() {
|
||||
assertThrowsForNew(getTradingClearingRegistryNewAction(0, null, 18415056336414057L, 21239757374450030L, "ACTV"));
|
||||
assertThrowsForNew(getTradingClearingRegistryNewAction(0, 1234567890L, null, 21239757374450030L, "ACTV"));
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link TradingClearingRegistryController#update(Long, TradingClearingRegistryUpdateAction)}<br>
|
||||
* Тест проверяет получение сущности {@link TradingClearingRegistryUpdateAction} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link TradingClearingRegistryUpdateAction}:<br>
|
||||
* {@link TradingClearingRegistryUpdateAction#id} - generated<br>
|
||||
* {@link TradingClearingRegistryUpdateAction#code} - ACTV<br>
|
||||
*/
|
||||
@Test
|
||||
void update() throws Exception {
|
||||
//ARRANGE
|
||||
long id = 0;
|
||||
TradingClearingRegistryUpdateAction tradingClearingRegistryUpdateAction = getTradingClearingRegistryUpdateAction(
|
||||
id, "ACTV"
|
||||
);
|
||||
|
||||
//ACT and ASSERT
|
||||
checkUpdatingByRestApi(REST_URL, tradingClearingRegistryUpdateAction, id);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_UPDATE, tradingClearingRegistryUpdateAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link TradingClearingRegistryController#delete(Long)} <br>
|
||||
* Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос /registry/trading-clearing-registry/{@link Long}: - 0L<br>
|
||||
*/
|
||||
@Test
|
||||
void delete() throws Exception {
|
||||
//ARRANGE
|
||||
long id = currentId.getAndIncrement();
|
||||
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||
deleteAction.setId(id);
|
||||
//ACT and ASSERT
|
||||
checkDeletingByRestApi(REST_URL, id);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_DELETE, deleteAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link TradingClearingRegistryController#getById(Long)} <br>
|
||||
* Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_TradingClearingRegistry.<br>
|
||||
* Входной запрос /registry/trading-clearing-registry/{@link Long}: - 0L <br>
|
||||
* Ответ BankAccountBackendGetById <br>
|
||||
*/
|
||||
@Test
|
||||
void getById() throws Exception {
|
||||
//ARRANGE
|
||||
TradingClearingRegistry existTradingClearingRegistry = new TradingClearingRegistry();
|
||||
existTradingClearingRegistry.setCompanyId(365L);
|
||||
existTradingClearingRegistry.setCode("99999");
|
||||
existTradingClearingRegistry.setMoneyAccountId(404L);
|
||||
existTradingClearingRegistry.setDepoAaccountId(512L);
|
||||
existTradingClearingRegistry.setTradingClearingRegistryType("RUB");
|
||||
existTradingClearingRegistry.setTradingClearingRegistryLevel("OOO ROGA I KOPITA");
|
||||
existTradingClearingRegistry.setTradingClearingRegistryPurpose("848484848484");
|
||||
existTradingClearingRegistry.setStatus("ACTV");
|
||||
existTradingClearingRegistry.setId(currentId.get());
|
||||
|
||||
Imdg<TradingClearingRegistry> inDocumentJournalImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class);
|
||||
inDocumentJournalImdg.insert(existTradingClearingRegistry);
|
||||
|
||||
TradingClearingRegistryBackendGetById expected = new TradingClearingRegistryBackendGetById();
|
||||
TradingClearingRegistryBackendGetFields payload = new TradingClearingRegistryBackendGetFields();
|
||||
payload.setId(existTradingClearingRegistry.getId());
|
||||
payload.setCompanyId(existTradingClearingRegistry.getCompanyId());
|
||||
payload.setCode(existTradingClearingRegistry.getCode());
|
||||
payload.setMoneyAccountId(existTradingClearingRegistry.getMoneyAccountId());
|
||||
payload.setDepoAaccountId(existTradingClearingRegistry.getDepoAaccountId());
|
||||
payload.setTradingClearingRegistryType(existTradingClearingRegistry.getTradingClearingRegistryType());
|
||||
payload.setTradingClearingRegistryLevel(existTradingClearingRegistry.getTradingClearingRegistryLevel());
|
||||
payload.setTradingClearingRegistryPurpose(existTradingClearingRegistry.getTradingClearingRegistryPurpose());
|
||||
payload.setStatus(existTradingClearingRegistry.getStatus());
|
||||
payload.setCreatedAt(existTradingClearingRegistry.getCreated());
|
||||
payload.setUpdatedAt(existTradingClearingRegistry.getUpdated());
|
||||
expected.setPayload(payload);
|
||||
//ACT
|
||||
perform(MockMvcRequestBuilders.get(REST_URL + existTradingClearingRegistry.getId())
|
||||
.contentType(MediaType.APPLICATION_JSON))
|
||||
.andDo(print())//output to the log request and response
|
||||
// ASSERT
|
||||
.andExpect(status().isOk())
|
||||
.andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON))
|
||||
.andExpect(content().json(writeValue(expected)));
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link TradingClearingRegistryController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_BankAccount.<br>
|
||||
* Входной запрос /registry/trading-clearing-registry/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
TradingClearingRegistry existTradingClearingRegistry = new TradingClearingRegistry();
|
||||
existTradingClearingRegistry.setCompanyId(365L);
|
||||
existTradingClearingRegistry.setCode("99999");
|
||||
existTradingClearingRegistry.setMoneyAccountId(404L);
|
||||
existTradingClearingRegistry.setDepoAaccountId(512L);
|
||||
existTradingClearingRegistry.setTradingClearingRegistryType("RUB");
|
||||
existTradingClearingRegistry.setTradingClearingRegistryLevel("OOO ROGA I KOPITA");
|
||||
existTradingClearingRegistry.setTradingClearingRegistryPurpose("848484848484");
|
||||
existTradingClearingRegistry.setStatus("ACTV");
|
||||
existTradingClearingRegistry.setId(currentId.get());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_TradingClearingRegistry, existTradingClearingRegistry, REST_URL);
|
||||
}
|
||||
|
||||
private void assertThrowsForNew(IAction<?> iAction) {
|
||||
assertThrows(ActionValidationException.class, () -> {
|
||||
try {
|
||||
perform(MockMvcRequestBuilders.post(REST_URL).contentType(MediaType.APPLICATION_JSON).content(writeValue(iAction)));
|
||||
} catch (Exception e) {
|
||||
Throwable rootCause = NestedExceptionUtils.getRootCause(e);
|
||||
throw rootCause != null ? rootCause : e;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private TradingClearingRegistryNewAction getTradingClearingRegistryNewAction(long id,
|
||||
Long companyId, Long moneyAccountId, Long depoAccountId, String status
|
||||
) {
|
||||
TradingClearingRegistryNewAction tradingClearingRegistryNewAction = new TradingClearingRegistryNewAction();
|
||||
tradingClearingRegistryNewAction.setCompanyId(companyId);
|
||||
tradingClearingRegistryNewAction.setMoneyAccountId(moneyAccountId);
|
||||
tradingClearingRegistryNewAction.setDepoAccountId(21239757374450030L);
|
||||
tradingClearingRegistryNewAction.setStatus(status);
|
||||
return tradingClearingRegistryNewAction;
|
||||
}
|
||||
|
||||
private TradingClearingRegistryUpdateAction getTradingClearingRegistryUpdateAction(Long id, String status) {
|
||||
TradingClearingRegistryUpdateAction tradingClearingRegistryUpdateAction = new TradingClearingRegistryUpdateAction();
|
||||
tradingClearingRegistryUpdateAction.setId(id);
|
||||
tradingClearingRegistryUpdateAction.setStatus(status);
|
||||
return tradingClearingRegistryUpdateAction;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.securities;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.instrument.issue.CouponPeriod;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
class CudCouponPeriodControllerTest extends AbstractControllerTest {
|
||||
public static final String REST_URL = "/securities/coupon-period-securities/";
|
||||
|
||||
/**
|
||||
* {@link CudCouponPeriodController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /securities/coupon-period-securities/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
CouponPeriod couponPeriod = getCouponPeriod(currentId.get());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_CouponPeriod, couponPeriod, REST_URL);
|
||||
}
|
||||
|
||||
private CouponPeriod getCouponPeriod(Long id) {
|
||||
CouponPeriod couponPeriod = new CouponPeriod();
|
||||
couponPeriod.setId(id);
|
||||
couponPeriod.setCouponRate(BigDecimal.valueOf(120.33));
|
||||
couponPeriod.setNumber(3L);
|
||||
couponPeriod.setPeriodStartDate(LocalDate.now().minusDays(1));
|
||||
couponPeriod.setPeriodEndDate(LocalDate.now().plusDays(2));
|
||||
return couponPeriod;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,113 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.securities;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.instrument.issue.EquitySecurity;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.securities.EquitySecurityNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.securities.EquitySecurityUpdateAction;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.platform.enumeration.Status;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
class CudEquitySecurityControllerTest extends AbstractControllerTest {
|
||||
public static final String REST_URL = "/securities/equity-securities/";
|
||||
|
||||
/**
|
||||
* {@link CudEquitySecurityController#add(EquitySecurityNewAction)} <br>
|
||||
* Тест проверяет получение сущности {@link EquitySecurityNewAction} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link EquitySecurityNewAction}:<br>
|
||||
*/
|
||||
@Test
|
||||
void add() throws Exception {
|
||||
//ARRANGE
|
||||
EquitySecurityNewAction equitySecurityNewAction = new EquitySecurityNewAction();
|
||||
equitySecurityNewAction.setShareType("shType");
|
||||
equitySecurityNewAction.setLotSize(BigDecimal.valueOf(120.33));
|
||||
equitySecurityNewAction.setShortName("name");
|
||||
equitySecurityNewAction.setFullName("name 2");
|
||||
equitySecurityNewAction.setWorkflowStatus(Status.Active.getKey());
|
||||
equitySecurityNewAction.setInstrumentType("status T");
|
||||
equitySecurityNewAction.setSecuritySymbol("symbol1");
|
||||
equitySecurityNewAction.setLotSize(new BigDecimal("3.5"));
|
||||
|
||||
//ACT and ASSERT
|
||||
checkAddingByRestApi(REST_URL, equitySecurityNewAction);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_EQUITY_SECURITY_NEW, equitySecurityNewAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link CudEquitySecurityController#update(Long, EquitySecurityUpdateAction)} <br>
|
||||
* Тест проверяет получение сущности {@link EquitySecurityUpdateAction} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link EquitySecurityUpdateAction}:<br>
|
||||
*/
|
||||
@Test
|
||||
void update() throws Exception {
|
||||
//ARRANGE
|
||||
long id = currentId.getAndIncrement();
|
||||
EquitySecurityUpdateAction equitySecurityUpdateAction = new EquitySecurityUpdateAction();
|
||||
equitySecurityUpdateAction.setId(id);
|
||||
equitySecurityUpdateAction.setShareType("shType");
|
||||
equitySecurityUpdateAction.setLotSize(BigDecimal.valueOf(120.33));
|
||||
equitySecurityUpdateAction.setShortName("name");
|
||||
equitySecurityUpdateAction.setFullName("name 2");
|
||||
equitySecurityUpdateAction.setWorkflowStatus(Status.Active.getKey());
|
||||
equitySecurityUpdateAction.setInstrumentType("status T");
|
||||
equitySecurityUpdateAction.setSecuritySymbol("symbol1");
|
||||
equitySecurityUpdateAction.setLotSize(new BigDecimal("3.5"));
|
||||
EquitySecurity equitySecurity = getEquitySecurity(id);
|
||||
|
||||
//ACT and ASSERT
|
||||
checkUpdatingWithIdVolidationByRestApi(IMDGDistributedNames.Map_EquitySecurity, equitySecurity,
|
||||
REST_URL, equitySecurityUpdateAction, id);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_EQUITY_SECURITY_UPDATE, equitySecurityUpdateAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link CudEquitySecurityController#delete(Long)} <br>
|
||||
* Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос /securities/equity-securities/{@link Long}: - 0L<br>
|
||||
*/
|
||||
@Test
|
||||
void delete() throws Exception {
|
||||
//ARRANGE
|
||||
long id = currentId.getAndIncrement();
|
||||
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||
deleteAction.setId(id);
|
||||
EquitySecurity equitySecurity = getEquitySecurity(id);
|
||||
|
||||
//ACT and ASSERT
|
||||
checkDeletingWithIdVolidationByRestApi(IMDGDistributedNames.Map_MoneyMarketSecurity, equitySecurity,
|
||||
REST_URL, id);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_EQUITY_SECURITY_DELETE, deleteAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link CudEquitySecurityController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /securities/equity-securities/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
EquitySecurity equitySecurity = getEquitySecurity(currentId.get());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_EquitySecurity, equitySecurity, REST_URL);
|
||||
}
|
||||
|
||||
private EquitySecurity getEquitySecurity(Long id) {
|
||||
EquitySecurity equitySecurity = new EquitySecurity();
|
||||
equitySecurity.setId(id);
|
||||
equitySecurity.setSecurityId(currentId.get());
|
||||
equitySecurity.setShareType("shType");
|
||||
equitySecurity.setLotSize(BigDecimal.valueOf(120.33));
|
||||
equitySecurity.setShortName("name");
|
||||
equitySecurity.setWorkflowStatus(Status.Active.getKey());
|
||||
equitySecurity.setFullName("name 2");
|
||||
return equitySecurity;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.securities;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeCashFlow;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
class CudFixedIncomeCashFlowControllerTest extends AbstractControllerTest {
|
||||
public static final String REST_URL = "/securities/fixed-income-cash-flow-securities/";
|
||||
|
||||
/**
|
||||
* {@link CudFixedIncomeCashFlowController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /securities/fixed-income-cash-flow-securities/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
FixedIncomeCashFlow fixedIncomeCashFlow = getFixedIncomeCashFlow(currentId.get());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_FixedIncomeCashFlow, fixedIncomeCashFlow, REST_URL);
|
||||
}
|
||||
|
||||
private FixedIncomeCashFlow getFixedIncomeCashFlow(Long id) {
|
||||
FixedIncomeCashFlow fixedIncomeCashFlow = new FixedIncomeCashFlow();
|
||||
fixedIncomeCashFlow.setId(id);
|
||||
fixedIncomeCashFlow.setSecurityId(100L);
|
||||
fixedIncomeCashFlow.setAccruedCoupon(BigDecimal.valueOf(120.33));
|
||||
fixedIncomeCashFlow.setNominalValue(BigDecimal.valueOf(130.33));
|
||||
fixedIncomeCashFlow.setNumber(2L);
|
||||
fixedIncomeCashFlow.setValueDate(LocalDate.now());
|
||||
return fixedIncomeCashFlow;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,113 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.securities;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.securities.FixedIncomeSecurityNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.securities.FixedIncomeSecurityUpdateAction;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.platform.enumeration.Status;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
class CudFixedIncomeSecurityControllerTest extends AbstractControllerTest {
|
||||
public static final String REST_URL = "/securities/fixed-income-securities/";
|
||||
|
||||
/**
|
||||
* {@link CudFixedIncomeSecurityController#add(FixedIncomeSecurityNewAction)} <br>
|
||||
* Тест проверяет получение сущности {@link FixedIncomeSecurityNewAction} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link FixedIncomeSecurityNewAction}:<br>
|
||||
*/
|
||||
@Test
|
||||
void add() throws Exception {
|
||||
//ARRANGE
|
||||
FixedIncomeSecurityNewAction fixedIncomeSecurityNewAction = new FixedIncomeSecurityNewAction();
|
||||
fixedIncomeSecurityNewAction.setBondType("bType");
|
||||
fixedIncomeSecurityNewAction.setLotSize(BigDecimal.valueOf(120.33));
|
||||
fixedIncomeSecurityNewAction.setShortName("name");
|
||||
fixedIncomeSecurityNewAction.setFullName("name 2");
|
||||
fixedIncomeSecurityNewAction.setWorkflowStatus(Status.Active.getKey());
|
||||
fixedIncomeSecurityNewAction.setInstrumentType("status T");
|
||||
fixedIncomeSecurityNewAction.setSecuritySymbol("symbol1");
|
||||
fixedIncomeSecurityNewAction.setLotSize(new BigDecimal("3.5"));
|
||||
|
||||
//ACT and ASSERT
|
||||
checkAddingByRestApi(REST_URL, fixedIncomeSecurityNewAction);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_FIXED_INCOME_SECURITY_NEW, fixedIncomeSecurityNewAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link CudFixedIncomeSecurityController#update(Long, FixedIncomeSecurityUpdateAction)} <br>
|
||||
* Тест проверяет получение сущности {@link FixedIncomeSecurityUpdateAction} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link FixedIncomeSecurityUpdateAction}:<br>
|
||||
*/
|
||||
@Test
|
||||
void update() throws Exception {
|
||||
//ARRANGE
|
||||
long id = currentId.getAndIncrement();
|
||||
FixedIncomeSecurityUpdateAction fixedIncomeSecurityUpdateAction = new FixedIncomeSecurityUpdateAction();
|
||||
fixedIncomeSecurityUpdateAction.setId(id);
|
||||
fixedIncomeSecurityUpdateAction.setBondType("bType");
|
||||
fixedIncomeSecurityUpdateAction.setLotSize(BigDecimal.valueOf(120.33));
|
||||
fixedIncomeSecurityUpdateAction.setShortName("name");
|
||||
fixedIncomeSecurityUpdateAction.setFullName("name 2");
|
||||
fixedIncomeSecurityUpdateAction.setWorkflowStatus(Status.Active.getKey());
|
||||
fixedIncomeSecurityUpdateAction.setInstrumentType("status T");
|
||||
fixedIncomeSecurityUpdateAction.setSecuritySymbol("symbol1");
|
||||
fixedIncomeSecurityUpdateAction.setLotSize(new BigDecimal("3.5"));
|
||||
FixedIncomeSecurity fixedIncomeSecurity = getFixedIncomeSecurity(id);
|
||||
|
||||
//ACT and ASSERT
|
||||
checkUpdatingWithIdVolidationByRestApi(IMDGDistributedNames.Map_FixedIncomeSecurity, fixedIncomeSecurity,
|
||||
REST_URL, fixedIncomeSecurityUpdateAction, id);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_FIXED_INCOME_SECURITY_UPDATE, fixedIncomeSecurityUpdateAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link CudFixedIncomeSecurityController#delete(Long)} <br>
|
||||
* Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос /securities/fixed-income-securities/{@link Long}: - 0L<br>
|
||||
*/
|
||||
@Test
|
||||
void delete() throws Exception {
|
||||
//ARRANGE
|
||||
long id = currentId.getAndIncrement();
|
||||
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||
deleteAction.setId(id);
|
||||
FixedIncomeSecurity fixedIncomeSecurity = getFixedIncomeSecurity(id);
|
||||
|
||||
//ACT and ASSERT
|
||||
checkDeletingWithIdVolidationByRestApi(IMDGDistributedNames.Map_MoneyMarketSecurity, fixedIncomeSecurity,
|
||||
REST_URL, id);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_FIXED_INCOME_SECURITY_DELETE, deleteAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link CudFixedIncomeSecurityController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /securities/fixed-income-securities/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
FixedIncomeSecurity fixedIncomeSecurity = getFixedIncomeSecurity(currentId.get());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_FixedIncomeSecurity, fixedIncomeSecurity, REST_URL);
|
||||
}
|
||||
|
||||
private FixedIncomeSecurity getFixedIncomeSecurity(Long id) {
|
||||
FixedIncomeSecurity fixedIncomeSecurity = new FixedIncomeSecurity();
|
||||
fixedIncomeSecurity.setId(id);
|
||||
fixedIncomeSecurity.setSecurityId(currentId.get());
|
||||
fixedIncomeSecurity.setBondType("bType");
|
||||
fixedIncomeSecurity.setLotSize(BigDecimal.valueOf(120.33));
|
||||
fixedIncomeSecurity.setShortName("name");
|
||||
fixedIncomeSecurity.setWorkflowStatus(Status.Active.getKey());
|
||||
fixedIncomeSecurity.setFullName("name 2");
|
||||
return fixedIncomeSecurity;
|
||||
}
|
||||
}
|
||||
|
|
@ -4,7 +4,6 @@ import org.junit.jupiter.api.Test;
|
|||
import ru.clearing.classes.statics.data.misc.MoneyMarketSecurity;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.schedule.PlannerTemplateNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.securities.MoneyMarketSecurityNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.securities.MoneyMarketSecurityUpdateAction;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
|
@ -19,8 +18,8 @@ class CudMoneyMarketSecurityControllerTest extends AbstractControllerTest {
|
|||
|
||||
/**
|
||||
* {@link CudMoneyMarketSecurityController#add(MoneyMarketSecurityNewAction)} <br>
|
||||
* Тест проверяет получение сущности {@link PlannerTemplateNewAction} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link PlannerTemplateNewAction}:<br>
|
||||
* Тест проверяет получение сущности {@link MoneyMarketSecurityNewAction} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link MoneyMarketSecurityNewAction}:<br>
|
||||
*/
|
||||
@Test
|
||||
void add() throws Exception {
|
||||
|
|
@ -32,7 +31,8 @@ class CudMoneyMarketSecurityControllerTest extends AbstractControllerTest {
|
|||
moneyMarketSecurityNewAction.setNominalCurrency("nominal");
|
||||
moneyMarketSecurityNewAction.setInstrumentType("status");
|
||||
moneyMarketSecurityNewAction.setFullName("fname");
|
||||
moneyMarketSecurityNewAction.setSecuritySymbol("sname");
|
||||
moneyMarketSecurityNewAction.setShortName("shortName");
|
||||
moneyMarketSecurityNewAction.setSecuritySymbol("s-symbol");
|
||||
moneyMarketSecurityNewAction.setLotSize(new BigDecimal("3.5"));
|
||||
|
||||
//ACT and ASSERT
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ class CudKeyRateControllerTest extends AbstractControllerTest {
|
|||
/**
|
||||
* {@link CudKeyRateController#delete(Long)} <br>
|
||||
* Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос /securities/bank-accounts/{@link Long}: - 0L<br>
|
||||
* Входной запрос /utilities/key-rates/{@link Long}: - 0L<br>
|
||||
*/
|
||||
@Test
|
||||
void delete() throws Exception {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -10,7 +10,7 @@ public class ExecutionDeposit extends BusinessObject {
|
|||
private Long exchangeExecutionId;
|
||||
private Instant exchangeExecutionTime;
|
||||
private LocalDate tradingDate;
|
||||
private Long accountId;
|
||||
private Long tradingClearingRegistryId;
|
||||
private String market;
|
||||
private BigDecimal price;
|
||||
private BigDecimal lots;
|
||||
|
|
@ -24,11 +24,12 @@ public class ExecutionDeposit extends BusinessObject {
|
|||
private Long duration;
|
||||
private LocalDate firstLegSettlementDate;
|
||||
private LocalDate secondLegSettlementDate;
|
||||
private LocalDate firstLegSettlementCode;
|
||||
private LocalDate secondLegSettlementCode;
|
||||
private String firstLegSettlementCode;
|
||||
private String secondLegSettlementCode;
|
||||
private String securityFullName;
|
||||
private String securitySymbol;
|
||||
private Long securityId;
|
||||
private String contract;
|
||||
private Long counterPartyId;
|
||||
private String coverageStatus;
|
||||
private Long sessionId;
|
||||
|
|
@ -58,12 +59,12 @@ public class ExecutionDeposit extends BusinessObject {
|
|||
this.tradingDate = tradingDate;
|
||||
}
|
||||
|
||||
public Long getAccountId() {
|
||||
return accountId;
|
||||
public Long getTradingClearingRegistryId() {
|
||||
return tradingClearingRegistryId;
|
||||
}
|
||||
|
||||
public void setAccountId(Long accountId) {
|
||||
this.accountId = accountId;
|
||||
public void setTradingClearingRegistryId(Long tradingClearingRegistryId) {
|
||||
this.tradingClearingRegistryId = tradingClearingRegistryId;
|
||||
}
|
||||
|
||||
public String getMarket() {
|
||||
|
|
@ -170,19 +171,19 @@ public class ExecutionDeposit extends BusinessObject {
|
|||
this.secondLegSettlementDate = secondLegSettlementDate;
|
||||
}
|
||||
|
||||
public LocalDate getFirstLegSettlementCode() {
|
||||
public String getFirstLegSettlementCode() {
|
||||
return firstLegSettlementCode;
|
||||
}
|
||||
|
||||
public void setFirstLegSettlementCode(LocalDate firstLegSettlementCode) {
|
||||
public void setFirstLegSettlementCode(String firstLegSettlementCode) {
|
||||
this.firstLegSettlementCode = firstLegSettlementCode;
|
||||
}
|
||||
|
||||
public LocalDate getSecondLegSettlementCode() {
|
||||
public String getSecondLegSettlementCode() {
|
||||
return secondLegSettlementCode;
|
||||
}
|
||||
|
||||
public void setSecondLegSettlementCode(LocalDate secondLegSettlementCode) {
|
||||
public void setSecondLegSettlementCode(String secondLegSettlementCode) {
|
||||
this.secondLegSettlementCode = secondLegSettlementCode;
|
||||
}
|
||||
|
||||
|
|
@ -210,6 +211,14 @@ public class ExecutionDeposit extends BusinessObject {
|
|||
this.securityId = securityId;
|
||||
}
|
||||
|
||||
public String getContract() {
|
||||
return contract;
|
||||
}
|
||||
|
||||
public void setContract(String contract) {
|
||||
this.contract = contract;
|
||||
}
|
||||
|
||||
public Long getCounterPartyId() {
|
||||
return counterPartyId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
package ru.clearing.classes.statics.data.execution;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessEvent;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* Изменение состояния объекта Сделки
|
||||
* <p>
|
||||
* DB table: EXECUTION_DEPOSIT_HISTORY
|
||||
**/
|
||||
public class ExecutionDepositHistory extends BusinessEvent<ExecutionDeposit> {
|
||||
@Serial
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private ExecutionDeposit object;
|
||||
|
||||
@Override
|
||||
public ExecutionDeposit getObject() {
|
||||
return object;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setObject(ExecutionDeposit object) {
|
||||
this.object = object;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,263 @@
|
|||
package ru.clearing.classes.statics.data.execution;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessObject;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* Сделки на Фондовой секции
|
||||
* <p>
|
||||
* DB table: EXECUTION_FOND
|
||||
**/
|
||||
public class ExecutionFond extends BusinessObject {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private LocalDate clearingDate;
|
||||
private Long exchangeExecutionId;
|
||||
private String side;
|
||||
private String market;
|
||||
private LocalDate tradingDate;
|
||||
private String securitySymbol;
|
||||
private Long securityId;
|
||||
private BigDecimal interestAmount;
|
||||
private Long exchangeOrderId;
|
||||
private BigDecimal price;
|
||||
private BigDecimal settlementAmount;
|
||||
private BigDecimal lots;
|
||||
private BigDecimal quantity;
|
||||
private Instant exchangeExecutionTime;
|
||||
private Long duration;
|
||||
private Long tradingClearingRegistryId;
|
||||
private String comment;
|
||||
private Long clientCodeId;
|
||||
private String settlementCode;
|
||||
private Long companyId;
|
||||
private Long counterPartyId;
|
||||
private String securityFullName;
|
||||
private LocalDate settlementDate;
|
||||
private String settlementCurrency;
|
||||
private Instant exchangeExecutionMicroseconds;
|
||||
private String coverageStatus;
|
||||
private Long sessionId;
|
||||
|
||||
|
||||
public LocalDate getClearingDate() {
|
||||
return clearingDate;
|
||||
}
|
||||
|
||||
public void setClearingDate(LocalDate value) {
|
||||
this.clearingDate = value;
|
||||
}
|
||||
|
||||
public Long getExchangeExecutionId() {
|
||||
return exchangeExecutionId;
|
||||
}
|
||||
|
||||
public void setExchangeExecutionId(Long value) {
|
||||
this.exchangeExecutionId = value;
|
||||
}
|
||||
|
||||
public String getSide() {
|
||||
return side;
|
||||
}
|
||||
|
||||
public void setSide(String value) {
|
||||
this.side = value;
|
||||
}
|
||||
|
||||
public String getMarket() {
|
||||
return market;
|
||||
}
|
||||
|
||||
public void setMarket(String value) {
|
||||
this.market = value;
|
||||
}
|
||||
|
||||
public LocalDate getTradingDate() {
|
||||
return tradingDate;
|
||||
}
|
||||
|
||||
public void setTradingDate(LocalDate value) {
|
||||
this.tradingDate = value;
|
||||
}
|
||||
|
||||
public String getSecuritySymbol() {
|
||||
return securitySymbol;
|
||||
}
|
||||
|
||||
public void setSecuritySymbol(String value) {
|
||||
this.securitySymbol = value;
|
||||
}
|
||||
|
||||
public Long getSecurityId() {
|
||||
return securityId;
|
||||
}
|
||||
|
||||
public void setSecurityId(Long value) {
|
||||
this.securityId = value;
|
||||
}
|
||||
|
||||
public BigDecimal getInterestAmount() {
|
||||
return interestAmount;
|
||||
}
|
||||
|
||||
public void setInterestAmount(BigDecimal value) {
|
||||
this.interestAmount = value;
|
||||
}
|
||||
|
||||
public Long getExchangeOrderId() {
|
||||
return exchangeOrderId;
|
||||
}
|
||||
|
||||
public void setExchangeOrderId(Long value) {
|
||||
this.exchangeOrderId = value;
|
||||
}
|
||||
|
||||
public BigDecimal getPrice() {
|
||||
return price;
|
||||
}
|
||||
|
||||
public void setPrice(BigDecimal value) {
|
||||
this.price = value;
|
||||
}
|
||||
|
||||
public BigDecimal getSettlementAmount() {
|
||||
return settlementAmount;
|
||||
}
|
||||
|
||||
public void setSettlementAmount(BigDecimal value) {
|
||||
this.settlementAmount = value;
|
||||
}
|
||||
|
||||
public BigDecimal getLots() {
|
||||
return lots;
|
||||
}
|
||||
|
||||
public void setLots(BigDecimal value) {
|
||||
this.lots = value;
|
||||
}
|
||||
|
||||
public BigDecimal getQuantity() {
|
||||
return quantity;
|
||||
}
|
||||
|
||||
public void setQuantity(BigDecimal value) {
|
||||
this.quantity = value;
|
||||
}
|
||||
|
||||
public Instant getExchangeExecutionTime() {
|
||||
return exchangeExecutionTime;
|
||||
}
|
||||
|
||||
public void setExchangeExecutionTime(Instant value) {
|
||||
this.exchangeExecutionTime = value;
|
||||
}
|
||||
|
||||
public Long getDuration() {
|
||||
return duration;
|
||||
}
|
||||
|
||||
public void setDuration(Long value) {
|
||||
this.duration = value;
|
||||
}
|
||||
|
||||
public Long getTradingClearingRegistryId() {
|
||||
return tradingClearingRegistryId;
|
||||
}
|
||||
|
||||
public void setTradingClearingRegistryId(Long value) {
|
||||
this.tradingClearingRegistryId = value;
|
||||
}
|
||||
|
||||
public String getComment() {
|
||||
return comment;
|
||||
}
|
||||
|
||||
public void setComment(String value) {
|
||||
this.comment = value;
|
||||
}
|
||||
|
||||
public Long getClientCodeId() {
|
||||
return clientCodeId;
|
||||
}
|
||||
|
||||
public void setClientCodeId(Long value) {
|
||||
this.clientCodeId = value;
|
||||
}
|
||||
|
||||
public String getSettlementCode() {
|
||||
return settlementCode;
|
||||
}
|
||||
|
||||
public void setSettlementCode(String value) {
|
||||
this.settlementCode = value;
|
||||
}
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long value) {
|
||||
this.companyId = value;
|
||||
}
|
||||
|
||||
public Long getCounterPartyId() {
|
||||
return counterPartyId;
|
||||
}
|
||||
|
||||
public void setCounterPartyId(Long value) {
|
||||
this.counterPartyId = value;
|
||||
}
|
||||
|
||||
public String getSecurityFullName() {
|
||||
return securityFullName;
|
||||
}
|
||||
|
||||
public void setSecurityFullName(String value) {
|
||||
this.securityFullName = value;
|
||||
}
|
||||
|
||||
public LocalDate getSettlementDate() {
|
||||
return settlementDate;
|
||||
}
|
||||
|
||||
public void setSettlementDate(LocalDate value) {
|
||||
this.settlementDate = value;
|
||||
}
|
||||
|
||||
public String getSettlementCurrency() {
|
||||
return settlementCurrency;
|
||||
}
|
||||
|
||||
public void setSettlementCurrency(String value) {
|
||||
this.settlementCurrency = value;
|
||||
}
|
||||
|
||||
public Instant getExchangeExecutionMicroseconds() {
|
||||
return exchangeExecutionMicroseconds;
|
||||
}
|
||||
|
||||
public void setExchangeExecutionMicroseconds(Instant value) {
|
||||
this.exchangeExecutionMicroseconds = value;
|
||||
}
|
||||
|
||||
public String getCoverageStatus() {
|
||||
return coverageStatus;
|
||||
}
|
||||
|
||||
public void setCoverageStatus(String value) {
|
||||
this.coverageStatus = value;
|
||||
}
|
||||
|
||||
public Long getSessionId() {
|
||||
return sessionId;
|
||||
}
|
||||
|
||||
public void setSessionId(Long value) {
|
||||
this.sessionId = value;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package ru.clearing.classes.statics.data.execution;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessEvent;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* Изменение состояния объекта Сделки на Фондовой секции
|
||||
* <p>
|
||||
* DB table: EXECUTION_FOND_HISTORY
|
||||
**/
|
||||
public class ExecutionFondHistory extends BusinessEvent<ExecutionFond> {
|
||||
@Serial
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private ExecutionFond object;
|
||||
|
||||
@Override
|
||||
public ExecutionFond getObject() {
|
||||
return object;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setObject(ExecutionFond object) {
|
||||
this.object = object;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,189 +0,0 @@
|
|||
package ru.clearing.classes.statics.data.misc;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* Сделки из Торговой системы
|
||||
* <p>
|
||||
* DB table: S_TRADE
|
||||
**/
|
||||
public class STrade extends SpcexObjectBase {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private Long tradeNum;
|
||||
private String secCode;
|
||||
private Instant tradeDateTime;
|
||||
private LocalDate settleDate;
|
||||
private BigDecimal price;
|
||||
private BigDecimal value;
|
||||
private BigDecimal qty;
|
||||
private BigDecimal accruedint;
|
||||
private String firmId;
|
||||
private String clientCode;
|
||||
private BigDecimal exchangeCommission;
|
||||
private String classCode;
|
||||
private String operation;
|
||||
private String issueAccount;
|
||||
private String moneyAccount;
|
||||
private String tradeType;
|
||||
private Long daysToMatDate;
|
||||
private String collateral;
|
||||
private String settleCode;
|
||||
|
||||
public Long getTradeNum() {
|
||||
return tradeNum;
|
||||
}
|
||||
|
||||
public void setTradeNum(Long value) {
|
||||
this.tradeNum = value;
|
||||
}
|
||||
|
||||
public String getSecCode() {
|
||||
return secCode;
|
||||
}
|
||||
|
||||
public void setSecCode(String value) {
|
||||
this.secCode = value;
|
||||
}
|
||||
|
||||
public Instant getTradeDateTime() {
|
||||
return tradeDateTime;
|
||||
}
|
||||
|
||||
public void setTradeDateTime(Instant value) {
|
||||
this.tradeDateTime = value;
|
||||
}
|
||||
|
||||
public LocalDate getSettleDate() {
|
||||
return settleDate;
|
||||
}
|
||||
|
||||
public void setSettleDate(LocalDate value) {
|
||||
this.settleDate = value;
|
||||
}
|
||||
|
||||
public BigDecimal getPrice() {
|
||||
return price;
|
||||
}
|
||||
|
||||
public void setPrice(BigDecimal value) {
|
||||
this.price = value;
|
||||
}
|
||||
|
||||
public BigDecimal getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValue(BigDecimal value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public BigDecimal getQty() {
|
||||
return qty;
|
||||
}
|
||||
|
||||
public void setQty(BigDecimal value) {
|
||||
this.qty = value;
|
||||
}
|
||||
|
||||
public BigDecimal getAccruedint() {
|
||||
return accruedint;
|
||||
}
|
||||
|
||||
public void setAccruedint(BigDecimal value) {
|
||||
this.accruedint = value;
|
||||
}
|
||||
|
||||
public String getFirmId() {
|
||||
return firmId;
|
||||
}
|
||||
|
||||
public void setFirmId(String value) {
|
||||
this.firmId = value;
|
||||
}
|
||||
|
||||
public String getClientCode() {
|
||||
return clientCode;
|
||||
}
|
||||
|
||||
public void setClientCode(String value) {
|
||||
this.clientCode = value;
|
||||
}
|
||||
|
||||
public BigDecimal getExchangeCommission() {
|
||||
return exchangeCommission;
|
||||
}
|
||||
|
||||
public void setExchangeCommission(BigDecimal value) {
|
||||
this.exchangeCommission = value;
|
||||
}
|
||||
|
||||
public String getClassCode() {
|
||||
return classCode;
|
||||
}
|
||||
|
||||
public void setClassCode(String value) {
|
||||
this.classCode = value;
|
||||
}
|
||||
|
||||
public String getOperation() {
|
||||
return operation;
|
||||
}
|
||||
|
||||
public void setOperation(String value) {
|
||||
this.operation = value;
|
||||
}
|
||||
|
||||
public String getIssueAccount() {
|
||||
return issueAccount;
|
||||
}
|
||||
|
||||
public void setIssueAccount(String value) {
|
||||
this.issueAccount = value;
|
||||
}
|
||||
|
||||
public String getMoneyAccount() {
|
||||
return moneyAccount;
|
||||
}
|
||||
|
||||
public void setMoneyAccount(String value) {
|
||||
this.moneyAccount = value;
|
||||
}
|
||||
|
||||
public String getTradeType() {
|
||||
return tradeType;
|
||||
}
|
||||
|
||||
public void setTradeType(String value) {
|
||||
this.tradeType = value;
|
||||
}
|
||||
|
||||
public Long getDaysToMatDate() {
|
||||
return daysToMatDate;
|
||||
}
|
||||
|
||||
public void setDaysToMatDate(Long value) {
|
||||
this.daysToMatDate = value;
|
||||
}
|
||||
|
||||
public String getCollateral() {
|
||||
return collateral;
|
||||
}
|
||||
|
||||
public void setCollateral(String value) {
|
||||
this.collateral = value;
|
||||
}
|
||||
|
||||
public String getSettleCode() {
|
||||
return settleCode;
|
||||
}
|
||||
|
||||
public void setSettleCode(String value) {
|
||||
this.settleCode = value;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,414 @@
|
|||
package ru.clearing.classes.statics.data.misc;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* Сделки из Торговой системы
|
||||
* <p>
|
||||
* DB table: S_TRADE
|
||||
**/
|
||||
public class STrades extends SpcexObjectBase {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private Long tradeNum;
|
||||
private String operation;
|
||||
private String classCode;
|
||||
private LocalDate tradeDate;
|
||||
private String secCode;
|
||||
private BigDecimal accruedint;
|
||||
private BigDecimal accruedint2;
|
||||
private BigDecimal lowerDiscount;
|
||||
private Long orderNum;
|
||||
private BigDecimal price;
|
||||
private BigDecimal price2;
|
||||
private BigDecimal repoRate;
|
||||
private BigDecimal repoValue;
|
||||
private BigDecimal repo2Value;
|
||||
private BigDecimal startDiscount;
|
||||
private BigDecimal tsCommission;
|
||||
private BigDecimal upperDiscount;
|
||||
private BigDecimal value;
|
||||
private BigDecimal yield;
|
||||
private BigDecimal qty;
|
||||
private BigDecimal qtyPcs;
|
||||
private Instant tradeDateTime;
|
||||
private Long repoTerm;
|
||||
private BigDecimal clearingCommission;
|
||||
private BigDecimal exchangeCommission;
|
||||
private BigDecimal techCenterCommission;
|
||||
private String account;
|
||||
private String brokerRef;
|
||||
private String clientCode;
|
||||
private String settleCode;
|
||||
private String userId;
|
||||
private String exchangeCode;
|
||||
private String firmId;
|
||||
private String firmName;
|
||||
private String cpFirmId;
|
||||
private String cpFirmName;
|
||||
private String className;
|
||||
private String secName;
|
||||
private LocalDate settleDate;
|
||||
private String settleCurrency;
|
||||
private String tradeCurrency;
|
||||
private Long tradeTimeMs;
|
||||
private String bankAccId;
|
||||
private String section;
|
||||
|
||||
public Long getTradeNum() {
|
||||
return tradeNum;
|
||||
}
|
||||
|
||||
public void setTradeNum(Long tradeNum) {
|
||||
this.tradeNum = tradeNum;
|
||||
}
|
||||
|
||||
public String getOperation() {
|
||||
return operation;
|
||||
}
|
||||
|
||||
public void setOperation(String operation) {
|
||||
this.operation = operation;
|
||||
}
|
||||
|
||||
public String getClassCode() {
|
||||
return classCode;
|
||||
}
|
||||
|
||||
public void setClassCode(String classCode) {
|
||||
this.classCode = classCode;
|
||||
}
|
||||
|
||||
public LocalDate getTradeDate() {
|
||||
return tradeDate;
|
||||
}
|
||||
|
||||
public void setTradeDate(LocalDate tradeDate) {
|
||||
this.tradeDate = tradeDate;
|
||||
}
|
||||
|
||||
public String getSecCode() {
|
||||
return secCode;
|
||||
}
|
||||
|
||||
public void setSecCode(String secCode) {
|
||||
this.secCode = secCode;
|
||||
}
|
||||
|
||||
public BigDecimal getAccruedint() {
|
||||
return accruedint;
|
||||
}
|
||||
|
||||
public void setAccruedint(BigDecimal accruedint) {
|
||||
this.accruedint = accruedint;
|
||||
}
|
||||
|
||||
public BigDecimal getAccruedint2() {
|
||||
return accruedint2;
|
||||
}
|
||||
|
||||
public void setAccruedint2(BigDecimal accruedint2) {
|
||||
this.accruedint2 = accruedint2;
|
||||
}
|
||||
|
||||
public BigDecimal getLowerDiscount() {
|
||||
return lowerDiscount;
|
||||
}
|
||||
|
||||
public void setLowerDiscount(BigDecimal lowerDiscount) {
|
||||
this.lowerDiscount = lowerDiscount;
|
||||
}
|
||||
|
||||
public Long getOrderNum() {
|
||||
return orderNum;
|
||||
}
|
||||
|
||||
public void setOrderNum(Long orderNum) {
|
||||
this.orderNum = orderNum;
|
||||
}
|
||||
|
||||
public BigDecimal getPrice() {
|
||||
return price;
|
||||
}
|
||||
|
||||
public void setPrice(BigDecimal price) {
|
||||
this.price = price;
|
||||
}
|
||||
|
||||
public BigDecimal getPrice2() {
|
||||
return price2;
|
||||
}
|
||||
|
||||
public void setPrice2(BigDecimal price2) {
|
||||
this.price2 = price2;
|
||||
}
|
||||
|
||||
public BigDecimal getRepoRate() {
|
||||
return repoRate;
|
||||
}
|
||||
|
||||
public void setRepoRate(BigDecimal repoRate) {
|
||||
this.repoRate = repoRate;
|
||||
}
|
||||
|
||||
public BigDecimal getRepoValue() {
|
||||
return repoValue;
|
||||
}
|
||||
|
||||
public void setRepoValue(BigDecimal repoValue) {
|
||||
this.repoValue = repoValue;
|
||||
}
|
||||
|
||||
public BigDecimal getRepo2Value() {
|
||||
return repo2Value;
|
||||
}
|
||||
|
||||
public void setRepo2Value(BigDecimal repo2Value) {
|
||||
this.repo2Value = repo2Value;
|
||||
}
|
||||
|
||||
public BigDecimal getStartDiscount() {
|
||||
return startDiscount;
|
||||
}
|
||||
|
||||
public void setStartDiscount(BigDecimal startDiscount) {
|
||||
this.startDiscount = startDiscount;
|
||||
}
|
||||
|
||||
public BigDecimal getTsCommission() {
|
||||
return tsCommission;
|
||||
}
|
||||
|
||||
public void setTsCommission(BigDecimal tsCommission) {
|
||||
this.tsCommission = tsCommission;
|
||||
}
|
||||
|
||||
public BigDecimal getUpperDiscount() {
|
||||
return upperDiscount;
|
||||
}
|
||||
|
||||
public void setUpperDiscount(BigDecimal upperDiscount) {
|
||||
this.upperDiscount = upperDiscount;
|
||||
}
|
||||
|
||||
public BigDecimal getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValue(BigDecimal value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public BigDecimal getYield() {
|
||||
return yield;
|
||||
}
|
||||
|
||||
public void setYield(BigDecimal yield) {
|
||||
this.yield = yield;
|
||||
}
|
||||
|
||||
public BigDecimal getQty() {
|
||||
return qty;
|
||||
}
|
||||
|
||||
public void setQty(BigDecimal qty) {
|
||||
this.qty = qty;
|
||||
}
|
||||
|
||||
public BigDecimal getQtyPcs() {
|
||||
return qtyPcs;
|
||||
}
|
||||
|
||||
public void setQtyPcs(BigDecimal qtyPcs) {
|
||||
this.qtyPcs = qtyPcs;
|
||||
}
|
||||
|
||||
public Instant getTradeDateTime() {
|
||||
return tradeDateTime;
|
||||
}
|
||||
|
||||
public void setTradeDateTime(Instant tradeDateTime) {
|
||||
this.tradeDateTime = tradeDateTime;
|
||||
}
|
||||
|
||||
public Long getRepoTerm() {
|
||||
return repoTerm;
|
||||
}
|
||||
|
||||
public void setRepoTerm(Long repoTerm) {
|
||||
this.repoTerm = repoTerm;
|
||||
}
|
||||
|
||||
public BigDecimal getClearingCommission() {
|
||||
return clearingCommission;
|
||||
}
|
||||
|
||||
public void setClearingCommission(BigDecimal clearingCommission) {
|
||||
this.clearingCommission = clearingCommission;
|
||||
}
|
||||
|
||||
public BigDecimal getExchangeCommission() {
|
||||
return exchangeCommission;
|
||||
}
|
||||
|
||||
public void setExchangeCommission(BigDecimal exchangeCommission) {
|
||||
this.exchangeCommission = exchangeCommission;
|
||||
}
|
||||
|
||||
public BigDecimal getTechCenterCommission() {
|
||||
return techCenterCommission;
|
||||
}
|
||||
|
||||
public void setTechCenterCommission(BigDecimal techCenterCommission) {
|
||||
this.techCenterCommission = techCenterCommission;
|
||||
}
|
||||
|
||||
public String getAccount() {
|
||||
return account;
|
||||
}
|
||||
|
||||
public void setAccount(String account) {
|
||||
this.account = account;
|
||||
}
|
||||
|
||||
public String getBrokerRef() {
|
||||
return brokerRef;
|
||||
}
|
||||
|
||||
public void setBrokerRef(String brokerRef) {
|
||||
this.brokerRef = brokerRef;
|
||||
}
|
||||
|
||||
public String getClientCode() {
|
||||
return clientCode;
|
||||
}
|
||||
|
||||
public void setClientCode(String clientCode) {
|
||||
this.clientCode = clientCode;
|
||||
}
|
||||
|
||||
public String getSettleCode() {
|
||||
return settleCode;
|
||||
}
|
||||
|
||||
public void setSettleCode(String settleCode) {
|
||||
this.settleCode = settleCode;
|
||||
}
|
||||
|
||||
public String getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
public void setUserId(String userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public String getExchangeCode() {
|
||||
return exchangeCode;
|
||||
}
|
||||
|
||||
public void setExchangeCode(String exchangeCode) {
|
||||
this.exchangeCode = exchangeCode;
|
||||
}
|
||||
|
||||
public String getFirmId() {
|
||||
return firmId;
|
||||
}
|
||||
|
||||
public void setFirmId(String firmId) {
|
||||
this.firmId = firmId;
|
||||
}
|
||||
|
||||
public String getFirmName() {
|
||||
return firmName;
|
||||
}
|
||||
|
||||
public void setFirmName(String firmName) {
|
||||
this.firmName = firmName;
|
||||
}
|
||||
|
||||
public String getCpFirmId() {
|
||||
return cpFirmId;
|
||||
}
|
||||
|
||||
public void setCpFirmId(String cpFirmId) {
|
||||
this.cpFirmId = cpFirmId;
|
||||
}
|
||||
|
||||
public String getCpFirmName() {
|
||||
return cpFirmName;
|
||||
}
|
||||
|
||||
public void setCpFirmName(String cpFirmName) {
|
||||
this.cpFirmName = cpFirmName;
|
||||
}
|
||||
|
||||
public String getClassName() {
|
||||
return className;
|
||||
}
|
||||
|
||||
public void setClassName(String className) {
|
||||
this.className = className;
|
||||
}
|
||||
|
||||
public String getSecName() {
|
||||
return secName;
|
||||
}
|
||||
|
||||
public void setSecName(String secName) {
|
||||
this.secName = secName;
|
||||
}
|
||||
|
||||
public LocalDate getSettleDate() {
|
||||
return settleDate;
|
||||
}
|
||||
|
||||
public void setSettleDate(LocalDate settleDate) {
|
||||
this.settleDate = settleDate;
|
||||
}
|
||||
|
||||
public String getSettleCurrency() {
|
||||
return settleCurrency;
|
||||
}
|
||||
|
||||
public void setSettleCurrency(String settleCurrency) {
|
||||
this.settleCurrency = settleCurrency;
|
||||
}
|
||||
|
||||
public String getTradeCurrency() {
|
||||
return tradeCurrency;
|
||||
}
|
||||
|
||||
public void setTradeCurrency(String tradeCurrency) {
|
||||
this.tradeCurrency = tradeCurrency;
|
||||
}
|
||||
|
||||
public Long getTradeTimeMs() {
|
||||
return tradeTimeMs;
|
||||
}
|
||||
|
||||
public void setTradeTimeMs(Long tradeTimeMs) {
|
||||
this.tradeTimeMs = tradeTimeMs;
|
||||
}
|
||||
|
||||
public String getBankAccId() {
|
||||
return bankAccId;
|
||||
}
|
||||
|
||||
public void setBankAccId(String bankAccId) {
|
||||
this.bankAccId = bankAccId;
|
||||
}
|
||||
|
||||
public String getSection() {
|
||||
return section;
|
||||
}
|
||||
|
||||
public void setSection(String section) {
|
||||
this.section = section;
|
||||
}
|
||||
}
|
||||
|
|
@ -9,6 +9,11 @@ public class Session extends BusinessObject {
|
|||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
private LocalDate clearingDate;
|
||||
private String sessionStatus;
|
||||
private Long companyId;
|
||||
private Long securityId;
|
||||
private Long userId;
|
||||
private String section;
|
||||
private String sessionType;
|
||||
|
||||
public LocalDate getClearingDate() {
|
||||
return clearingDate;
|
||||
|
|
@ -25,4 +30,44 @@ public class Session extends BusinessObject {
|
|||
public void setSessionStatus(String sessionStatus) {
|
||||
this.sessionStatus = sessionStatus;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
public Long getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
public void setUserId(Long userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public String getSection() {
|
||||
return section;
|
||||
}
|
||||
|
||||
public void setSection(String section) {
|
||||
this.section = section;
|
||||
}
|
||||
|
||||
public String getSessionType() {
|
||||
return sessionType;
|
||||
}
|
||||
|
||||
public void setSessionType(String sessionType) {
|
||||
this.sessionType = sessionType;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package ru.clearing.classes.statics.data.misc;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessEvent;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* Изменение состояния объекта Клиринговая сессия
|
||||
* <p>
|
||||
* DB table: SESSION_HISTORY
|
||||
**/
|
||||
public class SessionHistory extends BusinessEvent<Session> {
|
||||
@Serial
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private Session object;
|
||||
|
||||
@Override
|
||||
public Session getObject() {
|
||||
return object;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setObject(Session object) {
|
||||
this.object = object;
|
||||
}
|
||||
}
|
||||
|
|
@ -17,13 +17,14 @@ public class CompanyInfo extends SpcexObjectBase {
|
|||
private String legalKind; // ref CHAR(4),
|
||||
private String organizationType; // ref CHAR(4),
|
||||
private String residence; // ref CHAR(4),
|
||||
private String shortName;
|
||||
private String fullName;
|
||||
// private String shortName; // extends Company
|
||||
// private String fullName; // extends Company
|
||||
private String shortNameEng;
|
||||
private String fullNameEng;
|
||||
private String tradingCode;
|
||||
private String clearingCode;
|
||||
private String registrationCode;
|
||||
// private String tradingCode; // extends Company
|
||||
// private String clearingCode; // extends Company
|
||||
// private String registrationCode; // extends Company
|
||||
// private String workflowStatus; // extends Company
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
|
|
@ -89,22 +90,6 @@ public class CompanyInfo extends SpcexObjectBase {
|
|||
this.residence = residence;
|
||||
}
|
||||
|
||||
public String getShortName() {
|
||||
return shortName;
|
||||
}
|
||||
|
||||
public void setShortName(String shortName) {
|
||||
this.shortName = shortName;
|
||||
}
|
||||
|
||||
public String getFullName() {
|
||||
return fullName;
|
||||
}
|
||||
|
||||
public void setFullName(String fullName) {
|
||||
this.fullName = fullName;
|
||||
}
|
||||
|
||||
public String getShortNameEng() {
|
||||
return shortNameEng;
|
||||
}
|
||||
|
|
@ -121,27 +106,4 @@ public class CompanyInfo extends SpcexObjectBase {
|
|||
this.fullNameEng = fullNameEng;
|
||||
}
|
||||
|
||||
public String getTradingCode() {
|
||||
return tradingCode;
|
||||
}
|
||||
|
||||
public void setTradingCode(String tradingCode) {
|
||||
this.tradingCode = tradingCode;
|
||||
}
|
||||
|
||||
public String getClearingCode() {
|
||||
return clearingCode;
|
||||
}
|
||||
|
||||
public void setClearingCode(String clearingCode) {
|
||||
this.clearingCode = clearingCode;
|
||||
}
|
||||
|
||||
public String getRegistrationCode() {
|
||||
return registrationCode;
|
||||
}
|
||||
|
||||
public void setRegistrationCode(String registrationCode) {
|
||||
this.registrationCode = registrationCode;
|
||||
}
|
||||
}
|
||||
|
|
@ -175,7 +175,7 @@ public class Clearing {
|
|||
//send request to kafka, wait for a reply
|
||||
synchronized (this) {
|
||||
AccountBalanceClearingRequest request = new AccountBalanceClearingRequest();
|
||||
request.setAccountId(execDeposit.getAccountId());
|
||||
// todo CLS-275 request.setAccountId(execDeposit.getAccountId());
|
||||
request.setCompanyId(execDeposit.getCompanyId());
|
||||
request.setFirstLegAmount(execDeposit.getFirstLegAmount());
|
||||
Long sentRequestId = kafka.sendRequestToQueue(Consts.BALANCE_ACCOUNT_UPDATE, request);
|
||||
|
|
@ -199,7 +199,7 @@ public class Clearing {
|
|||
}
|
||||
}
|
||||
Optional<LiabilitiesClaimsAssets> lcaFirstLegFound = lbltsClmsAssetsCreator.searchLCA(
|
||||
execDeposit.getAccountId(), execDeposit.getCompanyId(),
|
||||
/* null execDeposit.getAccountId() todo CLS-275 */ null, execDeposit.getCompanyId(),
|
||||
execDeposit.getSecurityId(), execDeposit.getFirstLegSettlementDate());
|
||||
LiabilitiesClaimsAssets lcaFirstLeg = orElse(lcaFirstLegFound).ifPresentOrElse(lca -> {
|
||||
log.trace("LiabilitiesClaimsAssets first leg {} was found", lca.getId());
|
||||
|
|
@ -213,7 +213,7 @@ public class Clearing {
|
|||
return lca;
|
||||
});
|
||||
Optional<LiabilitiesClaimsAssets> lcaSecondLegFound = lbltsClmsAssetsCreator.searchLCA(
|
||||
execDeposit.getAccountId(), execDeposit.getCompanyId(),
|
||||
/*todo CLS-275 execDeposit.getAccountId()*/ null, execDeposit.getCompanyId(),
|
||||
execDeposit.getSecurityId(), execDeposit.getSecondLegSettlementDate());
|
||||
LiabilitiesClaimsAssets lcaSecondLeg = orElse(lcaSecondLegFound).ifPresentOrElse(lca -> {
|
||||
log.trace("LiabilitiesClaimsAssets second leg {} was found", lca.getId());
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import ru.clearing.classes.statics.data.account.Account;
|
|||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.execution.ExecutionDeposit;
|
||||
import ru.clearing.classes.statics.data.misc.Listing;
|
||||
import ru.clearing.classes.statics.data.misc.STrade;
|
||||
import ru.clearing.classes.statics.data.misc.STrades;
|
||||
import ru.clearing.classes.statics.data.security.Security;
|
||||
import ru.spcex.clearing.error.ClearingError;
|
||||
import ru.spcex.clearing.error.ClearingException;
|
||||
|
|
@ -22,8 +22,6 @@ import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
|||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.DealRegisterNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.MoneyMarketSecurityNewRequest;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
import ru.spcex.platform.enumeration.Allowed;
|
||||
import ru.spcex.platform.enumeration.Market;
|
||||
import ru.spcex.platform.enumeration.MoneyFlowSide;
|
||||
|
|
@ -54,7 +52,7 @@ public class ExecutionDepositComponent {
|
|||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
private final ImdgProvider imdgProvider;
|
||||
private Imdg<STrade> sTradeImdg;
|
||||
private Imdg<STrades> sTradeImdg;
|
||||
private Imdg<Security> securityImdg;
|
||||
private Imdg<ExecutionDeposit> executionDepositImdg;
|
||||
private Imdg<Company> companyImdg;
|
||||
|
|
@ -71,7 +69,7 @@ public class ExecutionDepositComponent {
|
|||
@Autowired
|
||||
public ExecutionDepositComponent(ImdgProvider imdgProvider, Producer<String, Object> kafka) {
|
||||
this.imdgProvider = imdgProvider;
|
||||
this.sTradeImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_STrade, STrade.class);
|
||||
this.sTradeImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_STrades, STrades.class);
|
||||
this.securityImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Security, Security.class);
|
||||
this.executionDepositImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionDeposit, ExecutionDeposit.class);
|
||||
this.companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
|
|
@ -100,7 +98,7 @@ public class ExecutionDepositComponent {
|
|||
|
||||
public void processNewTS() {
|
||||
log.debug("Start check new S_TRADE after {}", tradingDay);
|
||||
Collection<STrade> sTrades;
|
||||
Collection<STrades> sTrades;
|
||||
{
|
||||
ImdgPredicateBuilder pb = sTradeImdg.predicateBuilder();
|
||||
ImdgPredicate sql = pb.greatEqual("tradeDateTime", tradingDay);
|
||||
|
|
@ -118,7 +116,7 @@ public class ExecutionDepositComponent {
|
|||
// Проверить все инструменты.
|
||||
Set<String> secCodesOfSecurity;
|
||||
{
|
||||
Set<String> secCodesOfSTrade = sTrades.stream().map(STrade::getSecCode).filter(Objects::nonNull).collect(Collectors.toSet());
|
||||
Set<String> secCodesOfSTrade = sTrades.stream().map(STrades::getSecCode).filter(Objects::nonNull).collect(Collectors.toSet());
|
||||
log.debug("Verify {} instruments for {} STrade's.", secCodesOfSTrade.size(), sTrades.size());
|
||||
ImdgPredicate allIn = securityImdg.predicateBuilder().in("securitySymbol", secCodesOfSTrade.toArray(new String[0]));
|
||||
Collection<Security> foundSecurities = securityImdg.getCollectionObjectsByPredicate(allIn);
|
||||
|
|
@ -138,7 +136,7 @@ public class ExecutionDepositComponent {
|
|||
// Но при этом, во время создания новых ExecutionDeposit по STrade, TradeNum могут повторяться.
|
||||
LocalDate today = LocalDate.now();
|
||||
|
||||
for (STrade trade : sTrades) {
|
||||
for (STrades trade : sTrades) {
|
||||
log.trace("Check s_trade[{}].tradeNum={} operation={} on date {}", trade.getId(), trade.getTradeNum(), trade.getOperation(), today);
|
||||
boolean existEDeposit;
|
||||
{
|
||||
|
|
@ -200,7 +198,7 @@ public class ExecutionDepositComponent {
|
|||
}
|
||||
|
||||
|
||||
Long newMaxTradeNum = sTrades.stream().mapToLong(STrade::getTradeNum).max().orElseGet(() -> tradeNum);
|
||||
Long newMaxTradeNum = sTrades.stream().mapToLong(STrades::getTradeNum).max().orElseGet(() -> tradeNum);
|
||||
log.info("Process completed. Next tradeNum is {}", newMaxTradeNum);
|
||||
}
|
||||
|
||||
|
|
@ -240,27 +238,27 @@ public class ExecutionDepositComponent {
|
|||
}
|
||||
}
|
||||
|
||||
protected ExecutionDeposit createExecutionDeposit(STrade sTrade,
|
||||
protected ExecutionDeposit createExecutionDeposit(STrades sTrades,
|
||||
Allowed coverageStatus, Long sessionId) throws ClearingException {
|
||||
Account account = accountImdg.getSingleObjectByFieldValues(Map.of("account", sTrade.getMoneyAccount()));
|
||||
Security security = securityImdg.getSingleObjectByFieldValues(Map.of("securitySymbol", sTrade.getSecCode()));
|
||||
Account account = null; // todo CLS-275 accountImdg.getSingleObjectByFieldValues(Map.of("account", sTrades.getMoneyAccount()));
|
||||
Security security = securityImdg.getSingleObjectByFieldValues(Map.of("securitySymbol", sTrades.getSecCode()));
|
||||
if (security == null) {
|
||||
log.warn("security securitySymbol=\"{}\" not found", sTrade.getSecCode());
|
||||
throw new ClearingException(new EnumMessage(ClearingError.RecordNotFound, sTrade.getSecCode()));
|
||||
log.warn("security securitySymbol=\"{}\" not found", sTrades.getSecCode());
|
||||
throw new ClearingException(new EnumMessage(ClearingError.RecordNotFound, sTrades.getSecCode()));
|
||||
}
|
||||
Listing listing = null;
|
||||
if (security != null) {
|
||||
listing = listingImdg.getSingleObjectByFieldValues(Map.of("securityId", security.getId()));
|
||||
}
|
||||
Company company = companyImdg.getSingleObjectByFieldValues(Map.of("tradingCode", sTrade.getFirmId()));
|
||||
Company company = companyImdg.getSingleObjectByFieldValues(Map.of("tradingCode", sTrades.getFirmId()));
|
||||
if (company == null) {
|
||||
throw new ClearingException(new EnumMessage(ClearingError.CompanyNotFound, sTrade.getFirmId()));
|
||||
throw new ClearingException(new EnumMessage(ClearingError.CompanyNotFound, sTrades.getFirmId()));
|
||||
}
|
||||
|
||||
return createExecutionDeposit(sTrade, account, listing, company, security, coverageStatus, sessionId);
|
||||
return createExecutionDeposit(sTrades, account, listing, company, security, coverageStatus, sessionId);
|
||||
}
|
||||
|
||||
private ExecutionDeposit createExecutionDeposit(STrade sTrade, Account account, Listing listing,
|
||||
private ExecutionDeposit createExecutionDeposit(STrades sTrades, Account account, Listing listing,
|
||||
Company company, Security security,
|
||||
Allowed coverageStatus, Long sessionId) {
|
||||
ExecutionDeposit eDeposit = new ExecutionDeposit();
|
||||
|
|
@ -271,22 +269,22 @@ public class ExecutionDepositComponent {
|
|||
eDeposit.setTradingDate(nowDay);
|
||||
eDeposit.setClearingDate(nowDay);
|
||||
|
||||
eDeposit.setExchangeExecutionId(sTrade.getTradeNum());
|
||||
eDeposit.setExchangeExecutionTime(sTrade.getTradeDateTime());
|
||||
eDeposit.setExchangeExecutionId(sTrades.getTradeNum());
|
||||
eDeposit.setExchangeExecutionTime(sTrades.getTradeDateTime());
|
||||
if (account != null) {
|
||||
eDeposit.setAccountId(account.getId());
|
||||
// todo CLS-275 eDeposit.setAccountId(account.getId());
|
||||
}
|
||||
eDeposit.setMarket(Market.mkrs.getKey());
|
||||
eDeposit.setPrice(sTrade.getPrice());
|
||||
eDeposit.setLots(sTrade.getQty());
|
||||
eDeposit.setPrice(sTrades.getPrice());
|
||||
eDeposit.setLots(sTrades.getQty());
|
||||
if (listing != null && listing.getLotSize() != null && eDeposit.getLots() != null) {
|
||||
BigDecimal quantity = eDeposit.getLots().multiply(listing.getLotSize());
|
||||
eDeposit.setQuantity(quantity);
|
||||
}
|
||||
eDeposit.setFirstLegAmount(sTrade.getValue());
|
||||
eDeposit.setSecondLegAmount(sTrade.getValue());
|
||||
eDeposit.setFirstLegAmount(sTrades.getValue());
|
||||
eDeposit.setSecondLegAmount(sTrades.getValue());
|
||||
//eDeposit.setInterestAmount(null);
|
||||
String operation = sTrade.getOperation(); //Символьный код по справочнику moneyFlowSide), соответствующий значению из s_trade.operation (sTrade.getOperation())
|
||||
String operation = sTrades.getOperation(); //Символьный код по справочнику moneyFlowSide), соответствующий значению из s_trade.operation (sTrade.getOperation())
|
||||
if ("B".equalsIgnoreCase(operation)) {
|
||||
operation = MoneyFlowSide.BUY.getKey();
|
||||
}
|
||||
|
|
@ -296,9 +294,9 @@ public class ExecutionDepositComponent {
|
|||
eDeposit.setSide(operation);
|
||||
eDeposit.setSettlementCurrency("RUB"); // (справочник currencyCode)
|
||||
eDeposit.setCompanyId(company.getId());
|
||||
eDeposit.setDuration(sTrade.getDaysToMatDate());
|
||||
// todo CLS-275 eDeposit.setDuration(sTrades.getDaysToMatDate());
|
||||
eDeposit.setFirstLegSettlementDate(nowDay);
|
||||
eDeposit.setSecondLegSettlementDate(sTrade.getSettleDate());
|
||||
eDeposit.setSecondLegSettlementDate(sTrades.getSettleDate());
|
||||
//eDeposit.setFirstLegSettlementCode(null);
|
||||
//eDeposit.setSecondLegSettlementCode(null);
|
||||
eDeposit.setSecurityFullName(security.getFullName());
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public class LiabilitiesClaimsAssetsCreator {
|
|||
private LiabilitiesClaimsAssets createLCA(ExecutionDeposit executionDeposit, Account account) {
|
||||
LiabilitiesClaimsAssets liabilitiesClaimsAssets = new LiabilitiesClaimsAssets();
|
||||
liabilitiesClaimsAssets.setCompanyId(executionDeposit.getCompanyId());
|
||||
liabilitiesClaimsAssets.setAccountId(executionDeposit.getAccountId());
|
||||
// todo new fields liabilitiesClaimsAssets.setAccountId(executionDeposit.getAccountId());
|
||||
liabilitiesClaimsAssets.setAccountType(account.getAccountType());
|
||||
liabilitiesClaimsAssets.setAccount(account.getAccount());
|
||||
liabilitiesClaimsAssets.setCurrency(executionDeposit.getSettlementCurrency());
|
||||
|
|
@ -61,7 +61,7 @@ public class LiabilitiesClaimsAssetsCreator {
|
|||
|
||||
|
||||
public LiabilitiesClaimsAssets createFirstLegLCA(ClearingCategory category, ExecutionDeposit executionDeposit) {
|
||||
Account account = accountImdg.getSingleObjectByID(executionDeposit.getAccountId());
|
||||
Account account = null; // todo CLS-275 accountImdg.getSingleObjectByID(executionDeposit.getAccountId());
|
||||
LiabilitiesClaimsAssets lca = createLCA(executionDeposit, account);
|
||||
lca.setSettlementDate(executionDeposit.getFirstLegSettlementDate());
|
||||
AccountType accType = IEnumKey.getEnumByKey(AccountType.class, account.getAccountType());
|
||||
|
|
@ -79,7 +79,7 @@ public class LiabilitiesClaimsAssetsCreator {
|
|||
}
|
||||
|
||||
public LiabilitiesClaimsAssets createSecondLegLCA(ClearingCategory category, ExecutionDeposit executionDeposit) {
|
||||
Account account = accountImdg.getSingleObjectByID(executionDeposit.getAccountId());
|
||||
Account account = null;// todo CLS-275 accountImdg.getSingleObjectByID(executionDeposit.getAccountId());
|
||||
LiabilitiesClaimsAssets lca = createLCA(executionDeposit, account);
|
||||
lca.setSettlementDate(executionDeposit.getSecondLegSettlementDate());
|
||||
AccountType accType = IEnumKey.getEnumByKey(AccountType.class, account.getAccountType());
|
||||
|
|
@ -115,7 +115,7 @@ public class LiabilitiesClaimsAssetsCreator {
|
|||
|
||||
|
||||
public void updateSecondLegLca(LiabilitiesClaimsAssets lca, ExecutionDeposit executionDeposit, ClearingCategory category) {
|
||||
Account account = accountImdg.getSingleObjectByID(executionDeposit.getAccountId());
|
||||
Account account = null; // todo CLS-275 accountImdg.getSingleObjectByID(executionDeposit.getAccountId());
|
||||
AccountType accType = IEnumKey.getEnumByKey(AccountType.class, account.getAccountType());
|
||||
boolean iClrn = ClearingCategory.I.equals(category) && AccountType.Clrn.equals(accType);
|
||||
boolean vInfo = ClearingCategory.V.equals(category) && AccountType.Info.equals(accType);
|
||||
|
|
@ -135,7 +135,7 @@ public class LiabilitiesClaimsAssetsCreator {
|
|||
}
|
||||
|
||||
public void updateFirstLegLca(LiabilitiesClaimsAssets lca, ExecutionDeposit executionDeposit, ClearingCategory category) {
|
||||
Account account = accountImdg.getSingleObjectByID(executionDeposit.getAccountId());
|
||||
Account account = null; // todo CLS-275 accountImdg.getSingleObjectByID(executionDeposit.getAccountId());
|
||||
AccountType accType = IEnumKey.getEnumByKey(AccountType.class, account.getAccountType());
|
||||
boolean iClrn = ClearingCategory.I.equals(category) && AccountType.Clrn.equals(accType);
|
||||
boolean vInfo = ClearingCategory.V.equals(category) && AccountType.Info.equals(accType);
|
||||
|
|
|
|||
|
|
@ -37,17 +37,17 @@ public enum ExecutionDepositValidationRule implements IValidationRule<ImdgValida
|
|||
@Override
|
||||
public Optional<EnumMessage> validate(ImdgValidationContext<ExecutionDeposit> context) {
|
||||
ExecutionDeposit validatedObject = context.getValidatedObject();
|
||||
if (validatedObject.getAccountId() == null) {
|
||||
// todo CLS-275 if (validatedObject.getAccountId() == null) {
|
||||
return of(ClearingErrorInternal.AccountNotActive);
|
||||
}
|
||||
Imdg<Account> accountImdg = context.obtainMap(IMDGDistributedNames.Map_Account, Account.class);
|
||||
Relation relation = context.getStoredObject(ClrngValidationStored.relation);
|
||||
Account account = accountImdg.getSingleObjectByFieldValues(
|
||||
Map.of("id", validatedObject.getAccountId(), "relationId", relation.getId()));
|
||||
if (account == null || !AccountStatus.ACTIVE.equalsByKey(account.getStatus())) {
|
||||
return of(ClearingErrorInternal.AccountNotActive);
|
||||
}
|
||||
return empty();
|
||||
// }
|
||||
// Imdg<Account> accountImdg = context.obtainMap(IMDGDistributedNames.Map_Account, Account.class);
|
||||
// Relation relation = context.getStoredObject(ClrngValidationStored.relation);
|
||||
// Account account = accountImdg.getSingleObjectByFieldValues(
|
||||
// Map.of("id", validatedObject.getAccountId(), "relationId", relation.getId()));
|
||||
// if (account == null || !AccountStatus.ACTIVE.equalsByKey(account.getStatus())) {
|
||||
// return of(ClearingErrorInternal.AccountNotActive);
|
||||
// }
|
||||
// return empty();
|
||||
}
|
||||
},
|
||||
CompanyIsNotBlocked() {
|
||||
|
|
@ -70,18 +70,18 @@ public enum ExecutionDepositValidationRule implements IValidationRule<ImdgValida
|
|||
return Optional.empty();
|
||||
}
|
||||
ExecutionDeposit validatedObject = context.getValidatedObject();
|
||||
Imdg<AccountBalance> accountBalanceImdg = context.obtainMap(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class);
|
||||
AccountBalance accountBalance = accountBalanceImdg.getSingleObjectByFieldValues(
|
||||
Map.of("accountId", validatedObject.getAccountId(),
|
||||
"companyId", validatedObject.getCompanyId()));
|
||||
if (accountBalance == null) {
|
||||
// Imdg<AccountBalance> accountBalanceImdg = context.obtainMap(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class);
|
||||
// todo CLS-275 AccountBalance accountBalance = accountBalanceImdg.getSingleObjectByFieldValues(
|
||||
// Map.of("accountId", validatedObject.getAccountId(),
|
||||
// "companyId", validatedObject.getCompanyId()));
|
||||
// if (accountBalance == null) {
|
||||
return of(ClearingErrorInternal.FinancialObligationNotSatisfied);
|
||||
}
|
||||
// }
|
||||
//todo ABS
|
||||
if (validatedObject.getFirstLegAmount().compareTo(accountBalance.getFreeBalanceAmount()) > 0) {
|
||||
return of(ClearingErrorInternal.FinancialObligationNotSatisfied);
|
||||
}
|
||||
return empty();
|
||||
// todo CLS-275 if (validatedObject.getFirstLegAmount().compareTo(accountBalance.getFreeBalanceAmount()) > 0) {
|
||||
// return of(ClearingErrorInternal.FinancialObligationNotSatisfied);
|
||||
// }
|
||||
// return empty();
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -378,7 +378,7 @@ class ClearingServiceTest extends AbstractClearingTest {
|
|||
executionDeposit.setExchangeExecutionId(5L);
|
||||
executionDeposit.setExchangeExecutionTime(Instant.now());
|
||||
executionDeposit.setTradingDate(LocalDate.now());
|
||||
executionDeposit.setAccountId(accountId);
|
||||
executionDeposit.setTradingClearingRegistryId(accountId); //todo CLS-275 executionDeposit.setAccountId(accountId);
|
||||
executionDeposit.setMarket("market");
|
||||
executionDeposit.setPrice(new BigDecimal(9));
|
||||
executionDeposit.setLots(new BigDecimal(0));
|
||||
|
|
@ -392,8 +392,9 @@ class ClearingServiceTest extends AbstractClearingTest {
|
|||
executionDeposit.setDuration(1L);
|
||||
executionDeposit.setFirstLegSettlementDate(dtF);
|
||||
executionDeposit.setSecondLegSettlementDate(dtS);
|
||||
executionDeposit.setFirstLegSettlementCode(LocalDate.now());
|
||||
executionDeposit.setSecondLegSettlementCode(LocalDate.now());
|
||||
executionDeposit.setFirstLegSettlementCode("leg1c");
|
||||
executionDeposit.setSecondLegSettlementCode("legcc");
|
||||
executionDeposit.setContract("contract");
|
||||
executionDeposit.setSecurityFullName("full");
|
||||
executionDeposit.setSecuritySymbol("symbol");
|
||||
executionDeposit.setSecurityId(securityId);
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import ru.clearing.classes.statics.data.account.Account;
|
|||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.execution.ExecutionDeposit;
|
||||
import ru.clearing.classes.statics.data.misc.Listing;
|
||||
import ru.clearing.classes.statics.data.misc.STrade;
|
||||
import ru.clearing.classes.statics.data.misc.STrades;
|
||||
import ru.clearing.classes.statics.data.security.Security;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
|
||||
|
|
@ -31,7 +31,7 @@ class ExecutionDepositComponentTest extends AbstractClearingTest {
|
|||
@Autowired
|
||||
ExecutionDepositComponent executionDepositComponent;
|
||||
private Instant todayInstant;
|
||||
private Imdg<STrade> sTradeImdg;
|
||||
private Imdg<STrades> sTradeImdg;
|
||||
private Imdg<Security> securityImdg;
|
||||
private Imdg<ExecutionDeposit> executionDepositImdg;
|
||||
private Imdg<Company> companyImdg;
|
||||
|
|
@ -43,7 +43,7 @@ class ExecutionDepositComponentTest extends AbstractClearingTest {
|
|||
super.init();
|
||||
executionDepositComponent.resetTradingDay();
|
||||
this.todayInstant = executionDepositComponent.tradingDay;
|
||||
this.sTradeImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_STrade, STrade.class);
|
||||
this.sTradeImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_STrades, STrades.class);
|
||||
this.securityImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Security, Security.class);
|
||||
this.executionDepositImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_ExecutionDeposit, ExecutionDeposit.class);
|
||||
this.companyImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
|
|
@ -62,13 +62,13 @@ class ExecutionDepositComponentTest extends AbstractClearingTest {
|
|||
void processNewTS() {
|
||||
String secCode = "SecCode";
|
||||
String operation = "oper";
|
||||
STrade sTrade = new STrade();
|
||||
STrades sTrades = new STrades();
|
||||
Long exchangeExecutionId = 1221L;
|
||||
LocalDate today = LocalDate.now();
|
||||
sTrade.setTradeDateTime(todayInstant);
|
||||
sTrade.setSecCode(secCode);
|
||||
sTrade.setOperation(operation);
|
||||
sTradeImdg.insert(sTrade);
|
||||
sTrades.setTradeDateTime(todayInstant);
|
||||
sTrades.setSecCode(secCode);
|
||||
sTrades.setOperation(operation);
|
||||
sTradeImdg.insert(sTrades);
|
||||
|
||||
Security security = new Security();
|
||||
security.setSecuritySymbol(secCode);
|
||||
|
|
|
|||
|
|
@ -92,8 +92,6 @@ public class CompanyInfoService extends QueueConsumer implements InitializingBea
|
|||
companyInfo.setResidence(req.getResidence());
|
||||
companyInfo.setShortNameEng(req.getShortNameEng());
|
||||
companyInfo.setFullNameEng(req.getFullNameEng());
|
||||
companyInfo.setShortName(req.getShortName());
|
||||
companyInfo.setFullName(req.getFullName());
|
||||
|
||||
company.setUpdated(Instant.now());
|
||||
companyMap.update(company);
|
||||
|
|
|
|||
|
|
@ -112,8 +112,6 @@ class CompanyInfoServiceTest {
|
|||
* {@link CompanyInfoUpdateRequest#residence} - RUS<br>
|
||||
* {@link CompanyInfoUpdateRequest#shortNameEng} - updated shortNameEng<br>
|
||||
* {@link CompanyInfoUpdateRequest#fullNameEng} - updated fullNameEng<br>
|
||||
* {@link CompanyInfoUpdateRequest#shortName} - updated shortName<br>
|
||||
* {@link CompanyInfoUpdateRequest#fullName} - updated fullName<br>
|
||||
*/
|
||||
@Test
|
||||
void companyInfoUpdate() throws InterruptedException {
|
||||
|
|
@ -130,12 +128,12 @@ class CompanyInfoServiceTest {
|
|||
existsCompanyInfo.setResidence("0000");
|
||||
existsCompanyInfo.setShortNameEng("exists shortNameEng");
|
||||
existsCompanyInfo.setFullNameEng("exists fullNameEng");
|
||||
existsCompanyInfo.setShortName("exists shortName");
|
||||
existsCompanyInfo.setFullName("exists fullName");
|
||||
Company existsCompany = new Company();
|
||||
existsCompany.setId(ID);
|
||||
existsCompany.setWorkflowStatus(WorkflowStatus.Active.getKey());
|
||||
existsCompany.setProfile(existsCompanyInfo);
|
||||
existsCompany.setShortName("exists shortName");
|
||||
existsCompany.setFullName("exists fullName");
|
||||
companyImdg.insert(existsCompany);
|
||||
|
||||
CompanyInfoUpdateRequest companyInfoUpdateRequest = new CompanyInfoUpdateRequest();
|
||||
|
|
@ -164,8 +162,6 @@ class CompanyInfoServiceTest {
|
|||
predictableCompanyInfo.setResidence("RUS");
|
||||
predictableCompanyInfo.setShortNameEng("updated shortNameEng");
|
||||
predictableCompanyInfo.setFullNameEng("updated fullNameEng");
|
||||
predictableCompanyInfo.setShortName("updated shortName");
|
||||
predictableCompanyInfo.setFullName("updated fullName");
|
||||
|
||||
//ACT
|
||||
String jsonString = getJsonStringForUPDATE(companyInfoUpdateRequest, ID);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
-- DB version: 3.5.0.18
|
||||
-- DATA version: 3.5.0.2
|
||||
-- DB version: 3.5.0.20
|
||||
-- DATA version: 3.5.0.4
|
||||
/* Dictionaries */
|
||||
|
||||
INSERT INTO ALLOWED_DICTIONARY(ID, CODE, NAME) values (1, 'ALWD', 'Разрешено') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
|
@ -160,6 +160,8 @@ INSERT INTO COMPANY_SYMBOL_DICTIONARY(ID, CODE, NAME, SHORTNAME) values (17, 'RG
|
|||
|
||||
INSERT INTO COMPANY_SYMBOL_DICTIONARY(ID, CODE, NAME, SHORTNAME) values (18, 'UUID', 'Идентификатор во внешней системе', 'Внешний идентификатор') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, SHORTNAME = EXCLUDED.SHORTNAME;
|
||||
|
||||
INSERT INTO COMPANY_SYMBOL_DICTIONARY(ID, CODE, NAME, SHORTNAME) values (19, 'RDPZ', 'Требуется получение документа о подтверждении открытия депозитного счета', 'Подтверждение депозитного счета') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, SHORTNAME = EXCLUDED.SHORTNAME;
|
||||
|
||||
INSERT INTO COMPANY_ROLE_DICTIONARY(ID, CODE, NAME) values (1, 'RPRT', 'Отчетная организация') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO COMPANY_ROLE_DICTIONARY(ID, CODE, NAME) values (2, 'CLRH', 'Клиринговая организация') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
|
@ -208,11 +210,11 @@ INSERT INTO BOND_TYPE_DICTIONARY(ID, CODE, NAME) values (6, 'I', 'Облигац
|
|||
|
||||
INSERT INTO BOND_TYPE_DICTIONARY(ID, CODE, NAME) values (7, 'M', 'Облигации с амортизацией долга') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'А', 'Владелец') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'A', 'Владелец') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'B', 'Клиентский') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY(ID, CODE, NAME) values (3, 'С', 'Попечитель') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY(ID, CODE, NAME) values (3, 'C', 'Попечитель') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY(ID, CODE, NAME) values (4, 'D', 'Доверительный управляющий') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
|
|
@ -320,13 +322,17 @@ INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (11, 'CSPT', 'Тре
|
|||
|
||||
INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'OK', 'Успешно') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'FAIL', 'Не успешно') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'UNCV', 'Не исполнено') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'MNG', 'Не учитывать') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'FAIL', 'Не исполнено контрагентом') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (4, 'PROC', 'К клирингу') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (4, 'MNG', 'Не учитывать') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (5, 'LIQU', 'Ликвидационный неттинг') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (5, 'PROC', 'К клирингу') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (6, 'LIQU', 'Ликвидационный неттинг') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (7, 'POOL', 'В клиринге') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO BALANCE_DIMENSION_DICTIONARY(ID, CODE, NAME) values (1, 'PICS', 'Штуки') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
|
|
@ -432,6 +438,8 @@ INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (47, 'GRYT', 'Сформир
|
|||
|
||||
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (48, 'GRRT', 'Сформировать реестр на текущий день') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (49, 'GORD', 'Формирование реестра распоряжений, направленных расчетному депозитарию') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TASK_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'ACTV', 'Активна') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TASK_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'BLKD', 'Не активна') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
|
@ -448,6 +456,38 @@ INSERT INTO PARENT_DICTIONARY(ID, CODE, NAME) values (2, 'PLNR', 'Расписа
|
|||
|
||||
INSERT INTO PARENT_DICTIONARY(ID, CODE, NAME) values (3, 'CLND', 'Календарь') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO SESSION_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'ACTV', 'Сессия активна') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO SESSION_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'CLRN', 'Идет клиринг') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO SESSION_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'CLOS', 'Клиринг завершен') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO SESSION_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'FINL', 'Итоговая клиринговая сессия') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO SESSION_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'MEDM', 'Промежуточная клиринговая сессия') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO SESSION_TYPE_DICTIONARY(ID, CODE, NAME) values (3, 'XDEP', 'Промежуточная возврат депозитов') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO SESSION_TYPE_DICTIONARY(ID, CODE, NAME) values (4, 'IPOT', 'Первичные торги Т0') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO SESSION_TYPE_DICTIONARY(ID, CODE, NAME) values (5, 'TRDT', 'Вторичные торги Т0') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO SESSION_TYPE_DICTIONARY(ID, CODE, NAME) values (6, 'LIQU', 'Ликвидационное прекращение обязательств') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO SESSION_TYPE_DICTIONARY(ID, CODE, NAME) values (7, 'IPOB', 'Первичные торги Bn') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO SESSION_TYPE_DICTIONARY(ID, CODE, NAME) values (8, 'IPO0', 'Первичные торги B0') 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;
|
||||
|
||||
INSERT INTO SIDE_DICTIONARY(ID, CODE, NAME) values (1, 'BUY', 'Покупка') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO SIDE_DICTIONARY(ID, CODE, NAME) values (2, 'SELL', 'Продажа') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO MARKET_CODE_DICTIONARY(ID, CODE, NAME) values (1, 'BMIC', 'СПВБ: ОФЗ-ИН - Аукцион БР') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO COURIER_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'STHS', 'ЭДО с Расчетной Организацией') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'STLD', 'Рассчитан') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
|
@ -482,10 +522,6 @@ INSERT INTO IN_OUT_DIRECTION_DICTIONARY(ID, CODE, NAME) values (1, 'IN', 'Зач
|
|||
|
||||
INSERT INTO IN_OUT_DIRECTION_DICTIONARY(ID, CODE, NAME) values (2, 'OUT', 'Списание') 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;
|
||||
|
||||
INSERT INTO STATEMENT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'FULL', 'Установка суммы') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO STATEMENT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'INCR', 'Изменение суммы') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
|
@ -528,12 +564,6 @@ 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') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO SESSION_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'ACTV', 'Сессия активна') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO SESSION_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'CLRN', 'Идет клиринг') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO SESSION_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'CLOS', 'Клиринг завершен') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO OBJECT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'STMT', 'STATEMENT') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO OBJECT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'VFRS', 'verificationResult') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
|
@ -640,6 +670,16 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3020, 'CMPN', 'Тип
|
|||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3021, 'CMPN', 'Тип контакта компании %s не может быть изменен.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3022, 'CMPN', 'ТКР с кодом %s не найден.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3023, 'CMPN', 'Счет %s не найден.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3024, 'CMPN', 'Договорные отношения %s в секции МКР уже созданы.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3025, 'CMPN', 'Договорные отношения %s на фондовой секции уже созданы.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3026, 'CMPN', 'Запись о договорных отношениях не найдена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (4000, 'RPRT', 'Общая ошибка модуля report-serivce.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5000, 'ACNT', 'Общая ошибка модуля account-service.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
|
@ -662,11 +702,17 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5011, 'ACNT', 'Сче
|
|||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5012, 'ACNT', 'Счет %s неактивен.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5013, 'ACNT', 'Компания не найдена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5013, 'ACNT', 'Компания %s не найдена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5014, 'ACNT', 'Компания неактивна.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5014, 'ACNT', 'Компания %s неактивна.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5015, 'ACNT', 'Для Компании %s уже создан информационный счет %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5015, 'ACNT', 'Для компании %s уже создан информационный счет %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5016, 'ACNT', 'Для Компании %s уже создан ТКР %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5017, 'ACNT', 'Для Компании %s отсутствует счет ДЕПО.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5018, 'ACNT', 'Для Компании %s отсутствует денежный счет.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5200, 'BLNC', 'Общая ошибка модуля balance-service.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
|
|
@ -682,7 +728,7 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5214, 'BLNC', 'Заг
|
|||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5215, 'BLNC', 'Загрузка остатков возможна только по рынку МКР.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5216, 'BLNC', 'Загрузка остатков возможна только по собственным счетам.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5216, 'BLNC', 'Загрузка остатков возможна только по собственным или клиентским счетам.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5217, 'BLNC', 'Счет %s не найден.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
|
|
@ -730,7 +776,7 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5416, 'CLRN', 'Инс
|
|||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5417, 'CLRN', 'Инструмент %s неактивен.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5418, 'CLRN', 'Торгово-клиринговый регистр %s не найден.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5418, 'CLRN', 'Торгово-клиринговый регистр %s не найден для компании %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5419, 'CLRN', 'Торгово-клиринговый регистр %s неактивен.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
|
|
@ -786,11 +832,15 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (9005, 'BAPI', 'Не н
|
|||
|
||||
/* Business objects */
|
||||
|
||||
INSERT INTO COMPANY(ID, FULL_NAME, SHORT_NAME, TRADING_CODE, CLEARING_CODE, WORKFLOW_STATUS) values (1, 'АО Санкт-Петербургская Валютная Биржа', 'СПВБ', '1', '1', 'ACTV') ON CONFLICT (ID) DO UPDATE SET FULL_NAME = EXCLUDED.FULL_NAME, SHORT_NAME = EXCLUDED.SHORT_NAME, TRADING_CODE = EXCLUDED.TRADING_CODE, CLEARING_CODE = EXCLUDED.CLEARING_CODE, WORKFLOW_STATUS = EXCLUDED.WORKFLOW_STATUS;
|
||||
INSERT INTO COMPANY(ID, FULL_NAME, SHORT_NAME, TRADING_CODE, CLEARING_CODE, WORKFLOW_STATUS) values (1, 'АО Санкт-Петербургская Валютная Биржа', 'СПВБ', '', '', 'ACTV') ON CONFLICT (ID) DO UPDATE SET FULL_NAME = EXCLUDED.FULL_NAME, SHORT_NAME = EXCLUDED.SHORT_NAME, TRADING_CODE = EXCLUDED.TRADING_CODE, CLEARING_CODE = EXCLUDED.CLEARING_CODE, WORKFLOW_STATUS = EXCLUDED.WORKFLOW_STATUS;
|
||||
|
||||
INSERT INTO COMPANY(ID, FULL_NAME, SHORT_NAME, TRADING_CODE, CLEARING_CODE, WORKFLOW_STATUS) values (2, 'НКО ЗАО «Петербургский Расчетный Центр»', 'НКО АО ПРЦ', '2', '2', 'ACTV') ON CONFLICT (ID) DO UPDATE SET FULL_NAME = EXCLUDED.FULL_NAME, SHORT_NAME = EXCLUDED.SHORT_NAME, TRADING_CODE = EXCLUDED.TRADING_CODE, CLEARING_CODE = EXCLUDED.CLEARING_CODE, WORKFLOW_STATUS = EXCLUDED.WORKFLOW_STATUS;
|
||||
INSERT INTO COMPANY(ID, FULL_NAME, SHORT_NAME, TRADING_CODE, CLEARING_CODE, WORKFLOW_STATUS) values (2, 'ЗАО «Петербургский Расчетный Центр»', 'ПРЦ', '', '', 'ACTV') ON CONFLICT (ID) DO UPDATE SET FULL_NAME = EXCLUDED.FULL_NAME, SHORT_NAME = EXCLUDED.SHORT_NAME, TRADING_CODE = EXCLUDED.TRADING_CODE, CLEARING_CODE = EXCLUDED.CLEARING_CODE, WORKFLOW_STATUS = EXCLUDED.WORKFLOW_STATUS;
|
||||
|
||||
INSERT INTO COMPANY(ID, FULL_NAME, SHORT_NAME, TRADING_CODE, CLEARING_CODE, WORKFLOW_STATUS) values (3, 'Торговая организация', 'ТС', '3', '3', 'ACTV') ON CONFLICT (ID) DO UPDATE SET FULL_NAME = EXCLUDED.FULL_NAME, SHORT_NAME = EXCLUDED.SHORT_NAME, TRADING_CODE = EXCLUDED.TRADING_CODE, CLEARING_CODE = EXCLUDED.CLEARING_CODE, WORKFLOW_STATUS = EXCLUDED.WORKFLOW_STATUS;
|
||||
INSERT INTO COMPANY(ID, FULL_NAME, SHORT_NAME, TRADING_CODE, CLEARING_CODE, WORKFLOW_STATUS) values (3, 'Торговая организация', 'ТС', '', '', 'ACTV') ON CONFLICT (ID) DO UPDATE SET FULL_NAME = EXCLUDED.FULL_NAME, SHORT_NAME = EXCLUDED.SHORT_NAME, TRADING_CODE = EXCLUDED.TRADING_CODE, CLEARING_CODE = EXCLUDED.CLEARING_CODE, WORKFLOW_STATUS = EXCLUDED.WORKFLOW_STATUS;
|
||||
|
||||
INSERT INTO COMPANY(ID, FULL_NAME, SHORT_NAME, TRADING_CODE, CLEARING_CODE, WORKFLOW_STATUS) values (4, 'ЗАО «Санкт-Петербургский Расчетно-Депозитарный Центр»', 'РДЦ', '', '', 'ACTV') ON CONFLICT (ID) DO UPDATE SET FULL_NAME = EXCLUDED.FULL_NAME, SHORT_NAME = EXCLUDED.SHORT_NAME, TRADING_CODE = EXCLUDED.TRADING_CODE, CLEARING_CODE = EXCLUDED.CLEARING_CODE, WORKFLOW_STATUS = EXCLUDED.WORKFLOW_STATUS;
|
||||
|
||||
INSERT INTO COMPANY(ID, FULL_NAME, SHORT_NAME, TRADING_CODE, CLEARING_CODE, WORKFLOW_STATUS) values (5, 'Центральный Банк Российской Федерации', 'ЦБ РФ', '', '', 'ACTV') ON CONFLICT (ID) DO UPDATE SET FULL_NAME = EXCLUDED.FULL_NAME, SHORT_NAME = EXCLUDED.SHORT_NAME, TRADING_CODE = EXCLUDED.TRADING_CODE, CLEARING_CODE = EXCLUDED.CLEARING_CODE, WORKFLOW_STATUS = EXCLUDED.WORKFLOW_STATUS;
|
||||
|
||||
INSERT INTO COMPANY_SYMBOLS(ID, COMPANY_ID, COMPANY_SYMBOL, COMPANY_SYMBOL_VALUE) values (1, 1, 'BIC', '044030920') ON CONFLICT (ID) DO UPDATE SET COMPANY_ID = EXCLUDED.COMPANY_ID, COMPANY_SYMBOL = EXCLUDED.COMPANY_SYMBOL, COMPANY_SYMBOL_VALUE = EXCLUDED.COMPANY_SYMBOL_VALUE;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
-- DB version: 3.5.0.18
|
||||
-- DB version: 3.5.0.20
|
||||
/* Dictionaries */
|
||||
|
||||
-- allowed - Справочник признаков допустимости использования объектов
|
||||
|
|
@ -443,6 +443,61 @@ COMMENT ON COLUMN PARENT_DICTIONARY.CODE IS 'Код';
|
|||
|
||||
COMMENT ON COLUMN PARENT_DICTIONARY.NAME IS 'Наименование';
|
||||
|
||||
-- sessionStatus - Справочник статусов клиринговых сессий
|
||||
DROP TABLE IF EXISTS SESSION_STATUS_DICTIONARY;
|
||||
CREATE TABLE SESSION_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50));
|
||||
COMMENT ON TABLE SESSION_STATUS_DICTIONARY IS 'Справочник статусов клиринговых сессий';
|
||||
|
||||
COMMENT ON COLUMN SESSION_STATUS_DICTIONARY.ID IS 'Идентификатор';
|
||||
|
||||
COMMENT ON COLUMN SESSION_STATUS_DICTIONARY.CODE IS 'Код';
|
||||
|
||||
COMMENT ON COLUMN SESSION_STATUS_DICTIONARY.NAME IS 'Наименование';
|
||||
|
||||
-- sessionType - Справочник типов клиринговых сессий
|
||||
DROP TABLE IF EXISTS SESSION_TYPE_DICTIONARY;
|
||||
CREATE TABLE SESSION_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50));
|
||||
COMMENT ON TABLE SESSION_TYPE_DICTIONARY IS 'Справочник типов клиринговых сессий';
|
||||
|
||||
COMMENT ON COLUMN SESSION_TYPE_DICTIONARY.ID IS 'Идентификатор';
|
||||
|
||||
COMMENT ON COLUMN SESSION_TYPE_DICTIONARY.CODE IS 'Код';
|
||||
|
||||
COMMENT ON COLUMN SESSION_TYPE_DICTIONARY.NAME IS 'Наименование';
|
||||
|
||||
-- moneyFlowSide - Справочник направлений денежного рынка
|
||||
DROP TABLE IF EXISTS MONEY_FLOW_SIDE_DICTIONARY;
|
||||
CREATE TABLE MONEY_FLOW_SIDE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255));
|
||||
COMMENT ON TABLE MONEY_FLOW_SIDE_DICTIONARY IS 'Справочник направлений денежного рынка';
|
||||
|
||||
COMMENT ON COLUMN MONEY_FLOW_SIDE_DICTIONARY.ID IS 'Идентификатор';
|
||||
|
||||
COMMENT ON COLUMN MONEY_FLOW_SIDE_DICTIONARY.CODE IS 'Код';
|
||||
|
||||
COMMENT ON COLUMN MONEY_FLOW_SIDE_DICTIONARY.NAME IS 'Значение';
|
||||
|
||||
-- side - Справочник направлений
|
||||
DROP TABLE IF EXISTS SIDE_DICTIONARY;
|
||||
CREATE TABLE SIDE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255));
|
||||
COMMENT ON TABLE SIDE_DICTIONARY IS 'Справочник направлений';
|
||||
|
||||
COMMENT ON COLUMN SIDE_DICTIONARY.ID IS 'Идентификатор';
|
||||
|
||||
COMMENT ON COLUMN SIDE_DICTIONARY.CODE IS 'Код';
|
||||
|
||||
COMMENT ON COLUMN SIDE_DICTIONARY.NAME IS 'Значение';
|
||||
|
||||
-- marketCode - Справочник кодов рынков
|
||||
DROP TABLE IF EXISTS MARKET_CODE_DICTIONARY;
|
||||
CREATE TABLE MARKET_CODE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255));
|
||||
COMMENT ON TABLE MARKET_CODE_DICTIONARY IS 'Справочник кодов рынков';
|
||||
|
||||
COMMENT ON COLUMN MARKET_CODE_DICTIONARY.ID IS 'Идентификатор';
|
||||
|
||||
COMMENT ON COLUMN MARKET_CODE_DICTIONARY.CODE IS 'Код';
|
||||
|
||||
COMMENT ON COLUMN MARKET_CODE_DICTIONARY.NAME IS 'Значение';
|
||||
|
||||
-- chargeDirection - Направление начисления комиссии
|
||||
DROP TABLE IF EXISTS CHARGE_DIRECTION_DICTIONARY;
|
||||
CREATE TABLE CHARGE_DIRECTION_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50));
|
||||
|
|
@ -498,17 +553,6 @@ COMMENT ON COLUMN CLEARING_STATUS_DICTIONARY.CODE IS 'Код';
|
|||
|
||||
COMMENT ON COLUMN CLEARING_STATUS_DICTIONARY.NAME IS 'Наименование';
|
||||
|
||||
-- moneyFlowSide - Направление заявки
|
||||
DROP TABLE IF EXISTS MONEY_FLOW_SIDE_DICTIONARY;
|
||||
CREATE TABLE MONEY_FLOW_SIDE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255));
|
||||
COMMENT ON TABLE MONEY_FLOW_SIDE_DICTIONARY IS 'Направление заявки';
|
||||
|
||||
COMMENT ON COLUMN MONEY_FLOW_SIDE_DICTIONARY.ID IS 'Идентификатор';
|
||||
|
||||
COMMENT ON COLUMN MONEY_FLOW_SIDE_DICTIONARY.CODE IS 'Код';
|
||||
|
||||
COMMENT ON COLUMN MONEY_FLOW_SIDE_DICTIONARY.NAME IS 'Значение';
|
||||
|
||||
-- inOutDirection - Справочник значений направления денежного потока
|
||||
DROP TABLE IF EXISTS IN_OUT_DIRECTION_DICTIONARY;
|
||||
CREATE TABLE IN_OUT_DIRECTION_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255));
|
||||
|
|
@ -619,17 +663,6 @@ COMMENT ON COLUMN IN_OUT_S_DF_TYPE_DICTIONARY.CODE IS 'Код';
|
|||
|
||||
COMMENT ON COLUMN IN_OUT_S_DF_TYPE_DICTIONARY.NAME IS 'Тип записи';
|
||||
|
||||
-- sessionStatus - Справочник статусов клиринговой сессии
|
||||
DROP TABLE IF EXISTS SESSION_STATUS_DICTIONARY;
|
||||
CREATE TABLE SESSION_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50));
|
||||
COMMENT ON TABLE SESSION_STATUS_DICTIONARY IS 'Справочник статусов клиринговой сессии';
|
||||
|
||||
COMMENT ON COLUMN SESSION_STATUS_DICTIONARY.ID IS 'Идентификатор';
|
||||
|
||||
COMMENT ON COLUMN SESSION_STATUS_DICTIONARY.CODE IS 'Код';
|
||||
|
||||
COMMENT ON COLUMN SESSION_STATUS_DICTIONARY.NAME IS 'Наименование';
|
||||
|
||||
-- objectType - Справочник типов объектов
|
||||
DROP TABLE IF EXISTS OBJECT_TYPE_DICTIONARY;
|
||||
CREATE TABLE OBJECT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50));
|
||||
|
|
@ -1427,7 +1460,7 @@ COMMENT ON COLUMN MARKET.EXCHANGE_ID IS 'Идентификатор площад
|
|||
|
||||
COMMENT ON COLUMN MARKET.NAME IS 'Наименование рынка';
|
||||
|
||||
COMMENT ON COLUMN MARKET.CODE IS 'Код рынка';
|
||||
COMMENT ON COLUMN MARKET.CODE IS 'Код рынка (linked to marketCode)';
|
||||
|
||||
COMMENT ON COLUMN MARKET.SETTLEMENT_CURRENCY IS 'Код валюты расчета (linked to currencyCode)';
|
||||
|
||||
|
|
@ -1455,7 +1488,7 @@ COMMENT ON COLUMN MARKET_HISTORY.EXCHANGE_ID IS 'Идентификатор пл
|
|||
|
||||
COMMENT ON COLUMN MARKET_HISTORY.NAME IS 'Наименование рынка';
|
||||
|
||||
COMMENT ON COLUMN MARKET_HISTORY.CODE IS 'Код рынка';
|
||||
COMMENT ON COLUMN MARKET_HISTORY.CODE IS 'Код рынка (linked to marketCode)';
|
||||
|
||||
COMMENT ON COLUMN MARKET_HISTORY.SETTLEMENT_CURRENCY IS 'Код валюты расчета (linked to currencyCode)';
|
||||
|
||||
|
|
@ -2227,6 +2260,426 @@ COMMENT ON COLUMN LAUNCHER.CREATED_AT IS 'Дата-время создания
|
|||
|
||||
COMMENT ON COLUMN LAUNCHER.UPDATED_AT IS 'Дата-время изменения записи';
|
||||
|
||||
-- session - Клиринговая сессия
|
||||
DROP TABLE IF EXISTS SESSION;
|
||||
CREATE TABLE SESSION(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date, SESSION_STATUS varchar(4), COMPANY_ID bigint, SECURITY_ID bigint, USER_ID bigint, SECTION varchar(4), SESSION_TYPE varchar(4));
|
||||
COMMENT ON TABLE SESSION IS 'Клиринговая сессия';
|
||||
|
||||
COMMENT ON COLUMN SESSION.ID IS 'Идентификатор записи';
|
||||
|
||||
COMMENT ON COLUMN SESSION.CREATED_AT IS 'Дата-время создания записи';
|
||||
|
||||
COMMENT ON COLUMN SESSION.UPDATED_AT IS 'Дата-время изменения записи';
|
||||
|
||||
COMMENT ON COLUMN SESSION.CLEARING_DATE IS 'Дата';
|
||||
|
||||
COMMENT ON COLUMN SESSION.SESSION_STATUS IS 'Код статуса клиринговой сессии (linked to sessionStatus)';
|
||||
|
||||
COMMENT ON COLUMN SESSION.COMPANY_ID IS 'Идентификатор инициатора торгов (linked to company)';
|
||||
|
||||
COMMENT ON COLUMN SESSION.SECURITY_ID IS 'Идентификатор инструмента (linked to security)';
|
||||
|
||||
COMMENT ON COLUMN SESSION.USER_ID IS 'Идентификатор пользователя (linked to userCls)';
|
||||
|
||||
COMMENT ON COLUMN SESSION.SECTION IS 'Код наименования секции (linked to section)';
|
||||
|
||||
COMMENT ON COLUMN SESSION.SESSION_TYPE IS 'Код типа клиринговой сессии (linked to sessionType)';
|
||||
|
||||
|
||||
-- History log of session - Клиринговая сессия
|
||||
DROP TABLE IF EXISTS SESSION_HISTORY;
|
||||
CREATE TABLE SESSION_HISTORY(SESSION_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date, SESSION_STATUS varchar(4), COMPANY_ID bigint, SECURITY_ID bigint, USER_ID bigint, SECTION varchar(4), SESSION_TYPE varchar(4));
|
||||
COMMENT ON TABLE SESSION_HISTORY IS 'История изменений таблицы session';
|
||||
COMMENT ON COLUMN SESSION_HISTORY.SESSION_ID IS 'Идентификатор записи в таблице SESSION';
|
||||
COMMENT ON COLUMN SESSION_HISTORY.EVENT_TIME IS 'Дата и время изменения';
|
||||
COMMENT ON COLUMN SESSION_HISTORY.EVENT_USER_ID IS 'Инициатор изменения';
|
||||
COMMENT ON COLUMN SESSION_HISTORY.EVENT_TYPE IS 'Тип изменения';
|
||||
|
||||
COMMENT ON COLUMN SESSION_HISTORY.ID IS 'Идентификатор записи';
|
||||
|
||||
COMMENT ON COLUMN SESSION_HISTORY.CREATED_AT IS 'Дата-время создания записи';
|
||||
|
||||
COMMENT ON COLUMN SESSION_HISTORY.UPDATED_AT IS 'Дата-время изменения записи';
|
||||
|
||||
COMMENT ON COLUMN SESSION_HISTORY.CLEARING_DATE IS 'Дата';
|
||||
|
||||
COMMENT ON COLUMN SESSION_HISTORY.SESSION_STATUS IS 'Код статуса клиринговой сессии (linked to sessionStatus)';
|
||||
|
||||
COMMENT ON COLUMN SESSION_HISTORY.COMPANY_ID IS 'Идентификатор инициатора торгов (linked to company)';
|
||||
|
||||
COMMENT ON COLUMN SESSION_HISTORY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)';
|
||||
|
||||
COMMENT ON COLUMN SESSION_HISTORY.USER_ID IS 'Идентификатор пользователя (linked to userCls)';
|
||||
|
||||
COMMENT ON COLUMN SESSION_HISTORY.SECTION IS 'Код наименования секции (linked to section)';
|
||||
|
||||
COMMENT ON COLUMN SESSION_HISTORY.SESSION_TYPE IS 'Код типа клиринговой сессии (linked to sessionType)';
|
||||
|
||||
-- sTrades - Сделки из Торговой системы
|
||||
DROP TABLE IF EXISTS S_TRADES;
|
||||
CREATE TABLE S_TRADES(ID bigint PRIMARY KEY, TRADE_NUM bigint, OPERATION varchar(40), CLASS_CODE varchar(255), TRADE_DATE date, SEC_CODE varchar(255), ACCRUEDINT numeric(72,18), ACCRUEDINT2 numeric(72,18), LOWER_DISCOUNT numeric(72,18), ORDER_NUM bigint, PRICE numeric(72,18), PRICE2 numeric(72,18), REPO_RATE numeric(72,18), REPO_VALUE numeric(72,18), REPO2_VALUE numeric(72,18), START_DISCOUNT numeric(72,18), TS_COMMISSION numeric(72,18), UPPER_DISCOUNT numeric(72,18), VALUE numeric(72,18), YIELD numeric(72,18), QTY numeric(72,18), QTY_PCS numeric(72,18), TRADE_DATE_TIME timestamp, REPO_TERM bigint, CLEARING_COMMISSION numeric(72,18), EXCHANGE_COMMISSION numeric(72,18), TECH_CENTER_COMMISSION numeric(72,18), ACCOUNT varchar(50), BROKER_REF varchar(34), CLIENT_CODE varchar(255), SETTLE_CODE varchar(50), USER_ID varchar(32), EXCHANGE_CODE varchar(64), FIRM_ID varchar(255), FIRM_NAME varchar(255), CP_FIRM_ID varchar(255), CP_FIRM_NAME varchar(255), CLASS_NAME varchar(255), SEC_NAME varchar(255), SETTLE_DATE date, SETTLE_CURRENCY varchar(4), TRADE_CURRENCY varchar(4), TRADE_TIME_MS bigint, BANK_ACC_ID varchar(12), SECTION varchar(4));
|
||||
COMMENT ON TABLE S_TRADES IS 'Сделки из Торговой системы';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.ID IS 'Идентификатор записи';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.TRADE_NUM IS 'Номер сделки';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.OPERATION IS 'Направленность сделки (BUY или SELL)';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.CLASS_CODE IS 'Код класса инструментов';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.TRADE_DATE IS 'Дата торговой сессии';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.SEC_CODE IS 'Код инструмента';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.ACCRUEDINT IS 'Накопленный купонный доход';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.ACCRUEDINT2 IS 'Доход(%) на дату выкупа';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.LOWER_DISCOUNT IS 'Нижний дисконт(%)';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.ORDER_NUM IS 'Номер заявки';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.PRICE IS 'Цена сделки';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.PRICE2 IS 'Цена выкупа второй части РЕПО';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.REPO_RATE IS 'Ставка РЕПО (%)';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.REPO_VALUE IS 'Сумма РЕПО';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.REPO2_VALUE IS 'Объем сделки выкупа РЕПО, рублей';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.START_DISCOUNT IS 'Начальный дисконт(%)';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.TS_COMMISSION IS 'Комиссия торговой системы';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.UPPER_DISCOUNT IS 'Верхний дисконт(%)';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.VALUE IS 'Объем сделки без учета комиссионного сбора биржи и % дохода';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.YIELD IS 'Доходность';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.QTY IS 'Количество бумаг в лотах';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.QTY_PCS IS 'Количество бумаг в штуках';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.TRADE_DATE_TIME IS 'Дата и время сделки';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.REPO_TERM IS 'Срок РЕПО';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.CLEARING_COMMISSION IS 'Клиринговая комиссия. Параметр сделок на МБ';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.EXCHANGE_COMMISSION IS 'Комиссия Фондовой биржи. Параметр сделок на МБ';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.TECH_CENTER_COMMISSION IS 'Комиссия Технического центра. Параметр сделок на МБ';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.ACCOUNT IS 'Торговый счет';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.BROKER_REF IS 'Комментарий, обычно: код клиента>/номер поручения>';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.CLIENT_CODE IS 'Код участника торгов = Код участника клиринга = Код участника расчетов';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.SETTLE_CODE IS 'Код расчетов по сделке';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.USER_ID IS 'Идентификатор трейдера';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.EXCHANGE_CODE IS 'Идентификатор биржи';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.FIRM_ID IS 'Трейдер';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.FIRM_NAME IS 'Организация трейдера';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.CP_FIRM_ID IS 'Партнер';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.CP_FIRM_NAME IS 'Организация партнера';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.CLASS_NAME IS 'Класс инструмента';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.SEC_NAME IS 'Полное наименование инструмента';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.SETTLE_DATE IS 'Дата расчетов';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.SETTLE_CURRENCY IS 'Валюта расчетов';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.TRADE_CURRENCY IS 'Валюта сделки';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.TRADE_TIME_MS IS 'Микросекунды времени сделки';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.BANK_ACC_ID IS 'Идентификатор расчетного счета/кода в клиринговой организации';
|
||||
|
||||
COMMENT ON COLUMN S_TRADES.SECTION IS 'Код наименования секции (linked to section)';
|
||||
|
||||
-- executionDeposit - Сделки
|
||||
DROP TABLE IF EXISTS EXECUTION_DEPOSIT;
|
||||
CREATE TABLE EXECUTION_DEPOSIT(EXCHANGE_EXECUTION_ID bigint, EXCHANGE_EXECUTION_TIME timestamp, TRADING_DATE date, TRADING_CLEARING_REGISTRY_ID bigint, MARKET varchar(4), PRICE numeric(72,18), LOTS numeric(72,2), QUANTITY numeric(72,2), FIRST_LEG_AMOUNT numeric(72,2), SECOND_LEG_AMOUNT numeric(72,2), INTEREST_AMOUNT numeric(72,2), SIDE varchar(4), SETTLEMENT_CURRENCY varchar(4), COMPANY_ID bigint, DURATION bigint, FIRST_LEG_SETTLEMENT_DATE date, SECOND_LEG_SETTLEMENT_DATE date, FIRST_LEG_SETTLEMENT_CODE varchar(12), SECOND_LEG_SETTLEMENT_CODE varchar(12), SECURITY_FULL_NAME varchar(255), SECURITY_SYMBOL varchar(255), SECURITY_ID bigint, CONTRACT varchar(255), COUNTER_PARTY_ID bigint, COVERAGE_STATUS varchar(4), SESSION_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date);
|
||||
COMMENT ON TABLE EXECUTION_DEPOSIT IS 'Сделки';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделки в Торговой системе';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.EXCHANGE_EXECUTION_TIME IS 'Время заключения сделки в Торговой системе';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.TRADING_DATE IS 'Дата заключения сделки';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.MARKET IS 'Код секции финансового инструмента (linked to market)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.PRICE IS 'Ставка по депозиту';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.LOTS IS 'Количество лотов';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.QUANTITY IS 'Количество штук';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.FIRST_LEG_AMOUNT IS 'Объем сделки';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.SECOND_LEG_AMOUNT IS 'Объем возврата';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.INTEREST_AMOUNT IS 'Объем процентов';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.SIDE IS 'Код направления сделки (linked to moneyFlowSide)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.SETTLEMENT_CURRENCY IS 'Код валюты расчетов по инструменту (linked to currencyCode)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.COMPANY_ID IS 'Идентификатор компании (linked to company)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.DURATION IS 'Срок, дней';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.FIRST_LEG_SETTLEMENT_DATE IS 'Дата размещения';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.SECOND_LEG_SETTLEMENT_DATE IS 'Дата возврата';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.FIRST_LEG_SETTLEMENT_CODE IS 'Код расчетов при размещении';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.SECOND_LEG_SETTLEMENT_CODE IS 'Код расчетов при возврате';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.SECURITY_FULL_NAME IS 'Наименование инструмента';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.SECURITY_SYMBOL IS 'Код инструмента в Торговой Системе';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.SECURITY_ID IS 'Идентификатор финансового инструмента (linked to moneyMarketSecurity)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.CONTRACT IS 'Продукт';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.COUNTER_PARTY_ID IS 'Идентификатор компании-партнера, с которой заключена сделка (linked to company)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.COVERAGE_STATUS IS 'Код статуса достаточности обеспечения (linked to allowed)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.SESSION_ID IS 'Сессия (linked to session)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.ID IS 'Идентификатор записи';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.CREATED_AT IS 'Дата-время создания записи';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.UPDATED_AT IS 'Дата-время изменения записи';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.CLEARING_DATE IS 'Дата клиринга';
|
||||
|
||||
|
||||
-- History log of executionDeposit - Сделки
|
||||
DROP TABLE IF EXISTS EXECUTION_DEPOSIT_HISTORY;
|
||||
CREATE TABLE EXECUTION_DEPOSIT_HISTORY(EXECUTION_DEPOSIT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), EXCHANGE_EXECUTION_ID bigint, EXCHANGE_EXECUTION_TIME timestamp, TRADING_DATE date, TRADING_CLEARING_REGISTRY_ID bigint, MARKET varchar(4), PRICE numeric(72,18), LOTS numeric(72,2), QUANTITY numeric(72,2), FIRST_LEG_AMOUNT numeric(72,2), SECOND_LEG_AMOUNT numeric(72,2), INTEREST_AMOUNT numeric(72,2), SIDE varchar(4), SETTLEMENT_CURRENCY varchar(4), COMPANY_ID bigint, DURATION bigint, FIRST_LEG_SETTLEMENT_DATE date, SECOND_LEG_SETTLEMENT_DATE date, FIRST_LEG_SETTLEMENT_CODE varchar(12), SECOND_LEG_SETTLEMENT_CODE varchar(12), SECURITY_FULL_NAME varchar(255), SECURITY_SYMBOL varchar(255), SECURITY_ID bigint, CONTRACT varchar(255), COUNTER_PARTY_ID bigint, COVERAGE_STATUS varchar(4), SESSION_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date);
|
||||
COMMENT ON TABLE EXECUTION_DEPOSIT_HISTORY IS 'История изменений таблицы executionDeposit';
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.EXECUTION_DEPOSIT_ID IS 'Идентификатор записи в таблице EXECUTION_DEPOSIT';
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.EVENT_TIME IS 'Дата и время изменения';
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.EVENT_USER_ID IS 'Инициатор изменения';
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.EVENT_TYPE IS 'Тип изменения';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделки в Торговой системе';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.EXCHANGE_EXECUTION_TIME IS 'Время заключения сделки в Торговой системе';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.TRADING_DATE IS 'Дата заключения сделки';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.MARKET IS 'Код секции финансового инструмента (linked to market)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.PRICE IS 'Ставка по депозиту';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.LOTS IS 'Количество лотов';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.QUANTITY IS 'Количество штук';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.FIRST_LEG_AMOUNT IS 'Объем сделки';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.SECOND_LEG_AMOUNT IS 'Объем возврата';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.INTEREST_AMOUNT IS 'Объем процентов';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.SIDE IS 'Код направления сделки (linked to moneyFlowSide)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.SETTLEMENT_CURRENCY IS 'Код валюты расчетов по инструменту (linked to currencyCode)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.DURATION IS 'Срок, дней';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.FIRST_LEG_SETTLEMENT_DATE IS 'Дата размещения';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.SECOND_LEG_SETTLEMENT_DATE IS 'Дата возврата';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.FIRST_LEG_SETTLEMENT_CODE IS 'Код расчетов при размещении';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.SECOND_LEG_SETTLEMENT_CODE IS 'Код расчетов при возврате';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.SECURITY_FULL_NAME IS 'Наименование инструмента';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.SECURITY_SYMBOL IS 'Код инструмента в Торговой Системе';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.SECURITY_ID IS 'Идентификатор финансового инструмента (linked to moneyMarketSecurity)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.CONTRACT IS 'Продукт';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.COUNTER_PARTY_ID IS 'Идентификатор компании-партнера, с которой заключена сделка (linked to company)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.COVERAGE_STATUS IS 'Код статуса достаточности обеспечения (linked to allowed)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.SESSION_ID IS 'Сессия (linked to session)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.ID IS 'Идентификатор записи';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.CREATED_AT IS 'Дата-время создания записи';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.UPDATED_AT IS 'Дата-время изменения записи';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.CLEARING_DATE IS 'Дата клиринга';
|
||||
|
||||
-- executionFond - Сделки на Фондовой секции
|
||||
DROP TABLE IF EXISTS EXECUTION_FOND;
|
||||
CREATE TABLE EXECUTION_FOND(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date, EXCHANGE_EXECUTION_ID bigint, SIDE varchar(4), MARKET varchar(4), TRADING_DATE date, SECURITY_SYMBOL varchar(255), SECURITY_ID bigint, INTEREST_AMOUNT numeric(72,2), EXCHANGE_ORDER_ID bigint, PRICE numeric(72,18), SETTLEMENT_AMOUNT numeric(72,2), LOTS numeric(72,2), QUANTITY numeric(72,2), EXCHANGE_EXECUTION_TIME timestamp, DURATION bigint, TRADING_CLEARING_REGISTRY_ID bigint, COMMENT varchar(255), CLIENT_CODE_ID bigint, SETTLEMENT_CODE varchar(12), COMPANY_ID bigint, COUNTER_PARTY_ID bigint, SECURITY_FULL_NAME varchar(255), SETTLEMENT_DATE date, SETTLEMENT_CURRENCY varchar(4), EXCHANGE_EXECUTION_MICROSECONDS timestamp, COVERAGE_STATUS varchar(4), SESSION_ID bigint);
|
||||
COMMENT ON TABLE EXECUTION_FOND IS 'Сделки на Фондовой секции';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.ID IS 'Идентификатор записи';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.CREATED_AT IS 'Дата-время создания записи';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.UPDATED_AT IS 'Дата-время изменения записи';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.CLEARING_DATE IS 'Дата клиринга';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделки в Торговой системе';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.SIDE IS 'Код направления сделки (linked to moneyFlowSide)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.MARKET IS 'Код секции финансового инструмента (linked to market)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.TRADING_DATE IS 'Дата заключения сделки';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.SECURITY_SYMBOL IS 'Код инструмента в Торговой Системе';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.SECURITY_ID IS 'Идентификатор финансового инструмента (linked to security)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.INTEREST_AMOUNT IS 'Объем процентов';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.EXCHANGE_ORDER_ID IS 'Идентификационный номер заявки в Торговой системе';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.PRICE IS 'Ставка по депозиту';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.SETTLEMENT_AMOUNT IS 'Объем сделки';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.LOTS IS 'Количество лотов';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.QUANTITY IS 'Количество штук';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.EXCHANGE_EXECUTION_TIME IS 'Время заключения сделки в Торговой системе';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.DURATION IS 'Срок, дней';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.COMMENT IS 'Комментарий';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.CLIENT_CODE_ID IS 'Идентификатор кода клиента';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.SETTLEMENT_CODE IS 'Код расчетов при размещении';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.COMPANY_ID IS 'Идентификатор компании (linked to company)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.COUNTER_PARTY_ID IS 'Идентификатор компании-партнера, с которой заключена сделка (linked to company)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.SECURITY_FULL_NAME IS 'Наименование инструмента';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.SETTLEMENT_DATE IS 'Дата расчетов';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.SETTLEMENT_CURRENCY IS 'Код валюты расчетов по инструменту (linked to currencyCode)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.EXCHANGE_EXECUTION_MICROSECONDS IS 'Микросекунды заключения сделки в Торговой системе';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.COVERAGE_STATUS IS 'Код статуса достаточности обеспечения (linked to allowed)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND.SESSION_ID IS 'Идентификатор сессии (linked to session)';
|
||||
|
||||
|
||||
-- History log of executionFond - Сделки на Фондовой секции
|
||||
DROP TABLE IF EXISTS EXECUTION_FOND_HISTORY;
|
||||
CREATE TABLE EXECUTION_FOND_HISTORY(EXECUTION_FOND_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date, EXCHANGE_EXECUTION_ID bigint, SIDE varchar(4), MARKET varchar(4), TRADING_DATE date, SECURITY_SYMBOL varchar(255), SECURITY_ID bigint, INTEREST_AMOUNT numeric(72,2), EXCHANGE_ORDER_ID bigint, PRICE numeric(72,18), SETTLEMENT_AMOUNT numeric(72,2), LOTS numeric(72,2), QUANTITY numeric(72,2), EXCHANGE_EXECUTION_TIME timestamp, DURATION bigint, TRADING_CLEARING_REGISTRY_ID bigint, COMMENT varchar(255), CLIENT_CODE_ID bigint, SETTLEMENT_CODE varchar(12), COMPANY_ID bigint, COUNTER_PARTY_ID bigint, SECURITY_FULL_NAME varchar(255), SETTLEMENT_DATE date, SETTLEMENT_CURRENCY varchar(4), EXCHANGE_EXECUTION_MICROSECONDS timestamp, COVERAGE_STATUS varchar(4), SESSION_ID bigint);
|
||||
COMMENT ON TABLE EXECUTION_FOND_HISTORY IS 'История изменений таблицы executionFond';
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.EXECUTION_FOND_ID IS 'Идентификатор записи в таблице EXECUTION_FOND';
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.EVENT_TIME IS 'Дата и время изменения';
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.EVENT_USER_ID IS 'Инициатор изменения';
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.EVENT_TYPE IS 'Тип изменения';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.ID IS 'Идентификатор записи';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.CREATED_AT IS 'Дата-время создания записи';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.UPDATED_AT IS 'Дата-время изменения записи';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.CLEARING_DATE IS 'Дата клиринга';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделки в Торговой системе';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SIDE IS 'Код направления сделки (linked to moneyFlowSide)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.MARKET IS 'Код секции финансового инструмента (linked to market)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.TRADING_DATE IS 'Дата заключения сделки';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SECURITY_SYMBOL IS 'Код инструмента в Торговой Системе';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SECURITY_ID IS 'Идентификатор финансового инструмента (linked to security)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.INTEREST_AMOUNT IS 'Объем процентов';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.EXCHANGE_ORDER_ID IS 'Идентификационный номер заявки в Торговой системе';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.PRICE IS 'Ставка по депозиту';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SETTLEMENT_AMOUNT IS 'Объем сделки';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.LOTS IS 'Количество лотов';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.QUANTITY IS 'Количество штук';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.EXCHANGE_EXECUTION_TIME IS 'Время заключения сделки в Торговой системе';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.DURATION IS 'Срок, дней';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.COMMENT IS 'Комментарий';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.CLIENT_CODE_ID IS 'Идентификатор кода клиента';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SETTLEMENT_CODE IS 'Код расчетов при размещении';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.COUNTER_PARTY_ID IS 'Идентификатор компании-партнера, с которой заключена сделка (linked to company)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SECURITY_FULL_NAME IS 'Наименование инструмента';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SETTLEMENT_DATE IS 'Дата расчетов';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SETTLEMENT_CURRENCY IS 'Код валюты расчетов по инструменту (linked to currencyCode)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.EXCHANGE_EXECUTION_MICROSECONDS IS 'Микросекунды заключения сделки в Торговой системе';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.COVERAGE_STATUS IS 'Код статуса достаточности обеспечения (linked to allowed)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SESSION_ID IS 'Идентификатор сессии (linked to session)';
|
||||
|
||||
-- clearmemberRegister - Реестр участников клиринга
|
||||
DROP TABLE IF EXISTS CLEARMEMBER_REGISTER;
|
||||
CREATE TABLE CLEARMEMBER_REGISTER(TRADING_CODE varchar(255), CLEARING_CODE varchar(255), FULL_NAME varchar(255), SHORT_NAME varchar(255), CATEGORY_LIST varchar(4), CORPORATION_SOLE varchar(4), ACCOUNT varchar(50), BANK bigint, BANK_NAME varchar(255), INN varchar(255), BIC varchar(255), OGRN varchar(255), CPP varchar(255), OCPO varchar(255), CONTRACT_NUMBER varchar(255), CONTRACT_DATE date, REGISTRATION_DATE date, SYSTEM_DATE date, ACCESS_DATE timestamp, SUSPENTION_DATE timestamp, REOPENING_DATE timestamp, CLOSE_DATE timestamp, EXCLUSION_DATE timestamp, ADDRESS varchar(255), EMAIL varchar(255), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
|
||||
|
|
@ -2452,69 +2905,6 @@ COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.RESULT_STATUS IS 'Статус выгру
|
|||
|
||||
COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.ID IS 'Идентификатор записи';
|
||||
|
||||
-- executionDeposit - Сделки
|
||||
DROP TABLE IF EXISTS EXECUTION_DEPOSIT;
|
||||
CREATE TABLE EXECUTION_DEPOSIT(EXCHANGE_EXECUTION_ID bigint, EXCHANGE_EXECUTION_TIME timestamp, TRADING_DATE date, ACCOUNT_ID bigint, MARKET varchar(4), PRICE numeric(72,18), LOTS numeric(72,2), QUANTITY numeric(72,2), FIRST_LEG_AMOUNT numeric(72,2), SECOND_LEG_AMOUNT numeric(72,2), INTEREST_AMOUNT numeric(72,2), SIDE varchar(4), SETTLEMENT_CURRENCY varchar(4), COMPANY_ID bigint, DURATION bigint, FIRST_LEG_SETTLEMENT_DATE date, SECOND_LEG_SETTLEMENT_DATE date, FIRST_LEG_SETTLEMENT_CODE date, SECOND_LEG_SETTLEMENT_CODE date, SECURITY_FULL_NAME varchar(255), SECURITY_SYMBOL varchar(255), SECURITY_ID bigint, COUNTER_PARTY_ID bigint, COVERAGE_STATUS varchar(4), SESSION_ID bigint, ID bigint PRIMARY KEY, CREATED_AT time, UPDATED_AT time, CLEARING_DATE date);
|
||||
COMMENT ON TABLE EXECUTION_DEPOSIT IS 'Сделки';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделки в Торговой системе';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.EXCHANGE_EXECUTION_TIME IS 'Время заключения сделки в Торговой системе';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.TRADING_DATE IS 'Дата заключения сделки';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.ACCOUNT_ID IS 'Торговый счет (linked to account)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.MARKET IS 'Секция финансового инструмента (linked to market)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.PRICE IS 'Ставка по депозиту';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.LOTS IS 'Количество лотов';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.QUANTITY IS 'Количество штук';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.FIRST_LEG_AMOUNT IS 'Объем сделки';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.SECOND_LEG_AMOUNT IS 'Объем возврата';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.INTEREST_AMOUNT IS 'Объем процентов';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.SIDE IS 'Направление сделки (linked to moneyFlowSide)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.SETTLEMENT_CURRENCY IS 'Валюта расчетов по инструменту (linked to currencyCode)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.COMPANY_ID IS 'Название компании (linked to company)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.DURATION IS 'Срок, дней';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.FIRST_LEG_SETTLEMENT_DATE IS 'Дата размещения';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.SECOND_LEG_SETTLEMENT_DATE IS 'Дата возврата';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.FIRST_LEG_SETTLEMENT_CODE IS 'Код расчетов при размещении';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.SECOND_LEG_SETTLEMENT_CODE IS 'Код расчетов при возврате';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.SECURITY_FULL_NAME IS 'Наименование инструмента';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.SECURITY_SYMBOL IS 'Код инструмента в Торговой Системе';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.SECURITY_ID IS 'Финансовый инструмент (linked to moneyMarketSecurity)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.COUNTER_PARTY_ID IS 'Имя компании-партнера, с которым заключена сделка (linked to company)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.COVERAGE_STATUS IS 'Cтатус достаточности обеспечения (linked to allowed)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.SESSION_ID IS 'Наименование сессии (linked to moneyMarketSession)';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.ID IS 'Идентификатор записи';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.CREATED_AT IS 'Время регистрации сделки';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.UPDATED_AT IS 'Время изменения сделки';
|
||||
|
||||
COMMENT ON COLUMN EXECUTION_DEPOSIT.CLEARING_DATE IS 'Дата клиринга';
|
||||
|
||||
-- dealRegister - Реестр сделок
|
||||
DROP TABLE IF EXISTS DEAL_REGISTER;
|
||||
CREATE TABLE DEAL_REGISTER(EXECUTION_ID bigint, EXCHANGE_EXECUTION_ID bigint, EXCHANGE_EXECUTION_TIME timestamp, TRADING_DATE date, ACCOUNT varchar(50), MARKET varchar(4), PRICE numeric(72,18), AMOUNT numeric(72,2), SIDE varchar(4), SETTLEMENT_CURRENCY varchar(4), COMPANY_ID bigint, FIRST_LEG_SETTLEMENT_DATE date, SECOND_LEG_SETTLEMENT_DATE date, SECURITY_FULL_NAME varchar(255), SECURITY_SYMBOL varchar(255), SECURITY_ID bigint, COUNTER_PARTY_ID bigint, COVERAGE_STATUS varchar(4), SESSION_ID bigint, ID bigint PRIMARY KEY, CREATED_AT time, UPDATED_AT time, CLEARING_DATE date);
|
||||
|
|
@ -3892,51 +4282,6 @@ COMMENT ON COLUMN S_DF18.GENERATION_ID IS 'Идентификатор взаим
|
|||
|
||||
COMMENT ON COLUMN S_DF18.IN_S_DF12_ID IS 'Идентификатор соответствующей записи из таблицы-источника';
|
||||
|
||||
-- s_trade - Сделки из Торговой системы
|
||||
DROP TABLE IF EXISTS S_TRADE;
|
||||
CREATE TABLE S_TRADE(ID bigint PRIMARY KEY, TRADE_NUM bigint, SEC_CODE varchar(255), TRADE_DATE_TIME timestamp, SETTLE_DATE date, PRICE numeric(72,18), VALUE numeric(72,2), QTY numeric(72,2), ACCRUEDINT numeric(72,18), FIRM_ID varchar(255), CLIENT_CODE varchar(255), EXCHANGE_COMMISSION numeric(72,2), CLASS_CODE varchar(255), OPERATION varchar(255), ISSUE_ACCOUNT varchar(50), MONEY_ACCOUNT varchar(50), TRADE_TYPE varchar(50), DAYS_TO_MAT_DATE bigint, COLLATERAL varchar(50), SETTLE_CODE varchar(50));
|
||||
COMMENT ON TABLE S_TRADE IS 'Сделки из Торговой системы';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.ID IS 'Идентификатор записи';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.TRADE_NUM IS 'Номер сделки';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.SEC_CODE IS 'Код ценной бумаги';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.TRADE_DATE_TIME IS 'Дата-время сделки';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.SETTLE_DATE IS 'Плановая дата исполнения сделки';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.PRICE IS 'Цена сделки';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.VALUE IS 'Сумма сделки';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.QTY IS 'Количество лотов по сделке';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.ACCRUEDINT IS 'НКД за 1 ценную бумагу';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.FIRM_ID IS 'ID клиента в КС';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.CLIENT_CODE IS 'Код участника торгов = Код участника клиринга = Код участника расчетов';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.EXCHANGE_COMMISSION IS 'Комиссия по сделке';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.CLASS_CODE IS 'Код класса сделки из новой ТС';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.OPERATION IS 'Тип плеча (Купля/Продажа)';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.ISSUE_ACCOUNT IS 'Счет для учета ценной бумаги';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.MONEY_ACCOUNT IS 'Счет для учета денежных средств';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.TRADE_TYPE IS 'Первичное размещение/торги';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.DAYS_TO_MAT_DATE IS 'Количество дней до погашения';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.COLLATERAL IS 'Признак залога (не используется)';
|
||||
|
||||
COMMENT ON COLUMN S_TRADE.SETTLE_CODE IS 'Код периода сделки из новой ТС';
|
||||
|
||||
-- notification - Сообщения
|
||||
DROP TABLE IF EXISTS NOTIFICATION;
|
||||
CREATE TABLE NOTIFICATION(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date, SENDER_ID bigint, ADDRESSEE_ID bigint, OBJECT_TYPE varchar(4), OBJECT_ID timestamp, NOTIFICATION_STATUS varchar(4));
|
||||
|
|
@ -4017,41 +4362,6 @@ COMMENT ON COLUMN VERIFICATION_RESULT.CREATED_AT IS 'Дата и время со
|
|||
|
||||
COMMENT ON COLUMN VERIFICATION_RESULT.UPDATED_AT IS 'Дата и время изменения записи';
|
||||
|
||||
-- session - Клиринговая сессия
|
||||
DROP TABLE IF EXISTS SESSION;
|
||||
CREATE TABLE SESSION(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date, SESSION_STATUS varchar(4));
|
||||
COMMENT ON TABLE SESSION IS 'Клиринговая сессия';
|
||||
|
||||
COMMENT ON COLUMN SESSION.ID IS 'Идентификатор записи';
|
||||
|
||||
COMMENT ON COLUMN SESSION.CREATED_AT IS 'Дата и время создания записи';
|
||||
|
||||
COMMENT ON COLUMN SESSION.UPDATED_AT IS 'Дата и время изменения записи';
|
||||
|
||||
COMMENT ON COLUMN SESSION.CLEARING_DATE IS 'Дата';
|
||||
|
||||
COMMENT ON COLUMN SESSION.SESSION_STATUS IS 'Статус клиринговой сессии (linked to sessionStatus)';
|
||||
|
||||
|
||||
-- History log of session - Клиринговая сессия
|
||||
DROP TABLE IF EXISTS SESSION_HISTORY;
|
||||
CREATE TABLE SESSION_HISTORY(SESSION_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date, SESSION_STATUS varchar(4));
|
||||
COMMENT ON TABLE SESSION_HISTORY IS 'История изменений таблицы session';
|
||||
COMMENT ON COLUMN SESSION_HISTORY.SESSION_ID IS 'Идентификатор записи в таблице SESSION';
|
||||
COMMENT ON COLUMN SESSION_HISTORY.EVENT_TIME IS 'Дата и время изменения';
|
||||
COMMENT ON COLUMN SESSION_HISTORY.EVENT_USER_ID IS 'Инициатор изменения';
|
||||
COMMENT ON COLUMN SESSION_HISTORY.EVENT_TYPE IS 'Тип изменения';
|
||||
|
||||
COMMENT ON COLUMN SESSION_HISTORY.ID IS 'Идентификатор записи';
|
||||
|
||||
COMMENT ON COLUMN SESSION_HISTORY.CREATED_AT IS 'Дата и время создания записи';
|
||||
|
||||
COMMENT ON COLUMN SESSION_HISTORY.UPDATED_AT IS 'Дата и время изменения записи';
|
||||
|
||||
COMMENT ON COLUMN SESSION_HISTORY.CLEARING_DATE IS 'Дата';
|
||||
|
||||
COMMENT ON COLUMN SESSION_HISTORY.SESSION_STATUS IS 'Статус клиринговой сессии (linked to sessionStatus)';
|
||||
|
||||
-- moneyMarketSession - Сессия денежного рынка
|
||||
DROP TABLE IF EXISTS MONEY_MARKET_SESSION;
|
||||
CREATE TABLE MONEY_MARKET_SESSION(ID bigint PRIMARY KEY, COMPANY_ID bigint, SECURITY_ID bigint, USER_ID bigint);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
package ru.clearing.platform.dictionary;
|
||||
|
||||
/**
|
||||
* Справочник кодов рынков
|
||||
*
|
||||
* Dictionary DB table: MARKET_CODE_DICTIONARY
|
||||
**/
|
||||
public class MarketCodeDictionary extends AbstractDictionary {
|
||||
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
|
||||
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package ru.clearing.platform.dictionary;
|
||||
|
||||
/**
|
||||
* Направление заявки
|
||||
* Справочник направлений денежного рынка
|
||||
*
|
||||
* Dictionary DB table: MONEY_FLOW_SIDE_DICTIONARY
|
||||
**/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
package ru.clearing.platform.dictionary;
|
||||
|
||||
/**
|
||||
* Справочник статусов клиринговых сессий
|
||||
*
|
||||
* Dictionary DB table: SESSION_STATUS_DICTIONARY
|
||||
**/
|
||||
public class SessionStatusDictionary extends AbstractDictionary {
|
||||
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package ru.clearing.platform.dictionary;
|
||||
|
||||
/**
|
||||
* Справочник типов клиринговых сессий
|
||||
*
|
||||
* Dictionary DB table: SESSION_TYPE_DICTIONARY
|
||||
**/
|
||||
public class SessionTypeDictionary extends AbstractDictionary {
|
||||
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package ru.clearing.platform.dictionary;
|
||||
|
||||
/**
|
||||
* Справочник направлений
|
||||
*
|
||||
* Dictionary DB table: SIDE_DICTIONARY
|
||||
**/
|
||||
public class SideDictionary extends AbstractDictionary {
|
||||
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
package ru.spcex.clearing.imdg.businessevent;
|
||||
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.clearing.classes.statics.data.execution.ExecutionDeposit;
|
||||
import ru.clearing.classes.statics.data.execution.ExecutionDepositHistory;
|
||||
import ru.spcex.clearing.imdg.base.TemplateEventMapStore;
|
||||
import ru.spcex.platform.utils.time.TimeUtil;
|
||||
|
||||
@Component
|
||||
public class ExecutionDepositHistoryMapStore extends TemplateEventMapStore<ExecutionDepositHistory> {
|
||||
|
||||
public ExecutionDepositHistoryMapStore(JdbcTemplate jdbcTemplate) {
|
||||
super(jdbcTemplate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMapName() {
|
||||
return IMDGDistributedNames.Map_ExecutionDepositHistory;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTableName() {
|
||||
return "EXECUTION_DEPOSIT_HISTORY";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getFields() {
|
||||
return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE",
|
||||
"EXECUTION_DEPOSIT_ID", "CREATED_AT", "UPDATED_AT", "EXCHANGE_EXECUTION_ID", "EXCHANGE_EXECUTION_TIME",
|
||||
"TRADING_DATE", "TRADING_CLEARING_REGISTRY_ID", "MARKET", "PRICE", "LOTS", "QUANTITY", "FIRST_LEG_AMOUNT",
|
||||
"SECOND_LEG_AMOUNT", "INTEREST_AMOUNT", "SIDE", "SETTLEMENT_CURRENCY", "COMPANY_ID", "DURATION",
|
||||
"FIRST_LEG_SETTLEMENT_DATE", "SECOND_LEG_SETTLEMENT_DATE", "FIRST_LEG_SETTLEMENT_CODE",
|
||||
"SECOND_LEG_SETTLEMENT_CODE", "SECURITY_FULL_NAME", "SECURITY_SYMBOL", "SECURITY_ID", "CONTRACT",
|
||||
"COUNTER_PARTY_ID", "COVERAGE_STATUS", "SESSION_ID", "CLEARING_DATE"
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] objectToField(ExecutionDepositHistory historyLog) {
|
||||
ExecutionDeposit object = historyLog.getObject();
|
||||
Object[] args = new Object[]{
|
||||
historyLog.getId(),
|
||||
TimeUtil.toDateFromInstant(historyLog.getEventTime()),
|
||||
historyLog.getUserId(),
|
||||
historyLog.getEventType(),
|
||||
|
||||
object.getId(),
|
||||
TimeUtil.toDateFromInstant(object.getCreated()),
|
||||
TimeUtil.toDateFromInstant(object.getUpdated()),
|
||||
object.getExchangeExecutionId(),
|
||||
TimeUtil.toDateFromInstant(object.getExchangeExecutionTime()),
|
||||
TimeUtil.toDateFromLocalDate(object.getTradingDate()),
|
||||
object.getTradingClearingRegistryId(),
|
||||
object.getMarket(),
|
||||
object.getPrice(),
|
||||
object.getLots(),
|
||||
object.getQuantity(),
|
||||
object.getFirstLegAmount(),
|
||||
object.getSecondLegAmount(),
|
||||
object.getInterestAmount(),
|
||||
object.getSide(),
|
||||
object.getSettlementCurrency(),
|
||||
object.getCompanyId(),
|
||||
object.getDuration(),
|
||||
TimeUtil.toDateFromLocalDate(object.getFirstLegSettlementDate()),
|
||||
TimeUtil.toDateFromLocalDate(object.getSecondLegSettlementDate()),
|
||||
object.getFirstLegSettlementCode(),
|
||||
object.getSecondLegSettlementCode(),
|
||||
object.getSecurityFullName(),
|
||||
object.getSecuritySymbol(),
|
||||
object.getSecurityId(),
|
||||
object.getContract(),
|
||||
object.getCounterPartyId(),
|
||||
object.getCoverageStatus(),
|
||||
object.getSessionId(),
|
||||
TimeUtil.toDateFromLocalDate(object.getClearingDate())
|
||||
};
|
||||
return args;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
package ru.spcex.clearing.imdg.businessevent;
|
||||
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.execution.ExecutionFond;
|
||||
import ru.clearing.classes.statics.data.execution.ExecutionFondHistory;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.imdg.base.TemplateEventMapStore;
|
||||
import ru.spcex.platform.utils.time.TimeUtil;
|
||||
|
||||
@Component
|
||||
public class ExecutionFondHistoryMapStore extends TemplateEventMapStore<ExecutionFondHistory> {
|
||||
|
||||
public ExecutionFondHistoryMapStore(JdbcTemplate jdbcTemplate) {
|
||||
super(jdbcTemplate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMapName() {
|
||||
return IMDGDistributedNames.Map_ExecutionFondHistory;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTableName() {
|
||||
return "EXECUTION_FOND_HISTORY";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getFields() {
|
||||
return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE",
|
||||
"EXECUTION_FOND_ID", "CREATED_AT", "UPDATED_AT", "CLEARING_DATE", "EXCHANGE_EXECUTION_ID", "SIDE", "MARKET", "TRADING_DATE", "SECURITY_SYMBOL", "SECURITY_ID", "INTEREST_AMOUNT", "EXCHANGE_ORDER_ID", "PRICE", "SETTLEMENT_AMOUNT", "LOTS", "QUANTITY", "EXCHANGE_EXECUTION_TIME", "DURATION", "TRADING_CLEARING_REGISTRY_ID", "COMMENT", "CLIENT_CODE_ID", "SETTLEMENT_CODE", "COMPANY_ID", "COUNTER_PARTY_ID", "SECURITY_FULL_NAME", "SETTLEMENT_DATE", "SETTLEMENT_CURRENCY", "EXCHANGE_EXECUTION_MICROSECONDS", "COVERAGE_STATUS", "SESSION_ID"
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] objectToField(ExecutionFondHistory historyLog) {
|
||||
ExecutionFond object = historyLog.getObject();
|
||||
Object[] args = new Object[]{
|
||||
historyLog.getId(),
|
||||
TimeUtil.toDateFromInstant(historyLog.getEventTime()),
|
||||
historyLog.getUserId(),
|
||||
historyLog.getEventType(),
|
||||
|
||||
object.getId(),
|
||||
TimeUtil.toDateFromInstant(object.getCreated()),
|
||||
TimeUtil.toDateFromInstant(object.getUpdated()),
|
||||
TimeUtil.toDateFromLocalDate(object.getClearingDate()),
|
||||
object.getExchangeExecutionId(),
|
||||
object.getSide(),
|
||||
object.getMarket(),
|
||||
TimeUtil.toDateFromLocalDate(object.getTradingDate()),
|
||||
object.getSecuritySymbol(),
|
||||
object.getSecurityId(),
|
||||
object.getInterestAmount(),
|
||||
object.getExchangeOrderId(),
|
||||
object.getPrice(),
|
||||
object.getSettlementAmount(),
|
||||
object.getLots(),
|
||||
object.getQuantity(),
|
||||
TimeUtil.toDateFromInstant(object.getExchangeExecutionTime()),
|
||||
object.getDuration(),
|
||||
object.getTradingClearingRegistryId(),
|
||||
object.getComment(),
|
||||
object.getClientCodeId(),
|
||||
object.getSettlementCode(),
|
||||
object.getCompanyId(),
|
||||
object.getCounterPartyId(),
|
||||
object.getSecurityFullName(),
|
||||
TimeUtil.toDateFromLocalDate(object.getSettlementDate()),
|
||||
object.getSettlementCurrency(),
|
||||
TimeUtil.toDateFromInstant(object.getExchangeExecutionMicroseconds()),
|
||||
object.getCoverageStatus(),
|
||||
object.getSessionId()
|
||||
};
|
||||
return args;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
package ru.spcex.clearing.imdg.businessevent;
|
||||
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.clearing.classes.statics.data.misc.Session;
|
||||
import ru.clearing.classes.statics.data.misc.SessionHistory;
|
||||
import ru.spcex.clearing.imdg.base.TemplateEventMapStore;
|
||||
import ru.spcex.platform.utils.time.TimeUtil;
|
||||
|
||||
@Component
|
||||
public class SessionHistoryMapStore extends TemplateEventMapStore<SessionHistory> {
|
||||
|
||||
public SessionHistoryMapStore(JdbcTemplate jdbcTemplate) {
|
||||
super(jdbcTemplate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMapName() {
|
||||
return IMDGDistributedNames.Map_SessionHistory;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTableName() {
|
||||
return "SESSION_HISTORY";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getFields() {
|
||||
return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE",
|
||||
"SESSION_ID", "CREATED_AT", "UPDATED_AT", "CLEARING_DATE", "SESSION_STATUS", "COMPANY_ID", "SECURITY_ID", "USER_ID", "SECTION", "SESSION_TYPE"
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] objectToField(SessionHistory historyLog) {
|
||||
Session object = historyLog.getObject();
|
||||
Object[] args = new Object[]{
|
||||
historyLog.getId(),
|
||||
TimeUtil.toDateFromInstant(historyLog.getEventTime()),
|
||||
historyLog.getUserId(),
|
||||
historyLog.getEventType(),
|
||||
|
||||
object.getId(),
|
||||
TimeUtil.toDateFromInstant(object.getCreated()),
|
||||
TimeUtil.toDateFromInstant(object.getUpdated()),
|
||||
TimeUtil.toDateFromLocalDate(object.getClearingDate()),
|
||||
object.getSessionStatus(),
|
||||
object.getCompanyId(),
|
||||
object.getSecurityId(),
|
||||
object.getUserId(),
|
||||
object.getSection(),
|
||||
object.getSessionType()
|
||||
};
|
||||
return args;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,114 @@
|
|||
package ru.spcex.clearing.imdg.businessobject;
|
||||
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.execution.ExecutionFond;
|
||||
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;
|
||||
|
||||
@Component
|
||||
public class ExecutionFondMapStore extends TemplateMapStore<ExecutionFond> {
|
||||
|
||||
public ExecutionFondMapStore(JdbcTemplate jdbcTemplate) {
|
||||
super(jdbcTemplate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMapName() {
|
||||
return IMDGDistributedNames.Map_ExecutionFond;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTableName() {
|
||||
return "EXECUTION_FOND";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getFields() {
|
||||
return new String[]{
|
||||
"ID", "CREATED_AT", "UPDATED_AT", "CLEARING_DATE", "EXCHANGE_EXECUTION_ID", "SIDE", "MARKET",
|
||||
"TRADING_DATE", "SECURITY_SYMBOL", "SECURITY_ID", "INTEREST_AMOUNT", "EXCHANGE_ORDER_ID", "PRICE",
|
||||
"SETTLEMENT_AMOUNT", "LOTS", "QUANTITY", "EXCHANGE_EXECUTION_TIME", "DURATION", "TRADING_CLEARING_REGISTRY_ID",
|
||||
"COMMENT", "CLIENT_CODE_ID", "SETTLEMENT_CODE", "COMPANY_ID", "COUNTER_PARTY_ID", "SECURITY_FULL_NAME",
|
||||
"SETTLEMENT_DATE", "SETTLEMENT_CURRENCY", "EXCHANGE_EXECUTION_MICROSECONDS", "COVERAGE_STATUS", "SESSION_ID"
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExecutionFond objectReader(ResultSet resultSet) throws SQLException {
|
||||
ExecutionFond object = new ExecutionFond();
|
||||
object.setId(resultSet.getObject("ID", Long.class));
|
||||
object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT"));
|
||||
object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT"));
|
||||
object.setClearingDate(getLocalDateFromSqlDate(resultSet, "CLEARING_DATE"));
|
||||
object.setExchangeExecutionId(resultSet.getObject("EXCHANGE_EXECUTION_ID", Long.class));
|
||||
object.setSide(resultSet.getObject("SIDE", String.class));
|
||||
object.setMarket(resultSet.getObject("MARKET", String.class));
|
||||
object.setTradingDate(getLocalDateFromSqlDate(resultSet, "TRADING_DATE"));
|
||||
object.setSecuritySymbol(resultSet.getObject("SECURITY_SYMBOL", String.class));
|
||||
object.setSecurityId(resultSet.getObject("SECURITY_ID", Long.class));
|
||||
object.setInterestAmount(resultSet.getObject("INTEREST_AMOUNT", BigDecimal.class));
|
||||
object.setExchangeOrderId(resultSet.getObject("EXCHANGE_ORDER_ID", Long.class));
|
||||
object.setPrice(resultSet.getObject("PRICE", BigDecimal.class));
|
||||
object.setSettlementAmount(resultSet.getObject("SETTLEMENT_AMOUNT", BigDecimal.class));
|
||||
object.setLots(resultSet.getObject("LOTS", BigDecimal.class));
|
||||
object.setQuantity(resultSet.getObject("QUANTITY", BigDecimal.class));
|
||||
object.setExchangeExecutionTime(getInstantFromTimestamp(resultSet, "EXCHANGE_EXECUTION_TIME"));
|
||||
object.setDuration(resultSet.getObject("DURATION", Long.class));
|
||||
object.setTradingClearingRegistryId(resultSet.getObject("TRADING_CLEARING_REGISTRY_ID", Long.class));
|
||||
object.setComment(resultSet.getObject("COMMENT", String.class));
|
||||
object.setClientCodeId(resultSet.getObject("CLIENT_CODE_ID", Long.class));
|
||||
object.setSettlementCode(resultSet.getObject("SETTLEMENT_CODE", String.class));
|
||||
object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class));
|
||||
object.setCounterPartyId(resultSet.getObject("COUNTER_PARTY_ID", Long.class));
|
||||
object.setSecurityFullName(resultSet.getObject("SECURITY_FULL_NAME", String.class));
|
||||
object.setSettlementDate(getLocalDateFromSqlDate(resultSet, "SETTLEMENT_DATE"));
|
||||
object.setSettlementCurrency(resultSet.getObject("SETTLEMENT_CURRENCY", String.class));
|
||||
object.setExchangeExecutionMicroseconds(getInstantFromTimestamp(resultSet, "EXCHANGE_EXECUTION_MICROSECONDS"));
|
||||
object.setCoverageStatus(resultSet.getObject("COVERAGE_STATUS", String.class));
|
||||
object.setSessionId(resultSet.getObject("SESSION_ID", Long.class));
|
||||
return object;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] objectToField(ExecutionFond object) {
|
||||
Object[] args = new Object[]{
|
||||
object.getId(),
|
||||
TimeUtil.toDateFromInstant(object.getCreated()),
|
||||
TimeUtil.toDateFromInstant(object.getUpdated()),
|
||||
TimeUtil.toDateFromLocalDate(object.getClearingDate()),
|
||||
object.getExchangeExecutionId(),
|
||||
object.getSide(),
|
||||
object.getMarket(),
|
||||
TimeUtil.toDateFromLocalDate(object.getTradingDate()),
|
||||
object.getSecuritySymbol(),
|
||||
object.getSecurityId(),
|
||||
object.getInterestAmount(),
|
||||
object.getExchangeOrderId(),
|
||||
object.getPrice(),
|
||||
object.getSettlementAmount(),
|
||||
object.getLots(),
|
||||
object.getQuantity(),
|
||||
TimeUtil.toDateFromInstant(object.getExchangeExecutionTime()),
|
||||
object.getDuration(),
|
||||
object.getTradingClearingRegistryId(),
|
||||
object.getComment(),
|
||||
object.getClientCodeId(),
|
||||
object.getSettlementCode(),
|
||||
object.getCompanyId(),
|
||||
object.getCounterPartyId(),
|
||||
object.getSecurityFullName(),
|
||||
TimeUtil.toDateFromLocalDate(object.getSettlementDate()),
|
||||
object.getSettlementCurrency(),
|
||||
TimeUtil.toDateFromInstant(object.getExchangeExecutionMicroseconds()),
|
||||
object.getCoverageStatus(),
|
||||
object.getSessionId()
|
||||
};
|
||||
return args;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
package ru.spcex.clearing.imdg.dictionary;
|
||||
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.platform.dictionary.MarketCodeDictionary;
|
||||
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
@Component
|
||||
public class MarketCodeDictionaryMapStore extends DictionaryTMapStore<MarketCodeDictionary> {
|
||||
|
||||
public MarketCodeDictionaryMapStore(JdbcTemplate jdbcTemplate) {
|
||||
super(jdbcTemplate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMapName() {
|
||||
return IMDGDistributedNames.Map_MarketCodeDictionary;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTableName() {
|
||||
return "MARKET_CODE_DICTIONARY";
|
||||
}
|
||||
|
||||
@Override
|
||||
public MarketCodeDictionary getDictionaryObject() {
|
||||
return new MarketCodeDictionary();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
package ru.spcex.clearing.imdg.dictionary;
|
||||
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.platform.dictionary.SessionStatusDictionary;
|
||||
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
@Component
|
||||
public class SessionStatusDictionaryMapStore extends DictionaryTMapStore<SessionStatusDictionary> {
|
||||
|
||||
public SessionStatusDictionaryMapStore(JdbcTemplate jdbcTemplate) {
|
||||
super(jdbcTemplate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMapName() {
|
||||
return IMDGDistributedNames.Map_SessionStatusDictionary;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTableName() {
|
||||
return "SESSION_STATUS_DICTIONARY";
|
||||
}
|
||||
|
||||
@Override
|
||||
public SessionStatusDictionary getDictionaryObject() {
|
||||
return new SessionStatusDictionary();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
package ru.spcex.clearing.imdg.dictionary;
|
||||
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.platform.dictionary.SessionTypeDictionary;
|
||||
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
@Component
|
||||
public class SessionTypeDictionaryMapStore extends DictionaryTMapStore<SessionTypeDictionary> {
|
||||
|
||||
public SessionTypeDictionaryMapStore(JdbcTemplate jdbcTemplate) {
|
||||
super(jdbcTemplate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMapName() {
|
||||
return IMDGDistributedNames.Map_SessionTypeDictionary;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTableName() {
|
||||
return "SESSION_TYPE_DICTIONARY";
|
||||
}
|
||||
|
||||
@Override
|
||||
public SessionTypeDictionary getDictionaryObject() {
|
||||
return new SessionTypeDictionary();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
package ru.spcex.clearing.imdg.dictionary;
|
||||
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.platform.dictionary.SideDictionary;
|
||||
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
@Component
|
||||
public class SideDictionaryMapStore extends DictionaryTMapStore<SideDictionary> {
|
||||
|
||||
public SideDictionaryMapStore(JdbcTemplate jdbcTemplate) {
|
||||
super(jdbcTemplate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMapName() {
|
||||
return IMDGDistributedNames.Map_SideDictionary;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTableName() {
|
||||
return "SIDE_DICTIONARY";
|
||||
}
|
||||
|
||||
@Override
|
||||
public SideDictionary getDictionaryObject() {
|
||||
return new SideDictionary();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -33,33 +33,13 @@ public class ExecutionDepositMapStore extends TemplateMapStore<ExecutionDeposit>
|
|||
|
||||
@Override
|
||||
public String[] getFields() {
|
||||
return new String[]{"ID", "CREATED_AT", "UPDATED_AT",
|
||||
"EXCHANGE_EXECUTION_ID",
|
||||
"EXCHANGE_EXECUTION_TIME",
|
||||
"TRADING_DATE",
|
||||
"ACCOUNT_ID",
|
||||
"MARKET",
|
||||
"PRICE",
|
||||
"LOTS",
|
||||
"QUANTITY",
|
||||
"FIRST_LEG_AMOUNT",
|
||||
"SECOND_LEG_AMOUNT",
|
||||
"INTEREST_AMOUNT",
|
||||
"SIDE",
|
||||
"SETTLEMENT_CURRENCY",
|
||||
"COMPANY_ID",
|
||||
"DURATION",
|
||||
"FIRST_LEG_SETTLEMENT_DATE",
|
||||
"SECOND_LEG_SETTLEMENT_DATE",
|
||||
"FIRST_LEG_SETTLEMENT_CODE",
|
||||
"SECOND_LEG_SETTLEMENT_CODE",
|
||||
"SECURITY_FULL_NAME",
|
||||
"SECURITY_SYMBOL",
|
||||
"SECURITY_ID",
|
||||
"COUNTER_PARTY_ID",
|
||||
"COVERAGE_STATUS",
|
||||
"SESSION_ID",
|
||||
"CLEARING_DATE",
|
||||
return new String[]{
|
||||
"ID", "CREATED_AT", "UPDATED_AT",
|
||||
"EXCHANGE_EXECUTION_ID", "EXCHANGE_EXECUTION_TIME", "TRADING_DATE", "TRADING_CLEARING_REGISTRY_ID",
|
||||
"MARKET", "PRICE", "LOTS", "QUANTITY", "FIRST_LEG_AMOUNT", "SECOND_LEG_AMOUNT", "INTEREST_AMOUNT",
|
||||
"SIDE", "SETTLEMENT_CURRENCY", "COMPANY_ID", "DURATION", "FIRST_LEG_SETTLEMENT_DATE", "SECOND_LEG_SETTLEMENT_DATE",
|
||||
"FIRST_LEG_SETTLEMENT_CODE", "SECOND_LEG_SETTLEMENT_CODE", "SECURITY_FULL_NAME", "SECURITY_SYMBOL",
|
||||
"SECURITY_ID", "CONTRACT", "COUNTER_PARTY_ID", "COVERAGE_STATUS", "SESSION_ID", "CLEARING_DATE"
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -72,7 +52,7 @@ public class ExecutionDepositMapStore extends TemplateMapStore<ExecutionDeposit>
|
|||
object.setExchangeExecutionId(resultSet.getObject("EXCHANGE_EXECUTION_ID", Long.class));
|
||||
object.setExchangeExecutionTime(getInstantFromTimestamp(resultSet, "EXCHANGE_EXECUTION_TIME"));
|
||||
object.setTradingDate(getLocalDateFromSqlDate(resultSet, "TRADING_DATE"));
|
||||
object.setAccountId(resultSet.getObject("ACCOUNT_ID", Long.class));
|
||||
object.setTradingClearingRegistryId(resultSet.getObject("TRADING_CLEARING_REGISTRY_ID", Long.class));
|
||||
object.setMarket(resultSet.getObject("MARKET", String.class));
|
||||
object.setPrice(resultSet.getObject("PRICE", BigDecimal.class));
|
||||
object.setLots(resultSet.getObject("LOTS", BigDecimal.class));
|
||||
|
|
@ -86,11 +66,12 @@ public class ExecutionDepositMapStore extends TemplateMapStore<ExecutionDeposit>
|
|||
object.setDuration(resultSet.getObject("DURATION", Long.class));
|
||||
object.setFirstLegSettlementDate(getLocalDateFromSqlDate(resultSet, "FIRST_LEG_SETTLEMENT_DATE"));
|
||||
object.setSecondLegSettlementDate(getLocalDateFromSqlDate(resultSet, "SECOND_LEG_SETTLEMENT_DATE"));
|
||||
object.setFirstLegSettlementCode(getLocalDateFromSqlDate(resultSet, "FIRST_LEG_SETTLEMENT_CODE"));
|
||||
object.setSecondLegSettlementCode(getLocalDateFromSqlDate(resultSet, "SECOND_LEG_SETTLEMENT_CODE"));
|
||||
object.setFirstLegSettlementCode(resultSet.getObject("FIRST_LEG_SETTLEMENT_CODE", String.class));
|
||||
object.setSecondLegSettlementCode(resultSet.getObject("SECOND_LEG_SETTLEMENT_CODE", String.class));
|
||||
object.setSecurityFullName(resultSet.getObject("SECURITY_FULL_NAME", String.class));
|
||||
object.setSecuritySymbol(resultSet.getObject("SECURITY_SYMBOL", String.class));
|
||||
object.setSecurityId(resultSet.getObject("SECURITY_ID", Long.class));
|
||||
object.setContract(resultSet.getObject("CONTRACT", String.class));
|
||||
object.setCounterPartyId(resultSet.getObject("COUNTER_PARTY_ID", Long.class));
|
||||
object.setCoverageStatus(resultSet.getObject("COVERAGE_STATUS", String.class));
|
||||
object.setSessionId(resultSet.getObject("SESSION_ID", Long.class));
|
||||
|
|
@ -107,7 +88,7 @@ public class ExecutionDepositMapStore extends TemplateMapStore<ExecutionDeposit>
|
|||
object.getExchangeExecutionId(),
|
||||
TimeUtil.toDateFromInstant(object.getExchangeExecutionTime()),
|
||||
TimeUtil.toDateFromLocalDate(object.getTradingDate()),
|
||||
object.getAccountId(),
|
||||
object.getTradingClearingRegistryId(),
|
||||
object.getMarket(),
|
||||
object.getPrice(),
|
||||
object.getLots(),
|
||||
|
|
@ -121,15 +102,16 @@ public class ExecutionDepositMapStore extends TemplateMapStore<ExecutionDeposit>
|
|||
object.getDuration(),
|
||||
TimeUtil.toDateFromLocalDate(object.getFirstLegSettlementDate()),
|
||||
TimeUtil.toDateFromLocalDate(object.getSecondLegSettlementDate()),
|
||||
TimeUtil.toDateFromLocalDate(object.getFirstLegSettlementCode()),
|
||||
TimeUtil.toDateFromLocalDate(object.getSecondLegSettlementCode()),
|
||||
object.getFirstLegSettlementCode(),
|
||||
object.getSecondLegSettlementCode(),
|
||||
object.getSecurityFullName(),
|
||||
object.getSecuritySymbol(),
|
||||
object.getSecurityId(),
|
||||
object.getContract(),
|
||||
object.getCounterPartyId(),
|
||||
object.getCoverageStatus(),
|
||||
object.getSessionId(),
|
||||
TimeUtil.toDateFromLocalDate(object.getClearingDate()),
|
||||
TimeUtil.toDateFromLocalDate(object.getClearingDate())
|
||||
};
|
||||
return args;
|
||||
}
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue