registry-service http://jira.mfd.msk:8088/browse/CLS-638 LiabilitiesRegisterService добавлен мэппинг SessionType

This commit is contained in:
AKurakin 2024-01-31 16:59:05 +03:00
parent 1e1840028a
commit 603bec95b0
2 changed files with 26 additions and 2 deletions

View file

@ -2,6 +2,7 @@ package ru.spcex.clearing.registry.reports.builders;
import ru.clearing.classes.statics.data.registry.Registry;
import ru.clearing.platform.dictionary.RegistryStatusDictionary;
import ru.clearing.platform.dictionary.SessionTypeDictionary;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.registry.reports.bean.LiabilitiesRegistryReport;
import ru.spcex.platform.imdg.api.Imdg;
@ -15,9 +16,11 @@ import java.util.stream.Collectors;
public class LiabilitiesRegistryReportBuilder extends XLSXReportBuilder<LiabilitiesRegistryReport, Registry> {
private final Imdg<RegistryStatusDictionary> registryStatusDictionaryImdg;
private final Imdg<SessionTypeDictionary> sessionTypesDictionaryImdg;
public LiabilitiesRegistryReportBuilder(ImdgProvider imdgProvider) {
registryStatusDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_RegistryStatusDictionary, RegistryStatusDictionary.class);
sessionTypesDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SessionTypeDictionary, SessionTypeDictionary.class);
}
@Override
@ -42,7 +45,7 @@ public class LiabilitiesRegistryReportBuilder extends XLSXReportBuilder<Liabilit
entity.setBalance(input.getBalance());
entity.setSettlement_date(input.getSettlementDate());
entity.setContract(input.getContract());
entity.setSession_type(input.getSessionType());
entity.setSession_type(describeSessionType(input.getSessionType()));
return entity;
}
@ -58,12 +61,25 @@ public class LiabilitiesRegistryReportBuilder extends XLSXReportBuilder<Liabilit
"code", registryStatus
));
if (dictionary == null) {
log.warn("Dictionary not found for status=\"{}\"", dictionary);
log.warn("Dictionary not found for status=\"{}\"", registryStatus);
return registryStatus;
}
return dictionary.getName();
}
private String describeSessionType(String sessionType) {
if (sessionType == null)
return sessionType;
SessionTypeDictionary dictionary = sessionTypesDictionaryImdg.getFirstObjectByFieldValues(Map.of(
"code", sessionType
));
if (dictionary == null) {
log.warn("Dictionary not found for sessionType=\"{}\"", sessionType);
return sessionType;
}
return dictionary.getName();
}
@Override
protected Collection<Registry> sortInput(Collection<Registry> input) {
return input.stream()

View file

@ -58,14 +58,18 @@ class LiabilitiesRegisterServiceTest {
private static final String REGISTRY_ACCOUNT = "ANY ACCOUNT";
private static final String REGISTRY_STATUS = RegistryStatus.CLRD.getKey();
private static final Long REGISTRY_SESSION_ID = 1234L;
private static final String REGISTRY_SESSION_TYPE = SessionType.XDEP.getKey();
private static final Long REGISTRY_COMPANY_ID = 10101L;
private static final Long REGISTRY_SECURITY_ID = 123411L;
private static final String REGISTRY_CLEARING_CODE = "ANY CL CODE" ;
private static final String REGISTRY_SECURITY_SYMBOL = "MFD1-symbol";
private static final BigDecimal REGISTRY_BALANCE = new BigDecimal(123411L);
private static final LocalDate REGISTRY_SETTLEMENT_DATE = LocalDate.now();
private static final LocalDate SESSION_CLEARING_DATE = LocalDate.now();
private static final Instant SESSION_UPDATE = Instant.now();
private static final String COMPANY_SYMBOL_INN = CompanySymbol.INN.getKey();
private static final String COMPANY_SYMBOL_VALUE = "ANY VALUE";
private static final String REGISTRY_CONTRACT = "ANY CONTRACT VALUE";
@Autowired
private LiabilitiesRegisterService liabilitiesRegisterService;
@ -109,6 +113,10 @@ class LiabilitiesRegisterServiceTest {
registry.setBalance(REGISTRY_BALANCE);
registry.setSettlementDate(REGISTRY_SETTLEMENT_DATE);
registry.setSecurityId(REGISTRY_SECURITY_ID);
registry.setSessionType(REGISTRY_SESSION_TYPE);
registry.setClearingCode(REGISTRY_CLEARING_CODE);
registry.setSecuritySymbol(REGISTRY_SECURITY_SYMBOL);
registry.setContract(REGISTRY_CONTRACT);
registryMap.insert(registry);
Session session = new Session();