parent
750d5c1e76
commit
7b7baf52d3
8 changed files with 92 additions and 29 deletions
|
|
@ -15,11 +15,9 @@ 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.registry.AdmittedLiabilitiesRegisterNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.platform.enumeration.RegistryCapacity;
|
||||
import ru.spcex.platform.enumeration.RegistryCode;
|
||||
import ru.spcex.platform.enumeration.RegistryDesignation;
|
||||
import ru.spcex.platform.enumeration.RegistryInstrumentType;
|
||||
import ru.spcex.platform.enumeration.*;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
|
|
@ -27,6 +25,9 @@ import java.time.Instant;
|
|||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_ADLR;
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_GBRR;
|
||||
|
||||
@Service
|
||||
public class AdmittedLiabilitiesRegisterService extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
|
@ -52,14 +53,20 @@ public class AdmittedLiabilitiesRegisterService extends QueueConsumer implements
|
|||
callback(AdmittedLiabilitiesRegisterNewRequest.class)
|
||||
.setConsumer(this::admittedLiabilitiesRegisterNew)
|
||||
.forDestination(Consts.REGISTRY_ADMITTED_LIABILITIES_REGISTER_NEW, callbacks::put);
|
||||
callback(LauncherCommandRequest.class)
|
||||
.setConsumer(this::admittedLiabilitiesRegisterNew)
|
||||
.forDestination(createRegistry_ADLR.topic(), callbacks::put);
|
||||
init();
|
||||
}
|
||||
|
||||
|
||||
public void admittedLiabilitiesRegisterNew(BaseRequest<AdmittedLiabilitiesRegisterNewRequest> userRequest) {
|
||||
public void admittedLiabilitiesRegisterNew(BaseRequest<?> userRequest) {
|
||||
log.debug("AdmittedLiabilitiesRegisterNewRequest received from {}", Consts.REGISTRY_ADMITTED_LIABILITIES_REGISTER_NEW);
|
||||
String sqlConditionForRegistry = getSqlForRegistries();
|
||||
Collection<Registry> registries = registryMap.getCollectionObjectsBySQL(sqlConditionForRegistry);
|
||||
if (registries == null) {
|
||||
log.debug("No registry with such conditions {}", sqlConditionForRegistry);
|
||||
return;
|
||||
}
|
||||
registries.forEach((registry -> {
|
||||
Collection<AdmittedLiabilitiesRegister> admittedLiabilitiesRegistersBySessionIdAndCompanyId = admittedLiabilitiesRegisterMap.getCollectionObjectsByFieldValues(Map.of("companyId", registry.getCompanyId(), "sessionId", registry.getSessionId()));
|
||||
if (admittedLiabilitiesRegistersBySessionIdAndCompanyId == null || admittedLiabilitiesRegistersBySessionIdAndCompanyId.isEmpty()) {
|
||||
|
|
@ -96,13 +103,18 @@ public class AdmittedLiabilitiesRegisterService extends QueueConsumer implements
|
|||
private String getSqlForRegistries() {
|
||||
return String.format("registryDesignation = '%s' and " +
|
||||
"registryInstrumentType in ('%s','%s') and " +
|
||||
"registryCapacity = '%s' and " +
|
||||
"registryCode = '%s'"
|
||||
"registryUnit = '%s' and " +
|
||||
"status in ('%s','%s','%s','%s','%s')"
|
||||
,
|
||||
RegistryDesignation.O.getKey(),
|
||||
RegistryInstrumentType.S.getKey(),
|
||||
RegistryInstrumentType.M.getKey(),
|
||||
RegistryCapacity.P.getKey(),
|
||||
RegistryCode.T.getKey());
|
||||
RegistryCode.T.getKey(),
|
||||
RegistryStatus.OK.getKey(),
|
||||
RegistryStatus.NACK.getKey(),
|
||||
RegistryStatus.UNCV.getKey(),
|
||||
RegistryStatus.NACC.getKey(),
|
||||
RegistryStatus.FAIL.getKey()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ 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.registry.CoveredLiabilitiesRegisterNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.platform.enumeration.*;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
|
|
@ -24,6 +25,9 @@ import java.time.Instant;
|
|||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_ADLR;
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_CDLR;
|
||||
|
||||
@Service
|
||||
public class CoveredLiabilitiesRegisterService extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
|
@ -49,15 +53,21 @@ public class CoveredLiabilitiesRegisterService extends QueueConsumer implements
|
|||
callback(CoveredLiabilitiesRegisterNewRequest.class)
|
||||
.setConsumer(this::coveredLiabilitiesRegisterNew)
|
||||
.forDestination(Consts.REGISTRY_COVERED_LIABILITIES_REGISTER_NEW, callbacks::put);
|
||||
callback(LauncherCommandRequest.class)
|
||||
.setConsumer(this::coveredLiabilitiesRegisterNew)
|
||||
.forDestination(createRegistry_CDLR.topic(), callbacks::put);
|
||||
init();
|
||||
}
|
||||
|
||||
|
||||
public void coveredLiabilitiesRegisterNew(BaseRequest<CoveredLiabilitiesRegisterNewRequest> userRequest) {
|
||||
log.debug("CoveredLiabilitiesRegisterNewRequest received from {}", Consts.REGISTRY_COVERED_LIABILITIES_REGISTER_NEW);
|
||||
public void coveredLiabilitiesRegisterNew(BaseRequest<?> userRequest) {
|
||||
log.debug("CoveredLiabilitiesRegisterNew received");
|
||||
String sqlConditionForRegistry = getSqlForRegistries();
|
||||
Collection<Registry> registries = registryMap.getCollectionObjectsBySQL(sqlConditionForRegistry);
|
||||
//checking for duplicates
|
||||
if (registries == null) {
|
||||
log.debug("No registry with such conditions {}", sqlConditionForRegistry);
|
||||
return;
|
||||
}
|
||||
registries.forEach((registry -> {
|
||||
Collection<CoveredLiabilitiesRegister> coveredLiabilitiesRegisterBySessionIdAndCompanyId = coveredLiabilitiesRegisterMap.getCollectionObjectsByFieldValues(Map.of("companyId", registry.getCompanyId(), "sessionId", registry.getSessionId()));
|
||||
if (coveredLiabilitiesRegisterBySessionIdAndCompanyId == null || coveredLiabilitiesRegisterBySessionIdAndCompanyId.isEmpty()) {
|
||||
|
|
@ -94,15 +104,12 @@ public class CoveredLiabilitiesRegisterService extends QueueConsumer implements
|
|||
private String getSqlForRegistries() {
|
||||
return String.format("registryDesignation = '%s' and " +
|
||||
"registryInstrumentType in ('%s','%s') and " +
|
||||
"registryCapacity = '%s' and " +
|
||||
"registryCode = '%s' and" +
|
||||
"registryStatus in ('%s', '%s')",
|
||||
"registryUnit = '%s' and" +
|
||||
"registryStatus = '%s'",
|
||||
RegistryDesignation.O.getKey(),
|
||||
RegistryInstrumentType.S.getKey(),
|
||||
RegistryInstrumentType.M.getKey(),
|
||||
RegistryCapacity.P.getKey(),
|
||||
RegistryCode.T.getKey(),
|
||||
RegistryStatus.OK.getKey(),
|
||||
RegistryStatus.PROC.getKey());
|
||||
RegistryStatus.OK.getKey());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,6 +52,10 @@ public class DepoBalanceRegisterService extends QueueConsumer implements Initial
|
|||
String sqlForRegistries = getSqlForRegistries();
|
||||
Collection<Registry> registries = registryMap.getCollectionObjectsBySQL(sqlForRegistries);
|
||||
log.trace("Started searching depoBalanceRegister in register by companyId, sessionId...");
|
||||
if (registries == null) {
|
||||
log.debug("No registry with such conditions {}", sqlForRegistries);
|
||||
return;
|
||||
}
|
||||
registries.forEach((registry -> {
|
||||
Collection<DepoBalanceRegister> depoBalanceRegisterBySessionIdAndCompanyId = depoBalanceRegisterMap.getCollectionObjectsByFieldValues(Map.of("companyId", registry.getCompanyId(), "sessionId", registry.getSessionId()));
|
||||
if (depoBalanceRegisterBySessionIdAndCompanyId == null || depoBalanceRegisterBySessionIdAndCompanyId.isEmpty()) {
|
||||
|
|
|
|||
|
|
@ -59,7 +59,10 @@ public class DepoPaymentInstructionRegisterService extends QueueConsumer impleme
|
|||
public void depoPaymentInstructionRegisterNew(BaseRequest<LauncherCommandRequest> userRequest) {
|
||||
log.debug("LauncherCommandRequest received from {}", createRegistry_GORR.topic());
|
||||
Collection<Session> actualSessions = sessionMap.getCollectionObjectsByFieldValues(Map.of("section", "FOND"));
|
||||
|
||||
if (actualSessions == null) {
|
||||
log.debug("No Session with such conditions section = FOND");
|
||||
return;
|
||||
}
|
||||
for (Session session : actualSessions) {
|
||||
Collection<PaymentInstruction> paymentInstructionBySessionId =
|
||||
paymentInstructionMap.getCollectionObjectsByFieldValues(Map.of("sessionId", session.getId()));
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ 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.registry.ExcludeLiabilitiesRegisterNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.platform.enumeration.*;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
|
|
@ -26,6 +27,9 @@ import java.time.LocalDate;
|
|||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_EXLR;
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_GRRT;
|
||||
|
||||
@Service
|
||||
public class ExcludeLiabilitiesRegisterService extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
|
@ -53,15 +57,22 @@ public class ExcludeLiabilitiesRegisterService extends QueueConsumer implements
|
|||
callback(ExcludeLiabilitiesRegisterNewRequest.class)
|
||||
.setConsumer(this::excludeLiabilitiesRegisterNew)
|
||||
.forDestination(Consts.REGISTRY_EXCLUDE_LIABILITIES_REGISTER_NEW, callbacks::put);
|
||||
callback(LauncherCommandRequest.class)
|
||||
.setConsumer(this::excludeLiabilitiesRegisterNew)
|
||||
.forDestination(createRegistry_EXLR.topic(), callbacks::put);
|
||||
init();
|
||||
}
|
||||
|
||||
|
||||
public void excludeLiabilitiesRegisterNew(BaseRequest<ExcludeLiabilitiesRegisterNewRequest> userRequest) {
|
||||
log.debug("ExcludeLiabilitiesRegisterNewRequest received from {}", Consts.REGISTRY_EXCLUDE_LIABILITIES_REGISTER_NEW);
|
||||
public void excludeLiabilitiesRegisterNew(BaseRequest<?> userRequest) {
|
||||
log.debug("ExcludeLiabilitiesRegisterNew received");
|
||||
String sqlForRegistries = getSqlForRegistries();
|
||||
Collection<Registry> registries = registryMap.getCollectionObjectsBySQL(sqlForRegistries);
|
||||
registries.forEach((registry -> {
|
||||
if (registries == null) {
|
||||
log.debug("No registry with such conditions {}", sqlForRegistries);
|
||||
return;
|
||||
}
|
||||
registries.forEach((registry -> {
|
||||
Collection<ExcludeLiabilitiesRegister> excludeLiabilitiesRegisterBySessionIdAndCompanyId = excludeLiabilitiesRegisterMap.getCollectionObjectsByFieldValues(Map.of("companyId", registry.getCompanyId(), "sessionId", registry.getSessionId()));
|
||||
if (excludeLiabilitiesRegisterBySessionIdAndCompanyId == null || excludeLiabilitiesRegisterBySessionIdAndCompanyId.isEmpty()) {
|
||||
insertExcludeLiabilitiesRegister(registry);
|
||||
|
|
@ -102,7 +113,7 @@ public class ExcludeLiabilitiesRegisterService extends QueueConsumer implements
|
|||
return String.format("registryDesignation = '%s' and " +
|
||||
"registryInstrumentType in ('%s','%s') and " +
|
||||
"registryCapacity = '%s' and " +
|
||||
"registryCode = '%s' and " +
|
||||
"registryUnit = '%s' and " +
|
||||
"registryStatus = '%s'"
|
||||
,
|
||||
RegistryDesignation.O.getKey(),
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ 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.registry.LiabilitiesRegisterNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.platform.enumeration.RegistryCapacity;
|
||||
import ru.spcex.platform.enumeration.RegistryCode;
|
||||
|
|
@ -29,6 +30,9 @@ import java.time.Instant;
|
|||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_EXLR;
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_LBSR;
|
||||
|
||||
@Service
|
||||
public class LiabilitiesRegisterService extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
|
@ -56,11 +60,14 @@ public class LiabilitiesRegisterService extends QueueConsumer implements Initial
|
|||
callback(LiabilitiesRegisterNewRequest.class)
|
||||
.setConsumer(this::liabilitiesRegisterNew)
|
||||
.forDestination(Consts.REGISTRY_LIABILITIES_REGISTER_NEW, callbacks::put);
|
||||
callback(LauncherCommandRequest.class)
|
||||
.setConsumer(this::liabilitiesRegisterNew)
|
||||
.forDestination(createRegistry_LBSR.topic(), callbacks::put);
|
||||
init();
|
||||
}
|
||||
|
||||
|
||||
public void liabilitiesRegisterNew(BaseRequest<LiabilitiesRegisterNewRequest> userRequest) {
|
||||
public void liabilitiesRegisterNew(BaseRequest<?> userRequest) {
|
||||
log.debug("LiabilitiesRegisterNewRequest received from {}", Consts.REGISTRY_LIABILITIES_REGISTER_NEW);
|
||||
String sqlConditionForRegistry = getSqlForRegistries();
|
||||
Collection<Registry> registries = registryMap.getCollectionObjectsBySQL(sqlConditionForRegistry);
|
||||
|
|
@ -118,7 +125,7 @@ public class LiabilitiesRegisterService extends QueueConsumer implements Initial
|
|||
return String.format("registryDesignation = '%s' and " +
|
||||
"registryInstrumentType in ('%s','%s') and " +
|
||||
"registryCapacity = '%s' and " +
|
||||
"registryCode = '%s'",
|
||||
"registryUnit = '%s'",
|
||||
RegistryDesignation.L.getKey(),
|
||||
RegistryInstrumentType.S.getKey(),
|
||||
RegistryInstrumentType.M.getKey(),
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import org.slf4j.LoggerFactory;
|
|||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.statics.data.account.Account;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||
import ru.clearing.classes.statics.data.register.MoneyBalanceRegister;
|
||||
|
|
@ -33,6 +34,7 @@ public class MoneyBalanceRegisterService extends QueueConsumer implements Initia
|
|||
private final Imdg<Registry> registryMap;
|
||||
private final Imdg<CompanySymbols> companySymbolsMap;
|
||||
private final Imdg<Company> companyMap;
|
||||
private final Imdg<Account> accountMap;
|
||||
|
||||
@Autowired
|
||||
public MoneyBalanceRegisterService(Consumer<String, Object> kafkaQueue,
|
||||
|
|
@ -43,6 +45,7 @@ public class MoneyBalanceRegisterService extends QueueConsumer implements Initia
|
|||
this.registryMap = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
|
||||
this.companySymbolsMap = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
|
||||
this.companyMap = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
this.accountMap = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -57,7 +60,10 @@ public class MoneyBalanceRegisterService extends QueueConsumer implements Initia
|
|||
log.debug("LauncherCommandRequest received from {}", createRegistry_GBRR.topic());
|
||||
String sqlConditionForRegistry = getSqlForRegistries();
|
||||
Collection<Registry> registries = registryMap.getCollectionObjectsBySQL(sqlConditionForRegistry);
|
||||
//checking for duplicates
|
||||
if (registries == null) {
|
||||
log.debug("No registry with such conditions {}", sqlConditionForRegistry);
|
||||
return;
|
||||
}
|
||||
registries.forEach((registry -> {
|
||||
Collection<MoneyBalanceRegister> moneyBalanceRegisterBySessionIdAndCompanyId = moneyBalanceRegisterMap.getCollectionObjectsByFieldValues(
|
||||
Map.of(
|
||||
|
|
@ -82,9 +88,21 @@ public class MoneyBalanceRegisterService extends QueueConsumer implements Initia
|
|||
CompanySymbols companySymbol = companySymbolsMap.getSingleObjectByFieldValues(Map.of("companyId", registry.getCompanyId()));
|
||||
String setHouseName = company != null ? company.getShortName() : null;
|
||||
String inn = companySymbol != null ? companySymbol.getCompanySymbolValue() : null;
|
||||
String accountType = registry.getAccountType();
|
||||
String account = null;
|
||||
String infoAccount = null;
|
||||
if (accountType.equalsIgnoreCase("CLRN")) {
|
||||
account = registry.getAccount();
|
||||
Account accountValue = accountMap.getSingleObjectByFieldValues(Map.of("companyId", registry.getCompanyId(), "accountType", "INFO"));
|
||||
infoAccount = accountValue != null ? accountValue.getAccount() : null;
|
||||
} else if (accountType.equalsIgnoreCase("INFO")) {
|
||||
Account accountValue = accountMap.getSingleObjectByFieldValues(Map.of("companyId", registry.getCompanyId(), "accountType", "CLRN"));
|
||||
account = accountValue != null ? accountValue.getAccount() : null;
|
||||
infoAccount = registry.getAccount();
|
||||
}
|
||||
moneyBalanceRegister.setSetHouseName(setHouseName);
|
||||
moneyBalanceRegister.setAccount(registry.getAccount());
|
||||
moneyBalanceRegister.setInfoAccount(registry.getAccountType());
|
||||
moneyBalanceRegister.setAccount(account);
|
||||
moneyBalanceRegister.setInfoAccount(infoAccount);
|
||||
moneyBalanceRegister.setRemainderSum(registry.getCloseBalance());
|
||||
moneyBalanceRegister.setInn(inn);
|
||||
moneyBalanceRegister.setSessionId(registry.getSessionId());
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ public enum RegistryStatus implements IEnumKey {
|
|||
OK("OK"),
|
||||
PROC("PROC"),
|
||||
NACK("NACK"),
|
||||
NACC("NACC"),
|
||||
FAIL("FAIL"),
|
||||
UNCV("UNCV"),
|
||||
MNG("MNG"),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue