Merge remote-tracking branch 'origin/dev' into report_25_26_29

# Conflicts:
#	clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P1.java
#	clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/QCommandExecutor.java
#	clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/builders/FileReportBuilder.java
This commit is contained in:
AKurakin 2022-12-27 15:23:14 +03:00
commit f38443ff55
25 changed files with 866 additions and 188 deletions

View file

@ -59,6 +59,10 @@ public class AccountService extends QueueConsumer implements InitializingBean {
log.debug("successfully processed, grouping id={}, processed number={}", req.getGroupingSdf01Id(), accountToStatement.size()); log.debug("successfully processed, grouping id={}, processed number={}", req.getGroupingSdf01Id(), accountToStatement.size());
} }
private void accountUpdateWithBrake(BaseRequest<AccountSdf01Request> userRequest) {
}
private AccountSdfToStatementRequestPart responsePart(Long sdf01Id) { private AccountSdfToStatementRequestPart responsePart(Long sdf01Id) {
AccountSdfToStatementRequestPart responsePart = new AccountSdfToStatementRequestPart(); AccountSdfToStatementRequestPart responsePart = new AccountSdfToStatementRequestPart();
responsePart.setSdfId(sdf01Id); responsePart.setSdfId(sdf01Id);

View file

@ -30,7 +30,8 @@ public class DeleteCompanyController extends AbstractQueueController {
private final IStateLoader stateLoader; private final IStateLoader stateLoader;
@Autowired @Autowired
public DeleteCompanyController(IOperator operator, IStateLoader stateLoader) { public DeleteCompanyController(IOperator operator,
IStateLoader stateLoader) {
super(operator); super(operator);
this.stateLoader = stateLoader; this.stateLoader = stateLoader;
} }

View file

@ -20,6 +20,7 @@ import ru.spcex.clearing.backendapi.service.IOperator;
import ru.spcex.clearing.backendapi.service.IStateLoader; import ru.spcex.clearing.backendapi.service.IStateLoader;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.Consts;
import ru.spcex.platform.enumeration.Status;
import java.util.Collection; import java.util.Collection;
import java.util.Map; import java.util.Map;
@ -75,7 +76,9 @@ public class CudMoneyMarketSecurityController extends AbstractQueueController {
@RequestMapping(method = RequestMethod.GET) @RequestMapping(method = RequestMethod.GET)
@ResponseBody @ResponseBody
public CommonGetAllResponse getAll() { public CommonGetAllResponse getAll() {
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_MoneyMarketSecurity, MoneyMarketSecurity.class); Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_MoneyMarketSecurity,
MoneyMarketSecurity.class,
Map.of("workflowStatus", Status.Active.getKey()));
CommonGetAllResponse response = new CommonGetAllResponse(); CommonGetAllResponse response = new CommonGetAllResponse();
response.fromEntity(all); response.fromEntity(all);
return response; return response;

View file

@ -9,25 +9,34 @@ import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map;
@ApiModel(description = "Ответ при получении объектов словаря.") @ApiModel(description = "Ответ при получении объектов словаря.")
public class DictionaryBackendGetAll extends BasicSpcexResponse { public class DictionaryBackendGetAll extends BasicSpcexResponse {
@JsonProperty @JsonProperty
@ApiModelProperty(value = "Полезная нагрузка") @ApiModelProperty(value = "Полезная нагрузка")
private DictionaryBackendPayload payload = new DictionaryBackendPayload(); private IDictionaryPayload payload;
public void fromEntity(Collection<AbstractDictionary> dictionaryValues) { public void fromEntity(Collection<AbstractDictionary> dictionaryValues) {
var payload = this.getPayload(); this.payload = new GeneralDictionaryBackendPayload();
GeneralDictionaryBackendPayload castedPayload = (GeneralDictionaryBackendPayload) payload;
for (AbstractDictionary dictionaryValue : dictionaryValues) { for (AbstractDictionary dictionaryValue : dictionaryValues) {
var singleItem = new DictionaryBackendGetFields(); var singleItem = new DictionaryBackendGetFields();
singleItem.fromEntity(dictionaryValue); singleItem.fromEntity(dictionaryValue);
payload.getItems().add(singleItem); castedPayload.getItems().add(singleItem);
} }
} }
public void addMap(Map<String, Object> m) {
if (this.payload == null) {
this.payload = new SpecificDictionaryBackendPayload();
}
SpecificDictionaryBackendPayload payloadCasted = (SpecificDictionaryBackendPayload) this.payload;
payloadCasted.getItems().add(m);
}
private static class DictionaryBackendPayload { public static class GeneralDictionaryBackendPayload implements IDictionaryPayload {
private List<DictionaryBackendGetFields> items = new ArrayList<>(); private List<DictionaryBackendGetFields> items = new ArrayList<>();
public List<DictionaryBackendGetFields> getItems() { public List<DictionaryBackendGetFields> getItems() {
@ -39,11 +48,24 @@ public class DictionaryBackendGetAll extends BasicSpcexResponse {
} }
} }
public DictionaryBackendPayload getPayload() { public static class SpecificDictionaryBackendPayload implements IDictionaryPayload {
@JsonProperty
private List<Map<String, Object>> items = new ArrayList<>();
public List<Map<String, Object>> getItems() {
return items;
}
public void setItems(List<Map<String, Object>> items) {
this.items = items;
}
}
public IDictionaryPayload getPayload() {
return payload; return payload;
} }
public void setPayload(DictionaryBackendPayload payload) { public void setPayload(IDictionaryPayload payload) {
this.payload = payload; this.payload = payload;
} }
} }

View file

@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import ru.clearing.platform.dictionary.AbstractDictionary; import ru.clearing.platform.dictionary.AbstractDictionary;
public class DictionaryBackendGetFields { public class DictionaryBackendGetFields implements IDictionaryPayload {
@JsonProperty @JsonProperty
@ApiModelProperty(value = "Идентификатор", example = "1234") @ApiModelProperty(value = "Идентификатор", example = "1234")
private Long id; private Long id;

View file

@ -0,0 +1,25 @@
package ru.spcex.clearing.backendapi.controller.response.entity.dictionary;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
import java.util.HashMap;
import java.util.Map;
@ApiModel(description = "Ответ при получении объекта словаря.")
public class DictionaryBackendGetSingleValueV2 extends BasicSpcexResponse {
@JsonProperty
@ApiModelProperty(value = "Поля объекта")
private Map<String, Object> payload = new HashMap<>();
public Map<String, Object> getPayload() {
return payload;
}
public void setPayload(Map<String, Object> payload) {
this.payload = payload;
}
}

View file

@ -0,0 +1,4 @@
package ru.spcex.clearing.backendapi.controller.response.entity.dictionary;
public interface IDictionaryPayload {
}

View file

@ -13,10 +13,11 @@ import org.springframework.web.bind.annotation.*;
import ru.clearing.platform.dictionary.AbstractDictionary; import ru.clearing.platform.dictionary.AbstractDictionary;
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse; import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
import ru.spcex.clearing.backendapi.controller.response.entity.dictionary.DictionaryBackendGetAll; import ru.spcex.clearing.backendapi.controller.response.entity.dictionary.DictionaryBackendGetAll;
import ru.spcex.clearing.backendapi.controller.response.entity.dictionary.DictionaryBackendGetSingleValue; import ru.spcex.clearing.backendapi.controller.response.entity.dictionary.DictionaryBackendGetSingleValueV2;
import ru.spcex.clearing.backendapi.errors.ActionValidationException; import ru.spcex.clearing.backendapi.errors.ActionValidationException;
import ru.spcex.clearing.backendapi.errors.BackEndError; import ru.spcex.clearing.backendapi.errors.BackEndError;
import ru.spcex.clearing.backendapi.errors.NotFound404Exception; import ru.spcex.clearing.backendapi.errors.NotFound404Exception;
import ru.spcex.clearing.backendapi.meta.GetResponseFactory;
import ru.spcex.platform.classes.base.SpcexObjectBase; import ru.spcex.platform.classes.base.SpcexObjectBase;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
@ -33,10 +34,12 @@ public class DictionaryController {
private final Logger log = LoggerFactory.getLogger(getClass()); private final Logger log = LoggerFactory.getLogger(getClass());
private final Map<String, Imdg<?>> allDictionaryMaps; private final Map<String, Imdg<?>> allDictionaryMaps;
private final ImdgProvider imdgProvider; private final ImdgProvider imdgProvider;
private final GetResponseFactory responseFactory;
@Autowired @Autowired
public DictionaryController(ImdgProvider imdgProvider) { public DictionaryController(ImdgProvider imdgProvider, GetResponseFactory responseFactory) {
this.imdgProvider = imdgProvider; this.imdgProvider = imdgProvider;
this.responseFactory = responseFactory;
this.allDictionaryMaps = new ConcurrentHashMap<>(); this.allDictionaryMaps = new ConcurrentHashMap<>();
} }
@ -49,39 +52,42 @@ public class DictionaryController {
Imdg<AbstractDictionary> dictionary = extractDictionaryImdgFromUrlParameter(dictionaryName, AbstractDictionary.class); Imdg<AbstractDictionary> dictionary = extractDictionaryImdgFromUrlParameter(dictionaryName, AbstractDictionary.class);
Collection<AbstractDictionary> allValues = dictionary.getAllValues(); Collection<AbstractDictionary> allValues = dictionary.getAllValues();
DictionaryBackendGetAll response = new DictionaryBackendGetAll(); DictionaryBackendGetAll response = new DictionaryBackendGetAll();
response.fromEntity(allValues); for (AbstractDictionary val : allValues) {
Map<String, Object> fromMeta = responseFactory.responseFromDictionary(dictionaryName, val);
response.addMap(fromMeta);
}
return response; return response;
} }
@ApiOperation(value = "get dictionary value by id.") @ApiOperation(value = "get dictionary value by id.")
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = DictionaryBackendGetSingleValue.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)}) @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = DictionaryBackendGetSingleValueV2.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
@RequestMapping(value = "/{dictionary-name}/{id}", method = RequestMethod.GET) @RequestMapping(value = "/{dictionary-name}/{id}", method = RequestMethod.GET)
@ResponseBody @ResponseBody
public DictionaryBackendGetSingleValue getById(@ApiParam(value = "Название словаря", required = true, example = "moneyFlowSide") public DictionaryBackendGetSingleValueV2 getById(@ApiParam(value = "Название словаря", required = true, example = "moneyFlowSide")
@PathVariable("dictionary-name") String dictionaryName, @PathVariable("dictionary-name") String dictionaryName,
@ApiParam(value = "Идентификатор объекта", required = true, example = "1234") @ApiParam(value = "Идентификатор объекта", required = true, example = "1234")
@PathVariable("id") Long id) { @PathVariable("id") Long id) {
Imdg<AbstractDictionary> dictionary = extractDictionaryImdgFromUrlParameter(dictionaryName, AbstractDictionary.class); Imdg<AbstractDictionary> dictionary = extractDictionaryImdgFromUrlParameter(dictionaryName, AbstractDictionary.class);
AbstractDictionary value = dictionary.getSingleObjectByID(id); AbstractDictionary value = dictionary.getSingleObjectByID(id);
if (value == null) throw new NotFound404Exception(dictionaryName + " id='" + id + "'"); if (value == null) throw new NotFound404Exception(dictionaryName + " id='" + id + "'");
DictionaryBackendGetSingleValue response = new DictionaryBackendGetSingleValue(); DictionaryBackendGetSingleValueV2 response = new DictionaryBackendGetSingleValueV2();
response.fromEntity(value); response.setPayload(responseFactory.responseFromDictionary(dictionaryName, value));
return response; return response;
} }
@ApiOperation(value = "get dictionary value by code.") @ApiOperation(value = "get dictionary value by code.")
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = DictionaryBackendGetSingleValue.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)}) @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = DictionaryBackendGetSingleValueV2.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
@RequestMapping(value = "/{dictionary-name}/code/{code}", method = RequestMethod.GET) @RequestMapping(value = "/{dictionary-name}/code/{code}", method = RequestMethod.GET)
@ResponseBody @ResponseBody
public DictionaryBackendGetSingleValue getByCode(@ApiParam(value = "Название словаря", required = true, example = "moneyFlowSide") public DictionaryBackendGetSingleValueV2 getByCode(@ApiParam(value = "Название словаря", required = true, example = "moneyFlowSide")
@PathVariable("dictionary-name") String dictionaryName, @PathVariable("dictionary-name") String dictionaryName,
@ApiParam(value = "Код словаря", required = true, example = "1234") @ApiParam(value = "Код словаря", required = true, example = "1234")
@PathVariable("code") String code) { @PathVariable("code") String code) {
Imdg<AbstractDictionary> dictionary = extractDictionaryImdgFromUrlParameter(dictionaryName, AbstractDictionary.class); Imdg<AbstractDictionary> dictionary = extractDictionaryImdgFromUrlParameter(dictionaryName, AbstractDictionary.class);
AbstractDictionary value = dictionary.getSingleObjectByFieldValues(Map.of("code", code)); AbstractDictionary value = dictionary.getSingleObjectByFieldValues(Map.of("code", code));
if (value == null) throw new NotFound404Exception(dictionaryName + " code='" + code + "'"); if (value == null) throw new NotFound404Exception(dictionaryName + " code='" + code + "'");
DictionaryBackendGetSingleValue response = new DictionaryBackendGetSingleValue(); DictionaryBackendGetSingleValueV2 response = new DictionaryBackendGetSingleValueV2();
response.fromEntity(value); response.setPayload(responseFactory.responseFromDictionary(dictionaryName, value));
return response; return response;
} }

View file

@ -0,0 +1,22 @@
package ru.spcex.clearing.backendapi.meta;
import java.util.List;
public class ClearingDictionaryExtracted extends ObjectExtracted {
public ClearingDictionaryExtracted(String clazz, List<ActionField> actionFields) {
for (ActionField field : actionFields) {
if (field.getVirtual() != null && field.isVirtual()){
continue;
}
FieldExtracted fe = getImplFieldExtracted(field);
fields.add(fe);
fieldByCode.put(field.getCode(), fe);
}
}
@Override
public FieldExtracted getImplFieldExtracted(ActionField field) {
return new ClearingFieldExtracted(field);
}
}

View file

@ -31,11 +31,26 @@ public class GetResponseFactory {
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
/**
* dictionaryName - это имя тэга внутри <enum>
*/
public Map<String, Object> responseFromDictionary(String dictionaryName, Object o) {
ObjectExtracted objectExtracted = meta.getEnumsExtractedByTagName().get(dictionaryName);
if (objectExtracted == null) {
throw new RuntimeException("cannot find dictionary in meta for " + dictionaryName);
}
return responseFromObjectExtracted(o, objectExtracted);
}
public Map<String, Object> responseFromObject(Object o) { public Map<String, Object> responseFromObject(Object o) {
ObjectExtracted objExtr = meta.getObjectsExtractedByClazz().get(o.getClass().getCanonicalName()); ObjectExtracted objExtr = meta.getObjectsExtractedByClazz().get(o.getClass().getCanonicalName());
if (objExtr == null) { if (objExtr == null) {
throw new RuntimeException("cannot find object in meta for " + o.getClass().getCanonicalName()); throw new RuntimeException("cannot find object in meta for " + o.getClass().getCanonicalName());
} }
return responseFromObjectExtracted(o, objExtr);
}
private Map<String, Object> responseFromObjectExtracted(Object o, ObjectExtracted objExtr) {
Map<String, Object> r = new LinkedHashMap<>(); Map<String, Object> r = new LinkedHashMap<>();
FieldExtracted currentField = null; FieldExtracted currentField = null;
try { try {

View file

@ -2,6 +2,7 @@ package ru.spcex.clearing.backendapi.meta;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import ru.spcex.platform.utils.log.ExceptionUtils;
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;
import java.lang.reflect.Method; import java.lang.reflect.Method;
@ -17,6 +18,8 @@ public class MetaServer extends MetaBase {
private Map<String, ObjectExtracted> objectsExtractedByDestination; private Map<String, ObjectExtracted> objectsExtractedByDestination;
private Map<String, ObjectExtracted> actionObjectsExtracted; private Map<String, ObjectExtracted> actionObjectsExtracted;
private Map<String, ObjectElement> objectElementByDestination; private Map<String, ObjectElement> objectElementByDestination;
private Map<String, ObjectExtracted> enumsExtractedByTagName;
private final static Set<String> dictionaryDefaultFields = Set.of("id", "code", "name");
protected ObjectExtracted getImplInstanceObjectExtracted(String clazz, List<ActionField> actionFields) { protected ObjectExtracted getImplInstanceObjectExtracted(String clazz, List<ActionField> actionFields) {
return new ClearingObjectExtracted(clazz, actionFields); return new ClearingObjectExtracted(clazz, actionFields);
@ -31,6 +34,7 @@ public class MetaServer extends MetaBase {
objectsExtractedByClazz = new ConcurrentHashMap<>(); objectsExtractedByClazz = new ConcurrentHashMap<>();
objectsExtractedByDestination = new ConcurrentHashMap<>(); objectsExtractedByDestination = new ConcurrentHashMap<>();
objectElementByDestination = new ConcurrentHashMap<>(); objectElementByDestination = new ConcurrentHashMap<>();
enumsExtractedByTagName = new ConcurrentHashMap<>();
try { try {
Map<String, ObjectElement> objects = getObjects(); Map<String, ObjectElement> objects = getObjects();
log.info("Meta objects:\n{}", log.info("Meta objects:\n{}",
@ -84,6 +88,37 @@ public class MetaServer extends MetaBase {
} catch (Throwable e) { } catch (Throwable e) {
throw new ClearingMetaServerValidationException(e.getLocalizedMessage()); throw new ClearingMetaServerValidationException(e.getLocalizedMessage());
} }
try {
Map<String, ObjectEnumElement> enums = getEnums();
for (String key : enums.keySet()) {
ObjectExtracted oe;
ObjectEnumElement objectElement = enums.get(key);
try {
oe = new ClearingDictionaryExtracted(objectElement.getClazz(), objectElement.getFields());
} catch (Throwable e) {
log.warn("{} {}", key, ExceptionUtils.getStackTrace(e));
continue;
}
/**
* можно было бы хранить только для нестандартных словарей (где не только id, name, code)
*/
// List<FieldExtracted> dictFields = oe.getFields();
// boolean add = false;
// for (FieldExtracted dictField : dictFields) {
// if (!dictionaryDefaultFields.contains(dictField.getMemberName())) {
// add = true;
// break;
// }
// }
// if (add) {
// enumsExtractedByTagName.put(key, oe);
// }
enumsExtractedByTagName.put(key, oe);
}
} catch (Throwable e) {
throw new ClearingMetaServerValidationException(e.getLocalizedMessage());
}
} }
for (ObjectExtracted o : this.objectsExtracted) { for (ObjectExtracted o : this.objectsExtracted) {
try { try {
@ -196,4 +231,8 @@ public class MetaServer extends MetaBase {
} }
return partSize; return partSize;
} }
public Map<String, ObjectExtracted> getEnumsExtractedByTagName() {
return enumsExtractedByTagName;
}
} }

View file

@ -5,12 +5,14 @@ import java.util.*;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
public abstract class ObjectExtracted { public abstract class ObjectExtracted {
private String className; protected String className;
private Class<?> clazz; protected Class<?> clazz;
private List<FieldExtracted> fields = new LinkedList<>(); protected List<FieldExtracted> fields = new LinkedList<>();
private Map<String, FieldExtracted> fieldByCode = new ConcurrentHashMap<>(); protected Map<String, FieldExtracted> fieldByCode = new ConcurrentHashMap<>();
private boolean isArray = false; protected boolean isArray = false;
public ObjectExtracted() {
}
public ObjectExtracted(String clazz, List<ActionField> actionFields) { public ObjectExtracted(String clazz, List<ActionField> actionFields) {
this.className = clazz; this.className = clazz;

View file

@ -13,4 +13,5 @@ public interface IStateLoader {
<T extends SpcexObjectBase> Optional<T> getById(Long id, String mapName, Class<T> clazz); <T extends SpcexObjectBase> Optional<T> getById(Long id, String mapName, Class<T> clazz);
<T extends SpcexObjectBase> Collection<T> getAll(String mapName, Class<T> clazz); <T extends SpcexObjectBase> Collection<T> getAll(String mapName, Class<T> clazz);
<T extends SpcexObjectBase> Collection<Map<String, Object>> getAllMetaTransform(String mapName, Class<T> clazz); <T extends SpcexObjectBase> Collection<Map<String, Object>> getAllMetaTransform(String mapName, Class<T> clazz);
<T extends SpcexObjectBase> Collection<Map<String, Object>> getAllMetaTransform(String mapName, Class<T> clazz, Map<String, ? extends Comparable<?>> conditions);
} }

View file

@ -44,6 +44,15 @@ public class StateLoaderImpl implements IStateLoader {
return responseFactory.responseFromObjectCollection(all); return responseFactory.responseFromObjectCollection(all);
} }
@Override
public <T extends SpcexObjectBase> Collection<Map<String, Object>> getAllMetaTransform(String mapName,
Class<T> clazz,
Map<String, ? extends Comparable<?>> conditions) {
Imdg<T> imdg = getImdg(mapName, clazz);
Collection<T> all = imdg.getCollectionObjectsByFieldValues(conditions);
return responseFactory.responseFromObjectCollection(all);
}
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
private <T extends SpcexObjectBase> Imdg<T> getImdg(String mapName, Class<T> clazz) { private <T extends SpcexObjectBase> Imdg<T> getImdg(String mapName, Class<T> clazz) {
return (Imdg<T>) allImdgMaps.computeIfAbsent(mapName, (mapName1) -> imdgProvider.getImdg(mapName, clazz)); return (Imdg<T>) allImdgMaps.computeIfAbsent(mapName, (mapName1) -> imdgProvider.getImdg(mapName, clazz));

View file

@ -12,15 +12,13 @@
<task id="7" code="CORD" name="Формирование сводного платежного поручения"/> <task id="7" code="CORD" name="Формирование сводного платежного поручения"/>
<task id="8" code="CORC" name="Получение подтверждения переводов"/> <task id="8" code="CORC" name="Получение подтверждения переводов"/>
<task id="9" code="GVER" name="Запуск сверки"/> <task id="9" code="GVER" name="Запуск сверки"/>
<task id="11" code="STCP" name="Формирование уведомления о завершении расчетов"/>
<task id="12" code="CMBA" name="Формирование распоряжения на перевод с ТБС"/> <task id="12" code="CMBA" name="Формирование распоряжения на перевод с ТБС"/>
<task id="14" code="GCMR" name="Формирование реестра участников клиринга"/> <task id="14" code="GCMR" name="Формирование реестра участников клиринга"/>
<task id="15" code="GBRR" name="Формирование реестра остатков денежных средств "/> <task id="15" code="GBRR" name="Формирование реестра остатков денежных средств "/>
<task id="16" code="GORR" name="Формирование реестра распоряжений, направленных расчетной организации"/> <task id="16" code="GORR" name="Формирование реестра распоряжений, направленных расчетной организации"/>
<task id="17" code="GETR" name="Формирование отчетности"/> <task id="17" code="GREP" name="Формирование отчетности"/>
<task id="21" code="GSRR" name="Формирование реестра отправленных отчетов"/> <task id="21" code="GSRR" name="Формирование реестра отправленных отчетов"/>
<task id="25" code="GERP" name="Получение сделок из Торговой системы"/> <task id="25" code="GTRD" name="Получение сделок из Торговой системы"/>
<task id="26" code="VICR" name="Сверка обеспеченности Инициатора"/>
<task id="32" code="GACA" name="Создание файла остатков CSV по клиринговым счетам"/> <task id="32" code="GACA" name="Создание файла остатков CSV по клиринговым счетам"/>
<task id="33" code="GAIA" name="Создание файла остатков CSV по внутренним информационным счетам"/> <task id="33" code="GAIA" name="Создание файла остатков CSV по внутренним информационным счетам"/>
<task id="34" code="GBLD" name="Поступление средств"/> <task id="34" code="GBLD" name="Поступление средств"/>

View file

@ -1,25 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!--?xml-stylesheet type="text/xsl" href="\..\corp-reports\src\data\meta\meta.server.xslt"?--> <!--?xml-stylesheet type="text/xsl" href="\..\corp-reports\src\data\meta\meta.server.xslt"?-->
<meta version="2.4.0.0"> <meta version="2.4.2.0">
<!-- _xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" _xsi:noNamespaceSchemaLocation="file:///E:/d/projects/meta/from/meta.xsd" --> <!-- _xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" _xsi:noNamespaceSchemaLocation="file:///E:/d/projects/meta/from/meta.xsd" -->
<!--Здесь словари--> <!--Здесь словари-->
<enums> <enums>
<chargeDirection name="Направление начисления комиссии" class="ru.clearing.platform.dictionary."> <chargeDirection name="Направление начисления комиссии" class="ru.clearing.platform.dictionary." table="charge_direction_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Направление комиссии" shortname="Направление комиссии" type="2" length="50"/> <name name="Направление комиссии" shortname="Направление комиссии" type="2" length="50"/>
</chargeDirection> </chargeDirection>
<chargeType name="Справочник типов комиссий" class="ru.clearing.platform.dictionary."> <chargeType name="Справочник типов комиссий" class="ru.clearing.platform.dictionary." table="charge_type_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Тип комиссии" shortname="Тип комиссии" type="2" length="50"/> <name name="Тип комиссии" shortname="Тип комиссии" type="2" length="50"/>
</chargeType> </chargeType>
<courierType name="Способ доставки документа" class="ru.clearing.platform.dictionary."> <courierType name="Способ доставки документа" class="ru.clearing.platform.dictionary." table="courier_type_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Способ доставки" shortname="Способ доставки" type="2" length="50"/> <name name="Способ доставки" shortname="Способ доставки" type="2" length="50"/>
</courierType> </courierType>
<termType name="Справочник видов инструментов денежного рынка" class="com.spicex.dictionary."> <termType name="Справочник видов инструментов денежного рынка" class="com.spicex.dictionary." table="term_type_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Тип" type="2" length="255"/> <name name="Наименование" shortname="Тип" type="2" length="255"/>
@ -39,7 +39,7 @@
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Статус дня" shortname="Статус" type="2" length="50"/> <name name="Статус дня" shortname="Статус" type="2" length="50"/>
</dayStatus> </dayStatus>
<transactionStatus name="Справочник статусов транзакций" class="com.spicex.dictionary.TransactionStatusDictionary" table="TransactionStatusDictionary"> <transactionStatus name="Справочник статусов транзакций" class="com.spicex.dictionary.TransactionStatusDictionary" table="transaction_status_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Статус транзакции" shortname="Статус" type="2" length="50"/> <name name="Статус транзакции" shortname="Статус" type="2" length="50"/>
@ -49,200 +49,200 @@
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Источник" type="2" length="50"/> <name name="Наименование" shortname="Источник" type="2" length="50"/>
</parent> </parent>
<clearingStatus name="Справочник результатов клиринга" class="com.spicex.dictionary."> <clearingStatus name="Справочник результатов клиринга" class="com.spicex.dictionary." table="clearing_status_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Тип" type="2" length="255"/> <name name="Наименование" shortname="Тип" type="2" length="255"/>
</clearingStatus> </clearingStatus>
<workflowStatus name="Справочник статусов бизнес-процессов" class="com.spicex.dictionary."> <workflowStatus name="Справочник статусов бизнес-процессов" class="com.spicex.dictionary." table="workflow_status_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Тип" type="2" length="255"/> <name name="Наименование" shortname="Тип" type="2" length="255"/>
</workflowStatus> </workflowStatus>
<accountStatus name="Справочник статусов счетов" class="com.spicex.dictionary.AccountStatus" table="AccountStatus"> <accountStatus name="Справочник статусов счетов" class="com.spicex.dictionary.AccountStatus" table="account_status_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Тип" type="2" length="50"/> <name name="Наименование" shortname="Тип" type="2" length="50"/>
</accountStatus> </accountStatus>
<allowed name="Справочник признаков допустимости использования объектов" class="com.spicex.platform.dictionary.AllowedDictionary"> <allowed name="Справочник признаков допустимости использования объектов" class="com.spicex.platform.dictionary.AllowedDictionary" table="allowed_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Признак допустимости" shortname="Допустимость" type="2" length="50"/> <name name="Признак допустимости" shortname="Допустимость" type="2" length="50"/>
</allowed> </allowed>
<moneyFlowSide name="Направление заявки" class="ru.clearing.platform.dictionary.MoneyFlowSideDictionary" table="MoneyFlowSideDictionary"> <moneyFlowSide name="Направление заявки" class="ru.clearing.platform.dictionary.MoneyFlowSideDictionary" table="money_flow_side_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Значение" shortname="Значение" type="2" length="255"/> <name name="Значение" shortname="Значение" type="2" length="255"/>
</moneyFlowSide> </moneyFlowSide>
<inOutDirection name="Справочник значений направления денежного потока" class="ru.clearing.platform.dictionary.InOutDirectionDictionary" table="InOutDirectionDictionary"> <inOutDirection name="Справочник значений направления денежного потока" class="ru.clearing.platform.dictionary.InOutDirectionDictionary" table="in_out_direction_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Значение" shortname="Значение" type="2" length="255"/> <name name="Значение" shortname="Значение" type="2" length="255"/>
</inOutDirection> </inOutDirection>
<statementType name="Справочник типов поступлений/списаний от ПРЦ" class="ru.clearing.platform.dictionary.StatementTypeDictionary" table="StatementTypeDictionary"> <statementType name="Справочник типов поступлений/списаний от ПРЦ" class="ru.clearing.platform.dictionary.StatementTypeDictionary" table="statement_type_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Значение" shortname="Значение" type="2" length="255"/> <name name="Значение" shortname="Значение" type="2" length="255"/>
</statementType> </statementType>
<operationType name="Справочник типов операций" class="ru.clearing.platform.dictionary.OperationTypeDictionary" table="OperationTypeDictionary"> <operationType name="Справочник типов операций" class="ru.clearing.platform.dictionary.OperationTypeDictionary" table="operation_type_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Значение" shortname="Значение" type="2" length="255"/> <name name="Значение" shortname="Значение" type="2" length="255"/>
</operationType> </operationType>
<operationStatus name="Справочник статусов операций" class="ru.clearing.platform.dictionary.OperationStatusDictionary" table="OperationStatusDictionary"> <operationStatus name="Справочник статусов операций" class="ru.clearing.platform.dictionary.OperationStatusDictionary" table="operation_status_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Значение" shortname="Значение" type="2" length="255"/> <name name="Значение" shortname="Значение" type="2" length="255"/>
</operationStatus> </operationStatus>
<balanceAccountType name="Справочник типов лимитов" class="com.spicex.platform.dictionary.balanceAccountTypeDictionary"> <balanceAccountType name="Справочник типов лимитов" class="com.spicex.platform.dictionary.balanceAccountTypeDictionary" table="balance_account_type_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Тип лимитов" shortname="Тип" type="2" length="50"/> <name name="Тип лимитов" shortname="Тип" type="2" length="50"/>
</balanceAccountType> </balanceAccountType>
<countryCode name="Справочник кодов стран" class="com.spicex.dictionary."> <countryCode name="Справочник кодов стран" class="com.spicex.dictionary." table="country_code_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" type="2" length="255"/> <name name="Наименование" type="2" length="255"/>
</countryCode> </countryCode>
<clearingCategory name="Справочник категорий участника клиринга" class="com.spicex.dictionary.ClearingMemberCategoryDictionary" table="ClearingMemberCategoryDictionary"> <clearingCategory name="Справочник категорий участника клиринга" class="com.spicex.dictionary.ClearingMemberCategoryDictionary" table="clearing_category_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Наименование" type="2" length="255"/> <name name="Наименование" shortname="Наименование" type="2" length="255"/>
</clearingCategory> </clearingCategory>
<contactType name="Справочник типов контактов Компании" class="com.spicex.dictionary."> <contactType name="Справочник типов контактов Компании" class="com.spicex.dictionary." table="contact_type_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Тип" type="2" length="255"/> <name name="Наименование" shortname="Тип" type="2" length="255"/>
</contactType> </contactType>
<corporationSoleType name="Единоличный исполнительный орган" class="com.spicex.dictionary."> <corporationSoleType name="Единоличный исполнительный орган" class="com.spicex.dictionary." table="corporation_sole_type_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Наименование" type="2" length="255"/> <name name="Наименование" shortname="Наименование" type="2" length="255"/>
</corporationSoleType> </corporationSoleType>
<connectionState name="Справочник состояний соединений" class="com.spicex.dictionary.ConnectionStateDictionary" table="ConnectionStateDictionary"> <connectionState name="Справочник состояний соединений" class="com.spicex.dictionary.ConnectionStateDictionary" table="connection_state_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Состояние" type="2" length="50"/> <name name="Наименование" shortname="Состояние" type="2" length="50"/>
</connectionState> </connectionState>
<documentType name="Справочник типов документов" class="com.spicex.dictionary."> <documentType name="Справочник типов документов" class="com.spicex.dictionary." table="document_type_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Тип" type="2" length="255"/> <name name="Наименование" shortname="Тип" type="2" length="255"/>
</documentType> </documentType>
<legalKind name="Справочник видов субъекта" class="com.spicex.dictionary."> <legalKind name="Справочник видов субъекта" class="com.spicex.dictionary." table="legal_kind_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Вид" type="2" length="255"/> <name name="Наименование" shortname="Вид" type="2" length="255"/>
</legalKind> </legalKind>
<organizationType name="Справочник типов организаций" class="com.spicex.dictionary."> <organizationType name="Справочник типов организаций" class="com.spicex.dictionary." table="organization_type_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Тип" type="2" length="255"/> <name name="Наименование" shortname="Тип" type="2" length="255"/>
</organizationType> </organizationType>
<companySymbol name="Справочник имен Компании" class="com.spicex.dictionary." logUpdates="true"> <companySymbol name="Справочник имен Компании" class="com.spicex.dictionary." logUpdates="true" table="company_symbol_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Полное имя" type="2" length="255"/> <name name="Наименование" shortname="Полное имя" type="2" length="255"/>
<shortname name="Краткое наименование" shortname="Имя" type="2" length="255"/> <shortname name="Краткое наименование" shortname="Имя" type="2" length="255"/>
</companySymbol> </companySymbol>
<companyRole name="Справочник ролей Компаний" class="com.spicex.dictionary."> <companyRole name="Справочник ролей Компаний" class="com.spicex.dictionary." table="company_role_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Роль Участника" shortname="Роль" type="2" length="255"/> <name name="Роль Участника" shortname="Роль" type="2" length="255"/>
</companyRole> </companyRole>
<userRole name="Роли пользователей" class="com.spicex.dictionary.UserRole" table="UserRoleDictionary"> <userRole name="Роли пользователей" class="com.spicex.dictionary.UserRole" table="user_role_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Роль пользователя" shortname="Роль" type="2" length="50"/> <name name="Роль пользователя" shortname="Роль" type="2" length="50"/>
</userRole> </userRole>
<accountType name="Справочник типов счетов" class="com.spicex.dictionary.AccountTypeDictionary"> <accountType name="Справочник типов счетов" class="com.spicex.dictionary.AccountTypeDictionary" table="account_type_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Наименование" type="2" length="255"/> <name name="Наименование" shortname="Наименование" type="2" length="255"/>
</accountType> </accountType>
<instrumentType name="Справочник типов инструмента" class="com.spicex.dictionary."> <instrumentType name="Справочник типов инструмента" class="com.spicex.dictionary." table="instrument_type_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Тип" type="2" length="255"/> <name name="Наименование" shortname="Тип" type="2" length="255"/>
</instrumentType> </instrumentType>
<currencyCode name="Справочник кодов валют" class="com.spicex.dictionary."> <currencyCode name="Справочник кодов валют" class="com.spicex.dictionary." table="currency_code_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Наименование" type="2" length="255"/> <name name="Наименование" shortname="Наименование" type="2" length="255"/>
</currencyCode> </currencyCode>
<serviceStatus name="Справочник услуги" class="com.spicex.dictionary."> <serviceStatus name="Справочник услуги" class="com.spicex.dictionary." table="service_status_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Наименование" type="2" length="255"/> <name name="Наименование" shortname="Наименование" type="2" length="255"/>
</serviceStatus> </serviceStatus>
<service name="Справочник услуги" class="com.spicex.dictionary."> <service name="Справочник услуги" class="com.spicex.dictionary." table="service_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Наименование" type="2" length="255"/> <name name="Наименование" shortname="Наименование" type="2" length="255"/>
</service> </service>
<serviceProduct name="Справочник продукта для услуги" class="com.spicex.dictionary."> <serviceProduct name="Справочник продукта для услуги" class="com.spicex.dictionary." table="service_product_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Наименование" type="2" length="255"/> <name name="Наименование" shortname="Наименование" type="2" length="255"/>
</serviceProduct> </serviceProduct>
<sector name="Справочник секций" class="com.spicex.dictionary."> <sector name="Справочник секций" class="com.spicex.dictionary." table="sector_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Наименование" type="2" length="255"/> <name name="Наименование" shortname="Наименование" type="2" length="255"/>
</sector> </sector>
<resultStatus name="Статус обработки" class="com.spicex.dictionary."> <resultStatus name="Статус обработки" class="com.spicex.dictionary." table="result_status_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Статус обработки" shortname="Статус" type="2" length="255"/> <name name="Статус обработки" shortname="Статус" type="2" length="255"/>
</resultStatus> </resultStatus>
<errorCode name="Коды ошибок" class="com.spicex.dictionary."> <errorCode name="Коды ошибок" class="com.spicex.dictionary." table="error_code_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Текст ошибки" shortname="Ошибка" type="2" length="255"/> <name name="Текст ошибки" shortname="Ошибка" type="2" length="255"/>
</errorCode> </errorCode>
<managementJournalStatus name="Справочник статусов журнала мониторинга и контроля" class="ru.clearing.platform.dictionary.managementJournalStatusDictionary" table="МanagementJournalStatusDictionary"> <managementJournalStatus name="Справочник статусов журнала мониторинга и контроля" class="ru.clearing.platform.dictionary.managementJournalStatusDictionary" table="management_journal_status_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Статус сообщения" shortname="Наименование" type="2" length="50"/> <name name="Статус сообщения" shortname="Наименование" type="2" length="50"/>
</managementJournalStatus> </managementJournalStatus>
<managementJournalType name="Справочник типов записей в журнале мониторинга и контроля" class="ru.clearing.platform.dictionary.managementJournalTypeDictionary" table="МanagementJournalTypeDictionary"> <managementJournalType name="Справочник типов записей в журнале мониторинга и контроля" class="ru.clearing.platform.dictionary.managementJournalTypeDictionary" table="management_journal_type_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Тип записи" shortname="Наименование" type="2" length="50"/> <name name="Тип записи" shortname="Наименование" type="2" length="50"/>
</managementJournalType> </managementJournalType>
<managementJournalPurpose name="Справочник целей записей в журнале мониторинга и контроля" class="ru.clearing.platform.dictionary.managementJournalPurposeDictionary" table="managementJournalPurposeDictionary"> <managementJournalPurpose name="Справочник целей записей в журнале мониторинга и контроля" class="ru.clearing.platform.dictionary.managementJournalPurposeDictionary" table="management_journal_purpose_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Тип записи" shortname="Наименование" type="2" length="50"/> <name name="Тип записи" shortname="Наименование" type="2" length="50"/>
</managementJournalPurpose> </managementJournalPurpose>
<inOutSDfType name="Справочник типов входящих и исходящих записей" class="ru.clearing.platform.dictionary.inOutSDfTypeDictionary" table="InOutSDfTypeDictionary"> <inOutSDfType name="Справочник типов входящих и исходящих записей" class="ru.clearing.platform.dictionary.inOutSDfTypeDictionary" table="in_out_s_df_type_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Тип записи" shortname="Наименование" type="2" length="50"/> <name name="Тип записи" shortname="Наименование" type="2" length="50"/>
</inOutSDfType> </inOutSDfType>
<sessionStatus name="Справочник статусов клиринговой сессии" class="ru.clearing.platform.dictionary.SessionStatusDictionary" table="SessionStatusDictionary"> <sessionStatus name="Справочник статусов клиринговой сессии" class="ru.clearing.platform.dictionary.SessionStatusDictionary" table="session_status_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Наименование" type="2" length="50"/> <name name="Наименование" shortname="Наименование" type="2" length="50"/>
</sessionStatus> </sessionStatus>
<objectType name="Справочник типов объектов" class="ru.clearing.platform.dictionary.ObjectTypeDictionary" table="ObjectTypeDictionary"> <objectType name="Справочник типов объектов" class="ru.clearing.platform.dictionary.ObjectTypeDictionary" table="object_type_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Наименование" type="2" length="50"/> <name name="Наименование" shortname="Наименование" type="2" length="50"/>
</objectType> </objectType>
<notificationStatus name="Справочник статусов сообщений" class="ru.clearing.platform.dictionary.NotificationStatusDictionary" table="NotificationStatusDictionary"> <notificationStatus name="Справочник статусов сообщений" class="ru.clearing.platform.dictionary.NotificationStatusDictionary" table="notification_status_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Наименование" type="2" length="50"/> <name name="Наименование" shortname="Наименование" type="2" length="50"/>
</notificationStatus> </notificationStatus>
<eventType name="Типы изменений записей" class="ru.clearing.platform.dictionary.EventTypeDictionary" table="EventTypeDictionary"> <eventType name="Типы изменений записей" class="ru.clearing.platform.dictionary.EventTypeDictionary" table="event_type_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Тип события" shortname="Событие" type="2" length="50"/> <name name="Тип события" shortname="Событие" type="2" length="50"/>
</eventType> </eventType>
</enums> </enums>
<objects> <objects>
<userCls name="Пользователь" destination="users" class="ru.clearing.classes.statics.data.user.User" logUpdates="true" table="UserCls"> <userCls name="Пользователь" destination="users" class="ru.clearing.classes.statics.data.user.User" logUpdates="true" table="user_cls">
<id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" name="Создано" shortname="Создано" searchable="true" sortable="true"/> <createdAt field="created" type="4" name="Создано" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" name="Изменено" shortname="Изменено" searchable="true" sortable="true"/> <updatedAt field="updated" type="4" name="Изменено" shortname="Изменено" searchable="true" sortable="true"/>
@ -254,14 +254,14 @@
</put> </put>
</actions> </actions>
</userCls> </userCls>
<userRoleSession name="Набор ролей" destination="user-role-sessions" class="ru.clearing.classes.statics.data.user.UserRoleSession" table="UserRoleSession"> <userRoleSession name="Набор ролей" destination="user-role-sessions" class="ru.clearing.classes.statics.data.user.UserRoleSession" table="user_role_session">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<userId type="1" name="Идентификатор пользователя" shortname="Пользователь" searchable="true" sortable="true" visible="true" link="userCls"/> <userId type="1" name="Идентификатор пользователя" shortname="Пользователь" searchable="true" sortable="true" visible="true" link="userCls"/>
<userRole type="12" name="Идентификатор роли" shortname="Роль" searchable="true" sortable="true" visible="true" link="userRole"/> <userRole type="12" name="Идентификатор роли" shortname="Роль" searchable="true" sortable="true" visible="true" link="userRole"/>
<companyId type="1" name="Идентификатор компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company"/> <companyId type="1" name="Идентификатор компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company"/>
<status type="12" name="Статус" shortname="Статус" searchable="true" sortable="true" link="workflowStatus"/> <status type="12" name="Статус" shortname="Статус" searchable="true" sortable="true" link="workflowStatus"/>
</userRoleSession> </userRoleSession>
<userSettings name="Настройки пользователя" destination="utilities/user-settings" class="ru.clearing.classes.statics.data.user.UserSettings" table="userSettings"> <userSettings name="Настройки пользователя" destination="utilities/user-settings" class="ru.clearing.classes.statics.data.user.UserSettings" table="user_settings">
<id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/>
<userId type="1" name="Пользователь" shortname="Пользователь" searchable="true" sortable="true" visible="true" link="userCls"/> <userId type="1" name="Пользователь" shortname="Пользователь" searchable="true" sortable="true" visible="true" link="userCls"/>
<version type="2" length="50" name="Версия настроек пользователя" shortname="Версия" searchable="false" sortable="false" visible="true"/> <version type="2" length="50" name="Версия настроек пользователя" shortname="Версия" searchable="false" sortable="false" visible="true"/>
@ -274,7 +274,7 @@
</put> </put>
</actions> </actions>
</userSettings> </userSettings>
<userConnect name="Активность пользователей в системе" class="ru.clearing.classes.statics.data.user.UserConnect" logUpdates="true" table="UserConnect"> <userConnect name="Активность пользователей в системе" class="ru.clearing.classes.statics.data.user.UserConnect" logUpdates="true" table="user_connect">
<id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" name="Создано" shortname="Создано" searchable="true" sortable="true"/> <createdAt field="created" type="4" name="Создано" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" name="Изменено" shortname="Изменено" searchable="true" sortable="true"/> <updatedAt field="updated" type="4" name="Изменено" shortname="Изменено" searchable="true" sortable="true"/>
@ -293,7 +293,7 @@
<taskTime type="5" name="Время задачи" shortname="Время задачи" searchable="false" sortable="false" visible="true"/> <taskTime type="5" name="Время задачи" shortname="Время задачи" searchable="false" sortable="false" visible="true"/>
<taskStatus type="12" name="Статус" shortname="Статус" searchable="false" sortable="true" visible="true" link="taskStatus"/> <taskStatus type="12" name="Статус" shortname="Статус" searchable="false" sortable="true" visible="true" link="taskStatus"/>
<companyId type="1" name="Компания" shortname="Компания" searchable="false" sortable="false" visible="true" link="company" linkCode="shortName"/> <companyId type="1" name="Компания" shortname="Компания" searchable="false" sortable="false" visible="true" link="company" linkCode="shortName"/>
<securityId type="1" name="Инструмент" shortname="Инструмент" searchable="false" sortable="true" visible="true" link="security" linkCode="shortName"/> <securityId type="1" name="Инструмент" shortname="Инструмент" searchable="false" sortable="true" visible="true" link="moneyMarketSecurity" linkCode="fullName"/>
<id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" name="Создано" shortname="Создано" searchable="true" sortable="true"/> <createdAt field="created" type="4" name="Создано" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" name="Изменено" shortname="Изменено" searchable="true" sortable="true"/> <updatedAt field="updated" type="4" name="Изменено" shortname="Изменено" searchable="true" sortable="true"/>
@ -303,7 +303,7 @@
<taskTime type="5" name="Время задачи" shortname="Время задачи" required="true"/> <taskTime type="5" name="Время задачи" shortname="Время задачи" required="true"/>
<taskStatus type="12" name="Статус" shortname="Статус" link="taskStatus" required="true"/> <taskStatus type="12" name="Статус" shortname="Статус" link="taskStatus" required="true"/>
<companyId type="1" name="Компания" shortname="Компания" link="company" linkCode="shortName"/> <companyId type="1" name="Компания" shortname="Компания" link="company" linkCode="shortName"/>
<securityId type="1" name="Инструмент" shortname="Инструмент" link="security" linkCode="shortName"/> <securityId type="1" name="Инструмент" shortname="Инструмент" link="moneyMarketSecurity" linkCode="fullName"/>
</post> </post>
<put name="Изменение шаблона расписания операционного дня"> <put name="Изменение шаблона расписания операционного дня">
<id type="1" name="Идентификатор записи" shortname="ID" link="plannerTemplate" linkCode="id" required="true"/> <id type="1" name="Идентификатор записи" shortname="ID" link="plannerTemplate" linkCode="id" required="true"/>
@ -311,7 +311,7 @@
<taskTime type="5" name="Время задачи" shortname="Время задачи"/> <taskTime type="5" name="Время задачи" shortname="Время задачи"/>
<taskStatus type="12" name="Статус" shortname="Статус" link="taskStatus"/> <taskStatus type="12" name="Статус" shortname="Статус" link="taskStatus"/>
<companyId type="1" name="Компания" shortname="Компания" link="company" linkCode="shortName"/> <companyId type="1" name="Компания" shortname="Компания" link="company" linkCode="shortName"/>
<securityId type="1" name="Инструмент" shortname="Инструмент" link="security" linkCode="shortName"/> <securityId type="1" name="Инструмент" shortname="Инструмент" link="moneyMarketSecurity" linkCode="fullName"/>
</put> </put>
<delete name="Удаление шаблона расписания операционного дня" confirmation="task,taskTime,taskStatus,companyId,securityId"> <delete name="Удаление шаблона расписания операционного дня" confirmation="task,taskTime,taskStatus,companyId,securityId">
<id type="1" name="Идентификатор записи" shortname="ID" link="plannerTemplate" linkCode="id" required="true"/> <id type="1" name="Идентификатор записи" shortname="ID" link="plannerTemplate" linkCode="id" required="true"/>
@ -349,7 +349,7 @@
<market type="12" name="Секция" shortname="Секция" searchable="false" sortable="false" visible="true" link="market"/> <market type="12" name="Секция" shortname="Секция" searchable="false" sortable="false" visible="true" link="market"/>
<taskStatus type="12" name="Статус" shortname="Статус" searchable="false" sortable="true" visible="true" link="taskStatus"/> <taskStatus type="12" name="Статус" shortname="Статус" searchable="false" sortable="true" visible="true" link="taskStatus"/>
<companyId type="1" name="Компания" shortname="Компания" searchable="false" sortable="false" visible="true" link="company" linkCode="shortName"/> <companyId type="1" name="Компания" shortname="Компания" searchable="false" sortable="false" visible="true" link="company" linkCode="shortName"/>
<securityId type="1" name="Инструмент" shortname="Инструмент" searchable="false" sortable="true" visible="true" link="security" linkCode="shortName"/> <securityId type="1" name="Инструмент" shortname="Инструмент" searchable="false" sortable="true" visible="true" link="moneyMarketSecurity" linkCode="fullName"/>
<id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" name="Создано" shortname="Создано" searchable="true" sortable="true"/> <createdAt field="created" type="4" name="Создано" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" name="Изменено" shortname="Изменено" searchable="true" sortable="true"/> <updatedAt field="updated" type="4" name="Изменено" shortname="Изменено" searchable="true" sortable="true"/>
@ -361,7 +361,7 @@
<market type="12" name="Секция" shortname="Секция" link="market"/> <market type="12" name="Секция" shortname="Секция" link="market"/>
<taskStatus type="12" name="Статус" shortname="Статус" link="taskStatus" required="true"/> <taskStatus type="12" name="Статус" shortname="Статус" link="taskStatus" required="true"/>
<companyId type="1" name="Компания" shortname="Компания" link="company" linkCode="shortName"/> <companyId type="1" name="Компания" shortname="Компания" link="company" linkCode="shortName"/>
<securityId type="1" name="Инструмент" shortname="Инструмент" link="security" linkCode="shortName"/> <securityId type="1" name="Инструмент" shortname="Инструмент" link="moneyMarketSecurity" linkCode="fullName"/>
</post> </post>
<put name="Изменение расписания"> <put name="Изменение расписания">
<id type="1" name="Идентификатор записи" shortname="ID" link="planner" required="true" linkCode="id"/> <id type="1" name="Идентификатор записи" shortname="ID" link="planner" required="true" linkCode="id"/>
@ -371,7 +371,7 @@
<market type="12" name="Секция" shortname="Секция" link="market"/> <market type="12" name="Секция" shortname="Секция" link="market"/>
<taskStatus type="12" name="Статус" shortname="Статус" link="taskStatus"/> <taskStatus type="12" name="Статус" shortname="Статус" link="taskStatus"/>
<companyId type="1" name="Компания" shortname="Компания" link="company" linkCode="shortName"/> <companyId type="1" name="Компания" shortname="Компания" link="company" linkCode="shortName"/>
<securityId type="1" name="Инструмент" shortname="Инструмент" link="security" linkCode="shortName"/> <securityId type="1" name="Инструмент" shortname="Инструмент" link="moneyMarketSecurity" linkCode="fullName"/>
</put> </put>
<delete name="Удаление расписания" confirmation="task,taskTime,clearingDate,market,taskStatus,companyId,securityId"> <delete name="Удаление расписания" confirmation="task,taskTime,clearingDate,market,taskStatus,companyId,securityId">
<id type="1" name="Идентификатор записи" shortname="ID" link="planner" linkCode="id" required="true"/> <id type="1" name="Идентификатор записи" shortname="ID" link="planner" linkCode="id" required="true"/>
@ -385,48 +385,69 @@
<market type="12" name="Секция" shortname="Секция" searchable="true" sortable="true" visible="true" link="market"/> <market type="12" name="Секция" shortname="Секция" searchable="true" sortable="true" visible="true" link="market"/>
<taskStatus type="12" name="Статус" shortname="Статус" searchable="true" sortable="true" visible="true" link="taskStatus"/> <taskStatus type="12" name="Статус" shortname="Статус" searchable="true" sortable="true" visible="true" link="taskStatus"/>
<companyId type="1" name="Компания" shortname="Компания" searchable="false" sortable="false" visible="true" link="company" linkCode="shortName"/> <companyId type="1" name="Компания" shortname="Компания" searchable="false" sortable="false" visible="true" link="company" linkCode="shortName"/>
<securityId type="1" name="Инструмент" shortname="Инструмент" searchable="true" sortable="true" visible="true" link="security" linkCode="shortName"/> <securityId type="1" name="Инструмент" shortname="Инструмент" searchable="true" sortable="true" visible="true" link="moneyMarketSecurity" linkCode="fullName"/>
<parent type="12" name="Источник записи расписания" shortname="Источник" searchable="true" sortable="true" link="parent"/> <parent type="12" name="Источник записи расписания" shortname="Источник" searchable="true" sortable="true" link="parent"/>
<parentId type="1" name="Наименование источника" shortname="Источник" searchable="false" sortable="false"/> <parentId type="1" name="Идентификатор записи в таблице-источнике" shortname="ID источника" searchable="false" sortable="false"/>
<id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/>
</plannerAllToday> </plannerAllToday>
<launcher name="Запуск задачи" destination="launchers" class="ru.clearing.classes.statics.data.scheduler.Launcher" table="launcher_request"> <launcher name="Запуск задачи" destination="launchers" class="ru.clearing.classes.statics.data.scheduler.Launcher" table="launcher">
<senderId type="1" name="Отправитель" shortname="Отправитель" searchable="true" sortable="true" visible="true" link="userCls"/> <senderId type="1" name="Отправитель" shortname="Отправитель" searchable="true" sortable="true" visible="true" link="userCls"/>
<task type="12" name="Задача" shortname="Задача" searchable="true" sortable="true" visible="true" link="task"/> <task type="12" name="Задача" shortname="Задача" searchable="true" sortable="true" visible="true" link="task"/>
<id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" name="Создано" shortname="Создано" searchable="true" sortable="true"/> <createdAt field="created" type="4" name="Создано" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" name="Изменено" shortname="Изменено" searchable="true" sortable="true"/> <updatedAt field="updated" type="4" name="Изменено" shortname="Изменено" searchable="true" sortable="true"/>
<actions> <actions>
<getBalance group="Обмен с расчетной организацией" name="Зачисление остатков (загрузка ДФ-01)"/> <post destination="GBAL" group="Обмен с расчетной организацией" name="Зачисление остатков (загрузка ДФ-01)">
<accBlock group="Обмен с расчетной организацией" name="Блокировка счета (загрузка ДФ-12)"/> </post>
<getAllBalance group="Обмен с расчетной организацией" name="Запрос остатков по всем счетам (экспорт ДФ-08)"/> <post destination="ABLK" group="Обмен с расчетной организацией" name="Блокировка счета (загрузка ДФ-12)">
<addBalance group="Обмен с расчетной организацией" name="Дозачисление/списание остатков (загрузка ДФ-16)"/> </post>
<getBalanceDiff group="Обмен с расчетной организацией" name="Поступление средств (загрузка ДФ-09)"/> <post destination="GALB" group="Обмен с расчетной организацией" name="Запрос остатков по всем счетам (экспорт ДФ-08)">
<createOrder group="Обмен с расчетной организацией" name="Формирование сводного платежного поручения (экспорт ДФ-03/ДФ-11)"/> </post>
<createOrderConfirm group="Обмен с расчетной организацией" name="Получение подтверждения переводов (загрузка ДФ-04)"/> <post destination="ADBL" group="Обмен с расчетной организацией" name="Дозачисление/списание остатков (загрузка ДФ-16)">
<createMBAOrder group="Обмен с расчетной организацией" name="Формирование распоряжения на перевод с ТБС (экспорт ДФ-11)"/> </post>
<getTrades group="Обмен с Торговой системой" name="Получение сделок из Торговой системы"/> <post destination="GBLD" group="Обмен с расчетной организацией" name="Поступление средств (загрузка ДФ-09)">
<startClearing group="Клиринг" name="Запуск клиринговой сессии" confirmation="companyId,securityId"/> </post>
<post destination="CORD" group="Обмен с расчетной организацией" name="Формирование сводного платежного поручения (экспорт ДФ-03/ДФ-11)">
</post>
<post destination="CORC" group="Обмен с расчетной организацией" name="Получение подтверждения переводов (загрузка ДФ-04)">
</post>
<post destination="CMBA" group="Обмен с расчетной организацией" name="Формирование распоряжения на перевод с ТБС (экспорт ДФ-11)">
</post>
<post destination="GTRD" group="Обмен с Торговой системой" name="Получение сделок из Торговой системы">
</post>
<post destination="GACA" group="Обмен с Торговой системой" name="Создание файла остатков CSV по клиринговым счетам">
</post>
<post destination="GAIA" group="Обмен с Торговой системой" name="Создание файла остатков CSV по внутренним информационным счетам">
</post>
<post destination="SCLR" group="Клиринг" name="Запуск клиринговой сессии" confirmation="companyId,securityId">
<companyId type="1" name="Инициатор" shortname="Инициатор" link="company" linkCode="shortName"/> <companyId type="1" name="Инициатор" shortname="Инициатор" link="company" linkCode="shortName"/>
<securityId type="1" name="Инструмент" shortname="Инструмент" link="security" linkCode="shortName"/> <securityId type="1" name="Инструмент" shortname="Инструмент" link="moneyMarketSecurity" linkCode="fullName"/>
<startPreClearing group="Клиринг" name="Запуск преклиринга"/> </post>
<startPostClearing group="Клиринг" name="Запуск постклиринга"/> <post destination="SPRC" group="Клиринг" name="Запуск преклиринга">
<startVerification group="Клиринг" name="Запуск сверки"/> </post>
<getAmountClearingAccounts group="Обмен с Торговой системой" name="Создание файла остатков CSV по клиринговым счетам"/> <post destination="SPOC" group="Клиринг" name="Запуск постклиринга">
<getAmountInfoAccounts group="Обмен с Торговой системой" name="Создание файла остатков CSV по внутренним информационным счетам"/> </post>
<getClearMemberRegister group="Клиринг" name="Формирование реестра участников клиринга"/> <post destination="GVER" group="Клиринг" name="Запуск сверки">
<getBalanceRegister group="Клиринг" name="Формирование реестра остатков денежных средств"/> </post>
<getOrderRegister group="Клиринг" name="Формирование реестра распоряжений, направленных расчетной организации"/> <post destination="GCMR" group="Клиринг" name="Формирование реестра участников клиринга">
<getSentReportRegister group="Клиринг" name="Формирование реестра отправленных отчетов"/> </post>
<post destination="GBRR" group="Клиринг" name="Формирование реестра остатков денежных средств">
</post>
<post destination="GORR" group="Клиринг" name="Формирование реестра распоряжений, направленных расчетной организации">
</post>
<post destination="GSRR" group="Клиринг" name="Формирование реестра отправленных отчетов">
</post>
<post destination="GREP" group="Клиринг" name="Формирование отчетности">
</post>
</actions> </actions>
</launcher> </launcher>
<company name="Компании" destination="companies" class="ru.clearing.classes.statics.data.company.Company" logUpdates="true"> <company name="Компании" destination="companies" class="ru.clearing.classes.statics.data.company.Company" logUpdates="true" table="company">
<shortName type="2" length="255" name="Краткое наименование Компании" shortname="Компания" searchable="true" sortable="true" visible="true"/>
<fullName type="2" length="255" name="Полное наименование Компании" shortname="Полное наименование" searchable="true" sortable="true" visible="true"/>
<tradingCode type="2" length="255" name="Код участника торгов" shortname="Торговый код" searchable="true" sortable="true" visible="true"/> <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"/> <clearingCode type="2" length="255" name="Код участника клиринга" shortname="Клиринговый код" searchable="true" sortable="true" visible="true"/>
<registrationCode type="2" length="255" name="Регистрационный код участника" shortname="Регистрационный код" searchable="true" sortable="true" visible="true"/> <registrationCode type="2" length="255" name="Регистрационный код участника" shortname="Регистрационный код" searchable="true" sortable="true" visible="true"/>
<workflowStatus type="12" name="Статус" shortname="Статус" searchable="true" sortable="true" link="workflowStatus"/> <workflowStatus type="12" name="Статус" shortname="Статус" searchable="true" sortable="true" link="workflowStatus"/>
<shortName type="2" length="255" name="Краткое наименование Компании" shortname="Компания" searchable="true" sortable="true" visible="true"/>
<fullName type="2" length="255" name="Полное наименование Компании" shortname="Полное наименование" searchable="true" sortable="true" visible="true"/>
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true"/> <createdAt field="created" type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true"/> <updatedAt field="updated" type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
@ -436,7 +457,7 @@
</delete> </delete>
</actions> </actions>
</company> </company>
<companyInfo name="Профили Компаний" destination="company-infos" class="ru.clearing.classes.statics.data.profile.CompanyInfo" logUpdates="true"> <companyInfo name="Профили Компаний" destination="company-infos" class="ru.clearing.classes.statics.data.profile.CompanyInfo" logUpdates="true" table="company_info">
<companyId type="1" name="Наименование Компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/> <companyId type="1" name="Наименование Компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
<corporationSoleType type="12" name="Единоличный исполнительный орган" shortname="Исполнительный орган" searchable="true" sortable="true" visible="true" link="corporationSoleType"/> <corporationSoleType type="12" name="Единоличный исполнительный орган" shortname="Исполнительный орган" searchable="true" sortable="true" visible="true" link="corporationSoleType"/>
<countryCode type="12" name="Юрисдикция" shortname="Юрисдикция" searchable="true" sortable="true" visible="true" link="countryCode"/> <countryCode type="12" name="Юрисдикция" shortname="Юрисдикция" searchable="true" sortable="true" visible="true" link="countryCode"/>
@ -470,7 +491,7 @@
</put> </put>
</actions> </actions>
</companyInfo> </companyInfo>
<clearingMemberCategory name="Категории Участника клиринга" destination="clearing-member-categories" class="ru.clearing.classes.statics.data.generated.ClearingMemberCategory"> <clearingMemberCategory name="Категории Участника клиринга" destination="clearing-member-categories" class="ru.clearing.classes.statics.data.generated.ClearingMemberCategory" table="clearing_member_category">
<companyId type="1" name="Наименование Компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/> <companyId type="1" name="Наименование Компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
<clearingMemberCategory type="12" name="Категория участника клиринга" shortname="Категория" searchable="true" sortable="true" visible="true" link="clearingCategory"/> <clearingMemberCategory type="12" name="Категория участника клиринга" shortname="Категория" searchable="true" sortable="true" visible="true" link="clearingCategory"/>
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
@ -488,7 +509,7 @@
</delete> </delete>
</actions> </actions>
</clearingMemberCategory> </clearingMemberCategory>
<contact name="Контакты Компании" destination="contacts" class="ru.clearing.classes.statics.data.profile.Contact"> <contact name="Контакты Компании" destination="contacts" class="ru.clearing.classes.statics.data.profile.Contact" table="contact">
<companyId type="1" name="Наименование Компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/> <companyId type="1" name="Наименование Компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
<contactType type="12" name="Наименование справочника" shortname="Тип контакта" searchable="true" sortable="true" visible="true" link="contactType"/> <contactType type="12" name="Наименование справочника" shortname="Тип контакта" searchable="true" sortable="true" visible="true" link="contactType"/>
<contactValue type="2" length="255" name="Значение справочника" shortname="Значение" searchable="true" sortable="true" visible="true"/> <contactValue type="2" length="255" name="Значение справочника" shortname="Значение" searchable="true" sortable="true" visible="true"/>
@ -501,7 +522,7 @@
</put> </put>
</actions> </actions>
</contact> </contact>
<profileDocument name="Досье Компании" destination="profile-documents" class="ru.clearing.classes.statics.data.profile.ProfileDocument"> <profileDocument name="Досье Компании" destination="profile-documents" class="ru.clearing.classes.statics.data.profile.ProfileDocument" table="profile_document">
<companyId type="1" name="Наименование Компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/> <companyId type="1" name="Наименование Компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
<documentType type="12" name="Тип документа" shortname="Тип документа" searchable="true" sortable="true" visible="true" link="documentType"/> <documentType type="12" name="Тип документа" shortname="Тип документа" searchable="true" sortable="true" visible="true" link="documentType"/>
<issueDate type="6" name="Дата выдачи" shortname="Дата выдачи" searchable="true" sortable="true"/> <issueDate type="6" name="Дата выдачи" shortname="Дата выдачи" searchable="true" sortable="true"/>
@ -532,7 +553,7 @@
</post> </post>
</actions> </actions>
</profileDocument> </profileDocument>
<companySymbols name="Реквизиты Компании" destination="company-symbols" class="ru.clearing.classes.statics.data.company.CompanySymbols"> <companySymbols name="Реквизиты Компании" destination="company-symbols" class="ru.clearing.classes.statics.data.company.CompanySymbols" table="company_symbols">
<companyId type="1" name="Наименование Компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/> <companyId type="1" name="Наименование Компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
<companySymbol type="12" name="Справочник" shortname="Тип реквизита" searchable="true" sortable="true" visible="true" link="companySymbol" linkCode="shortName"/> <companySymbol type="12" name="Справочник" shortname="Тип реквизита" searchable="true" sortable="true" visible="true" link="companySymbol" linkCode="shortName"/>
<companySymbolValue type="2" length="255" name="Значение справочника" shortname="Значение" searchable="true" sortable="true" visible="true"/> <companySymbolValue type="2" length="255" name="Значение справочника" shortname="Значение" searchable="true" sortable="true" visible="true"/>
@ -545,7 +566,7 @@
</put> </put>
</actions> </actions>
</companySymbols> </companySymbols>
<clearmemberRegister name="Реестр участников клиринга" destination="clearmember-registers" serviceProduct="MKR"> <clearmemberRegister name="Реестр участников клиринга" destination="clearmember-registers" serviceProduct="MKR" table="clearmember_register">
<tradingCode type="2" length="255" name="Код участника торгов" shortname="Торговый код" searchable="true" sortable="true" visible="true"/> <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"/> <clearingCode type="2" length="255" name="Код участника клиринга" shortname="Клиринговый код" searchable="true" sortable="true" visible="true"/>
<fullName type="2" length="255" name="Полное наименование участника клиринга" shortname="Полное наименование" searchable="true" sortable="true" visible="true"/> <fullName type="2" length="255" name="Полное наименование участника клиринга" shortname="Полное наименование" searchable="true" sortable="true" visible="true"/>
@ -575,12 +596,12 @@
<createdAt field="created" type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true"/> <createdAt field="created" type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true"/> <updatedAt field="updated" type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
</clearmemberRegister> </clearmemberRegister>
<clearmemberRegisterChange name="Журнал изменений информации участников клиринга" destination="clearmember-register-changes"> <clearmemberRegisterChange name="Журнал изменений информации участников клиринга" destination="clearmember-register-changes" table="clearmember_register_change">
<date type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/> <date type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
<clearingCode 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"/>
<comment type="2" length="255" name="Комментарий" shortname="Комментарий" searchable="true" sortable="true" visible="true"/> <comment type="2" length="255" name="Комментарий" shortname="Комментарий" searchable="true" sortable="true" visible="true"/>
</clearmemberRegisterChange> </clearmemberRegisterChange>
<keyRate name="Ключевая ставка ЦБ" destination="utilities/key-rates" class="ru.clearing.classes.statics.data.misc.KeyRate"> <keyRate name="Ключевая ставка ЦБ" destination="utilities/key-rates" class="ru.clearing.classes.statics.data.misc.KeyRate" table="key_rate">
<rate type="10" name="Ключевая ставка ЦБ" shortname="Ставка" searchable="true" sortable="true" visible="true"/> <rate type="10" name="Ключевая ставка ЦБ" shortname="Ставка" searchable="true" sortable="true" visible="true"/>
<startDate type="6" name="Дата начала действия ключевой ставки" shortname="Начальная дата" searchable="true" sortable="true" visible="true"/> <startDate type="6" name="Дата начала действия ключевой ставки" shortname="Начальная дата" searchable="true" sortable="true" visible="true"/>
<endDate type="6" name="Дата окончания действия ключевой ставки" shortname="Конечная дата" searchable="true" sortable="true" visible="true"/> <endDate type="6" name="Дата окончания действия ключевой ставки" shortname="Конечная дата" searchable="true" sortable="true" visible="true"/>
@ -606,12 +627,12 @@
</delete> </delete>
</actions> </actions>
</keyRate> </keyRate>
<companyRoleSet name="Таблица ролей Компании" destination="company-role-sets" class="ru.clearing.classes.statics.data.company.CompanyRoleSet"> <companyRoleSet name="Таблица ролей Компании" destination="company-role-sets" class="ru.clearing.classes.statics.data.company.CompanyRoleSet" table="company_role_set">
<companyId type="1" name="Список ролей Компании" shortname="Роли Компании" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/> <companyId type="1" name="Список ролей Компании" shortname="Роли Компании" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
<roleId type="1" name="Значение справочника" shortname="Значение" searchable="true" sortable="true" visible="true" link="companyRole"/> <roleId type="1" name="Значение справочника" shortname="Значение" searchable="true" sortable="true" visible="true" link="companyRole"/>
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
</companyRoleSet> </companyRoleSet>
<account name="Счета" destination="accounting/accounts" class="ru.clearing.classes.statics.data.account.Account" logUpdates="true"> <account name="Счета" destination="accounting/accounts" class="ru.clearing.classes.statics.data.account.Account" logUpdates="true" table="account">
<account type="2" length="50" name="Номер счета" shortname="Счёт" searchable="true" sortable="true" visible="true"/> <account type="2" length="50" name="Номер счета" shortname="Счёт" searchable="true" sortable="true" visible="true"/>
<accountType type="12" name="Тип счета" shortname="Тип" searchable="true" sortable="true" visible="true" link="accountType"/> <accountType type="12" name="Тип счета" shortname="Тип" searchable="true" sortable="true" visible="true" link="accountType"/>
<relationId type="1" name="Договорные отношения" shortname="Договор" searchable="true" sortable="true" visible="true" link="relation"/> <relationId type="1" name="Договорные отношения" shortname="Договор" searchable="true" sortable="true" visible="true" link="relation"/>
@ -622,7 +643,7 @@
<createdAt field="created" type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true"/> <createdAt field="created" type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true"/> <updatedAt field="updated" type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
</account> </account>
<relation name="Договорные отношения" destination="relations" class="ru.clearing.classes.statics.data.company.relation.Relation" logUpdates="true"> <relation name="Договорные отношения" destination="relations" class="ru.clearing.classes.statics.data.company.relation.Relation" logUpdates="true" table="relation">
<consumerId type="1" name="Компания пользователя услуги" shortname="Потребитель" searchable="true" sortable="true" visible="true" link="company"/> <consumerId type="1" name="Компания пользователя услуги" shortname="Потребитель" searchable="true" sortable="true" visible="true" link="company"/>
<supplierId type="1" name="Компания поставщика услуги" shortname="Поставщик" searchable="true" sortable="true" visible="true" link="company"/> <supplierId type="1" name="Компания поставщика услуги" shortname="Поставщик" searchable="true" sortable="true" visible="true" link="company"/>
<serviceStatus type="12" name="Статус" shortname="Статус" searchable="true" sortable="true" visible="true" link="serviceStatus"/> <serviceStatus type="12" name="Статус" shortname="Статус" searchable="true" sortable="true" visible="true" link="serviceStatus"/>
@ -640,7 +661,7 @@
</put> </put>
</actions> </actions>
</relation> </relation>
<bankAccount name="Банковские реквизиты для перечисления денежных средств" destination="securities/bank-accounts" class="ru.clearing.classes.statics.data.account.BankAccount" logUpdates="true"> <bankAccount name="Банковские реквизиты для перечисления денежных средств" destination="securities/bank-accounts" class="ru.clearing.classes.statics.data.account.BankAccount" logUpdates="true" table="bank_account">
<accountId type="1" name="Номер счета" shortname="Счет" searchable="true" sortable="true" link="account" ignore="true"/> <accountId type="1" name="Номер счета" shortname="Счет" searchable="true" sortable="true" link="account" ignore="true"/>
<bankIdentificationCode type="2" length="255" name="Банковский идентификационный код (БИК)" shortname="БИК" searchable="true" sortable="true" visible="true"/> <bankIdentificationCode type="2" length="255" name="Банковский идентификационный код (БИК)" shortname="БИК" searchable="true" sortable="true" visible="true"/>
<bankName type="2" length="255" name="Наименование банка" shortname="Наименование" searchable="true" sortable="true" visible="true"/> <bankName type="2" length="255" name="Наименование банка" shortname="Наименование" searchable="true" sortable="true" visible="true"/>
@ -685,19 +706,19 @@
</delete> </delete>
</actions> </actions>
</bankAccount> </bankAccount>
<informationAccount name="Информационные счета" destination="securities/information-accounts" class="ru.clearing.classes.statics.data.account.InformationAccount" logUpdates="true"> <informationAccount name="Информационные счета" destination="securities/information-accounts" class="ru.clearing.classes.statics.data.account.InformationAccount" logUpdates="true" table="information_account">
<accountId type="1" name="Счет" shortname="Счет" searchable="true" sortable="true" visible="true" link="account" linkCode="account"/> <accountId type="1" name="Счет" shortname="Счет" searchable="true" sortable="true" visible="true" link="account" linkCode="account"/>
<clearingAccountId type="1" name="Счета" shortname="Счет" searchable="true" sortable="true" visible="true" link="account" linkCode="account"/> <clearingAccountId type="1" name="Счета" shortname="Счет" searchable="true" sortable="true" visible="true" link="account" linkCode="account"/>
<companyId type="1" name="Компания" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/> <companyId type="1" name="Компания" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
</informationAccount> </informationAccount>
<accountRouting name="Маршрутизация счета" class="ru.clearing.classes.statics.data.account.AccountRouting" logUpdates="true"> <accountRouting name="Маршрутизация счета" class="ru.clearing.classes.statics.data.account.AccountRouting" logUpdates="true" table="account_routing">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<destinationId type="1" name="Счет-назначение (зачисления)" shortname="Зачисления" searchable="true" sortable="true" visible="true" link="account"/> <destinationId type="1" name="Счет-назначение (зачисления)" shortname="Зачисления" searchable="true" sortable="true" visible="true" link="account"/>
<relationId type="1" name="Договорные отношения" shortname="Договор" searchable="true" sortable="true" visible="true" link="relation"/> <relationId type="1" name="Договорные отношения" shortname="Договор" searchable="true" sortable="true" visible="true" link="relation"/>
<sourceId type="1" name="Счет-источник (списания)" shortname="Списания" searchable="true" sortable="true" visible="true" link="account"/> <sourceId type="1" name="Счет-источник (списания)" shortname="Списания" searchable="true" sortable="true" visible="true" link="account"/>
</accountRouting> </accountRouting>
<security name="Инструменты" destination="securities" class="ru.clearing.classes.statics.data.security.Security" logUpdates="true"> <security name="Инструменты" destination="securities" class="ru.clearing.classes.statics.data.security.Security" logUpdates="true" table="security">
<instrumentType type="12" name="Наименование типа инструмента" shortname="Тип инструмента" searchable="true" sortable="true" visible="true" link="instrumentType"/> <instrumentType type="12" name="Наименование типа инструмента" shortname="Тип инструмента" searchable="true" sortable="true" visible="true" link="instrumentType"/>
<issuerId type="1" name="Наименование эмитента" shortname="Эмитент" searchable="true" sortable="true" link="company"/> <issuerId type="1" name="Наименование эмитента" shortname="Эмитент" searchable="true" sortable="true" link="company"/>
<shortName type="2" name="Краткое наименование инструмента" shortname="Краткое наименование" searchable="true" sortable="true" length="255" visible="true"/> <shortName type="2" name="Краткое наименование инструмента" shortname="Краткое наименование" searchable="true" sortable="true" length="255" visible="true"/>
@ -710,12 +731,12 @@
<createdAt field="created" type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true"/> <createdAt field="created" type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true"/> <updatedAt field="updated" type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
</security> </security>
<currency name="Инструменты Валюты" destination="currencies" class="ru.clearing.classes.statics.data.misc.Currency" logUpdates="true"> <currency name="Инструменты Валюты" destination="currencies" class="ru.clearing.classes.statics.data.misc.Currency" logUpdates="true" table="currency">
<countryCode type="12" name="Код страны" shortname="Страна" searchable="true" sortable="true" visible="true" link="countryCode"/> <countryCode type="12" name="Код страны" shortname="Страна" searchable="true" sortable="true" visible="true" link="countryCode"/>
<currencyCode type="12" name="Код валюты" shortname="Валюта" searchable="true" sortable="true" visible="true" link="currencyCode"/> <currencyCode type="12" name="Код валюты" shortname="Валюта" searchable="true" sortable="true" visible="true" link="currencyCode"/>
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
</currency> </currency>
<moneyMarketSecurity name="Инструменты Денежного рынка" destination="securities/money-securities" class="ru.clearing.classes.statics.data.misc.MoneyMarketSecurity" logUpdates="true"> <moneyMarketSecurity name="Инструменты Денежного рынка" destination="securities/money-securities" class="ru.clearing.classes.statics.data.misc.MoneyMarketSecurity" logUpdates="true" table="money_market_security">
<securityId type="1" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security" linkCode="shortName"/> <securityId type="1" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security" linkCode="shortName"/>
<description type="2" length="255" name="Описание" shortname="Описание" searchable="true" sortable="false"/> <description type="2" length="255" name="Описание" shortname="Описание" searchable="true" sortable="false"/>
<startDate type="6" name="Дата начала действия" shortname="Начальная дата" searchable="true" sortable="true"/> <startDate type="6" name="Дата начала действия" shortname="Начальная дата" searchable="true" sortable="true"/>
@ -740,7 +761,7 @@
<endDate type="6" name="Дата окончания действия" shortname="Конечная дата" required="true"/> <endDate type="6" name="Дата окончания действия" shortname="Конечная дата" required="true"/>
</post> </post>
<put name="Изменение инструмента"> <put name="Изменение инструмента">
<id type="1" name="Идентификатор записи" shortname="ID" link="security" linkCode="id" required="true"/> <id type="1" name="Идентификатор записи" shortname="ID" link="moneyMarketSecurity" linkCode="id" required="true"/>
<fullName type="2" name="Полное наименование инструмента" shortname="Наименование" length="255"/> <fullName type="2" name="Полное наименование инструмента" shortname="Наименование" length="255"/>
<instrumentType type="12" name="Наименование типа инструмента" shortname="Тип инструмента" link="instrumentType"/> <instrumentType type="12" name="Наименование типа инструмента" shortname="Тип инструмента" link="instrumentType"/>
<lotSize type="11" name="Размер лота" shortname="Лот"/> <lotSize type="11" name="Размер лота" shortname="Лот"/>
@ -750,11 +771,11 @@
<endDate type="6" name="Дата окончания действия" shortname="Конечная дата"/> <endDate type="6" name="Дата окончания действия" shortname="Конечная дата"/>
</put> </put>
<delete name="Удаление инструмента" confirmation="securitySymbol,fullName"> <delete name="Удаление инструмента" confirmation="securitySymbol,fullName">
<id type="1" name="Идентификатор записи" shortname="ID" link="security" linkCode="id" required="true"/> <id type="1" name="Идентификатор записи" shortname="ID" link="moneyMarketSecurity" linkCode="id" required="true"/>
</delete> </delete>
</actions> </actions>
</moneyMarketSecurity> </moneyMarketSecurity>
<listing name="Листинг инструментов" destination="listings" class="ru.clearing.classes.statics.data.misc.Listing" logUpdates="true"> <listing name="Листинг инструментов" destination="listings" class="ru.clearing.classes.statics.data.misc.Listing" logUpdates="true" table="listing">
<securityId type="1" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security"/> <securityId type="1" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security"/>
<lotSize type="11" name="Размер лота" shortname="Размер лота" searchable="true" sortable="true"/> <lotSize type="11" name="Размер лота" shortname="Размер лота" searchable="true" sortable="true"/>
<market type="12" name="Секция" shortname="Секция" searchable="true" sortable="true" link="market"/> <market type="12" name="Секция" shortname="Секция" searchable="true" sortable="true" link="market"/>
@ -766,7 +787,7 @@
<createdAt field="created" type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true" ignore="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"/> <updatedAt field="updated" type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
</listing> </listing>
<market name="Торговые секции" destination="markets" class="ru.clearing.classes.statics.data.misc.Market" logUpdates="true"> <market name="Торговые секции" destination="markets" class="ru.clearing.classes.statics.data.misc.Market" logUpdates="true" table="market">
<description type="2" length="255" name="Описание" shortname="Описание" searchable="true" sortable="true"/> <description type="2" length="255" name="Описание" shortname="Описание" searchable="true" sortable="true"/>
<exchangeId type="1" name="Наименование площадки" shortname="Площадка" searchable="true" sortable="true" link="company"/> <exchangeId type="1" name="Наименование площадки" shortname="Площадка" searchable="true" sortable="true" link="company"/>
<name type="2" length="255" name="Наименование" shortname="Наименование" searchable="true" sortable="true"/> <name type="2" length="255" name="Наименование" shortname="Наименование" searchable="true" sortable="true"/>
@ -777,7 +798,7 @@
<createdAt field="created" type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true" ignore="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"/> <updatedAt field="updated" type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
</market> </market>
<accountBalance name="Информация об остатках ден. средств" destination="account-balances" class="ru.clearing.classes.statics.data.account.AccountBalance" logUpdates="true"> <accountBalance name="Информация об остатках ден. средств" destination="account-balances" class="ru.clearing.classes.statics.data.account.AccountBalance" logUpdates="true" table="account_balance">
<companyId type="1" name="Наименование участника" shortname="Участник" searchable="true" sortable="true" link="company" linkCode="shortName" ignore="true"/> <companyId type="1" name="Наименование участника" shortname="Участник" searchable="true" sortable="true" link="company" linkCode="shortName" ignore="true"/>
<accountId type="1" name="Наименование счета" shortname="Счет" searchable="true" sortable="true" link="account" ignore="true"/> <accountId type="1" name="Наименование счета" shortname="Счет" searchable="true" sortable="true" link="account" ignore="true"/>
<accountType type="12" name="Тип счета" shortname="Тип счета" searchable="true" sortable="true" link="account" linkCode="accountType"/> <accountType type="12" name="Тип счета" shortname="Тип счета" searchable="true" sortable="true" link="account" linkCode="accountType"/>
@ -820,7 +841,7 @@
<createdAt field="created" type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true"/> <createdAt field="created" type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true"/> <updatedAt field="updated" type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
</balanceRegister> </balanceRegister>
<managementJournal name="Журнал мониторинга и контроля" destination="management-journals" class="ru.clearing.classes.statics.data.journal.ManagementJournal" table="managementJournal"> <managementJournal name="Журнал мониторинга и контроля" destination="management-journals" class="ru.clearing.classes.statics.data.journal.ManagementJournal" table="management_journal">
<companyId type="1" name="Участник" shortname="Участник" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/> <companyId type="1" name="Участник" shortname="Участник" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
<userId type="1" name="Автор сообщения" shortname="Сотрудник" searchable="true" sortable="true" visible="true" link="userCls"/> <userId type="1" name="Автор сообщения" shortname="Сотрудник" searchable="true" sortable="true" visible="true" link="userCls"/>
<managementJournalType type="12" name="Тип мониторинга" shortname="Тип" searchable="true" sortable="true" visible="true" link="managementJournalType"/> <managementJournalType type="12" name="Тип мониторинга" shortname="Тип" searchable="true" sortable="true" visible="true" link="managementJournalType"/>
@ -834,7 +855,7 @@
<createdAt field="created" type="4" name="Создано" shortname="Создано" searchable="true" sortable="true"/> <createdAt field="created" type="4" name="Создано" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" name="Изменено" shortname="Изменено" searchable="true" sortable="true"/> <updatedAt field="updated" type="4" name="Изменено" shortname="Изменено" searchable="true" sortable="true"/>
</managementJournal> </managementJournal>
<inDocumentJournal name="Журнал входящих документов" destination="in-document-journals" class="ru.clearing.classes.statics.data.journal.InDocumentJournal" table="InDocumentJournal"> <inDocumentJournal name="Журнал входящих документов" destination="in-document-journals" class="ru.clearing.classes.statics.data.journal.InDocumentJournal" table="in_document_journal">
<registrationDate type="6" name="Дата регистрации" shortname="Дата" searchable="true" sortable="true" visible="true"/> <registrationDate type="6" name="Дата регистрации" shortname="Дата" searchable="true" sortable="true" visible="true"/>
<registrationTime type="5" name="Время регистрации" shortname="Время" searchable="true" sortable="true" visible="true"/> <registrationTime type="5" name="Время регистрации" shortname="Время" searchable="true" sortable="true" visible="true"/>
<registrationNumber type="1" name="Регистационный номер" shortname="Регистационный номер" searchable="true" sortable="true" visible="true"/> <registrationNumber type="1" name="Регистационный номер" shortname="Регистационный номер" searchable="true" sortable="true" visible="true"/>
@ -851,7 +872,7 @@
<resultStatus type="12" name="Статус загрузки документа" shortname="Статус" searchable="true" sortable="true" visible="true" link="resultStatus"/> <resultStatus type="12" name="Статус загрузки документа" shortname="Статус" searchable="true" sortable="true" visible="true" link="resultStatus"/>
<id type="1" name="Идентификатор записи" shortname="№п/п" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="№п/п" searchable="true" sortable="true"/>
</inDocumentJournal> </inDocumentJournal>
<outDocumentJournal name="Журнал исходящих документов" destination="out-document-journals" class="ru.clearing.classes.statics.data.journal.OutDocumentJournal" table="OutDocumentJournal"> <outDocumentJournal name="Журнал исходящих документов" destination="out-document-journals" class="ru.clearing.classes.statics.data.journal.OutDocumentJournal" table="out_document_journal">
<registrationDate type="6" name="Дата регистрации" shortname="Дата" searchable="true" sortable="true" visible="true"/> <registrationDate type="6" name="Дата регистрации" shortname="Дата" searchable="true" sortable="true" visible="true"/>
<registrationTime type="5" name="Время регистрации" shortname="Время" searchable="true" sortable="true" visible="true"/> <registrationTime type="5" name="Время регистрации" shortname="Время" searchable="true" sortable="true" visible="true"/>
<registrationNumber type="1" name="Регистационный номер" shortname="Регистационный номер" searchable="true" sortable="true" visible="true"/> <registrationNumber type="1" name="Регистационный номер" shortname="Регистационный номер" searchable="true" sortable="true" visible="true"/>
@ -887,9 +908,9 @@
<secondLegSettlementDate field="secondLeg.settlementDate" type="6" name="Дата возврата" shortname="Дата возврата" visible="true" searchable="true" sortable="true"/> <secondLegSettlementDate field="secondLeg.settlementDate" type="6" name="Дата возврата" shortname="Дата возврата" visible="true" searchable="true" sortable="true"/>
<firstLegSettlementCode field="firstLeg.settlementCode" type="6" name="Код расчетов при размещении" shortname="Код расчетов при размещении" visible="false" searchable="true" sortable="true"/> <firstLegSettlementCode field="firstLeg.settlementCode" type="6" name="Код расчетов при размещении" shortname="Код расчетов при размещении" visible="false" searchable="true" sortable="true"/>
<secondLegSettlementCode field="secondLeg.settlementCode" type="6" name="Код расчетов при возврате" shortname="Код расчетов" visible="true" searchable="true" sortable="true"/> <secondLegSettlementCode field="secondLeg.settlementCode" type="6" name="Код расчетов при возврате" shortname="Код расчетов" visible="true" searchable="true" sortable="true"/>
<securityFullName type="2" length="255" name="Наименование инструмента" shortname="Инструмент" visible="false" searchable="true" sortable="true"/> <securityFullName type="2" length="255" name="Наименование инструмента" shortname="Инструмент" visible="true" searchable="true" sortable="true"/>
<securitySymbol type="2" length="255" name="Код инструмента в Торговой Системе" shortname="Код инструмента" visible="false" searchable="true" sortable="true"/> <securitySymbol type="2" length="255" name="Код инструмента в Торговой Системе" shortname="Код инструмента" visible="true" searchable="true" sortable="true"/>
<securityId type="1" name="Финансовый инструмент" shortname="Код биржевого инструмента / товара" visible="true" searchable="true" sortable="true" link="moneyMarketSecurity" linkCode="securitySymbol"/> <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"/> <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"/> <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"/> <sessionId type="1" name="Наименование сессии" shortname="Сессия" visible="true" searchable="true" sortable="true" link="moneyMarketSession"/>
@ -912,9 +933,9 @@
<companyId type="1" name="Название компании" shortname="Компания" visible="true" searchable="true" sortable="true" link="company" linkCode="shortName"/> <companyId type="1" name="Название компании" shortname="Компания" visible="true" searchable="true" sortable="true" link="company" linkCode="shortName"/>
<firstLegSettlementDate type="6" 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"/> <secondLegSettlementDate type="6" name="Дата возврата" shortname="Дата возврата" visible="true" searchable="true" sortable="true"/>
<securityFullName type="2" length="255" name="Наименование инструмента" shortname="Инструмент" visible="false" searchable="true" sortable="true"/> <securityFullName type="2" length="255" name="Наименование инструмента" shortname="Инструмент" visible="true" searchable="true" sortable="true"/>
<securitySymbol type="2" length="255" name="Код инструмента в Торговой Системе" shortname="Код инструмента" visible="false" searchable="true" sortable="true"/> <securitySymbol type="2" length="255" name="Код инструмента в Торговой Системе" shortname="Код инструмента" visible="true" searchable="true" sortable="true"/>
<securityId type="1" name="Финансовый инструмент" shortname="Код биржевого инструмента / товара" visible="true" searchable="true" sortable="true" link="security" linkCode="securitySymbol"/> <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"/> <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"/> <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"/> <sessionId type="1" name="Наименование сессии" shortname="Сессия" visible="true" searchable="true" sortable="true" link="moneyMarketSession"/>
@ -984,7 +1005,7 @@
<updatedAt type="5" name="Время изменения" shortname="Время изменения" visible="false" searchable="true" sortable="true"/> <updatedAt type="5" name="Время изменения" shortname="Время изменения" visible="false" searchable="true" sortable="true"/>
<clearingDate type="6" name="Дата клиринга" shortname="Дата клиринга" visible="false" searchable="true" sortable="true"/> <clearingDate type="6" name="Дата клиринга" shortname="Дата клиринга" visible="false" searchable="true" sortable="true"/>
</uncoveredDealRegister> </uncoveredDealRegister>
<reportRegister name="Реестр отчетов" destination="report-registers" class="com.moex.platform.classes.TransactionData.Execution.DepositExecution" table="reportRegister"> <reportRegister name="Реестр отправленных отчетов" destination="report-registers" class="com.moex.platform.classes.TransactionData.Execution.DepositExecution" table="report_register">
<companyFullName type="2" length="255" name="Наименование участника" shortname="Участник" searchable="true" sortable="true"/> <companyFullName type="2" length="255" name="Наименование участника" shortname="Участник" searchable="true" sortable="true"/>
<clearingCode type="2" length="255" name="Код клиринга" shortname="Код участника" searchable="true" sortable="true"/> <clearingCode type="2" length="255" name="Код клиринга" shortname="Код участника" searchable="true" sortable="true"/>
<sessionId type="1" name="Сессия" shortname="Сессия" visible="true" searchable="true" sortable="true" link="moneyMarketSession"/> <sessionId type="1" name="Сессия" shortname="Сессия" visible="true" searchable="true" sortable="true" link="moneyMarketSession"/>
@ -996,7 +1017,7 @@
<updatedAt type="5" name="Время изменения" shortname="Время изменения" visible="false" searchable="true" sortable="true"/> <updatedAt type="5" name="Время изменения" shortname="Время изменения" visible="false" searchable="true" sortable="true"/>
<clearingDate type="6" name="Дата клиринга" shortname="Дата клиринга" visible="false" searchable="true" sortable="true"/> <clearingDate type="6" name="Дата клиринга" shortname="Дата клиринга" visible="false" searchable="true" sortable="true"/>
</reportRegister> </reportRegister>
<contractRegister name="Журнал регистрации договоров" destination="contract-registers" class="ru.clearing.classes.TransactionData.Execution.DepositExecution" table="reportRegister"> <contractRegister name="Журнал регистрации договоров" destination="contract-registers" class="ru.clearing.classes.TransactionData.Execution.DepositExecution" table="contract_register">
<name type="2" length="255" name="Наименование документа" shortname="Наименование" searchable="true" sortable="true" visible="true"/> <name type="2" length="255" name="Наименование документа" shortname="Наименование" searchable="true" sortable="true" visible="true"/>
<number type="2" length="255" name="Номер документа" shortname="Номер" searchable="true" sortable="true" visible="true"/> <number type="2" length="255" name="Номер документа" shortname="Номер" searchable="true" sortable="true" visible="true"/>
<issueDate type="6" name="Дата составления" shortname="Дата выдачи" searchable="true" sortable="true"/> <issueDate type="6" name="Дата составления" shortname="Дата выдачи" searchable="true" sortable="true"/>
@ -1015,7 +1036,7 @@
<createdAt type="5" name="Дата и время регистрации документа" shortname="Время сделки" visible="true" searchable="true" sortable="true"/> <createdAt type="5" name="Дата и время регистрации документа" shortname="Время сделки" visible="true" searchable="true" sortable="true"/>
<updatedAt type="5" name="Время изменения сделки" shortname="Время изменения" visible="false" searchable="true" sortable="true"/> <updatedAt type="5" name="Время изменения сделки" shortname="Время изменения" visible="false" searchable="true" sortable="true"/>
</contractRegister> </contractRegister>
<orderRegister name="Реестра распоряжений" destination="order-registers" class="ru.clearing.classes.TransactionData.Execution.LiabilitiesClaimsAssets" table="transactionStatus"> <orderRegister name="Реестр распоряжений, направленных расчетной организации" destination="order-registers" class="ru.clearing.classes.TransactionData.Execution.LiabilitiesClaimsAssets" table="order_register">
<creditLegAccount type="2" lenght="50" name="Счет отправителя" shortname="Счет отправителя" searchable="true" sortable="true" visible="true"/> <creditLegAccount type="2" lenght="50" name="Счет отправителя" shortname="Счет отправителя" searchable="true" sortable="true" visible="true"/>
<creditLegAmount type="10" name="Сумма отправителя" shortname="Сумма отправителя" searchable="true" sortable="true" visible="true"/> <creditLegAmount type="10" name="Сумма отправителя" shortname="Сумма отправителя" searchable="true" sortable="true" visible="true"/>
<creditLegCurrencyCode type="12" name="Код валюты отправителя" shortname="Валюта отправителя" searchable="true" sortable="true" visible="true" link="currency"/> <creditLegCurrencyCode type="12" name="Код валюты отправителя" shortname="Валюта отправителя" searchable="true" sortable="true" visible="true" link="currency"/>
@ -1059,7 +1080,7 @@
<tradingDate type="6" name="Дата торгов" shortname="Дата торгов" searchable="true" sortable="true" visible="true"/> <tradingDate type="6" name="Дата торгов" shortname="Дата торгов" searchable="true" sortable="true" visible="true"/>
<refundDate type="6" name="Дата возврата" shortname="Дата возврата" searchable="true" sortable="true" visible="true"/> <refundDate type="6" name="Дата возврата" shortname="Дата возврата" searchable="true" sortable="true" visible="true"/>
<price type="10" name="Ставка по депозиту" shortname="Ставка,%" visible="true" searchable="true" sortable="true"/> <price type="10" name="Ставка по депозиту" shortname="Ставка,%" visible="true" searchable="true" sortable="true"/>
<securityId type="1" name="Инструмент" shortname="Инструмент" searchable="true" sortable="true" visible="true" link="security" linkCode="shortName"/> <securityId type="1" name="Инструмент" shortname="Инструмент" searchable="true" sortable="true" visible="true" link="moneyMarketSecurity" linkCode="fullName"/>
<tradingCode type="2" name="Торговый код Участника" shortname="Торговый код" searchable="true" sortable="true" visible="true" length="255" link="company" linkCode="tradingCode"/> <tradingCode type="2" name="Торговый код Участника" shortname="Торговый код" searchable="true" sortable="true" visible="true" length="255" link="company" linkCode="tradingCode"/>
<clearingCode type="2" name="Клиринговый код Участника" shortname="Клиринговый код" searchable="true" sortable="true" visible="true" length="255" link="company" linkCode="clearingCode"/> <clearingCode type="2" name="Клиринговый код Участника" shortname="Клиринговый код" searchable="true" sortable="true" visible="true" length="255" link="company" linkCode="clearingCode"/>
<shortName type="2" name="Короткое наименование Участника" shortname="Участник" searchable="true" sortable="true" visible="true" length="255" link="company" linkCode="shortName"/> <shortName type="2" name="Короткое наименование Участника" shortname="Участник" searchable="true" sortable="true" visible="true" length="255" link="company" linkCode="shortName"/>
@ -1098,7 +1119,7 @@
<updatedAt field="updated" 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"/> <clearingDate type="6" name="Дата расчета" shortname="Дата расчета" searchable="true" sortable="true" visible="true"/>
</statement> </statement>
<tradeSettlement name="Проводки на базе сделок торговой системы" class="ru.clearing.classes.TransactionData.Execution.LiabilitiesClaimsAssets" table="tradeConfirmation"> <tradeSettlement name="Проводки на базе сделок торговой системы" class="ru.clearing.classes.TransactionData.Execution.LiabilitiesClaimsAssets" table="trade_settlement">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<addresseeId type="1" name="Идентификатор участника получателя" shortname="Получатель" searchable="true" sortable="true" link="company"/> <addresseeId type="1" name="Идентификатор участника получателя" shortname="Получатель" searchable="true" sortable="true" link="company"/>
<senderId type="1" name="Идентификатор участника отправителя" shortname="Отправитель" searchable="true" sortable="true" link="company"/> <senderId type="1" name="Идентификатор участника отправителя" shortname="Отправитель" searchable="true" sortable="true" link="company"/>
@ -1112,7 +1133,7 @@
<account type="2" length="50" name="Счет" shortname="Счет" searchable="true" sortable="true"/> <account type="2" length="50" name="Счет" shortname="Счет" searchable="true" sortable="true"/>
<operationStatus type="12" name="Cтатус обработки" shortname="Статус" searchable="true" sortable="true" link="operationStatus"/> <operationStatus type="12" name="Cтатус обработки" shortname="Статус" searchable="true" sortable="true" link="operationStatus"/>
</tradeSettlement> </tradeSettlement>
<operation name="Проводки" class="ru.clearing.classes.TransactionData.Execution.LiabilitiesClaimsAssets" table="tradeConfirmation"> <operation name="Проводки" class="ru.clearing.classes.TransactionData.Execution.LiabilitiesClaimsAssets" table="operation">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<addresseeId type="1" name="Идентификатор участника получателя" shortname="Получатель" searchable="true" sortable="true" link="company"/> <addresseeId type="1" name="Идентификатор участника получателя" shortname="Получатель" searchable="true" sortable="true" link="company"/>
<senderId type="1" name="Идентификатор участника отправителя" shortname="Отправитель" searchable="true" sortable="true" link="company"/> <senderId type="1" name="Идентификатор участника отправителя" shortname="Отправитель" searchable="true" sortable="true" link="company"/>
@ -1122,24 +1143,24 @@
<operationTypeId type="1" name="Тип проводки" shortname="Тип" searchable="true" sortable="true" link="operationType"/> <operationTypeId type="1" name="Тип проводки" shortname="Тип" searchable="true" sortable="true" link="operationType"/>
<operationStatus type="12" name="Cтатус обработки" shortname="Статус" searchable="true" sortable="true" link="operationStatus"/> <operationStatus type="12" name="Cтатус обработки" shortname="Статус" searchable="true" sortable="true" link="operationStatus"/>
</operation> </operation>
<paymentInstruction name="Информация о денежных средствах" destination="payment-instructions" class="ru.clearing.classes.statics.data.payment.PaymentInstruction" table="PaymentInstruction"> <paymentInstruction name="Платежные поручения" destination="payment-instructions" class="ru.clearing.classes.statics.data.payment.PaymentInstruction" table="payment_instruction">
<senderId type="1" name="Наименование участника отправителя" shortname="Отправитель" searchable="true" sortable="true" link="company"/> <senderId type="1" name="Наименование участника отправителя" shortname="Отправитель" searchable="true" sortable="true" link="company"/>
<addresseeId type="1" name="Наименование участника получателя" shortname="Получатель" searchable="true" sortable="true" link="company"/> <addresseeId type="1" name="Наименование участника получателя" shortname="Получатель" searchable="true" sortable="true" link="company"/>
<adresseeBic type="2" length="255" name="Банковский идентификационный код (БИК) получателя" shortname="БИК получателя" searchable="true" sortable="true" visible="true"/> <adresseeBic type="2" length="255" name="Банковский идентификационный код (БИК) получателя" shortname="БИК получателя" searchable="true" sortable="true" visible="true"/>
<payeeBankName type="2" length="255" name="Банк отправителя" shortname="Отправитель" searchable="true" sortable="true" visible="true"/> <payeeBankName type="2" length="255" name="Наименование банка отправителя" shortname="Банк отправителя" searchable="true" sortable="true" visible="true"/>
<payeeBic type="2" length="255" name="Банковский идентификационный код (БИК) отправителя" shortname="БИК отправителя" searchable="true" sortable="true" visible="true"/> <payeeBic type="2" length="255" name="Банковский идентификационный код (БИК) отправителя" shortname="БИК отправителя" searchable="true" sortable="true" visible="true"/>
<addresseeBankName type="2" length="255" name="Банк получателя" shortname="Получатель" searchable="true" sortable="true" visible="true"/> <addresseeBankName type="2" length="255" name="Наименование банка получателя" shortname="Банк получателя" searchable="true" sortable="true" visible="true"/>
<paymentDate type="4" name="Дата и время платежа" shortname="Дата и время платежа" searchable="true" sortable="true" ignore="true"/> <paymentDate type="4" name="Дата и время платежа" shortname="Дата и время платежа" searchable="true" sortable="true" ignore="true"/>
<paymentPurpose type="2" name="Назначение платежа" shortname="Назначение" searchable="true" sortable="true" visible="true" length="255"/> <paymentPurpose type="2" name="Назначение платежа" shortname="Назначение" searchable="true" sortable="true" visible="true" length="255"/>
<settlementDate type="6" name="Дата расчетов" shortname="Дата расчетов" searchable="true" sortable="true"/> <settlementDate type="6" name="Дата расчетов" shortname="Дата расчетов" searchable="true" sortable="true"/>
<creditLeg_amount field="creditLegAmount" type="1" name="Сумма отправителя" shortname="Сумма отправителя" searchable="true" sortable="true" visible="true"/> <creditLeg_amount field="creditLegAmount" type="1" name="Сумма отправителя" shortname="Сумма отправителя" searchable="true" sortable="true" visible="true"/>
<debitLeg_amount field="debitLegAmount" type="1" name="Сумма получателя" shortname="Сумма получателя" searchable="true" sortable="true" visible="true"/> <debitLeg_amount field="debitLegAmount" type="1" name="Сумма получателя" shortname="Сумма получателя" searchable="true" sortable="true" visible="true"/>
<creditLeg_accountId field="creditLegAccountId" type="1" name="Наименование счета отправителя" shortname="Счет отправителя" searchable="true" sortable="true" link="account"/> <creditLeg_accountId field="creditLegAccountId" type="1" name="Наименование счета отправителя" shortname="Счет отправителя" searchable="true" sortable="true" link="account" ignore="true"/>
<credit_csAccount field="creditCsAccount" type="2" length="255" name="Корреспондентский счет отправителя" shortname="Корр. счет отправителя" searchable="true" sortable="true" visible="true"/> <credit_csAccount field="creditCsAccount" type="2" length="255" name="Корреспондентский счет отправителя" shortname="Корр. счет отправителя" searchable="true" sortable="true" visible="true"/>
<creditLeg_account field="creditLegAccount" type="2" length="50" name="Счет отправителя" shortname="Счет отправителя" searchable="true" sortable="true" visible="true" link="Account"/> <creditLeg_account field="creditLegAccount" type="2" length="50" name="Счет отправителя" shortname="Счет отправителя" searchable="true" sortable="true" visible="true"/>
<debitLeg_accountId field="debitLegAccountId" type="1" name="Наименование счета получателя" shortname="Счет получателя" searchable="true" sortable="true" link="account"/> <debitLeg_accountId field="debitLegAccountId" type="1" name="Наименование счета получателя" shortname="Счет получателя" searchable="true" sortable="true" link="account" ignore="true"/>
<debit_csAccount field="debitCsAccount" type="2" length="255" name="Корреспондентский счет получателя" shortname="Корр. счет получателя" searchable="true" sortable="true" visible="true"/> <debit_csAccount field="debitCsAccount" type="2" length="255" name="Корреспондентский счет получателя" shortname="Корр. счет получателя" searchable="true" sortable="true" visible="true"/>
<debitLeg_account field="debitLegAccount" type="2" length="50" name="Счет получателя" shortname="Счет получателя" searchable="true" sortable="true" visible="true" link="Account"/> <debitLeg_account field="debitLegAccount" type="2" length="50" name="Счет получателя" shortname="Счет получателя" searchable="true" sortable="true" visible="true"/>
<creditLeg_direction field="creditLegDirection" type="1" name="Направление отправителя" shortname="Направление отправителя" searchable="true" sortable="true" link="inOutDirection" ignore="true"/> <creditLeg_direction field="creditLegDirection" type="1" name="Направление отправителя" shortname="Направление отправителя" searchable="true" sortable="true" link="inOutDirection" ignore="true"/>
<debitLeg_direction field="debitLegDirection" type="1" name="Направление получателя" shortname="Направление получателя" searchable="true" sortable="true" link="inOutDirection" ignore="true"/> <debitLeg_direction field="debitLegDirection" type="1" name="Направление получателя" shortname="Направление получателя" searchable="true" sortable="true" link="inOutDirection" ignore="true"/>
<creditLeg_currencyCode field="creditLegCurrencyCode" type="12" name="Код валюты отправителя" shortname="Валюта отправителя" searchable="true" sortable="true" visible="true" link="currency"/> <creditLeg_currencyCode field="creditLegCurrencyCode" type="12" name="Код валюты отправителя" shortname="Валюта отправителя" searchable="true" sortable="true" visible="true" link="currency"/>
@ -1151,9 +1172,9 @@
<updatedAt field="updated" 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"/> <clearingDate type="6" name="Дата расчета" shortname="Дата расчета" searchable="true" sortable="true" visible="true"/>
</paymentInstruction> </paymentInstruction>
<marketData name="Итоги торгов" class="ru.clearing.classes.TransactionData.Execution.MarketData" table="marketData"> <marketData name="Итоги торгов" class="ru.clearing.classes.TransactionData.Execution.MarketData" table="market_data">
<id type="1" name="Идентификатор записи" shortname="ID" visible="false" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" visible="false" searchable="true" sortable="true"/>
<securitiesDepositId type="1" name="Биржевой код инструмента" shortname="Инструмент" visible="true" searchable="true" sortable="true" link="security" linkCode="shortname"/> <securitiesDepositId type="1" name="Биржевой код инструмента" shortname="Инструмент" visible="true" searchable="true" sortable="true" link="moneyMarketSecurity" linkCode="fullName"/>
<companyName type="2" length="255" name="Инициатор торгов" shortname="Инициатор" visible="false" searchable="true" sortable="true"/> <companyName type="2" length="255" name="Инициатор торгов" shortname="Инициатор" visible="false" searchable="true" sortable="true"/>
<market type="12" name="Секция" shortname="Секция" visible="true" searchable="true" sortable="true" link="market"/> <market type="12" name="Секция" shortname="Секция" visible="true" searchable="true" sortable="true" link="market"/>
<counterPartyNum type="1" name="Количество участников, заключивших сделки" shortname="Участников" visible="true" searchable="true" sortable="true"/> <counterPartyNum type="1" name="Количество участников, заключивших сделки" shortname="Участников" visible="true" searchable="true" sortable="true"/>
@ -1169,7 +1190,7 @@
<updatedAt type="5" name="Время изменения сделки" shortname="Время изменения" visible="false" searchable="true" sortable="true"/> <updatedAt type="5" name="Время изменения сделки" shortname="Время изменения" visible="false" searchable="true" sortable="true"/>
<tradingDate type="6" name="Дата торгов" shortname="Дата торгов" visible="false" searchable="true" sortable="true"/> <tradingDate type="6" name="Дата торгов" shortname="Дата торгов" visible="false" searchable="true" sortable="true"/>
</marketData> </marketData>
<chargeTariff name="Тарифы комиссий" logUpdates="true"> <chargeTariff name="Тарифы комиссий" logUpdates="true" table="charge_tariff">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<market type="12" name="Секция" shortname="Секция" searchable="true" sortable="true" link="market" visible="true"/> <market type="12" name="Секция" shortname="Секция" searchable="true" sortable="true" link="market" visible="true"/>
<clearingMemberCategory type="12" name="Категория участника клиринга" shortname="Категория" searchable="true" sortable="true" visible="true" link="clearingCategory"/> <clearingMemberCategory type="12" name="Категория участника клиринга" shortname="Категория" searchable="true" sortable="true" visible="true" link="clearingCategory"/>
@ -1181,7 +1202,7 @@
<createdAt field="created" type="4" name="Создано" shortname="Создано" searchable="true" sortable="true"/> <createdAt field="created" type="4" name="Создано" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" name="Изменено" shortname="Изменено" searchable="true" sortable="true"/> <updatedAt field="updated" type="4" name="Изменено" shortname="Изменено" searchable="true" sortable="true"/>
</chargeTariff> </chargeTariff>
<individualChargeTariff name="Индивидуальные тарифы комиссий для Участника" logUpdates="true"> <individualChargeTariff name="Индивидуальные тарифы комиссий для Участника" logUpdates="true" table="individual_charge_tariff">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<companyId type="1" name="Участник" shortname="Участник" searchable="true" sortable="true" link="company" linkCode="shortName"/> <companyId type="1" name="Участник" shortname="Участник" searchable="true" sortable="true" link="company" linkCode="shortName"/>
<market type="12" name="Секция" shortname="Секция" searchable="true" sortable="true" link="market" visible="true"/> <market type="12" name="Секция" shortname="Секция" searchable="true" sortable="true" link="market" visible="true"/>
@ -1194,7 +1215,7 @@
<createdAt field="created" type="4" name="Создано" shortname="Создано" searchable="true" sortable="true"/> <createdAt field="created" type="4" name="Создано" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" name="Изменено" shortname="Изменено" searchable="true" sortable="true"/> <updatedAt field="updated" type="4" name="Изменено" shortname="Изменено" searchable="true" sortable="true"/>
</individualChargeTariff> </individualChargeTariff>
<companyTariff name="Тарифы комиссий в разрезе Участника"> <companyTariff name="Тарифы комиссий в разрезе Участника" table="company_tariff">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<market type="12" name="Секция" shortname="Секция" searchable="true" sortable="true" link="market" visible="true"/> <market type="12" name="Секция" shortname="Секция" searchable="true" sortable="true" link="market" visible="true"/>
<clearingMemberCategory type="12" name="Категория участника клиринга" shortname="Категория" searchable="true" sortable="true" visible="true" link="clearingCategory"/> <clearingMemberCategory type="12" name="Категория участника клиринга" shortname="Категория" searchable="true" sortable="true" visible="true" link="clearingCategory"/>
@ -1218,7 +1239,7 @@
<userId type="1" name="Автор сообщения" shortname="Сотрудник" searchable="true" sortable="true" visible="true" link="userCls" ignore="true"/> <userId type="1" name="Автор сообщения" shortname="Сотрудник" searchable="true" sortable="true" visible="true" link="userCls" ignore="true"/>
<clearingDate type="6" name="Текущая дата" shortname="Дата" visible="false" searchable="true" sortable="true" ignore="true"/> <clearingDate type="6" name="Текущая дата" shortname="Дата" visible="false" searchable="true" sortable="true" ignore="true"/>
</errorText> </errorText>
<sDf01 name="ДФ-01 Информация о денежных средствах, находящихся на торговых банковских счетах Участников клиринга" class="ru.clearing.classes.statics.data.sdf.SDf01"> <sDf01 name="ДФ-01 Информация о денежных средствах, находящихся на торговых банковских счетах Участников клиринга" class="ru.clearing.classes.statics.data.sdf.SDf01" table="s_df_01">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<curr_code type="2" length="12" name="Код валюты" shortname="Код валюты" searchable="true" sortable="true" visible="true"/> <curr_code type="2" length="12" name="Код валюты" shortname="Код валюты" searchable="true" sortable="true" visible="true"/>
<account type="2" length="35" name="Код счета участника клиринга" shortname="Счет УК" searchable="true" sortable="true"/> <account type="2" length="35" name="Код счета участника клиринга" shortname="Счет УК" searchable="true" sortable="true"/>
@ -1236,7 +1257,7 @@
<generationTime type="4" name="Дата и время обработки файла" shortname="Дата и время обработки" searchable="true" sortable="true"/> <generationTime type="4" name="Дата и время обработки файла" shortname="Дата и время обработки" searchable="true" sortable="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/> <generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/>
</sDf01> </sDf01>
<sDf02 name="ДФ-02 Уведомление об исполнении операции загрузки денежных средств или уведомление об ошибке" class="ru.clearing.classes.statics.data.sdf.SDf02"> <sDf02 name="ДФ-02 Уведомление об исполнении операции загрузки денежных средств или уведомление об ошибке" class="ru.clearing.classes.statics.data.sdf.SDf02" table="s_df_02">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<curr_code type="2" length="12" name="Код валюты" shortname="Код валюты" searchable="true" sortable="true" visible="true"/> <curr_code type="2" length="12" name="Код валюты" shortname="Код валюты" searchable="true" sortable="true" visible="true"/>
<account type="2" length="35" name="Код счета участника клиринга" shortname="Счет УК" searchable="true" sortable="true"/> <account type="2" length="35" name="Код счета участника клиринга" shortname="Счет УК" searchable="true" sortable="true"/>
@ -1255,7 +1276,7 @@
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/> <generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/>
<inSDf01Id type="1" name="Идентификатор соответствующей записи из таблицы-источника" shortname="Входящая запись" searchable="true" sortable="true"/> <inSDf01Id type="1" name="Идентификатор соответствующей записи из таблицы-источника" shortname="Входящая запись" searchable="true" sortable="true"/>
</sDf02> </sDf02>
<sDf03 name="ДФ-03 Сводное платежное поручение" class="ru.clearing.classes.statics.data.sdf.SDf03"> <sDf03 name="ДФ-03 Сводное платежное поручение" class="ru.clearing.classes.statics.data.sdf.SDf03" table="s_df_03">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<seg_type type="2" length="1" name="Код инициатора в КС" shortname="Инициатор в КС" searchable="true" sortable="true"/> <seg_type type="2" length="1" name="Код инициатора в КС" shortname="Инициатор в КС" searchable="true" sortable="true"/>
<doc_type type="2" lenght="4" name="Тип документа" shortname="Тип документа" searchable="true" sortable="true"/> <doc_type type="2" lenght="4" name="Тип документа" shortname="Тип документа" searchable="true" sortable="true"/>
@ -1307,7 +1328,7 @@
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/> <generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/>
<paymentInstructionId type="1" name="Идентификатор соответствующей записи из таблицы-источника" shortname="Входящая запись" searchable="true" sortable="true" link="paymentInstruction"/> <paymentInstructionId type="1" name="Идентификатор соответствующей записи из таблицы-источника" shortname="Входящая запись" searchable="true" sortable="true" link="paymentInstruction"/>
</sDf03> </sDf03>
<sDf04 name="ДФ-04 Подтверждение переводов из Расчетной организации для СПВБ" class="ru.clearing.classes.statics.data.sdf.SDf04"> <sDf04 name="ДФ-04 Подтверждение переводов из Расчетной организации для СПВБ" class="ru.clearing.classes.statics.data.sdf.SDf04" table="s_df_04">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<seg_type type="2" length="1" name="Код инициатора в КС" shortname="Инициатор в КС" searchable="true" sortable="true"/> <seg_type type="2" length="1" name="Код инициатора в КС" shortname="Инициатор в КС" searchable="true" sortable="true"/>
<doc_type type="2" lenght="4" name="Тип документа" shortname="Тип документа" searchable="true" sortable="true"/> <doc_type type="2" lenght="4" name="Тип документа" shortname="Тип документа" searchable="true" sortable="true"/>
@ -1359,7 +1380,7 @@
<generationTime type="4" name="Дата и время обработки файла" shortname="Дата и время обработки" searchable="true" sortable="true"/> <generationTime type="4" name="Дата и время обработки файла" shortname="Дата и время обработки" searchable="true" sortable="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/> <generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/>
</sDf04> </sDf04>
<sDf05 name="ДФ-05 Уведомление о завершении расчетов в ПРЦ" class="ru.clearing.classes.statics.data.sdf.SDf05"> <sDf05 name="ДФ-05 Уведомление о завершении расчетов в ПРЦ" class="ru.clearing.classes.statics.data.sdf.SDf05" table="s_df_05">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<tp type="10" name="Тип документа" shortname="Тип документа" searchable="true" sortable="true"/> <tp type="10" name="Тип документа" shortname="Тип документа" searchable="true" sortable="true"/>
<dt type="6" name="Дата завершения расчетов" shortname="Дата завершения расчетов" searchable="true" sortable="true"/> <dt type="6" name="Дата завершения расчетов" shortname="Дата завершения расчетов" searchable="true" sortable="true"/>
@ -1368,14 +1389,14 @@
<generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true"/> <generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/> <generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/>
</sDf05> </sDf05>
<sDf08 name="ДФ-08 Запрос остатков по всем счетам" class="ru.clearing.classes.statics.data.sdf.SDf08"> <sDf08 name="ДФ-08 Запрос остатков по всем счетам" class="ru.clearing.classes.statics.data.sdf.SDf08" table="s_df_08">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<number type="2" length="10" name="Номер запроса остатков по счетам" shortname="Номер запроса" searchable="true" sortable="true" visible="true"/> <number type="2" length="10" name="Номер запроса остатков по счетам" shortname="Номер запроса" searchable="true" sortable="true" visible="true"/>
<datetime type="2" length="13" name="Дата и время сообщения" shortname="Дата и время сообщения" searchable="true" sortable="true"/> <datetime type="2" length="13" name="Дата и время сообщения" shortname="Дата и время сообщения" searchable="true" sortable="true"/>
<generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true"/> <generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/> <generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/>
</sDf08> </sDf08>
<sDf09 name="ДФ-09 Уведомление о поступлении средств на клиринговый счет" class="ru.clearing.classes.statics.data.sdf.SDf09"> <sDf09 name="ДФ-09 Уведомление о поступлении средств на клиринговый счет" class="ru.clearing.classes.statics.data.sdf.SDf09" table="s_df_09">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<account type="2" length="20" name="Номер счета участника торгов" shortname="Номер счета участника торгов" searchable="true" sortable="true"/> <account type="2" length="20" name="Номер счета участника торгов" shortname="Номер счета участника торгов" searchable="true" sortable="true"/>
<sum type="10" name="Сумма платежного документа (операции)" shortname="Сумма платежного документа" searchable="true" sortable="true"/> <sum type="10" name="Сумма платежного документа (операции)" shortname="Сумма платежного документа" searchable="true" sortable="true"/>
@ -1387,7 +1408,7 @@
<generationTime type="4" name="Дата и время обработки файла" shortname="Дата и время обработки" searchable="true" sortable="true"/> <generationTime type="4" name="Дата и время обработки файла" shortname="Дата и время обработки" searchable="true" sortable="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/> <generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/>
</sDf09> </sDf09>
<sDf10 name="ДФ-10 Подтверждение о загрузке по поступлению на клиринговый счет" class="ru.clearing.classes.statics.data.sdf.SDf10"> <sDf10 name="ДФ-10 Подтверждение о загрузке по поступлению на клиринговый счет" class="ru.clearing.classes.statics.data.sdf.SDf10" table="s_df_10">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<account type="2" length="20" name="Номер счета участника торгов" shortname="Номер счета участника торгов" searchable="true" sortable="true"/> <account type="2" length="20" name="Номер счета участника торгов" shortname="Номер счета участника торгов" searchable="true" sortable="true"/>
<sum type="10" name="Сумма платежного документа (операции)" shortname="Сумма платежного документа" searchable="true" sortable="true"/> <sum type="10" name="Сумма платежного документа (операции)" shortname="Сумма платежного документа" searchable="true" sortable="true"/>
@ -1400,7 +1421,7 @@
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/> <generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/>
<inSDf09Id type="1" name="Идентификатор соответствующей записи из таблицы-источника" shortname="Входящая запись" searchable="true" sortable="true"/> <inSDf09Id type="1" name="Идентификатор соответствующей записи из таблицы-источника" shortname="Входящая запись" searchable="true" sortable="true"/>
</sDf10> </sDf10>
<sDf11 name="ДФ-11 Из КС в ПРЦ Платежное распоряжение на перевод средств с ТБС Участника на КС Инициатора" class="ru.clearing.classes.statics.data.sdf.SDf11"> <sDf11 name="ДФ-11 Из КС в ПРЦ Платежное распоряжение на перевод средств с ТБС Участника на КС Инициатора" class="ru.clearing.classes.statics.data.sdf.SDf11" table="s_df_11">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<seg_type type="2" length="1" name="Код инициатора в КС" shortname="Инициатор в КС" searchable="true" sortable="true"/> <seg_type type="2" length="1" name="Код инициатора в КС" shortname="Инициатор в КС" searchable="true" sortable="true"/>
<doc_type type="2" lenght="4" name="Тип документа" shortname="Тип документа" searchable="true" sortable="true"/> <doc_type type="2" lenght="4" name="Тип документа" shortname="Тип документа" searchable="true" sortable="true"/>
@ -1451,7 +1472,7 @@
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/> <generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/>
<paymentInstructionId type="1" name="Идентификатор соответствующей записи из таблицы-источника" shortname="Входящая запись" searchable="true" sortable="true" link="paymentInstruction"/> <paymentInstructionId type="1" name="Идентификатор соответствующей записи из таблицы-источника" shortname="Входящая запись" searchable="true" sortable="true" link="paymentInstruction"/>
</sDf11> </sDf11>
<sDf12 name="ДФ-12 Из ПРЦ в КС Информация о блокировке/разблокировке/закрытии ТБС УК" class="ru.clearing.classes.statics.data.sdf.SDf12"> <sDf12 name="ДФ-12 Из ПРЦ в КС Информация о блокировке/разблокировке/закрытии ТБС УК" class="ru.clearing.classes.statics.data.sdf.SDf12" table="s_df_12">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<account type="2" length="25" name="Код счета участника клиринга" shortname="Код счета УК" searchable="true" sortable="true" visible="true"/> <account type="2" length="25" name="Код счета участника клиринга" shortname="Код счета УК" searchable="true" sortable="true" visible="true"/>
<deal type="2" length="4" name="Биржевой код участника клиринга" shortname="Биржевой код УК" searchable="true" sortable="true" visible="true"/> <deal type="2" length="4" name="Биржевой код участника клиринга" shortname="Биржевой код УК" searchable="true" sortable="true" visible="true"/>
@ -1460,7 +1481,7 @@
<generationTime type="4" name="Дата и время обработки файла" shortname="Дата и время обработки" searchable="true" sortable="true"/> <generationTime type="4" name="Дата и время обработки файла" shortname="Дата и время обработки" searchable="true" sortable="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/> <generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/>
</sDf12> </sDf12>
<sDf13 name="ДФ-13 Вывод свободных средств для инициаторов категории В с клирингового счета 30414/7 - платежное поручение АО СПВБ на вывод средств из РО" class="ru.clearing.classes.statics.data.sdf.SDf13"> <sDf13 name="ДФ-13 Вывод свободных средств для инициаторов категории В с клирингового счета 30414/7 - платежное поручение АО СПВБ на вывод средств из РО" class="ru.clearing.classes.statics.data.sdf.SDf13" table="s_df_13">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<seg_type type="2" length="1" name="Код инициатора в КС" shortname="Инициатор в КС" searchable="true" sortable="true"/> <seg_type type="2" length="1" name="Код инициатора в КС" shortname="Инициатор в КС" searchable="true" sortable="true"/>
<doc_type type="2" lenght="4" name="Тип документа" shortname="Тип документа" searchable="true" sortable="true"/> <doc_type type="2" lenght="4" name="Тип документа" shortname="Тип документа" searchable="true" sortable="true"/>
@ -1510,7 +1531,7 @@
<generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true"/> <generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/> <generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/>
</sDf13> </sDf13>
<sDf16 name="ДФ-16 Формат запроса по возврату депозита или дозачисление/списание денежных средств" class="ru.clearing.classes.statics.data.sdf.SDf16"> <sDf16 name="ДФ-16 Формат запроса по возврату депозита или дозачисление/списание денежных средств" class="ru.clearing.classes.statics.data.sdf.SDf16" table="s_df_16">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<account type="2" length="20" name="Номер счета участника торгов" shortname="Номер счета участника торгов" searchable="true" sortable="true"/> <account type="2" length="20" name="Номер счета участника торгов" shortname="Номер счета участника торгов" searchable="true" sortable="true"/>
<sum type="10" name="Сумма платежного документа (операции)" shortname="Сумма платежного документа" searchable="true" sortable="true"/> <sum type="10" name="Сумма платежного документа (операции)" shortname="Сумма платежного документа" searchable="true" sortable="true"/>
@ -1524,7 +1545,7 @@
<generationTime type="4" name="Дата и время обработки файла" shortname="Дата и время обработки" searchable="true" sortable="true"/> <generationTime type="4" name="Дата и время обработки файла" shortname="Дата и время обработки" searchable="true" sortable="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/> <generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/>
</sDf16> </sDf16>
<sDf17 name="ДФ-17 Формат ответа на запрос по возврату депозита или дозачисление/списание денежных средств" class="ru.clearing.classes.statics.data.sdf.SDf17"> <sDf17 name="ДФ-17 Формат ответа на запрос по возврату депозита или дозачисление/списание денежных средств" class="ru.clearing.classes.statics.data.sdf.SDf17" table="s_df_17">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<account type="2" length="20" name="Номер счета участника торгов" shortname="Номер счета участника торгов" searchable="true" sortable="true"/> <account type="2" length="20" name="Номер счета участника торгов" shortname="Номер счета участника торгов" searchable="true" sortable="true"/>
<sum type="10" name="Сумма платежного документа (операции)" shortname="Сумма платежного документа" searchable="true" sortable="true"/> <sum type="10" name="Сумма платежного документа (операции)" shortname="Сумма платежного документа" searchable="true" sortable="true"/>
@ -1539,7 +1560,7 @@
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/> <generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/>
<inSDf16Id type="1" name="Идентификатор соответствующей записи из таблицы-источника" shortname="Входящая запись" searchable="true" sortable="true"/> <inSDf16Id type="1" name="Идентификатор соответствующей записи из таблицы-источника" shortname="Входящая запись" searchable="true" sortable="true"/>
</sDf17> </sDf17>
<sDf18 name="ДФ-18 Из КС в ПРЦ Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие)" class="ru.clearing.classes.statics.data.sdf.SDf18"> <sDf18 name="ДФ-18 Из КС в ПРЦ Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие)" class="ru.clearing.classes.statics.data.sdf.SDf18" table="s_df_18">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<account type="2" length="25" name="Код счета участника клиринга" shortname="Код счета УК" searchable="true" sortable="true" visible="true"/> <account type="2" length="25" name="Код счета участника клиринга" shortname="Код счета УК" searchable="true" sortable="true" visible="true"/>
<deal type="2" length="4" name="Биржевой код участника клиринга" shortname="Биржевой код УК" searchable="true" sortable="true" visible="true"/> <deal type="2" length="4" name="Биржевой код участника клиринга" shortname="Биржевой код УК" searchable="true" sortable="true" visible="true"/>
@ -1549,7 +1570,7 @@
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/> <generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/>
<inSDf12Id type="1" name="Идентификатор соответствующей записи из таблицы-источника" shortname="Входящая запись" searchable="true" sortable="true"/> <inSDf12Id type="1" name="Идентификатор соответствующей записи из таблицы-источника" shortname="Входящая запись" searchable="true" sortable="true"/>
</sDf18> </sDf18>
<s_trade name="Сделки из Торговой системы" class="com.spicex.Static."> <s_trade name="Сделки из Торговой системы" class="com.spicex.Static." table="s_trade">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<trade_num type="1" name="Номер сделки" shortname="Номер сделки" 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"/> <sec_code type="2" length="255" name="Код ценной бумаги" shortname="Код ценной бумаги" searchable="true" sortable="true"/>
@ -1571,7 +1592,7 @@
<collateral type="2" length="50" 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"/> <settle_code type="2" length="50" name="Код периода сделки из новой ТС" shortname="Код периода сделки из новой ТС" searchable="true" sortable="true"/>
</s_trade> </s_trade>
<notification name="Сообщения" destination="notifications" class="ru.clearing.classes.statics.data.misc.Notification" logUpdates="true" table="Notification"> <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"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true" ignore="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"/> <updatedAt field="updated" type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
@ -1588,7 +1609,7 @@
</put> </put>
</actions> </actions>
</notification> </notification>
<verificationResult name="Результаты сверки" destination="verification-results" class="com.spicex.Static."> <verificationResult name="Результаты сверки" destination="verification-results" class="com.spicex.Static." table="verification_result">
<clearingCode 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"/>
<accountId type="1" name="Счет УК, по которому проводится сверка" shortname="Счет УК" searchable="true" sortable="true"/> <accountId type="1" name="Счет УК, по которому проводится сверка" shortname="Счет УК" searchable="true" sortable="true"/>
<inSum type="11" name="Входящая сумма остатков" shortname="Остатки" visible="true" searchable="true" sortable="true"/> <inSum type="11" name="Входящая сумма остатков" shortname="Остатки" visible="true" searchable="true" sortable="true"/>
@ -1602,20 +1623,20 @@
<createdAt type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true" ignore="true"/> <createdAt type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true" ignore="true"/>
<updatedAt type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/> <updatedAt type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
</verificationResult> </verificationResult>
<session name="Клиринговая сессия" class="ru.clearing.classes.statics.data.misc.Session" logUpdates="true" table="Session"> <session name="Клиринговая сессия" class="ru.clearing.classes.statics.data.misc.Session" logUpdates="true" table="session">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true" ignore="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"/> <updatedAt field="updated" type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
<clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true" visible="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"/> <sessionStatus type="12" name="Статус клиринговой сессии" shortname="Статус" searchable="true" sortable="true" visible="true" link="sessionStatus"/>
</session> </session>
<moneyMarketSession name="Сессия денежного рынка" class="com.spicex.TransactionData.Session" logUpdates="true" table="Session"> <moneyMarketSession name="Сессия денежного рынка" class="com.spicex.TransactionData.Session" logUpdates="true" table="money_market_session">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true" visible="true" extends="session"/> <clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true" visible="true" extends="session"/>
<sessionStatus type="12" name="Статус клиринговой сессии" shortname="Статус" searchable="true" sortable="true" visible="true" link="sessionStatus" extends="session"/> <sessionStatus type="12" name="Статус клиринговой сессии" shortname="Статус" searchable="true" sortable="true" visible="true" link="sessionStatus" extends="session"/>
<companyId type="1" name="Идентификатор инициатора торгов" shortname="Инициатор" visible="false" searchable="true" sortable="true" link="company" linkCode="shortName"/> <companyId type="1" name="Наименование инициатора торгов" shortname="Инициатор" visible="false" searchable="true" sortable="true" link="company" linkCode="shortName"/>
<securityId type="1" name="Идентификатор инструмента" shortname="Инструмент" searchable="false" sortable="true" visible="true" link="security" linkCode="shortName"/> <securityId type="1" name="Наименование инструмента" shortname="Инструмент" searchable="false" sortable="true" visible="true" link="moneyMarketSecurity" linkCode="fullName"/>
<userId type="1" name="Идентификатор пользователя" shortname="Пользователь" searchable="true" sortable="true" visible="true" link="userCls"/> <userId type="1" name="Наименование пользователя" shortname="Пользователь" searchable="true" sortable="true" visible="true" link="userCls"/>
</moneyMarketSession> </moneyMarketSession>
</objects> </objects>
<views> <views>

View file

@ -0,0 +1,32 @@
package ru.spcex.clearing.company.config;
import org.apache.kafka.clients.producer.Producer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.service.RequestInfo;
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgId;
import ru.spcex.platform.imdg.api.ImdgProvider;
@Configuration
public class KafkaSenderConfig {
@Autowired
@Bean
public KafkaSender kafkaSender(Producer<String, Object> kafkaProducer,
ImdgProvider imdgProvider) {
ImdgId imdgIdGenerator = imdgProvider.getImdgIdGenerator();
return KafkaSender
.setup()
.producer(kafkaProducer)
.idGenerator(imdgIdGenerator::nextId)
.imdgProvider(s -> {
Imdg<RequestInfo> imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_RequestInfo, RequestInfo.class);
return imdg::insert;
})
.build();
}
}

View file

@ -0,0 +1,77 @@
package ru.spcex.clearing.company.service;
import org.apache.kafka.clients.consumer.Consumer;
import org.apache.kafka.clients.producer.Producer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.lang.NonNull;
import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.statics.data.profile.ProfileDocument;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts;
import ru.spcex.clearing.platform.messaging.domain.cud.company.ProfileDocumentNewRequest;
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
public class ProfileDocumentService extends QueueConsumer implements InitializingBean {
private final Logger log = LoggerFactory.getLogger(getClass());
private Imdg<ProfileDocument> profileDocumentMap;
private Imdg<Company> companyMap;
private ImdgProvider imdgProvider;
private KafkaSender kafkaReqProducer;
@Autowired
public ProfileDocumentService(Consumer<String, Object> kafkaQueue,
Producer<String, Object> kafkaProducer,
KafkaSender kafkaReqProducer,
ImdgProvider imdgProvider) {
super(kafkaQueue, kafkaProducer);
this.imdgProvider = imdgProvider;
this.kafkaReqProducer = kafkaReqProducer;
}
@Override
public void afterPropertiesSet() {
this.profileDocumentMap = imdgProvider.getImdg(IMDGDistributedNames.Map_ProfileDocument, ProfileDocument.class);
this.companyMap = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
callback(ProfileDocumentNewRequest.class)
.setConsumer(this::newProfileDocument)
.forDestination(Consts.DESTINATION_PROFILE_DOCUMENT_NEW, callbacks::put);
init();
}
@NonNull
private void newProfileDocument(BaseRequest<ProfileDocumentNewRequest> profileDocumentNewRequestBaseRequest) {
log.trace("Start processing ProfileDocumentNewRequest!");
ProfileDocumentNewRequest profileDocumentNewRequest = profileDocumentNewRequestBaseRequest.getRequestPayload();
Long companyId = profileDocumentNewRequest.getCompanyId();
Company company = companyMap.getSingleObjectByID(companyId);
if (company != null && !company.getWorkflowStatus().equalsIgnoreCase("ACTV")) {
throw new IllegalStateException("Wrong company with ID " + companyId + " and workflow status " + company.getWorkflowStatus());
}
ProfileDocument profileDocument = new ProfileDocument();
profileDocument.setCompanyId(profileDocumentNewRequest.getCompanyId());
profileDocument.setDocumentType(profileDocumentNewRequest.getDocumentType());
profileDocument.setIssueDate(profileDocumentNewRequest.getIssueDate());
profileDocument.setIssuePlace(profileDocumentNewRequest.getIssuePlace());
profileDocument.setIssuer(profileDocumentNewRequest.getIssuer());
profileDocument.setIssuerCode(profileDocumentNewRequest.getIssuerCode());
profileDocument.setName(profileDocumentNewRequest.getName());
profileDocument.setNumber(profileDocumentNewRequest.getNumber());
profileDocument.setPlace(profileDocumentNewRequest.getPlace());
profileDocument.setValidFromDate(profileDocumentNewRequest.getValidFromDate());
profileDocument.setValidToDate(profileDocumentNewRequest.getValidToDate());
profileDocument.setLink(profileDocumentNewRequest.getLink());
profileDocumentMap.insert(profileDocument);
if (profileDocument.getDocumentType().equalsIgnoreCase("XCNT")) {
//kafkaReqProducer.sendRequestToQueue(Consts.EXPORT_PROCESS, exportRequest);
}
}
}

View file

@ -18,6 +18,8 @@ import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import java.time.Instant;
@Service @Service
public class ClearingCalendarService extends QueueConsumer implements InitializingBean { public class ClearingCalendarService extends QueueConsumer implements InitializingBean {
private final Logger log = LoggerFactory.getLogger(getClass()); private final Logger log = LoggerFactory.getLogger(getClass());
@ -33,21 +35,23 @@ public class ClearingCalendarService extends QueueConsumer implements Initializi
@Override @Override
public void afterPropertiesSet() { public void afterPropertiesSet() {
callback(ClearingCalendarNewRequest.class) callback(ClearingCalendarNewRequest.class)
.setConsumer(this::newTradingCalendar) .setConsumer(this::newClearingCalendar)
.forDestination(Consts.DESTINATION_CLEARING_CALENDAR_NEW, callbacks::put); .forDestination(Consts.DESTINATION_CLEARING_CALENDAR_NEW, callbacks::put);
callback(ClearingCalendarUpdateRequest.class) callback(ClearingCalendarUpdateRequest.class)
.setConsumer(this::updateTradingCalendar) .setConsumer(this::updateClearingCalendar)
.forDestination(Consts.DESTINATION_CLEARING_CALENDAR_UPDATE, callbacks::put); .forDestination(Consts.DESTINATION_CLEARING_CALENDAR_UPDATE, callbacks::put);
callback(CommonDeleteRequest.class) callback(CommonDeleteRequest.class)
.setConsumer(this::deleteTradingCalendar) .setConsumer(this::deleteClearingCalendar)
.forDestination(Consts.DESTINATION_CLEARING_CALENDAR_DELETE, callbacks::put); .forDestination(Consts.DESTINATION_CLEARING_CALENDAR_DELETE, callbacks::put);
init(); init();
} }
private void newTradingCalendar(BaseRequest<ClearingCalendarNewRequest> userRequest) { private void newClearingCalendar(BaseRequest<ClearingCalendarNewRequest> userRequest) {
ClearingCalendarNewRequest req = userRequest.getRequestPayload(); ClearingCalendarNewRequest req = userRequest.getRequestPayload();
log.debug("ClearingCalendarNewRequest received"); log.debug("ClearingCalendarNewRequest received");
ClearingCalendar clearingCalendar = new ClearingCalendar(); ClearingCalendar clearingCalendar = new ClearingCalendar();
Instant created = Instant.now();
clearingCalendar.setCreated(created);
clearingCalendar.setClearingDate(req.getClearingDate()); clearingCalendar.setClearingDate(req.getClearingDate());
clearingCalendar.setCompanyId(req.getCompanyId()); clearingCalendar.setCompanyId(req.getCompanyId());
clearingCalendar.setDayStatus(req.getDayStatus()); clearingCalendar.setDayStatus(req.getDayStatus());
@ -55,18 +59,20 @@ public class ClearingCalendarService extends QueueConsumer implements Initializi
log.debug("successfully processed, new id {}", clearingCalendar.getId()); log.debug("successfully processed, new id {}", clearingCalendar.getId());
} }
private void updateTradingCalendar(BaseRequest<ClearingCalendarUpdateRequest> userRequest) { private void updateClearingCalendar(BaseRequest<ClearingCalendarUpdateRequest> userRequest) {
ClearingCalendarUpdateRequest req = userRequest.getRequestPayload(); ClearingCalendarUpdateRequest req = userRequest.getRequestPayload();
log.debug("ClearingCalendarUpdateRequest received"); log.debug("ClearingCalendarUpdateRequest received");
Instant updated = Instant.now();
ClearingCalendar clearingCalendar = clearingCalendarMap.getSingleObjectByID(req.getId()); ClearingCalendar clearingCalendar = clearingCalendarMap.getSingleObjectByID(req.getId());
clearingCalendar.setClearingDate(req.getClearingDate()); clearingCalendar.setClearingDate(req.getClearingDate());
clearingCalendar.setCompanyId(req.getCompanyId()); clearingCalendar.setCompanyId(req.getCompanyId());
clearingCalendar.setDayStatus(req.getDayStatus()); clearingCalendar.setDayStatus(req.getDayStatus());
clearingCalendar.setUpdated(updated);
clearingCalendarMap.update(clearingCalendar); clearingCalendarMap.update(clearingCalendar);
log.debug("successfully processed, new id {}", clearingCalendar.getId()); log.debug("successfully processed, new id {}", clearingCalendar.getId());
} }
private void deleteTradingCalendar(BaseRequest<CommonDeleteRequest> userRequest) { private void deleteClearingCalendar(BaseRequest<CommonDeleteRequest> userRequest) {
CommonDeleteRequest req = userRequest.getRequestPayload(); CommonDeleteRequest req = userRequest.getRequestPayload();
log.debug("CommonDeleteRequest received id = {}", req.getId()); log.debug("CommonDeleteRequest received id = {}", req.getId());
ClearingCalendar clearingCalendar = clearingCalendarMap.getSingleObjectByID(req.getId()); ClearingCalendar clearingCalendar = clearingCalendarMap.getSingleObjectByID(req.getId());

View file

@ -50,7 +50,8 @@ public class PlannerTemplateService extends QueueConsumer implements Initializin
PlannerTemplateNewRequest req = userRequest.getRequestPayload(); PlannerTemplateNewRequest req = userRequest.getRequestPayload();
log.debug("PlannerTemplateNewRequest received"); log.debug("PlannerTemplateNewRequest received");
PlannerTemplate plannerTemplate = new PlannerTemplate(); PlannerTemplate plannerTemplate = new PlannerTemplate();
plannerTemplate.setCreated(Instant.now()); Instant created = Instant.now();
plannerTemplate.setCreated(created);
plannerTemplate.setTask(req.getTask()); plannerTemplate.setTask(req.getTask());
plannerTemplate.setTaskTime(req.getTaskTime()); plannerTemplate.setTaskTime(req.getTaskTime());
plannerTemplate.setTaskStatus(req.getTaskStatus()); plannerTemplate.setTaskStatus(req.getTaskStatus());
@ -64,7 +65,8 @@ public class PlannerTemplateService extends QueueConsumer implements Initializin
PlannerTemplateUpdateRequest req = userRequest.getRequestPayload(); PlannerTemplateUpdateRequest req = userRequest.getRequestPayload();
log.debug("PlannerTemplateUpdateRequest received"); log.debug("PlannerTemplateUpdateRequest received");
PlannerTemplate plannerTemplate = plannerTemplateMap.getSingleObjectByID(req.getId()); PlannerTemplate plannerTemplate = plannerTemplateMap.getSingleObjectByID(req.getId());
plannerTemplate.setUpdated(Instant.now()); Instant updated = Instant.now();
plannerTemplate.setUpdated(updated);
plannerTemplate.setTask(req.getTask()); plannerTemplate.setTask(req.getTask());
plannerTemplate.setTaskTime(req.getTaskTime()); plannerTemplate.setTaskTime(req.getTaskTime());
plannerTemplate.setTaskStatus(req.getTaskStatus()); plannerTemplate.setTaskStatus(req.getTaskStatus());

View file

@ -0,0 +1,68 @@
package ru.specx.clearing.scheduler.config;
import com.hazelcast.config.*;
import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.HazelcastInstance;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import ru.spcex.platform.imdg.iml.hazelcast.config.HazelcastClientParams;
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
import ru.spcex.platform.imdg.iml.hazelcast.util.HazelcastHelper;
import java.util.List;
import java.util.Random;
@Configuration
public class HazelcastServiceTestConfiguration {
private HazelcastInstance hazelcastInstance;
private static ThreadPoolTaskExecutor createThreadPoolTaskExecutor(int maxPoolSz, boolean waitForCompletion) {
ThreadPoolTaskExecutor pool = new ThreadPoolTaskExecutor();
if (maxPoolSz > 2) {
pool.setKeepAliveSeconds(60);
pool.setAllowCoreThreadTimeOut(true);
}
pool.setCorePoolSize(maxPoolSz);
pool.setWaitForTasksToCompleteOnShutdown(waitForCompletion);
return pool;
}
@Bean(name = "hazelcastServiceTest")
public HazelcastService hazelcastService(@Qualifier("taskExecutorHazelcastClientInitializer") ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer, @Qualifier("taskExecutorIdGeneratorAwaiter") ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter, HazelcastClientParams params) {
Config cfg = new Config();
cfg.setInstanceName("localhost");
NetworkConfig networkConfig = new NetworkConfig();
JoinConfig joinConfig = new JoinConfig();
joinConfig.setMulticastConfig(new MulticastConfig().setEnabled(false));
joinConfig.setTcpIpConfig(new TcpIpConfig().setEnabled(true).setMembers(List.of("127.0.0.1")));
networkConfig.setJoin(joinConfig);
cfg.setNetworkConfig(networkConfig);
hazelcastInstance = Hazelcast.newHazelcastInstance(cfg);
HazelcastHelper.otcSystem_setStorageState(true, hazelcastInstance);
return new HazelcastService(taskExecutorHazelcastClientInitializer, taskExecutorIdGeneratorAwaiter, params);
}
@Bean(name = "taskExecutorHazelcastClientInitializer")
public ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer() {
return createThreadPoolTaskExecutor(1, true);
}
@Bean(name = "taskExecutorIdGeneratorAwaiter")
public ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter() {
return createThreadPoolTaskExecutor(1, false);
}
@Bean(name = "hazelcastClientParams")
public HazelcastClientParams getHazelcastClientParams() {
HazelcastClientParams params = new HazelcastClientParams();
params.setLogin("dev");
params.setPassword("dev-pass");
params.setClusterMembers("127.0.0.1");
params.setInstanceName("hzTestClient" + new Random().nextInt());
params.setNearCacheConfig(new NearCacheConfig());
return params;
}
}

View file

@ -0,0 +1,138 @@
package ru.specx.clearing.scheduler.service;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.hazelcast.core.IMap;
import com.hazelcast.map.listener.EntryRemovedListener;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.apache.kafka.clients.consumer.MockConsumer;
import org.apache.kafka.clients.consumer.OffsetResetStrategy;
import org.apache.kafka.clients.producer.MockProducer;
import org.apache.kafka.common.TopicPartition;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import ru.clearing.classes.statics.data.profile.Contact;
import ru.clearing.classes.statics.data.scheduler.ClearingCalendar;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
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.schedule.ClearingCalendarNewRequest;
import ru.spcex.clearing.scheduler.service.ClearingCalendarService;
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
import ru.specx.clearing.scheduler.config.HazelcastServiceTestConfiguration;
import java.time.Instant;
import java.time.LocalDate;
import java.util.Collections;
import java.util.HashMap;
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = {
HazelcastServiceTestConfiguration.class})
class ClearingCalendarServiceTest {
private static final int PARTITION = 0;
private static final String TOPIC_CLEARING_CALENDAR_NEW = Consts.DESTINATION_CLEARING_CALENDAR_NEW;
private static final Long ID = 0L;
@Autowired
@Qualifier("hazelcastServiceTest")
private HazelcastService hazelcastServiceTest;
private MockConsumer<String, Object> mockConsumer;
private MockProducer<String, Object> mockProducer;
@BeforeEach
void setUp() {
mockConsumer = new MockConsumer<>(OffsetResetStrategy.EARLIEST);
mockProducer = new MockProducer<>();
}
/**
* {@link ClearingCalendarService#newTradingCalendar(BaseRequest)}(BaseRequest)}<br>
* Тест проверяет создание сущности {@link ClearingCalendar} в Hazelcast при передаче из Apache Kafka.<br>
* Входной запрос {@link ClearingCalendarNewRequest}:<br>
*/
@Test
public void newClearingCalendarInQueue() throws InterruptedException {
//ARRANGE
ClearingCalendar clearingCalendar = new ClearingCalendar();
Instant created = Instant.now();
clearingCalendar.setCreated(created);
clearingCalendar.setClearingDate(LocalDate.now());
clearingCalendar.setCompanyId(0L);
clearingCalendar.setDayStatus("STATUS");
ClearingCalendarNewRequest clearingCalendarNewRequest = new ClearingCalendarNewRequest();
clearingCalendarNewRequest.setClearingDate(clearingCalendar.getClearingDate());
clearingCalendarNewRequest.setCompanyId(clearingCalendar.getCompanyId());
clearingCalendarNewRequest.setDayStatus(clearingCalendar.getDayStatus());
BaseRequest<ClearingCalendarNewRequest> baseNewRequest = new BaseRequest<>();
baseNewRequest.setRequestPayload(clearingCalendarNewRequest);
baseNewRequest.setId(ID);
baseNewRequest.setActionType(ActionType.NEW);
String jsonBaseForRequest;
ObjectMapper objectMapper = new ObjectMapper();
try {
jsonBaseForRequest = objectMapper.writeValueAsString(baseNewRequest);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
//ACT
//service set up
ClearingCalendarService clearingCalendarService = new ClearingCalendarService(mockConsumer, mockProducer, hazelcastServiceTest);
//callbacks set up
clearingCalendarService.afterPropertiesSet();
IMap<Long, ClearingCalendar> iMap = hazelcastServiceTest.getHazelcast().getMap(IMDGDistributedNames.Map_ClearingCalendar);
//KAFKA
HashMap<TopicPartition, Long> startOffsetsUpdating = new HashMap<>();
TopicPartition topic = new TopicPartition(TOPIC_CLEARING_CALENDAR_NEW, PARTITION);
startOffsetsUpdating.put(topic, 0L);
mockConsumer.updateBeginningOffsets(startOffsetsUpdating);
mockConsumer.schedulePollTask(() -> {
mockConsumer.rebalance(Collections.singletonList(new TopicPartition(TOPIC_CLEARING_CALENDAR_NEW, PARTITION)));
mockConsumer.addRecord(new ConsumerRecord<>(TOPIC_CLEARING_CALENDAR_NEW, PARTITION, 0, "key", jsonBaseForRequest));
});
//waiting for hazelcast map item removes
Object waiter = new Object();
String listenerID = iMap.addEntryListener((EntryRemovedListener<Long, Contact>) entryEvent -> {
System.out.println("Checking If pushed..");
try {
waiter.wait(100);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
synchronized (waiter) {
waiter.notify();
}
}, false);
synchronized (waiter) {
waiter.wait(100);
}
ClearingCalendar clearingCalendarRes = iMap.get(iMap.keySet().stream().findFirst().get());
//ASSERT
Assertions.assertEquals(1, iMap.size());
Assertions.assertNotNull(clearingCalendarRes.getCreated());
Assertions.assertEquals(clearingCalendar.getClearingDate(), clearingCalendarRes.getClearingDate());
Assertions.assertEquals(clearingCalendar.getCompanyId(), clearingCalendarRes.getCompanyId());
Assertions.assertEquals(clearingCalendar.getDayStatus(), clearingCalendarRes.getDayStatus());
//preparing hazelcastImdgProvider for next test
iMap.removeEntryListener(listenerID);
}
}

View file

@ -0,0 +1,141 @@
package ru.specx.clearing.scheduler.service;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.hazelcast.core.IMap;
import com.hazelcast.map.listener.EntryRemovedListener;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.apache.kafka.clients.consumer.MockConsumer;
import org.apache.kafka.clients.consumer.OffsetResetStrategy;
import org.apache.kafka.clients.producer.MockProducer;
import org.apache.kafka.common.TopicPartition;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import ru.clearing.classes.statics.data.profile.Contact;
import ru.clearing.classes.statics.data.scheduler.PlannerTemplate;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
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.schedule.PlannerTemplateNewRequest;
import ru.spcex.clearing.scheduler.service.PlannerTemplateService;
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
import ru.specx.clearing.scheduler.config.HazelcastServiceTestConfiguration;
import java.time.Instant;
import java.time.LocalTime;
import java.util.Collections;
import java.util.HashMap;
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = {
HazelcastServiceTestConfiguration.class})
class PlannerTemplateServiceTest {
private static final int PARTITION = 0;
private static final String TOPIC_PLANNER_TEMPLATE_NEW = Consts.DESTINATION_PLANNER_TEMPLATE_NEW;
private static final Long ID = 0L;
@Autowired
@Qualifier("hazelcastServiceTest")
private HazelcastService hazelcastServiceTest;
private MockConsumer<String, Object> mockConsumer;
private MockProducer<String, Object> mockProducer;
@BeforeEach
void setUp() {
mockConsumer = new MockConsumer<>(OffsetResetStrategy.EARLIEST);
mockProducer = new MockProducer<>();
}
/**
* {@link PlannerTemplateService#newTimetable(BaseRequest)}(BaseRequest)}<br>
* Тест проверяет создание сущности {@link ru.clearing.classes.statics.data.scheduler.PlannerTemplate} в Hazelcast при передаче из Apache Kafka.<br>
* Входной запрос {@link PlannerTemplateNewRequest}:<br>
*/
@Test
public void newPlannerTemplateInQueue() throws InterruptedException {
//ARRANGE
Instant created = Instant.now();
PlannerTemplate plannerTemplate = new PlannerTemplate();
plannerTemplate.setTask("TASK");
plannerTemplate.setTaskTime(LocalTime.MIDNIGHT);
plannerTemplate.setTaskStatus("TASK_STATUS");
plannerTemplate.setCompanyId(0L);
plannerTemplate.setSecurityId(10L);
PlannerTemplateNewRequest plannerTemplateNewRequest = new PlannerTemplateNewRequest();
plannerTemplateNewRequest.setTask(plannerTemplate.getTask());
plannerTemplateNewRequest.setTaskTime(plannerTemplate.getTaskTime());
plannerTemplateNewRequest.setTaskStatus(plannerTemplate.getTaskStatus());
plannerTemplateNewRequest.setCompanyId(plannerTemplate.getCompanyId());
plannerTemplateNewRequest.setSecurityId(plannerTemplate.getSecurityId());
BaseRequest<PlannerTemplateNewRequest> plannerTemplateRequest = new BaseRequest<>();
plannerTemplateRequest.setRequestPayload(plannerTemplateNewRequest);
plannerTemplateRequest.setId(ID);
plannerTemplateRequest.setActionType(ActionType.NEW);
String jsonBaseForDeleteRequest;
ObjectMapper objectMapper = new ObjectMapper();
try {
jsonBaseForDeleteRequest = objectMapper.writeValueAsString(plannerTemplateRequest);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
//ACT
//service set up
PlannerTemplateService plannerTemplateService = new PlannerTemplateService(mockConsumer, mockProducer, hazelcastServiceTest);
//callbacks set up
plannerTemplateService.afterPropertiesSet();
IMap<Long, PlannerTemplate> iMap = hazelcastServiceTest.getHazelcast().getMap(IMDGDistributedNames.Map_PlannerTemplate);
//KAFKA
HashMap<TopicPartition, Long> startOffsetsUpdating = new HashMap<>();
TopicPartition topic = new TopicPartition(TOPIC_PLANNER_TEMPLATE_NEW, PARTITION);
startOffsetsUpdating.put(topic, 0L);
mockConsumer.updateBeginningOffsets(startOffsetsUpdating);
mockConsumer.schedulePollTask(() -> {
mockConsumer.rebalance(Collections.singletonList(new TopicPartition(TOPIC_PLANNER_TEMPLATE_NEW, PARTITION)));
mockConsumer.addRecord(new ConsumerRecord<>(TOPIC_PLANNER_TEMPLATE_NEW, PARTITION, 0, "key", jsonBaseForDeleteRequest));
});
//waiting for hazelcast map item removes
Object waiter = new Object();
String listenerID = iMap.addEntryListener((EntryRemovedListener<Long, Contact>) entryEvent -> {
System.out.println("Checking If pushed..");
try {
waiter.wait(100);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
synchronized (waiter) {
waiter.notify();
}
}, false);
synchronized (waiter) {
waiter.wait(100);
}
PlannerTemplate plannerTemplateRes = iMap.get(iMap.keySet().stream().findFirst().get());
//ASSERT
Assertions.assertEquals(1, iMap.size());
Assertions.assertNotNull(plannerTemplateRes.getCreated());
Assertions.assertEquals(plannerTemplate.getTask(), plannerTemplateRes.getTask());
Assertions.assertEquals(plannerTemplate.getTaskTime(), plannerTemplateRes.getTaskTime());
Assertions.assertEquals(plannerTemplate.getTaskStatus(), plannerTemplateRes.getTaskStatus());
Assertions.assertEquals(plannerTemplate.getCompanyId(), plannerTemplateRes.getCompanyId());
Assertions.assertEquals(plannerTemplate.getSecurityId(), plannerTemplateRes.getSecurityId());
//preparing hazelcastImdgProvider for next test
iMap.removeEntryListener(listenerID);
}
}

View file

@ -0,0 +1,38 @@
package ru.specx.clearing.scheduler.utils;
import java.util.Arrays;
import static org.assertj.core.api.Assertions.assertThat;
/**
* Factory for creating test matchers.
* <p>
* Comparing actual and expected objects via AssertJ
*/
public class MatcherFactory {
public static <T> Matcher<T> usingIgnoringFieldsComparator(String... fieldsToIgnore) {
return new Matcher<>(fieldsToIgnore);
}
public static class Matcher<T> {
private final String[] fieldsToIgnore;
private Matcher(String... fieldsToIgnore) {
this.fieldsToIgnore = fieldsToIgnore;
}
public void assertMatch(T actual, T expected) {
assertThat(actual).usingRecursiveComparison().ignoringFields(fieldsToIgnore).isEqualTo(expected);
}
@SafeVarargs
public final void assertMatch(Iterable<T> actual, T... expected) {
assertMatch(actual, Arrays.asList(expected));
}
public void assertMatch(Iterable<T> actual, Iterable<T> expected) {
assertThat(actual).usingRecursiveFieldByFieldElementComparatorIgnoringFields(fieldsToIgnore).isEqualTo(expected);
}
}
}

View file

@ -0,0 +1,4 @@
package ru.spcex.clearing.platform.messaging.domain.cud.account.brake.document;
public class AccountUpdateWithBrakeRequest {
}