http://jira.mfd.msk:8088/browse/CLS-293 meta 4: правка кода, чтобы компилировалось.
This commit is contained in:
parent
c752efceec
commit
457f051588
30 changed files with 761 additions and 763 deletions
|
|
@ -36,7 +36,7 @@ class NotificationControllerTest extends AbstractControllerTest {
|
|||
profileDocument.setSenderId(1000L);
|
||||
profileDocument.setAddresseeId(1000L);
|
||||
profileDocument.setObjectType("ObjectType");
|
||||
profileDocument.setObjectId(Instant.now());
|
||||
profileDocument.setObjectId(1111122222L);
|
||||
profileDocument.setNotificationStatus("Status");
|
||||
profileDocument.setId(currentId.get());
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
|||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
|
|
@ -32,6 +33,7 @@ class PaymentInstructionControllerTest extends AbstractControllerTest {
|
|||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
PaymentInstruction paymentInstruction = new PaymentInstruction();
|
||||
|
||||
paymentInstruction.setSenderId(1010L);
|
||||
paymentInstruction.setAddresseeId(1010L);
|
||||
paymentInstruction.setAdresseeBic("123456789");
|
||||
|
|
@ -41,21 +43,24 @@ class PaymentInstructionControllerTest extends AbstractControllerTest {
|
|||
paymentInstruction.setPaymentDate(Instant.now());
|
||||
paymentInstruction.setPaymentPurpose("Purpose");
|
||||
paymentInstruction.setSettlementDate(LocalDate.now());
|
||||
paymentInstruction.setCreditLegAmount(2020L);
|
||||
paymentInstruction.setDebitLegAmount(2020L);
|
||||
paymentInstruction.setCreditLegAccountId(2020L);
|
||||
paymentInstruction.setCreditCsAccount("Ok");
|
||||
paymentInstruction.setCreditLegAccount("123456789");
|
||||
paymentInstruction.setDebitLegAccountId(3030L);
|
||||
paymentInstruction.setDebitCsAccount("123456789");
|
||||
paymentInstruction.setDebitLegAccount("123456789");
|
||||
paymentInstruction.setCreditLegDirection(3030L);
|
||||
paymentInstruction.setDebitLegDirection(3030L);
|
||||
paymentInstruction.setCreditLegCurrencyCode("123456789");
|
||||
paymentInstruction.setDebitLegCurrencyCode("123456789");
|
||||
paymentInstruction.setClearingDate(LocalDate.now());
|
||||
paymentInstruction.setCreditLeg_amount(BigDecimal.valueOf(123.456));
|
||||
paymentInstruction.setDebitLeg_amount(BigDecimal.valueOf(123.256));
|
||||
paymentInstruction.setCreditLeg_accountId(currentId.get());
|
||||
paymentInstruction.setCredit_csAccount("ACCT1");
|
||||
paymentInstruction.setCreditLeg_account("ACCT2");
|
||||
paymentInstruction.setDebitLeg_accountId(222L);
|
||||
paymentInstruction.setDebit_csAccount("ACCC3");
|
||||
paymentInstruction.setDebitLeg_account("AC-1");
|
||||
paymentInstruction.setCreditLeg_direction("BUY");
|
||||
paymentInstruction.setDebitLeg_direction("SELL");
|
||||
paymentInstruction.setCreditLeg_currencyCode("RUB");
|
||||
paymentInstruction.setDebitLeg_currencyCode("RUB");
|
||||
paymentInstruction.setCreditLeg_securityId(12L);
|
||||
paymentInstruction.setDebitLeg_securityId(15L);
|
||||
paymentInstruction.setTransactionStatus("Status");
|
||||
paymentInstruction.setDocumentNumber("123456789");
|
||||
paymentInstruction.setClearingDate(LocalDate.now());
|
||||
paymentInstruction.setSessionId(555L);
|
||||
paymentInstruction.setId(currentId.get());
|
||||
|
||||
IMap<Long, PaymentInstruction> iMap = hazelcastServiceTest.getHazelcast().getMap(IMDGDistributedNames.Map_PaymentInstruction);
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ class ContractRegisterControllerTest extends AbstractControllerTest {
|
|||
contractRegister.setName("code");
|
||||
contractRegister.setNumber("com");
|
||||
contractRegister.setIssueDate(LocalDate.now());
|
||||
contractRegister.setCompanyFullName(currentId.get());
|
||||
contractRegister.setCompanyFullName("CF name C");
|
||||
contractRegister.setCompanyId(currentId.get());
|
||||
contractRegister.setDocumentType("symb");
|
||||
contractRegister.setIssuePlace("name");
|
||||
|
|
|
|||
|
|
@ -77,10 +77,9 @@ class StatementControllerTest extends AbstractControllerTest {
|
|||
statement.setInOutDirection("direction");
|
||||
statement.setSettlementDate(LocalDate.now());
|
||||
statement.setAmount(new BigDecimal(0));
|
||||
statement.setCashMovementCurrencyCode("cash");
|
||||
statement.setOperationStatus("status");
|
||||
statement.setErrorCode("error");
|
||||
statement.setErrorText("name");
|
||||
statement.setErrorCodeId(122L);
|
||||
statement.setErrorTextId(123L);
|
||||
statement.setInSDfId(currentId.get());
|
||||
statement.setOutSDfId(currentId.get());
|
||||
statement.setInOutSDfType("type");
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import org.springframework.context.annotation.Bean;
|
|||
import org.springframework.context.annotation.Configuration;
|
||||
import ru.spcex.clearing.balance.service.AbstractExecutor;
|
||||
import ru.spcex.clearing.balance.service.Sdf01Executor;
|
||||
import ru.spcex.clearing.balance.service.Sdf09Executor;
|
||||
import ru.spcex.clearing.balance.service.Sdf16Executor;
|
||||
import ru.spcex.platform.classes.base.interfaces.WithAccount;
|
||||
import ru.spcex.platform.enumeration.SdfTable;
|
||||
|
|
@ -17,11 +16,11 @@ public class SdfExecutorsConfig {
|
|||
|
||||
@Bean("sdfExecutors")
|
||||
public Map<SdfTable, AbstractExecutor<? extends WithAccount>> executorsMap(Sdf01Executor sdf01Executor,
|
||||
Sdf09Executor sdf09Executor,
|
||||
//Sdf09Executor sdf09Executor,
|
||||
Sdf16Executor sdf16Executor) {
|
||||
Map<SdfTable, AbstractExecutor<? extends WithAccount>> executors = new HashMap<>();
|
||||
executors.put(SdfTable.SDF_01, sdf01Executor);
|
||||
executors.put(SdfTable.SDF_09, sdf09Executor);
|
||||
// todo возможно удалят или переделают: executors.put(SdfTable.SDF_09, sdf09Executor);
|
||||
executors.put(SdfTable.SDF_16, sdf16Executor);
|
||||
return executors;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -94,8 +94,8 @@ public class ValidationConfig {
|
|||
return new ValidatorImpl<>(context,
|
||||
Sdf09ValidationRule.CompanyPresent,
|
||||
Sdf09ValidationRule.AccountPresent,
|
||||
MarketIsUValidationRule.instance,
|
||||
AccountBalanceFreeAmountEnough.instance(SDf09.class)
|
||||
MarketIsUValidationRule.instance
|
||||
//,AccountBalanceFreeAmountEnough.instance(SDf09.class)
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -101,10 +101,11 @@ public class Sdf01Executor extends AbstractExecutor<SDf01> {
|
|||
SDf02 sdf02New = createSuccessSdf02(sdf01, generationIdForGroup);
|
||||
sdf02Imdg.insert(sdf02New);
|
||||
statement.setOutSDfId(sdf02New.getId());
|
||||
AccountResult accountResult = accountBalanceService.createAccountBalance(statement.getAddresseeId(), statement.getAccountId(), statement.getAmount(), statement.getCashMovementCurrencyCode());
|
||||
AccountResult accountResult = accountBalanceService.createAccountBalance(statement.getAddresseeId(), statement.getAccountId(), statement.getAmount(),
|
||||
null/*statement.getCashMovementCurrencyCode()*/);
|
||||
if (accountResult.getError() != null) {
|
||||
statement.setErrorCode(accountResult.getError().getSubject().getId().toString());
|
||||
statement.setErrorText(errorResolver.resolve(accountResult.getError()));
|
||||
statement.setErrorCodeId(accountResult.getError().getSubject().getId());
|
||||
// todo statement.setErrorText(errorResolver.resolve(accountResult.getError()));
|
||||
} else {
|
||||
accountBalanceImdg.insert(accountResult.getAccount()); //insert == update?
|
||||
statement.setOperationStatus(OperationStatus.Executed.getKey());
|
||||
|
|
@ -126,7 +127,6 @@ public class Sdf01Executor extends AbstractExecutor<SDf01> {
|
|||
statement.setInOutDirection(InOutDirection.in.getKey());
|
||||
statement.setSettlementDate(LocalDate.parse(sdf01.getDat(), datFormatter));
|
||||
statement.setAmount(BigDecimalUtil.parse(sdf01.getRemainder()));
|
||||
statement.setCashMovementCurrencyCode(CurrencyCode.RUB.getKey());
|
||||
statement.setOperationStatus(OperationStatus.Pending.getKey());
|
||||
statement.setInSDfId(sdf01.getId());
|
||||
statement.setInOutSDfType(InOutSDfType.type1.getKey());
|
||||
|
|
@ -141,7 +141,6 @@ public class Sdf01Executor extends AbstractExecutor<SDf01> {
|
|||
statement.setInOutDirection(InOutDirection.in.getKey());
|
||||
statement.setSettlementDate(LocalDate.parse(sdf01.getDat(), datFormatter));
|
||||
statement.setAmount(BigDecimalUtil.parse(sdf01.getRemainder()));
|
||||
statement.setCashMovementCurrencyCode(CurrencyCode.RUB.getKey());
|
||||
statementImdg.update(statement);
|
||||
}
|
||||
|
||||
|
|
@ -169,7 +168,7 @@ public class Sdf01Executor extends AbstractExecutor<SDf01> {
|
|||
sDf02.setSumengage(sdf01.getSumengage());
|
||||
sDf02.setSumunblock(sdf01.getSumunblock());
|
||||
sDf02.setFile_type(sdf01.getFile_type());
|
||||
sDf02.setInSDf01Id(sdf01.getId());
|
||||
sDf02.setInSDfId(sdf01.getId());
|
||||
String errorId = error.getSubject().getId().toString();
|
||||
sDf02.setResult(errorId.substring(errorId.length() - 3));
|
||||
sDf02.setGenerationId(generationIdForGroup);
|
||||
|
|
@ -191,7 +190,7 @@ public class Sdf01Executor extends AbstractExecutor<SDf01> {
|
|||
sDf02.setSumengage(sdf01.getSumengage());
|
||||
sDf02.setSumunblock(sdf01.getSumunblock());
|
||||
sDf02.setFile_type(sdf01.getFile_type());
|
||||
sDf02.setInSDf01Id(sdf01.getId());
|
||||
sDf02.setInSDfId(sdf01.getId());
|
||||
sDf02.setGenerationId(generationIdForGroup);
|
||||
sDf02.setGenerationTime(Instant.now());
|
||||
sDf02.setResult("OK!");
|
||||
|
|
|
|||
|
|
@ -45,9 +45,9 @@ public class Sdf08Service extends QueueConsumer implements InitializingBean {
|
|||
private void newSDf08(BaseRequest<Object> userRequest) {
|
||||
log.debug("getAllBalance request received");
|
||||
SDf08 sDf08 = new SDf08();
|
||||
sDf08.setNumber(idGenerator.nextId().toString());
|
||||
// sDf08.setNumber(idGenerator.nextId().toString());
|
||||
Instant now = Instant.now();
|
||||
sDf08.setDatetime(String.valueOf(now.toEpochMilli()));
|
||||
// sDf08.setDatetime(String.valueOf(now.toEpochMilli()));
|
||||
sDf08.setGenerationTime(now);
|
||||
sDf08.setGenerationId(idGenerator.nextId());
|
||||
sdf8Map.insert(sDf08);
|
||||
|
|
|
|||
|
|
@ -1,175 +1,176 @@
|
|||
package ru.spcex.clearing.balance.service;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.statics.data.account.Account;
|
||||
import ru.clearing.classes.statics.data.account.AccountBalance;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf09;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf10;
|
||||
import ru.clearing.classes.statics.data.statement.Statement;
|
||||
import ru.spcex.clearing.balance.errors.BalanceError;
|
||||
import ru.spcex.clearing.balance.validation.ValidationStored;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.sdf01.AccountSdfRequestPart;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.balance.StatementRequest;
|
||||
import ru.spcex.platform.enumeration.*;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||
import ru.spcex.platform.utils.validation.IValidator;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Function;
|
||||
|
||||
@Service
|
||||
public class Sdf09Executor extends AbstractExecutor<SDf09> {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
private final static DateTimeFormatter datFormatter = DateTimeFormatter.ofPattern("dd.MM.yy");
|
||||
private final Imdg<Statement> statementImdg;
|
||||
private final Function<SDf09, IValidator> sDf09Validator;
|
||||
private final LoggingService errorLogger;
|
||||
private final Imdg<SDf10> sdf10Imdg;
|
||||
private final ImdgProvider imdgProvider;
|
||||
private final AccountBalanceService accountBalanceService;
|
||||
private final IMessageResolver errorResolver;
|
||||
private final Imdg<AccountBalance> accountBalanceImdg;
|
||||
|
||||
public Sdf09Executor(Function<SDf09, IValidator> sDf09Validator,
|
||||
LoggingService errorLogger,
|
||||
ImdgProvider imdgProvider,
|
||||
AccountBalanceService accountBalanceService,
|
||||
IMessageResolver errorResolver) {
|
||||
this.statementImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Statement, Statement.class);
|
||||
this.sdf10Imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf10, SDf10.class);
|
||||
this.accountBalanceImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class);;
|
||||
this.sDf09Validator = sDf09Validator;
|
||||
this.errorLogger = errorLogger;
|
||||
this.imdgProvider = imdgProvider;
|
||||
this.accountBalanceService = accountBalanceService;
|
||||
this.errorResolver = errorResolver;
|
||||
}
|
||||
|
||||
@Override
|
||||
String exportTableName() {
|
||||
return "DF-10";
|
||||
}
|
||||
|
||||
public Result execute(Collection<SDf09> sdf, StatementRequest statementRequest){
|
||||
Result result = new Result();
|
||||
Long generationIdForGroup = imdgProvider.getImdgIdGenerator().nextId();
|
||||
result.setGenerationId(generationIdForGroup);
|
||||
for (SDf09 sdf09 : sdf) {
|
||||
IValidator validator = sDf09Validator.apply(sdf09);
|
||||
Optional<EnumMessage> error = validator.tillFirstError();
|
||||
Company company = validator.getStored(ValidationStored.Company);
|
||||
if (statementRequest.getAccountCreationResults().size() == 0
|
||||
&& BalanceError.AccountNotPresent.equals(error.map(EnumMessage::getSubject).orElse(null))) {
|
||||
//на данном шаге company существует -> getId ok
|
||||
//формируем пакетный запрос на добавление account
|
||||
//ответ придет в этот же метод, process
|
||||
result.getAccountRequests().add(createAccountRequestPart(sdf09.getId(), sdf09.getAccount(), company.getId()));
|
||||
log.info("account {} for sdf01.id={} not found - send request for creation", sdf09.getAccount(), sdf09.getId());
|
||||
continue;
|
||||
} else if (BalanceError.AccountNotPresent.equals(error.map(EnumMessage::getSubject).orElse(null))) {
|
||||
log.error("fatal error: resumed processing after generating accounts, but no account found for sdf01.id={}", sdf09.getId());
|
||||
}
|
||||
if (error.isPresent()) {
|
||||
errorLogger.logError("sdf01.id={}", error.get(), sdf09.getId());
|
||||
sdf10Imdg.insert(createErrorSdf10(sdf09, error.get(), generationIdForGroup));
|
||||
continue;
|
||||
}
|
||||
Statement statement = statementImdg.getSingleObjectByFieldValues(Map.of("account", sdf09.getAccount()));
|
||||
if (statement == null) {
|
||||
statement = createFlow(sdf09,
|
||||
company,
|
||||
validator.getStored(ValidationStored.Account));
|
||||
} else {
|
||||
updateFlow(statement, sdf09,
|
||||
validator.getStored(ValidationStored.Account));
|
||||
}
|
||||
SDf10 sdf10New = createSuccessSdf10(sdf09, generationIdForGroup);
|
||||
sdf10Imdg.insert(sdf10New);
|
||||
statement.setOutSDfId(sdf10New.getId());
|
||||
AccountResult accountResult = accountBalanceService.createAccountBalance(statement.getAddresseeId(), statement.getAccountId(), statement.getAmount(), statement.getCashMovementCurrencyCode());
|
||||
if (accountResult.getError() != null) {
|
||||
statement.setErrorCode(accountResult.getError().getSubject().getId().toString());
|
||||
statement.setErrorText(errorResolver.resolve(accountResult.getError()));
|
||||
} else {
|
||||
accountBalanceImdg.insert(accountResult.getAccount()); //insert == update?
|
||||
statement.setOperationStatus(OperationStatus.Executed.getKey());
|
||||
}
|
||||
statementImdg.update(statement);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private Statement createFlow(SDf09 sdf09, Company company, Account account) {
|
||||
Statement statement = new Statement();
|
||||
statement.setAddresseeId(company.getId());
|
||||
statement.setSenderId(Sender.Prc.getId());
|
||||
statement.setCreated(Instant.now());
|
||||
statement.setClearingDate(LocalDate.now());
|
||||
statement.setStatementType(StatementType.incr.getKey());
|
||||
statement.setAccountId(account.getId());
|
||||
statement.setAccount(sdf09.getAccount());
|
||||
statement.setInOutDirection(InOutDirection.in.getKey());
|
||||
statement.setAmount(sdf09.getSum());
|
||||
statement.setCashMovementCurrencyCode(CurrencyCode.RUB.getKey());
|
||||
statement.setOperationStatus(OperationStatus.Pending.getKey());
|
||||
statement.setInSDfId(sdf09.getId());
|
||||
statement.setInOutSDfType(InOutSDfType.type9.getKey());
|
||||
statementImdg.insert(statement);
|
||||
return statement;
|
||||
}
|
||||
|
||||
private void updateFlow(Statement statement, SDf09 sdf09, Account account) {
|
||||
statement.setUpdated(Instant.now());
|
||||
statement.setAccountId(account.getId());
|
||||
statement.setAccount(sdf09.getAccount());
|
||||
statement.setInOutDirection(InOutDirection.in.getKey());
|
||||
statement.setAmount(sdf09.getSum());
|
||||
statement.setCashMovementCurrencyCode(CurrencyCode.RUB.getKey());
|
||||
statement.setInSDfId(sdf09.getId());
|
||||
// statement.setOutSDfId(sdf10.getId()); заполняется внешним кодом
|
||||
statement.setInOutSDfType(InOutSDfType.type9.getKey());
|
||||
statementImdg.update(statement);
|
||||
}
|
||||
|
||||
private AccountSdfRequestPart createAccountRequestPart(Long sdf09Id, String account, Long companyId) {
|
||||
AccountSdfRequestPart req = new AccountSdfRequestPart();
|
||||
req.setAccount(account);
|
||||
req.setCompanyId(companyId);
|
||||
req.setSdfId(sdf09Id);
|
||||
return req;
|
||||
}
|
||||
|
||||
private SDf10 createErrorSdf10(SDf09 sdf09, EnumMessage error, Long generationIdForGroup) {
|
||||
SDf10 sDf10 = createSuccessSdf10(sdf09, generationIdForGroup);
|
||||
String errorId = error.getSubject().getId().toString();
|
||||
sDf10.setResult(errorId.substring(errorId.length() - 3));
|
||||
return sDf10;
|
||||
}
|
||||
|
||||
private SDf10 createSuccessSdf10(SDf09 sdf09, Long generationIdForGroup) {
|
||||
SDf10 sDf10 = new SDf10();
|
||||
sDf10.setAccount(sdf09.getAccount());
|
||||
sDf10.setSum(sdf09.getSum());
|
||||
sDf10.setMarket(sdf09.getMarket());
|
||||
sDf10.setType(sdf09.getType());
|
||||
sDf10.setNumber(sdf09.getNumber());
|
||||
sDf10.setInn(sdf09.getInn());
|
||||
sDf10.setResult("OK");
|
||||
sDf10.setGenerationId(generationIdForGroup);
|
||||
sDf10.setGenerationTime(Instant.now());
|
||||
sDf10.setInSDf09Id(sdf09.getId());
|
||||
return sDf10;
|
||||
}
|
||||
}
|
||||
//package ru.spcex.clearing.balance.service;
|
||||
//
|
||||
//import org.slf4j.Logger;
|
||||
//import org.slf4j.LoggerFactory;
|
||||
//import org.springframework.stereotype.Service;
|
||||
//import ru.clearing.classes.statics.data.account.Account;
|
||||
//import ru.clearing.classes.statics.data.account.AccountBalance;
|
||||
//import ru.clearing.classes.statics.data.company.Company;
|
||||
//import ru.clearing.classes.statics.data.sdf.SDf09;
|
||||
//import ru.clearing.classes.statics.data.sdf.SDf10;
|
||||
//import ru.clearing.classes.statics.data.statement.Statement;
|
||||
//import ru.spcex.clearing.balance.errors.BalanceError;
|
||||
//import ru.spcex.clearing.balance.validation.ValidationStored;
|
||||
//import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
//import ru.spcex.clearing.platform.messaging.domain.cud.account.sdf01.AccountSdfRequestPart;
|
||||
//import ru.spcex.clearing.platform.messaging.domain.cud.balance.StatementRequest;
|
||||
//import ru.spcex.platform.enumeration.*;
|
||||
//import ru.spcex.platform.imdg.api.Imdg;
|
||||
//import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
//import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
//import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||
//import ru.spcex.platform.utils.validation.IValidator;
|
||||
//
|
||||
//import java.time.Instant;
|
||||
//import java.time.LocalDate;
|
||||
//import java.time.format.DateTimeFormatter;
|
||||
//import java.util.Collection;
|
||||
//import java.util.Map;
|
||||
//import java.util.Optional;
|
||||
//import java.util.function.Function;
|
||||
//
|
||||
////todo SDf09 был изменён. Sdf09Executor теперь не работает.
|
||||
//@Service
|
||||
//public class Sdf09Executor extends AbstractExecutor<SDf09> {
|
||||
// private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
// private final static DateTimeFormatter datFormatter = DateTimeFormatter.ofPattern("dd.MM.yy");
|
||||
// private final Imdg<Statement> statementImdg;
|
||||
// private final Function<SDf09, IValidator> sDf09Validator;
|
||||
// private final LoggingService errorLogger;
|
||||
// private final Imdg<SDf10> sdf10Imdg;
|
||||
// private final ImdgProvider imdgProvider;
|
||||
// private final AccountBalanceService accountBalanceService;
|
||||
// private final IMessageResolver errorResolver;
|
||||
// private final Imdg<AccountBalance> accountBalanceImdg;
|
||||
//
|
||||
// public Sdf09Executor(Function<SDf09, IValidator> sDf09Validator,
|
||||
// LoggingService errorLogger,
|
||||
// ImdgProvider imdgProvider,
|
||||
// AccountBalanceService accountBalanceService,
|
||||
// IMessageResolver errorResolver) {
|
||||
// this.statementImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Statement, Statement.class);
|
||||
// this.sdf10Imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf10, SDf10.class);
|
||||
// this.accountBalanceImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class);;
|
||||
// this.sDf09Validator = sDf09Validator;
|
||||
// this.errorLogger = errorLogger;
|
||||
// this.imdgProvider = imdgProvider;
|
||||
// this.accountBalanceService = accountBalanceService;
|
||||
// this.errorResolver = errorResolver;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// String exportTableName() {
|
||||
// return "DF-10";
|
||||
// }
|
||||
//
|
||||
// public Result execute(Collection<SDf09> sdf, StatementRequest statementRequest){
|
||||
// Result result = new Result();
|
||||
// Long generationIdForGroup = imdgProvider.getImdgIdGenerator().nextId();
|
||||
// result.setGenerationId(generationIdForGroup);
|
||||
// for (SDf09 sdf09 : sdf) {
|
||||
// IValidator validator = sDf09Validator.apply(sdf09);
|
||||
// Optional<EnumMessage> error = validator.tillFirstError();
|
||||
// Company company = validator.getStored(ValidationStored.Company);
|
||||
// if (statementRequest.getAccountCreationResults().size() == 0
|
||||
// && BalanceError.AccountNotPresent.equals(error.map(EnumMessage::getSubject).orElse(null))) {
|
||||
// //на данном шаге company существует -> getId ok
|
||||
// //формируем пакетный запрос на добавление account
|
||||
// //ответ придет в этот же метод, process
|
||||
// result.getAccountRequests().add(createAccountRequestPart(sdf09.getId(), sdf09.getAccount(), company.getId()));
|
||||
// log.info("account {} for sdf01.id={} not found - send request for creation", sdf09.getAccount(), sdf09.getId());
|
||||
// continue;
|
||||
// } else if (BalanceError.AccountNotPresent.equals(error.map(EnumMessage::getSubject).orElse(null))) {
|
||||
// log.error("fatal error: resumed processing after generating accounts, but no account found for sdf01.id={}", sdf09.getId());
|
||||
// }
|
||||
// if (error.isPresent()) {
|
||||
// errorLogger.logError("sdf01.id={}", error.get(), sdf09.getId());
|
||||
// sdf10Imdg.insert(createErrorSdf10(sdf09, error.get(), generationIdForGroup));
|
||||
// continue;
|
||||
// }
|
||||
// Statement statement = statementImdg.getSingleObjectByFieldValues(Map.of("account", sdf09.getAccount()));
|
||||
// if (statement == null) {
|
||||
// statement = createFlow(sdf09,
|
||||
// company,
|
||||
// validator.getStored(ValidationStored.Account));
|
||||
// } else {
|
||||
// updateFlow(statement, sdf09,
|
||||
// validator.getStored(ValidationStored.Account));
|
||||
// }
|
||||
// SDf10 sdf10New = createSuccessSdf10(sdf09, generationIdForGroup);
|
||||
// sdf10Imdg.insert(sdf10New);
|
||||
// statement.setOutSDfId(sdf10New.getId());
|
||||
// AccountResult accountResult = accountBalanceService.createAccountBalance(statement.getAddresseeId(), statement.getAccountId(), statement.getAmount(), statement.getCashMovementCurrencyCode());
|
||||
// if (accountResult.getError() != null) {
|
||||
// statement.setErrorCode(accountResult.getError().getSubject().getId().toString());
|
||||
// statement.setErrorText(errorResolver.resolve(accountResult.getError()));
|
||||
// } else {
|
||||
// accountBalanceImdg.insert(accountResult.getAccount()); //insert == update?
|
||||
// statement.setOperationStatus(OperationStatus.Executed.getKey());
|
||||
// }
|
||||
// statementImdg.update(statement);
|
||||
// }
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// private Statement createFlow(SDf09 sdf09, Company company, Account account) {
|
||||
// Statement statement = new Statement();
|
||||
// statement.setAddresseeId(company.getId());
|
||||
// statement.setSenderId(Sender.Prc.getId());
|
||||
// statement.setCreated(Instant.now());
|
||||
// statement.setClearingDate(LocalDate.now());
|
||||
// statement.setStatementType(StatementType.incr.getKey());
|
||||
// statement.setAccountId(account.getId());
|
||||
// statement.setAccount(sdf09.getAccount());
|
||||
// statement.setInOutDirection(InOutDirection.in.getKey());
|
||||
// statement.setAmount(sdf09.getSum());
|
||||
// statement.setCashMovementCurrencyCode(CurrencyCode.RUB.getKey());
|
||||
// statement.setOperationStatus(OperationStatus.Pending.getKey());
|
||||
// statement.setInSDfId(sdf09.getId());
|
||||
// statement.setInOutSDfType(InOutSDfType.type9.getKey());
|
||||
// statementImdg.insert(statement);
|
||||
// return statement;
|
||||
// }
|
||||
//
|
||||
// private void updateFlow(Statement statement, SDf09 sdf09, Account account) {
|
||||
// statement.setUpdated(Instant.now());
|
||||
// statement.setAccountId(account.getId());
|
||||
// statement.setAccount(sdf09.getAccount());
|
||||
// statement.setInOutDirection(InOutDirection.in.getKey());
|
||||
// statement.setAmount(sdf09.getSum());
|
||||
// statement.setCashMovementCurrencyCode(CurrencyCode.RUB.getKey());
|
||||
// statement.setInSDfId(sdf09.getId());
|
||||
//// statement.setOutSDfId(sdf10.getId()); заполняется внешним кодом
|
||||
// statement.setInOutSDfType(InOutSDfType.type9.getKey());
|
||||
// statementImdg.update(statement);
|
||||
// }
|
||||
//
|
||||
// private AccountSdfRequestPart createAccountRequestPart(Long sdf09Id, String account, Long companyId) {
|
||||
// AccountSdfRequestPart req = new AccountSdfRequestPart();
|
||||
// req.setAccount(account);
|
||||
// req.setCompanyId(companyId);
|
||||
// req.setSdfId(sdf09Id);
|
||||
// return req;
|
||||
// }
|
||||
//
|
||||
// private SDf10 createErrorSdf10(SDf09 sdf09, EnumMessage error, Long generationIdForGroup) {
|
||||
// SDf10 sDf10 = createSuccessSdf10(sdf09, generationIdForGroup);
|
||||
// String errorId = error.getSubject().getId().toString();
|
||||
// sDf10.setResult(errorId.substring(errorId.length() - 3));
|
||||
// return sDf10;
|
||||
// }
|
||||
//
|
||||
// private SDf10 createSuccessSdf10(SDf09 sdf09, Long generationIdForGroup) {
|
||||
// SDf10 sDf10 = new SDf10();
|
||||
// sDf10.setAccount(sdf09.getAccount());
|
||||
// sDf10.setSum(sdf09.getSum());
|
||||
// sDf10.setMarket(sdf09.getMarket());
|
||||
// sDf10.setType(sdf09.getType());
|
||||
// sDf10.setNumber(sdf09.getNumber());
|
||||
// sDf10.setInn(sdf09.getInn());
|
||||
// sDf10.setResult("OK");
|
||||
// sDf10.setGenerationId(generationIdForGroup);
|
||||
// sDf10.setGenerationTime(Instant.now());
|
||||
// sDf10.setInSDf09Id(sdf09.getId());
|
||||
// return sDf10;
|
||||
// }
|
||||
//}
|
||||
|
|
|
|||
|
|
@ -105,10 +105,10 @@ public class Sdf16Executor extends AbstractExecutor<SDf16> {
|
|||
sdf17Imdg.insert(sdfNew);
|
||||
statement.setOutSDfId(sdfNew.getId());
|
||||
AccountResult accountResult = accountBalanceService.createAccountBalance(statement.getAddresseeId(),
|
||||
statement.getAccountId(), statement.getAmount(), statement.getCashMovementCurrencyCode());
|
||||
statement.getAccountId(), statement.getAmount(), null /*todo statement.getCashMovementCurrencyCode() */);
|
||||
if (accountResult.getError() != null) {
|
||||
statement.setErrorCode(accountResult.getError().getSubject().getId().toString());
|
||||
statement.setErrorText(errorResolver.resolve(accountResult.getError()));
|
||||
statement.setErrorCodeId(accountResult.getError().getSubject().getId());
|
||||
//todo аполнение statement.setErrorTextId(errorResolver.resolve(accountResult.getError()));
|
||||
} else {
|
||||
accountBalanceImdg.insert(accountResult.getAccount());
|
||||
statement.setOperationStatus(OperationStatus.Executed.getKey());
|
||||
|
|
@ -143,7 +143,6 @@ public class Sdf16Executor extends AbstractExecutor<SDf16> {
|
|||
statement.setAccount(sdf.getAccount());
|
||||
statement.setInOutDirection(InOutDirection.in.getKey());
|
||||
statement.setAmount(sdf.getSum());
|
||||
statement.setCashMovementCurrencyCode(CurrencyCode.RUB.getKey());
|
||||
statement.setOperationStatus(OperationStatus.Pending.getKey());
|
||||
statement.setInSDfId(sdf.getId());
|
||||
statement.setInOutSDfType(InOutSDfType.type16.getKey());
|
||||
|
|
@ -158,7 +157,6 @@ public class Sdf16Executor extends AbstractExecutor<SDf16> {
|
|||
statement.setAccount(sdf.getAccount());
|
||||
statement.setInOutDirection(InOutDirection.in.getKey());
|
||||
statement.setAmount(sdf.getSum());
|
||||
statement.setCashMovementCurrencyCode(CurrencyCode.RUB.getKey());
|
||||
statement.setInSDfId(sdf.getId());
|
||||
statement.setInOutSDfType(InOutSDfType.type16.getKey());
|
||||
statementImdg.update(statement);
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ public class StatementService extends QueueConsumer implements InitializingBean
|
|||
this.kafkaReqProducer = kafkaReqProducer;
|
||||
this.executorsMap = executorsMap;
|
||||
this.sdfImdgs.put(SdfTable.SDF_01, imdgProvider.getImdg(IMDGDistributedNames.Map_SDf01, SDf01.class));
|
||||
this.sdfImdgs.put(SdfTable.SDF_09, imdgProvider.getImdg(IMDGDistributedNames.Map_SDf09, SDf09.class));
|
||||
// todo изменение классов. this.sdfImdgs.put(SdfTable.SDF_09, imdgProvider.getImdg(IMDGDistributedNames.Map_SDf09, SDf09.class));
|
||||
this.sdfImdgs.put(SdfTable.SDF_16, imdgProvider.getImdg(IMDGDistributedNames.Map_SDf16, SDf16.class));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ import java.math.RoundingMode;
|
|||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
@Deprecated // связан с Sdf09Executor , он в переработке или удалении.
|
||||
public enum Sdf09ValidationRule implements IValidationRule<ImdgValidationContext<SDf09>> {
|
||||
CompanyPresent() {
|
||||
@Override
|
||||
|
|
@ -24,48 +25,48 @@ public enum Sdf09ValidationRule implements IValidationRule<ImdgValidationContext
|
|||
SDf09 sdf09 = context.getValidatedObject();
|
||||
Imdg<CompanySymbols> companySymbolImdg = context.obtainMap(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
|
||||
Imdg<Company> companyImdg = context.obtainMap(IMDGDistributedNames.Map_Company, Company.class);
|
||||
if (sdf09.getInn() == null) {
|
||||
return of(BalanceError.CompanyNotFound, "empty inn");
|
||||
}
|
||||
String innStr = sdf09.getInn().setScale(0, RoundingMode.DOWN).toString();
|
||||
CompanySymbols symbol = companySymbolImdg
|
||||
.getSingleObjectByFieldValues(Map.of("companySymbol", CompanySymbol.INN.getKey(),
|
||||
"companySymbolValue", innStr));
|
||||
Company company = null;
|
||||
if (symbol != null) {
|
||||
company = companyImdg.getSingleObjectByID(symbol.getCompanyId());
|
||||
}
|
||||
if (company == null) {
|
||||
// todo изменения классов. if (sdf09.getInn() == null) {
|
||||
// return of(BalanceError.CompanyNotFound, "empty inn");
|
||||
// }
|
||||
// String innStr = sdf09.getInn().setScale(0, RoundingMode.DOWN).toString();
|
||||
// CompanySymbols symbol = companySymbolImdg
|
||||
// .getSingleObjectByFieldValues(Map.of("companySymbol", CompanySymbol.INN.getKey(),
|
||||
// "companySymbolValue", innStr));
|
||||
// Company company = null;
|
||||
// if (symbol != null) {
|
||||
// company = companyImdg.getSingleObjectByID(symbol.getCompanyId());
|
||||
// }
|
||||
// if (company == null) {
|
||||
return of(BalanceError.CompanyNotFound);
|
||||
}
|
||||
context.storeObject(ValidationStored.Company, company);
|
||||
return empty();
|
||||
// }
|
||||
// context.storeObject(ValidationStored.Company, company);
|
||||
// return empty();
|
||||
}
|
||||
},
|
||||
AccountPresent() {
|
||||
@Override
|
||||
public Optional<EnumMessage> validate(ImdgValidationContext<SDf09> context) {
|
||||
SDf09 sdf09 = context.getValidatedObject();
|
||||
if (sdf09.getAccount() == null) {
|
||||
// if (sdf09.getAccount() == null) {
|
||||
return of(BalanceError.AccountNotPresent);
|
||||
}
|
||||
Imdg<Account> accountImdg = context.obtainMap(IMDGDistributedNames.Map_Account, Account.class);
|
||||
Account account = accountImdg.getSingleObjectByFieldValues(Map.of("account", sdf09.getAccount(),
|
||||
"accountType", AccountType.Clrn.getKey()));
|
||||
if (account == null) {
|
||||
return of(BalanceError.AccountNotPresent);
|
||||
}
|
||||
context.storeObject(ValidationStored.Account, account);
|
||||
return empty();
|
||||
// }
|
||||
// Imdg<Account> accountImdg = context.obtainMap(IMDGDistributedNames.Map_Account, Account.class);
|
||||
// Account account = accountImdg.getSingleObjectByFieldValues(Map.of("account", sdf09.getAccount(),
|
||||
// "accountType", AccountType.Clrn.getKey()));
|
||||
// if (account == null) {
|
||||
// return of(BalanceError.AccountNotPresent);
|
||||
// }
|
||||
// context.storeObject(ValidationStored.Account, account);
|
||||
// return empty();
|
||||
}
|
||||
},
|
||||
Market() {
|
||||
@Override
|
||||
public Optional<EnumMessage> validate(ImdgValidationContext<SDf09> context) {
|
||||
SDf09 sdf09 = context.getValidatedObject();
|
||||
if (!"U".equals(sdf09.getMarket())) {
|
||||
return of(BalanceError.WrongMarket);
|
||||
}
|
||||
// if (!"U".equals(sdf09.getMarket())) {
|
||||
// return of(BalanceError.WrongMarket);
|
||||
// }
|
||||
return empty();
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ import static ru.spcex.clearing.balance.utils.MatcherFactory.usingIgnoringFields
|
|||
AccountBalanceService.class,
|
||||
Sdf01Executor.class,
|
||||
Sdf08Service.class,
|
||||
Sdf09Executor.class,
|
||||
// Sdf09Executor.class,
|
||||
Sdf16Executor.class,
|
||||
StatementService.class,
|
||||
LoggingService.class,
|
||||
|
|
|
|||
|
|
@ -203,7 +203,7 @@ class Sdf01ExecutorTest extends AbstractServiceTest {
|
|||
sDf02.setSumengage(sdf01.getSumengage());
|
||||
sDf02.setSumunblock(sdf01.getSumunblock());
|
||||
sDf02.setFile_type(sdf01.getFile_type());
|
||||
sDf02.setInSDf01Id(sdf01.getId());
|
||||
sDf02.setInSDfId(sdf01.getId());
|
||||
sDf02.setGenerationId(generationIdForGroup);
|
||||
sDf02.setGenerationTime(Instant.now());
|
||||
sDf02.setResult("OK!");
|
||||
|
|
@ -223,7 +223,6 @@ class Sdf01ExecutorTest extends AbstractServiceTest {
|
|||
statement.setInOutDirection(InOutDirection.in.getKey());
|
||||
statement.setSettlementDate(LocalDate.parse(sdf01.getDat(), datFormatter));
|
||||
statement.setAmount(BigDecimalUtil.parse(sdf01.getRemainder()));
|
||||
statement.setCashMovementCurrencyCode(cashMovementCurrencyCode);
|
||||
statement.setOperationStatus(OperationStatus.Pending.getKey());
|
||||
statement.setInSDfId(sdf01.getId());
|
||||
statement.setInOutSDfType(InOutSDfType.type1.getKey());
|
||||
|
|
@ -245,7 +244,7 @@ class Sdf01ExecutorTest extends AbstractServiceTest {
|
|||
sDf02.setSumengage(sdf01.getSumengage());
|
||||
sDf02.setSumunblock(sdf01.getSumunblock());
|
||||
sDf02.setFile_type(sdf01.getFile_type());
|
||||
sDf02.setInSDf01Id(sdf01.getId());
|
||||
sDf02.setInSDfId(sdf01.getId());
|
||||
String errorId = error.getSubject().getId().toString();
|
||||
sDf02.setResult(errorId.substring(errorId.length() - 3));
|
||||
sDf02.setGenerationId(generationIdForGroup);
|
||||
|
|
|
|||
|
|
@ -1,243 +1,243 @@
|
|||
package ru.spcex.clearing.balance.service;
|
||||
|
||||
import org.apache.kafka.clients.producer.MockProducer;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.mock.mockito.SpyBean;
|
||||
import ru.clearing.classes.statics.data.account.Account;
|
||||
import ru.clearing.classes.statics.data.account.AccountBalance;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf09;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf10;
|
||||
import ru.clearing.classes.statics.data.statement.Statement;
|
||||
import ru.spcex.clearing.balance.errors.BalanceError;
|
||||
import ru.spcex.clearing.balance.utils.MatcherFactory;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.sdf01.AccountSdfRequestPart;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.balance.StatementRequest;
|
||||
import ru.spcex.platform.enumeration.*;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
|
||||
import static ru.spcex.clearing.balance.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
||||
|
||||
class Sdf09ExecutorTest extends AbstractServiceTest {
|
||||
private static final MatcherFactory.Matcher<SDf10> SDF_10_MATCHER = usingIgnoringFieldsComparator("created", "comment", "outSDfId", "generationTime", "generationId", "id");
|
||||
private final Long ID = 2L;
|
||||
private final String acc = "213456789";
|
||||
@Autowired
|
||||
Sdf09Executor sdf09Executor;
|
||||
private SDf09 sdf09;
|
||||
private StatementRequest statementRequest;
|
||||
@SpyBean
|
||||
private MockProducer<String, Object> producer;
|
||||
|
||||
@PostConstruct
|
||||
void init() {
|
||||
super.init();
|
||||
sdf09 = getTestSdf09();
|
||||
statementRequest = new StatementRequest();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link Sdf09Executor#execute(Collection collection, StatementRequest statementRequest)}<br>
|
||||
* Тест проверяет генерацию сущностей {@link Result}, {@link Statement}, {@link SDf10}<br>
|
||||
* Входные параметры:<br>
|
||||
* accountId - {@link StatementRequest}: new StatementRequest()<br>
|
||||
* addresseeId - {@link Collection<SDf09>}<br>
|
||||
* addresseeId - {@link SDf09}<br>
|
||||
* {@link SDf09#market} - "U"<br>
|
||||
* {@link SDf09#account} - "123456789"<br>
|
||||
* {@link SDf09#inn} - 987654321<br>
|
||||
* {@link SDf09#sum} - 1000<br>
|
||||
*/
|
||||
@Test
|
||||
void execute() {
|
||||
//check create statement, SDf10 and AccountBalance
|
||||
Company company = getTestCompany();
|
||||
companyMap.put(addresseeIdNew, company);
|
||||
|
||||
CompanySymbols companySymbols = getTestCompanySymbols();
|
||||
companySymbolsMap.put(addresseeIdNew, companySymbols);
|
||||
|
||||
Account account = getTestAccount(ID, acc);
|
||||
accountMap.put(accountIdNew, account);
|
||||
|
||||
Result predictableResult = new Result();
|
||||
predictableResult.setGenerationId(ID);
|
||||
Statement predictableStatement = getTestStatement(currentId.getAndIncrement(), company, account, sdf09);
|
||||
predictableStatement.setOperationStatus(OperationStatus.Executed.getKey());
|
||||
SDf10 predictableSdf10 = getTestSdf10(currentId.getAndIncrement(), sdf09, ID);
|
||||
predictableStatement.setOutSDfId(predictableSdf10.getId());
|
||||
AccountResult predictableNewResult = getTestAccountResult(currentId.getAndIncrement(), account, company);
|
||||
|
||||
Result result = sdf09Executor.execute(Collections.singletonList(sdf09), statementRequest);
|
||||
Statement resultStatement = statementImdg.getSingleObjectByFieldValues(Map.of("account", acc));
|
||||
SDf10 resultSdf10 = sdf10Imdg.getSingleObjectByFieldValues(Map.of("account", acc));
|
||||
AccountBalance resultAccountBalance = accountBalanceImdg.getSingleObjectByFieldValues(Map.of("account", acc));
|
||||
|
||||
RESULT_MATCHER.assertMatch(result, predictableResult);
|
||||
STATEMENT_MATCHER.assertMatch(resultStatement, predictableStatement);
|
||||
SDF_10_MATCHER.assertMatch(resultSdf10, predictableSdf10);
|
||||
ACCOUNT_BALANCE_MATCHER.assertMatch(resultAccountBalance, predictableNewResult.getAccount());
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link Sdf09Executor#execute(Collection collection, StatementRequest statementRequest)}<br>
|
||||
* Тест проверяет валидацию<br>
|
||||
* Входные параметры:<br>
|
||||
* accountId - {@link StatementRequest}: new StatementRequest()<br>
|
||||
* addresseeId - {@link Collection<SDf09>}<br>
|
||||
* addresseeId - {@link SDf09}<br>
|
||||
* {@link SDf09#market} - "U"<br>
|
||||
* {@link SDf09#account} - "123456789"<br>
|
||||
* {@link SDf09#inn} - 987654321<br>
|
||||
* {@link SDf09#sum} - 1000<br>
|
||||
*/
|
||||
@Test
|
||||
void validatedExecute() {
|
||||
//CompanyNotFound
|
||||
companyMap.delete(addresseeIdNew);
|
||||
checkError(new EnumMessage(BalanceError.CompanyNotFound));
|
||||
|
||||
Company company = getTestCompany();
|
||||
companyMap.put(addresseeIdNew, company);
|
||||
companySymbolsMap.delete(addresseeIdNew);
|
||||
checkError(new EnumMessage(BalanceError.CompanyNotFound));
|
||||
|
||||
CompanySymbols companySymbols = getTestCompanySymbols();
|
||||
companySymbolsMap.put(addresseeIdNew, companySymbols);
|
||||
sdf09.setInn(null);
|
||||
checkError(new EnumMessage(BalanceError.CompanyNotFound));
|
||||
|
||||
//AccountNotPresent
|
||||
sdf09.setInn(inn);
|
||||
accountMap.delete(accountIdNew);
|
||||
checkErrorAccountNotPresent(company);
|
||||
|
||||
//AccountNotPresent
|
||||
Account account = new Account();
|
||||
account.setAccount(null);
|
||||
account.setAccountType(AccountType.Clrn.getKey());
|
||||
account.setStatus(Status.Active.getKey());
|
||||
accountMap.put(accountIdNew, account);
|
||||
checkErrorAccountNotPresent(company);
|
||||
|
||||
//AccountNotPresent
|
||||
account = getTestAccount(ID, acc);
|
||||
accountMap.put(accountIdNew, account);
|
||||
sdf09.setAccount(null);
|
||||
checkErrorAccountNotPresent(company);
|
||||
|
||||
//WrongMarket
|
||||
sdf09.setAccount(acc);
|
||||
sdf09.setMarket(null);
|
||||
checkError(new EnumMessage(BalanceError.WrongMarket));
|
||||
|
||||
//BalanceNotEnough
|
||||
sdf09.setMarket("U");
|
||||
sdf09.setSum(null);
|
||||
checkError(new EnumMessage(BalanceError.BalanceNotEnough));
|
||||
|
||||
//BalanceNotEnough
|
||||
sdf09.setSum(new BigDecimal(-1000));
|
||||
AccountBalance balance = accountBalanceImdg.getSingleObjectByFieldValues(Map.of("account", sdf09.getAccount(),
|
||||
"accountType", AccountType.Clrn.getKey()));
|
||||
if (balance != null) accountBalanceImdg.delete(balance);
|
||||
else balance = getTestAccountBalance(ID, account, company);
|
||||
checkError(new EnumMessage(BalanceError.BalanceNotEnough));
|
||||
|
||||
//BalanceNotEnough
|
||||
balance.setFreeBalanceAmount(new BigDecimal(999));
|
||||
accountBalanceImdg.insert(balance);
|
||||
checkError(new EnumMessage(BalanceError.BalanceNotEnough));
|
||||
|
||||
balance.setFreeBalanceAmount(amountNew);
|
||||
accountBalanceImdg.insert(balance);
|
||||
}
|
||||
|
||||
private void checkError(EnumMessage enumMessage) {
|
||||
SDf10 predictableSdf10 = getTestErrorSdf10(sdf09, enumMessage, ID);
|
||||
Result result = sdf09Executor.execute(Collections.singletonList(sdf09), statementRequest);
|
||||
Collection<SDf10> resultsSdf10 = sdf10Imdg.getCollectionObjectsByFieldValues(Map.of("account", acc));
|
||||
SDf10 resultSdf10 = resultsSdf10.stream().max((entry1, entry2) -> entry1.getId() > entry2.getId() ? 1 : -1).get();
|
||||
SDF_10_MATCHER.assertMatch(resultSdf10, predictableSdf10);
|
||||
}
|
||||
|
||||
protected Statement getTestStatement(Long id, Company company, Account account, SDf09 sdf09) {
|
||||
Statement statement = new Statement();
|
||||
statement.setId(id);
|
||||
statement.setAddresseeId(company.getId());
|
||||
statement.setSenderId(Sender.Prc.getId());
|
||||
statement.setCreated(Instant.now());
|
||||
statement.setClearingDate(LocalDate.now());
|
||||
statement.setStatementType(StatementType.incr.getKey());
|
||||
statement.setAccountId(account.getId());
|
||||
statement.setAccount(sdf09.getAccount());
|
||||
statement.setInOutDirection(InOutDirection.in.getKey());
|
||||
statement.setAmount(sdf09.getSum());
|
||||
statement.setCashMovementCurrencyCode(CurrencyCode.RUB.getKey());
|
||||
statement.setOperationStatus(OperationStatus.Pending.getKey());
|
||||
statement.setInSDfId(sdf09.getId());
|
||||
statement.setInOutSDfType(InOutSDfType.type9.getKey());
|
||||
statementImdg.insert(statement);
|
||||
return statement;
|
||||
}
|
||||
|
||||
private SDf10 getTestSdf10(Long id, SDf09 sdf09, Long generationIdForGroup) {
|
||||
SDf10 sDf10 = new SDf10();
|
||||
sDf10.setId(id);
|
||||
sDf10.setAccount(sdf09.getAccount());
|
||||
sDf10.setSum(sdf09.getSum());
|
||||
sDf10.setMarket(sdf09.getMarket());
|
||||
sDf10.setType(sdf09.getType());
|
||||
sDf10.setNumber(sdf09.getNumber());
|
||||
sDf10.setInn(sdf09.getInn());
|
||||
sDf10.setResult("OK");
|
||||
sDf10.setGenerationId(generationIdForGroup);
|
||||
sDf10.setGenerationTime(Instant.now());
|
||||
sDf10.setInSDf09Id(sdf09.getId());
|
||||
return sDf10;
|
||||
}
|
||||
|
||||
private SDf09 getTestSdf09() {
|
||||
SDf09 sdf09 = new SDf09();
|
||||
sdf09.setId(ID);
|
||||
sdf09.setMarket("U");
|
||||
sdf09.setAccount(acc);
|
||||
sdf09.setInn(inn);
|
||||
sdf09.setSum(amountNew);
|
||||
return sdf09;
|
||||
}
|
||||
|
||||
private SDf10 getTestErrorSdf10(SDf09 sdf09, EnumMessage error, Long generationIdForGroup) {
|
||||
SDf10 sDf10 = getTestSdf10(ID, sdf09, generationIdForGroup);
|
||||
sDf10.setId(ID);
|
||||
String errorId = error.getSubject().getId().toString();
|
||||
sDf10.setResult(errorId.substring(errorId.length() - 3));
|
||||
return sDf10;
|
||||
}
|
||||
|
||||
private void checkErrorAccountNotPresent(Company company) {
|
||||
Result predictableResult = new Result();
|
||||
predictableResult.getAccountRequests().add(createAccountRequestPart(sdf09.getId(), sdf09.getAccount(), company.getId()));
|
||||
Result result = sdf09Executor.execute(Collections.singletonList(sdf09), statementRequest);
|
||||
RESULT_MATCHER.assertMatch(result, predictableResult);
|
||||
}
|
||||
|
||||
private AccountSdfRequestPart createAccountRequestPart(Long sdf09Id, String account, Long companyId) {
|
||||
AccountSdfRequestPart req = new AccountSdfRequestPart();
|
||||
req.setAccount(account);
|
||||
req.setCompanyId(companyId);
|
||||
// req.setAccountType(AccountType.Clrn.getKey());
|
||||
req.setSdfId(sdf09Id);
|
||||
return req;
|
||||
}
|
||||
}
|
||||
//package ru.spcex.clearing.balance.service;
|
||||
//
|
||||
//import org.apache.kafka.clients.producer.MockProducer;
|
||||
//import org.junit.jupiter.api.Test;
|
||||
//import org.springframework.beans.factory.annotation.Autowired;
|
||||
//import org.springframework.boot.test.mock.mockito.SpyBean;
|
||||
//import ru.clearing.classes.statics.data.account.Account;
|
||||
//import ru.clearing.classes.statics.data.account.AccountBalance;
|
||||
//import ru.clearing.classes.statics.data.company.Company;
|
||||
//import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||
//import ru.clearing.classes.statics.data.sdf.SDf09;
|
||||
//import ru.clearing.classes.statics.data.sdf.SDf10;
|
||||
//import ru.clearing.classes.statics.data.statement.Statement;
|
||||
//import ru.spcex.clearing.balance.errors.BalanceError;
|
||||
//import ru.spcex.clearing.balance.utils.MatcherFactory;
|
||||
//import ru.spcex.clearing.platform.messaging.domain.cud.account.sdf01.AccountSdfRequestPart;
|
||||
//import ru.spcex.clearing.platform.messaging.domain.cud.balance.StatementRequest;
|
||||
//import ru.spcex.platform.enumeration.*;
|
||||
//import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
//
|
||||
//import javax.annotation.PostConstruct;
|
||||
//import java.math.BigDecimal;
|
||||
//import java.time.Instant;
|
||||
//import java.time.LocalDate;
|
||||
//import java.util.Collection;
|
||||
//import java.util.Collections;
|
||||
//import java.util.Map;
|
||||
//
|
||||
//import static ru.spcex.clearing.balance.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
||||
//
|
||||
//class Sdf09ExecutorTest extends AbstractServiceTest {
|
||||
// private static final MatcherFactory.Matcher<SDf10> SDF_10_MATCHER = usingIgnoringFieldsComparator("created", "comment", "outSDfId", "generationTime", "generationId", "id");
|
||||
// private final Long ID = 2L;
|
||||
// private final String acc = "213456789";
|
||||
// @Autowired
|
||||
// Sdf09Executor sdf09Executor;
|
||||
// private SDf09 sdf09;
|
||||
// private StatementRequest statementRequest;
|
||||
// @SpyBean
|
||||
// private MockProducer<String, Object> producer;
|
||||
//
|
||||
// @PostConstruct
|
||||
// void init() {
|
||||
// super.init();
|
||||
// sdf09 = getTestSdf09();
|
||||
// statementRequest = new StatementRequest();
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * {@link Sdf09Executor#execute(Collection collection, StatementRequest statementRequest)}<br>
|
||||
// * Тест проверяет генерацию сущностей {@link Result}, {@link Statement}, {@link SDf10}<br>
|
||||
// * Входные параметры:<br>
|
||||
// * accountId - {@link StatementRequest}: new StatementRequest()<br>
|
||||
// * addresseeId - {@link Collection<SDf09>}<br>
|
||||
// * addresseeId - {@link SDf09}<br>
|
||||
// * {@link SDf09#market} - "U"<br>
|
||||
// * {@link SDf09#account} - "123456789"<br>
|
||||
// * {@link SDf09#inn} - 987654321<br>
|
||||
// * {@link SDf09#sum} - 1000<br>
|
||||
// */
|
||||
// @Test
|
||||
// void execute() {
|
||||
// //check create statement, SDf10 and AccountBalance
|
||||
// Company company = getTestCompany();
|
||||
// companyMap.put(addresseeIdNew, company);
|
||||
//
|
||||
// CompanySymbols companySymbols = getTestCompanySymbols();
|
||||
// companySymbolsMap.put(addresseeIdNew, companySymbols);
|
||||
//
|
||||
// Account account = getTestAccount(ID, acc);
|
||||
// accountMap.put(accountIdNew, account);
|
||||
//
|
||||
// Result predictableResult = new Result();
|
||||
// predictableResult.setGenerationId(ID);
|
||||
// Statement predictableStatement = getTestStatement(currentId.getAndIncrement(), company, account, sdf09);
|
||||
// predictableStatement.setOperationStatus(OperationStatus.Executed.getKey());
|
||||
// SDf10 predictableSdf10 = getTestSdf10(currentId.getAndIncrement(), sdf09, ID);
|
||||
// predictableStatement.setOutSDfId(predictableSdf10.getId());
|
||||
// AccountResult predictableNewResult = getTestAccountResult(currentId.getAndIncrement(), account, company);
|
||||
//
|
||||
// Result result = sdf09Executor.execute(Collections.singletonList(sdf09), statementRequest);
|
||||
// Statement resultStatement = statementImdg.getSingleObjectByFieldValues(Map.of("account", acc));
|
||||
// SDf10 resultSdf10 = sdf10Imdg.getSingleObjectByFieldValues(Map.of("account", acc));
|
||||
// AccountBalance resultAccountBalance = accountBalanceImdg.getSingleObjectByFieldValues(Map.of("account", acc));
|
||||
//
|
||||
// RESULT_MATCHER.assertMatch(result, predictableResult);
|
||||
// STATEMENT_MATCHER.assertMatch(resultStatement, predictableStatement);
|
||||
// SDF_10_MATCHER.assertMatch(resultSdf10, predictableSdf10);
|
||||
// ACCOUNT_BALANCE_MATCHER.assertMatch(resultAccountBalance, predictableNewResult.getAccount());
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * {@link Sdf09Executor#execute(Collection collection, StatementRequest statementRequest)}<br>
|
||||
// * Тест проверяет валидацию<br>
|
||||
// * Входные параметры:<br>
|
||||
// * accountId - {@link StatementRequest}: new StatementRequest()<br>
|
||||
// * addresseeId - {@link Collection<SDf09>}<br>
|
||||
// * addresseeId - {@link SDf09}<br>
|
||||
// * {@link SDf09#market} - "U"<br>
|
||||
// * {@link SDf09#account} - "123456789"<br>
|
||||
// * {@link SDf09#inn} - 987654321<br>
|
||||
// * {@link SDf09#sum} - 1000<br>
|
||||
// */
|
||||
// @Test
|
||||
// void validatedExecute() {
|
||||
// //CompanyNotFound
|
||||
// companyMap.delete(addresseeIdNew);
|
||||
// checkError(new EnumMessage(BalanceError.CompanyNotFound));
|
||||
//
|
||||
// Company company = getTestCompany();
|
||||
// companyMap.put(addresseeIdNew, company);
|
||||
// companySymbolsMap.delete(addresseeIdNew);
|
||||
// checkError(new EnumMessage(BalanceError.CompanyNotFound));
|
||||
//
|
||||
// CompanySymbols companySymbols = getTestCompanySymbols();
|
||||
// companySymbolsMap.put(addresseeIdNew, companySymbols);
|
||||
// sdf09.setInn(null);
|
||||
// checkError(new EnumMessage(BalanceError.CompanyNotFound));
|
||||
//
|
||||
// //AccountNotPresent
|
||||
// sdf09.setInn(inn);
|
||||
// accountMap.delete(accountIdNew);
|
||||
// checkErrorAccountNotPresent(company);
|
||||
//
|
||||
// //AccountNotPresent
|
||||
// Account account = new Account();
|
||||
// account.setAccount(null);
|
||||
// account.setAccountType(AccountType.Clrn.getKey());
|
||||
// account.setStatus(Status.Active.getKey());
|
||||
// accountMap.put(accountIdNew, account);
|
||||
// checkErrorAccountNotPresent(company);
|
||||
//
|
||||
// //AccountNotPresent
|
||||
// account = getTestAccount(ID, acc);
|
||||
// accountMap.put(accountIdNew, account);
|
||||
// sdf09.setAccount(null);
|
||||
// checkErrorAccountNotPresent(company);
|
||||
//
|
||||
// //WrongMarket
|
||||
// sdf09.setAccount(acc);
|
||||
// sdf09.setMarket(null);
|
||||
// checkError(new EnumMessage(BalanceError.WrongMarket));
|
||||
//
|
||||
// //BalanceNotEnough
|
||||
// sdf09.setMarket("U");
|
||||
// sdf09.setSum(null);
|
||||
// checkError(new EnumMessage(BalanceError.BalanceNotEnough));
|
||||
//
|
||||
// //BalanceNotEnough
|
||||
// sdf09.setSum(new BigDecimal(-1000));
|
||||
// AccountBalance balance = accountBalanceImdg.getSingleObjectByFieldValues(Map.of("account", sdf09.getAccount(),
|
||||
// "accountType", AccountType.Clrn.getKey()));
|
||||
// if (balance != null) accountBalanceImdg.delete(balance);
|
||||
// else balance = getTestAccountBalance(ID, account, company);
|
||||
// checkError(new EnumMessage(BalanceError.BalanceNotEnough));
|
||||
//
|
||||
// //BalanceNotEnough
|
||||
// balance.setFreeBalanceAmount(new BigDecimal(999));
|
||||
// accountBalanceImdg.insert(balance);
|
||||
// checkError(new EnumMessage(BalanceError.BalanceNotEnough));
|
||||
//
|
||||
// balance.setFreeBalanceAmount(amountNew);
|
||||
// accountBalanceImdg.insert(balance);
|
||||
// }
|
||||
//
|
||||
// private void checkError(EnumMessage enumMessage) {
|
||||
// SDf10 predictableSdf10 = getTestErrorSdf10(sdf09, enumMessage, ID);
|
||||
// Result result = sdf09Executor.execute(Collections.singletonList(sdf09), statementRequest);
|
||||
// Collection<SDf10> resultsSdf10 = sdf10Imdg.getCollectionObjectsByFieldValues(Map.of("account", acc));
|
||||
// SDf10 resultSdf10 = resultsSdf10.stream().max((entry1, entry2) -> entry1.getId() > entry2.getId() ? 1 : -1).get();
|
||||
// SDF_10_MATCHER.assertMatch(resultSdf10, predictableSdf10);
|
||||
// }
|
||||
//
|
||||
// protected Statement getTestStatement(Long id, Company company, Account account, SDf09 sdf09) {
|
||||
// Statement statement = new Statement();
|
||||
// statement.setId(id);
|
||||
// statement.setAddresseeId(company.getId());
|
||||
// statement.setSenderId(Sender.Prc.getId());
|
||||
// statement.setCreated(Instant.now());
|
||||
// statement.setClearingDate(LocalDate.now());
|
||||
// statement.setStatementType(StatementType.incr.getKey());
|
||||
// statement.setAccountId(account.getId());
|
||||
// statement.setAccount(sdf09.getAccount());
|
||||
// statement.setInOutDirection(InOutDirection.in.getKey());
|
||||
// statement.setAmount(sdf09.getSum());
|
||||
// statement.setCashMovementCurrencyCode(CurrencyCode.RUB.getKey());
|
||||
// statement.setOperationStatus(OperationStatus.Pending.getKey());
|
||||
// statement.setInSDfId(sdf09.getId());
|
||||
// statement.setInOutSDfType(InOutSDfType.type9.getKey());
|
||||
// statementImdg.insert(statement);
|
||||
// return statement;
|
||||
// }
|
||||
//
|
||||
// private SDf10 getTestSdf10(Long id, SDf09 sdf09, Long generationIdForGroup) {
|
||||
// SDf10 sDf10 = new SDf10();
|
||||
// sDf10.setId(id);
|
||||
// sDf10.setAccount(sdf09.getAccount());
|
||||
// sDf10.setSum(sdf09.getSum());
|
||||
// sDf10.setMarket(sdf09.getMarket());
|
||||
// sDf10.setType(sdf09.getType());
|
||||
// sDf10.setNumber(sdf09.getNumber());
|
||||
// sDf10.setInn(sdf09.getInn());
|
||||
// sDf10.setResult("OK");
|
||||
// sDf10.setGenerationId(generationIdForGroup);
|
||||
// sDf10.setGenerationTime(Instant.now());
|
||||
// sDf10.setInSDf09Id(sdf09.getId());
|
||||
// return sDf10;
|
||||
// }
|
||||
//
|
||||
// private SDf09 getTestSdf09() {
|
||||
// SDf09 sdf09 = new SDf09();
|
||||
// sdf09.setId(ID);
|
||||
// sdf09.setMarket("U");
|
||||
// sdf09.setAccount(acc);
|
||||
// sdf09.setInn(inn);
|
||||
// sdf09.setSum(amountNew);
|
||||
// return sdf09;
|
||||
// }
|
||||
//
|
||||
// private SDf10 getTestErrorSdf10(SDf09 sdf09, EnumMessage error, Long generationIdForGroup) {
|
||||
// SDf10 sDf10 = getTestSdf10(ID, sdf09, generationIdForGroup);
|
||||
// sDf10.setId(ID);
|
||||
// String errorId = error.getSubject().getId().toString();
|
||||
// sDf10.setResult(errorId.substring(errorId.length() - 3));
|
||||
// return sDf10;
|
||||
// }
|
||||
//
|
||||
// private void checkErrorAccountNotPresent(Company company) {
|
||||
// Result predictableResult = new Result();
|
||||
// predictableResult.getAccountRequests().add(createAccountRequestPart(sdf09.getId(), sdf09.getAccount(), company.getId()));
|
||||
// Result result = sdf09Executor.execute(Collections.singletonList(sdf09), statementRequest);
|
||||
// RESULT_MATCHER.assertMatch(result, predictableResult);
|
||||
// }
|
||||
//
|
||||
// private AccountSdfRequestPart createAccountRequestPart(Long sdf09Id, String account, Long companyId) {
|
||||
// AccountSdfRequestPart req = new AccountSdfRequestPart();
|
||||
// req.setAccount(account);
|
||||
// req.setCompanyId(companyId);
|
||||
//// req.setAccountType(AccountType.Clrn.getKey());
|
||||
// req.setSdfId(sdf09Id);
|
||||
// return req;
|
||||
// }
|
||||
//}
|
||||
|
|
@ -211,7 +211,6 @@ class Sdf16ExecutorTest extends AbstractServiceTest {
|
|||
statement.setAccount(sdf16.getAccount());
|
||||
statement.setInOutDirection(InOutDirection.in.getKey());
|
||||
statement.setAmount(sdf16.getSum());
|
||||
statement.setCashMovementCurrencyCode(CurrencyCode.RUB.getKey());
|
||||
statement.setOperationStatus(OperationStatus.Pending.getKey());
|
||||
statement.setInSDfId(sdf16.getId());
|
||||
statement.setInOutSDfType(InOutSDfType.type16.getKey());
|
||||
|
|
|
|||
|
|
@ -109,35 +109,35 @@ public class PaymentInstructionCreator {
|
|||
payment1.setPaymentPurpose(paymentPurpose(liabilitiesClaimsAssets.getContract()));
|
||||
|
||||
payment1.setSettlementDate(liabilitiesClaimsAssets.getSettlementDate());
|
||||
Long amount = liabilitiesClaimsAssets.getLiabilitiesQuantity() == null ? null : liabilitiesClaimsAssets.getLiabilitiesQuantity().abs().longValue();
|
||||
payment1.setCreditLegAmount(amount);
|
||||
payment1.setDebitLegAmount(amount);
|
||||
BigDecimal amount = liabilitiesClaimsAssets.getLiabilitiesQuantity() == null ? null : liabilitiesClaimsAssets.getLiabilitiesQuantity().abs();
|
||||
payment1.setCreditLeg_amount(amount);
|
||||
payment1.setDebitLeg_amount(amount);
|
||||
|
||||
payment1.setCreditLegAccountId(liabilitiesClaimsAssets.getAccountId());
|
||||
payment1.setCreditLeg_accountId(liabilitiesClaimsAssets.getAccountId());
|
||||
|
||||
payment1.setCreditCsAccount(null);
|
||||
payment1.setCredit_csAccount(null);
|
||||
|
||||
{
|
||||
Account acc1 = accountImdg.getSingleObjectByID(payment1.getCreditLegAccountId());
|
||||
Account acc1 = accountImdg.getSingleObjectByID(payment1.getCreditLeg_accountId());
|
||||
if (acc1 != null) {
|
||||
payment1.setCreditLegAccount(acc1.getAccount());
|
||||
payment1.setCreditLeg_account(acc1.getAccount());
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
Account acc1 = selectAccount(payment1.getAddresseeId(), AccountType.Tran, Status.Active, Allowed.ALLOWED);
|
||||
if (acc1 != null) {
|
||||
payment1.setDebitLegAccountId(acc1.getId());
|
||||
payment1.setDebitLegAccount(acc1.getAccount());
|
||||
payment1.setDebitLeg_accountId(acc1.getId());
|
||||
payment1.setDebitLeg_account(acc1.getAccount());
|
||||
}
|
||||
}
|
||||
|
||||
payment1.setDebitCsAccount(null);
|
||||
// payment1.setCreditLegDirection(InOutDirection.out.getKey());
|
||||
// payment1.setDebitLegDirection(InOutDirection.in.getKey());
|
||||
payment1.setDebit_csAccount(null);
|
||||
// payment1.setCreditLeg_direction(InOutDirection.out.getKey());
|
||||
// payment1.setDebitLeg_direction(InOutDirection.in.getKey());
|
||||
|
||||
payment1.setCreditLegCurrencyCode(liabilitiesClaimsAssets.getCurrency());
|
||||
payment1.setDebitLegCurrencyCode(liabilitiesClaimsAssets.getCurrency());
|
||||
payment1.setCreditLeg_currencyCode(liabilitiesClaimsAssets.getCurrency());
|
||||
payment1.setDebitLeg_currencyCode(liabilitiesClaimsAssets.getCurrency());
|
||||
|
||||
payment1.setTransactionStatus(TransactionStatus.stld.getKey());
|
||||
|
||||
|
|
@ -399,9 +399,9 @@ public class PaymentInstructionCreator {
|
|||
payment1.setPaymentPurpose("Размещение депозита " + liabilitiesClaimsAssets.getContract());
|
||||
payment1.setSettlementDate(liabilitiesClaimsAssets.getSettlementDate());
|
||||
|
||||
Long amount = liabilitiesClaimsAssets.getClaimsQuantity() == null ? null : liabilitiesClaimsAssets.getClaimsQuantity().abs().longValue();
|
||||
payment1.setCreditLegAmount(amount);
|
||||
payment1.setDebitLegAmount(amount);
|
||||
BigDecimal amount = liabilitiesClaimsAssets.getClaimsQuantity() == null ? null : liabilitiesClaimsAssets.getClaimsQuantity().abs();
|
||||
payment1.setCreditLeg_amount(amount);
|
||||
payment1.setDebitLeg_amount(amount);
|
||||
|
||||
{
|
||||
Account anotherAcc = selectAccount(payment1.getSenderId(), AccountType.Tran, Status.Active, Allowed.ALLOWED);
|
||||
|
|
@ -409,34 +409,34 @@ public class PaymentInstructionCreator {
|
|||
log.warn("Account not found: companyId = {} AND accountType={} AND accountStatus={} AND processingSign={}",
|
||||
payment1.getSenderId(), AccountType.Tran, Status.Active, Allowed.ALLOWED);
|
||||
} else {
|
||||
payment1.setCreditLegAccountId(anotherAcc.getId());
|
||||
payment1.setCreditLeg_accountId(anotherAcc.getId());
|
||||
}
|
||||
}
|
||||
|
||||
payment1.setCreditCsAccount(null);
|
||||
payment1.setCredit_csAccount(null);
|
||||
|
||||
{
|
||||
Account acc2 = accountImdg.getSingleObjectByID(payment1.getCreditLegAccountId());
|
||||
Account acc2 = accountImdg.getSingleObjectByID(payment1.getCreditLeg_accountId());
|
||||
if (acc2 != null) {
|
||||
payment1.setCreditLegAccount(acc2.getAccount());
|
||||
payment1.setCreditLeg_account(acc2.getAccount());
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
Account acc2 = accountImdg.getSingleObjectByID(liabilitiesClaimsAssets.getAccountId());
|
||||
if (acc2 != null) {
|
||||
payment1.setDebitLegAccountId(acc2.getId());
|
||||
payment1.setDebitLegAccount(acc2.getAccount());
|
||||
payment1.setDebitLeg_accountId(acc2.getId());
|
||||
payment1.setDebitLeg_account(acc2.getAccount());
|
||||
}
|
||||
}
|
||||
|
||||
payment1.setDebitCsAccount(null);
|
||||
payment1.setDebit_csAccount(null);
|
||||
|
||||
// payment2.setCreditLegDirection(InOutDirection.out.getKey());
|
||||
// payment2.setDebitLegDirection(InOutDirection.in.getKey());
|
||||
// payment2.setCreditLeg_direction(InOutDirection.out.getKey());
|
||||
// payment2.setDebitLeg_direction(InOutDirection.in.getKey());
|
||||
|
||||
payment1.setCreditLegCurrencyCode(liabilitiesClaimsAssets.getCurrency());
|
||||
payment1.setDebitLegCurrencyCode(liabilitiesClaimsAssets.getCurrency());
|
||||
payment1.setCreditLeg_currencyCode(liabilitiesClaimsAssets.getCurrency());
|
||||
payment1.setDebitLeg_currencyCode(liabilitiesClaimsAssets.getCurrency());
|
||||
|
||||
payment1.setTransactionStatus(TransactionStatus.stld.getKey());
|
||||
|
||||
|
|
@ -483,9 +483,9 @@ public class PaymentInstructionCreator {
|
|||
|
||||
payment2.setSettlementDate(liabilitiesClaimsAssets.getSettlementDate());
|
||||
|
||||
Long amount = liabilitiesClaimsAssets.getClaimsQuantity() == null ? null : liabilitiesClaimsAssets.getClaimsQuantity().abs().longValue();
|
||||
payment2.setCreditLegAmount(amount);
|
||||
payment2.setDebitLegAmount(amount);
|
||||
BigDecimal amount = liabilitiesClaimsAssets.getClaimsQuantity() == null ? null : liabilitiesClaimsAssets.getClaimsQuantity().abs();
|
||||
payment2.setCreditLeg_amount(amount);
|
||||
payment2.setDebitLeg_amount(amount);
|
||||
|
||||
{
|
||||
Long accountId = liabilitiesClaimsAssets.getAccountId();
|
||||
|
|
@ -493,28 +493,28 @@ public class PaymentInstructionCreator {
|
|||
if (acc1 == null) {
|
||||
log.warn("Account not found: {}", accountId);
|
||||
} else {
|
||||
payment2.setCreditLegAccountId(acc1.getId());
|
||||
payment2.setCreditLegAccount(acc1.getAccount());
|
||||
payment2.setCreditLeg_accountId(acc1.getId());
|
||||
payment2.setCreditLeg_account(acc1.getAccount());
|
||||
}
|
||||
}
|
||||
|
||||
payment2.setCreditCsAccount(null);
|
||||
payment2.setCredit_csAccount(null);
|
||||
|
||||
{
|
||||
Account acc1 = selectAccount(payment2.getAddresseeId(), AccountType.Corr, Status.Active, Allowed.ALLOWED);
|
||||
if (acc1 != null) {
|
||||
payment2.setDebitLegAccountId(acc1.getId());
|
||||
payment2.setDebitLegAccount(acc1.getAccount());
|
||||
payment2.setDebitLeg_accountId(acc1.getId());
|
||||
payment2.setDebitLeg_account(acc1.getAccount());
|
||||
}
|
||||
}
|
||||
|
||||
payment2.setDebitCsAccount(null);
|
||||
payment2.setDebit_csAccount(null);
|
||||
|
||||
// payment1.setCreditLegDirection(InOutDirection.out.getKey());
|
||||
// payment1.setDebitLegDirection(InOutDirection.in.getKey());
|
||||
|
||||
payment2.setCreditLegCurrencyCode(liabilitiesClaimsAssets.getCurrency());
|
||||
payment2.setDebitLegCurrencyCode(liabilitiesClaimsAssets.getCurrency());
|
||||
payment2.setCreditLeg_currencyCode(liabilitiesClaimsAssets.getCurrency());
|
||||
payment2.setDebitLeg_currencyCode(liabilitiesClaimsAssets.getCurrency());
|
||||
|
||||
payment2.setTransactionStatus(TransactionStatus.stld.getKey());
|
||||
|
||||
|
|
@ -702,7 +702,7 @@ public class PaymentInstructionCreator {
|
|||
|
||||
if (clearingCategory.contains(ClearingCategory.I) || clearingCategory.contains(ClearingCategory.V)) {
|
||||
if (isFirstLeg) {
|
||||
BigDecimal amount = safeBD(liabilitiesClaimsMoney.getLiabilitiesAmount()).subtract(bdFromLongSafe(paymentIAny.getCreditLegAmount()));
|
||||
BigDecimal amount = safeBD(liabilitiesClaimsMoney.getLiabilitiesAmount()).subtract(safeBD(paymentIAny.getCreditLeg_amount()));
|
||||
liabilitiesClaimsMoney.setLiabilitiesAmount(amount);
|
||||
modified = true;
|
||||
}
|
||||
|
|
@ -713,7 +713,7 @@ public class PaymentInstructionCreator {
|
|||
|
||||
if (clearingCategory.contains(ClearingCategory.B)) {
|
||||
if (isFirstLeg) {
|
||||
BigDecimal amount = safeBD(liabilitiesClaimsMoney.getClaimsAmount()).subtract(bdFromLongSafe(paymentIAny.getDebitLegAmount()));
|
||||
BigDecimal amount = safeBD(liabilitiesClaimsMoney.getClaimsAmount()).subtract(safeBD(paymentIAny.getDebitLeg_amount()));
|
||||
liabilitiesClaimsMoney.setClaimsAmount(amount);
|
||||
modified = true;
|
||||
}
|
||||
|
|
@ -730,8 +730,4 @@ public class PaymentInstructionCreator {
|
|||
return modified;
|
||||
}
|
||||
|
||||
private BigDecimal bdFromLongSafe(Long l) {
|
||||
if (l == null) return BigDecimal.ZERO;
|
||||
return new BigDecimal(l);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,9 +26,9 @@ public class Sdf03Builder {
|
|||
sDf03.setSeg_type("U");
|
||||
sDf03.setDoc_type("002");
|
||||
sDf03.setDocnm_ref(paymentInstruction.getId().toString());
|
||||
sDf03.setPriority("9");
|
||||
sDf03.setSbankcode(Sender.One.equalsById(paymentInstruction.getSenderId()) ? "@09999" : "@0");
|
||||
sDf03.setC_acc_deb(paymentInstruction.getCreditLegAccount());
|
||||
// sDf03.setPriority("9");
|
||||
// sDf03.setSbankcode(Sender.One.equalsById(paymentInstruction.getSenderId()) ? "@09999" : "@0");
|
||||
sDf03.setC_acc_deb(paymentInstruction.getCreditLeg_account());
|
||||
if (paymentInstruction.getSenderId().equals(Sender.One.getId())) {
|
||||
sDf03.setSbanknam1(paymentInstruction.getPayeeBankName());
|
||||
} else {
|
||||
|
|
@ -60,8 +60,8 @@ public class Sdf03Builder {
|
|||
}
|
||||
// =@00100, если ?;
|
||||
// =@00000, если ?.
|
||||
sDf03.setRbankcode(Sender.One.equalsById(paymentInstruction.getAddresseeId()) ? "@09999" : "@0");
|
||||
sDf03.setC_acc_cred(paymentInstruction.getDebitLegAccount());
|
||||
// sDf03.setRbankcode(Sender.One.equalsById(paymentInstruction.getAddresseeId()) ? "@09999" : "@0");
|
||||
sDf03.setC_acc_cred(paymentInstruction.getDebitLeg_account());
|
||||
if (paymentInstruction.getAddresseeId().equals(Sender.One.getId())) {
|
||||
sDf03.setRbanknam1(paymentInstruction.getAddresseeBankName());
|
||||
} else {
|
||||
|
|
@ -75,23 +75,23 @@ public class Sdf03Builder {
|
|||
sDf03.setPay_date(paymtDt.format(PROPERTY_DATE_FORMATTER_YY));
|
||||
}
|
||||
sDf03.setPay_val("RUR");
|
||||
sDf03.setSum_deb(paymentInstruction.getDebitLegAmount() != null ? paymentInstruction.getDebitLegAmount().toString() : null);
|
||||
sDf03.setSum_deb(paymentInstruction.getDebitLeg_amount() != null ? paymentInstruction.getDebitLeg_amount().toString() : null);
|
||||
//37 sp_code varchar(2) Код назначения платежа
|
||||
String[] splitPaymentPurpose = SpecifUtil.splitPaymentPurpose(paymentInstruction.getPaymentPurpose());
|
||||
for (int i = 0; i < splitPaymentPurpose.length; i++) {
|
||||
String specif = splitPaymentPurpose[i];
|
||||
if (i == 0) {
|
||||
sDf03.setSpecif_1(specif);
|
||||
} else if (i == 1) {
|
||||
sDf03.setSpecif_2(specif);
|
||||
} else if (i == 2) {
|
||||
sDf03.setSpecif_3(specif);
|
||||
} else if (i == 3) {
|
||||
sDf03.setSpecif_4(specif);
|
||||
} else if (i == 4) {
|
||||
sDf03.setSpecif_5(specif);
|
||||
} else if (i == 5) {
|
||||
sDf03.setSpecif_6(specif);
|
||||
// } else if (i == 1) {
|
||||
// sDf03.setSpecif_2(specif);
|
||||
// } else if (i == 2) {
|
||||
// sDf03.setSpecif_3(specif);
|
||||
// } else if (i == 3) {
|
||||
// sDf03.setSpecif_4(specif);
|
||||
// } else if (i == 4) {
|
||||
// sDf03.setSpecif_5(specif);
|
||||
// } else if (i == 5) {
|
||||
// sDf03.setSpecif_6(specif);
|
||||
}
|
||||
}
|
||||
sDf03.setGenerationTime(Instant.now());
|
||||
|
|
|
|||
|
|
@ -22,78 +22,78 @@ public class Sdf11Builder {
|
|||
|
||||
public SDf11 buildSdf11(PaymentInstruction paymentInstruction, Long generationId) {
|
||||
SDf11 sDf11 = new SDf11();
|
||||
sDf11.setSeg_type("U");
|
||||
sDf11.setDoc_type("002");
|
||||
sDf11.setDocnm_ref(paymentInstruction.getId().toString());
|
||||
sDf11.setPriority("9");
|
||||
sDf11.setSbankcode(Sender.One.equalsById(paymentInstruction.getSenderId()) ? "@09999" : "@0");
|
||||
sDf11.setC_acc_deb(paymentInstruction.getCreditLegAccount());
|
||||
if (paymentInstruction.getAddresseeId().equals(Sender.One.getId())) {
|
||||
sDf11.setSbanknam1(paymentInstruction.getAddresseeBankName());
|
||||
//(если всё значение не помещается в sbanknam1, то остаток записать в sbanknam2 и т.д. до sbanknam5).
|
||||
sDf11.setSbanknam2(sDf11.getSbanknam1().substring(35));
|
||||
sDf11.setSbanknam1(sDf11.getSbanknam1().substring(0, 35));
|
||||
if (sDf11.getSbanknam2().length() > 35) {
|
||||
sDf11.setSbanknam3(sDf11.getSbanknam2().substring(35));
|
||||
sDf11.setSbanknam2(sDf11.getSbanknam2().substring(0, 35));
|
||||
if (sDf11.getSbanknam3().length() > 35) {
|
||||
sDf11.setSbanknam4(sDf11.getSbanknam3().substring(35));
|
||||
sDf11.setSbanknam3(sDf11.getSbanknam3().substring(0, 35));
|
||||
if (sDf11.getSbanknam4().length() > 35) {
|
||||
sDf11.setSbanknam5(sDf11.getSbanknam4().substring(35));
|
||||
sDf11.setSbanknam4(sDf11.getSbanknam4().substring(0, 35));
|
||||
if (sDf11.getSbanknam5().length() > 35) {
|
||||
//warn: too large for all field
|
||||
//sDf03.setSbanknam5(sDf03.getSbanknam2().substring(0, 35));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Company company = companyImdg.getSingleObjectByID(paymentInstruction.getAddresseeId());
|
||||
if (company != null) {
|
||||
sDf11.setSbanknam1(company.getShortName());
|
||||
}
|
||||
}
|
||||
// =@00100, если ?;
|
||||
// =@00000, если ?.
|
||||
sDf11.setRbankcode(Sender.One.equalsById(paymentInstruction.getAddresseeId()) ? "@09999" : "@0");
|
||||
sDf11.setC_acc_cred(paymentInstruction.getDebitLegAccount());
|
||||
if (paymentInstruction.getAddresseeId().equals(Sender.One.getId())) {
|
||||
sDf11.setRbanknam1(paymentInstruction.getAddresseeBankName());
|
||||
} else {
|
||||
Company company = companyImdg.getSingleObjectByID(paymentInstruction.getAddresseeId());
|
||||
if (company != null) {
|
||||
sDf11.setRbanknam1(company.getShortName());
|
||||
}
|
||||
}
|
||||
LocalDate paymtDt = TimeUtil.toLocalDate(paymentInstruction.getPaymentDate());
|
||||
if (paymtDt != null) {
|
||||
sDf11.setPay_date(paymtDt.format(PROPERTY_DATE_FORMATTER_YY));
|
||||
}
|
||||
sDf11.setPay_val("RUR");
|
||||
sDf11.setSum_deb(paymentInstruction.getDebitLegAmount() != null ? paymentInstruction.getDebitLegAmount().toString() : null);
|
||||
//37 sp_code varchar(2) Код назначения платежа
|
||||
String[] splitPaymentPurpose = SpecifUtil.splitPaymentPurpose(paymentInstruction.getPaymentPurpose());
|
||||
for (int i = 0; i < splitPaymentPurpose.length; i++) {
|
||||
String specif = splitPaymentPurpose[i];
|
||||
if (i == 0) {
|
||||
sDf11.setSpecif_1(specif);
|
||||
} else if (i == 1) {
|
||||
sDf11.setSpecif_2(specif);
|
||||
} else if (i == 2) {
|
||||
sDf11.setSpecif_3(specif);
|
||||
} else if (i == 3) {
|
||||
sDf11.setSpecif_4(specif);
|
||||
} else if (i == 4) {
|
||||
sDf11.setSpecif_5(specif);
|
||||
} else if (i == 5) {
|
||||
sDf11.setSpecif_6(specif);
|
||||
}
|
||||
}
|
||||
sDf11.setGenerationTime(Instant.now());
|
||||
sDf11.setGenerationId(generationId);
|
||||
sDf11.setPaymentInstructionId(paymentInstruction.getId());
|
||||
// todo поменялись классы sDf11.setSeg_type("U");
|
||||
// sDf11.setDoc_type("002");
|
||||
// sDf11.setDocnm_ref(paymentInstruction.getId().toString());
|
||||
// sDf11.setPriority("9");
|
||||
// sDf11.setSbankcode(Sender.One.equalsById(paymentInstruction.getSenderId()) ? "@09999" : "@0");
|
||||
// sDf11.setC_acc_deb(paymentInstruction.getCreditLegAccount());
|
||||
// if (paymentInstruction.getAddresseeId().equals(Sender.One.getId())) {
|
||||
// sDf11.setSbanknam1(paymentInstruction.getAddresseeBankName());
|
||||
// //(если всё значение не помещается в sbanknam1, то остаток записать в sbanknam2 и т.д. до sbanknam5).
|
||||
// sDf11.setSbanknam2(sDf11.getSbanknam1().substring(35));
|
||||
// sDf11.setSbanknam1(sDf11.getSbanknam1().substring(0, 35));
|
||||
// if (sDf11.getSbanknam2().length() > 35) {
|
||||
// sDf11.setSbanknam3(sDf11.getSbanknam2().substring(35));
|
||||
// sDf11.setSbanknam2(sDf11.getSbanknam2().substring(0, 35));
|
||||
// if (sDf11.getSbanknam3().length() > 35) {
|
||||
// sDf11.setSbanknam4(sDf11.getSbanknam3().substring(35));
|
||||
// sDf11.setSbanknam3(sDf11.getSbanknam3().substring(0, 35));
|
||||
// if (sDf11.getSbanknam4().length() > 35) {
|
||||
// sDf11.setSbanknam5(sDf11.getSbanknam4().substring(35));
|
||||
// sDf11.setSbanknam4(sDf11.getSbanknam4().substring(0, 35));
|
||||
// if (sDf11.getSbanknam5().length() > 35) {
|
||||
// //warn: too large for all field
|
||||
// //sDf03.setSbanknam5(sDf03.getSbanknam2().substring(0, 35));
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// Company company = companyImdg.getSingleObjectByID(paymentInstruction.getAddresseeId());
|
||||
// if (company != null) {
|
||||
// sDf11.setSbanknam1(company.getShortName());
|
||||
// }
|
||||
// }
|
||||
// // =@00100, если ?;
|
||||
// // =@00000, если ?.
|
||||
// sDf11.setRbankcode(Sender.One.equalsById(paymentInstruction.getAddresseeId()) ? "@09999" : "@0");
|
||||
// sDf11.setC_acc_cred(paymentInstruction.getDebitLegAccount());
|
||||
// if (paymentInstruction.getAddresseeId().equals(Sender.One.getId())) {
|
||||
// sDf11.setRbanknam1(paymentInstruction.getAddresseeBankName());
|
||||
// } else {
|
||||
// Company company = companyImdg.getSingleObjectByID(paymentInstruction.getAddresseeId());
|
||||
// if (company != null) {
|
||||
// sDf11.setRbanknam1(company.getShortName());
|
||||
// }
|
||||
// }
|
||||
// LocalDate paymtDt = TimeUtil.toLocalDate(paymentInstruction.getPaymentDate());
|
||||
// if (paymtDt != null) {
|
||||
// sDf11.setPay_date(paymtDt.format(PROPERTY_DATE_FORMATTER_YY));
|
||||
// }
|
||||
// sDf11.setPay_val("RUR");
|
||||
// sDf11.setSum_deb(paymentInstruction.getDebitLegAmount() != null ? paymentInstruction.getDebitLegAmount().toString() : null);
|
||||
// //37 sp_code varchar(2) Код назначения платежа
|
||||
// String[] splitPaymentPurpose = SpecifUtil.splitPaymentPurpose(paymentInstruction.getPaymentPurpose());
|
||||
// for (int i = 0; i < splitPaymentPurpose.length; i++) {
|
||||
// String specif = splitPaymentPurpose[i];
|
||||
// if (i == 0) {
|
||||
// sDf11.setSpecif_1(specif);
|
||||
// } else if (i == 1) {
|
||||
// sDf11.setSpecif_2(specif);
|
||||
// } else if (i == 2) {
|
||||
// sDf11.setSpecif_3(specif);
|
||||
// } else if (i == 3) {
|
||||
// sDf11.setSpecif_4(specif);
|
||||
// } else if (i == 4) {
|
||||
// sDf11.setSpecif_5(specif);
|
||||
// } else if (i == 5) {
|
||||
// sDf11.setSpecif_6(specif);
|
||||
// }
|
||||
// }
|
||||
// sDf11.setGenerationTime(Instant.now());
|
||||
// sDf11.setGenerationId(generationId);
|
||||
// sDf11.setPaymentInstructionId(paymentInstruction.getId());
|
||||
return sDf11;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ import ru.spcex.platform.utils.enumeration.EnumMessage;
|
|||
import ru.spcex.platform.utils.enumeration.IEnumKey;
|
||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
|
@ -59,10 +60,10 @@ public class PaymentInstructionSorter {
|
|||
List<PaymentInstruction> aList = new ArrayList<>();
|
||||
List<PaymentInstruction> bList = new ArrayList<>();
|
||||
for (PaymentInstruction payment : payments) {
|
||||
Account creditLegAcc = accImdg.getSingleObjectByID(payment.getCreditLegAccountId());
|
||||
Account debitLegAcc = accImdg.getSingleObjectByID(payment.getDebitLegAccountId());
|
||||
Account creditLegAcc = accImdg.getSingleObjectByID(payment.getCreditLeg_accountId());
|
||||
Account debitLegAcc = accImdg.getSingleObjectByID(payment.getDebitLeg_accountId());
|
||||
if (creditLegAcc == null || debitLegAcc == null) {
|
||||
String message = String.format("cannot find account CreditLegAccountId/DebitLegAccountId %d/%d", payment.getCreditLegAccountId(), payment.getDebitLegAccountId());
|
||||
String message = String.format("cannot find account CreditLegAccountId/DebitLegAccountId %d/%d", payment.getCreditLeg_accountId(), payment.getDebitLeg_accountId());
|
||||
log.error("generationId={}, senderId={} payment.id={} {}",
|
||||
generationId, senderId, payment.getId(), message);
|
||||
continue;
|
||||
|
|
@ -80,18 +81,18 @@ public class PaymentInstructionSorter {
|
|||
//continue;
|
||||
}
|
||||
}
|
||||
Function<List<PaymentInstruction>, Long> creditAmountSum = paymentInstructions -> paymentInstructions
|
||||
Function<List<PaymentInstruction>, BigDecimal> creditAmountSum = paymentInstructions -> paymentInstructions
|
||||
.stream()
|
||||
.map(PaymentInstruction::getCreditLegAmount)
|
||||
.reduce(0L, Long::sum);
|
||||
Function<List<PaymentInstruction>, Long> debitAmountSum = paymentInstructions -> paymentInstructions
|
||||
.map(PaymentInstruction::getCreditLeg_amount)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
Function<List<PaymentInstruction>, BigDecimal> debitAmountSum = paymentInstructions -> paymentInstructions
|
||||
.stream()
|
||||
.map(PaymentInstruction::getDebitLegAmount)
|
||||
.reduce(0L, Long::sum);
|
||||
Long fromClearingToBankCreditAmount = creditAmountSum.apply(aList);
|
||||
Long fromBankToClearingCreditAmount = creditAmountSum.apply(bList);
|
||||
Long fromClearingToBankDebitAmount = debitAmountSum.apply(aList);
|
||||
Long fromBankToClearingDebitAmount = debitAmountSum.apply(bList);
|
||||
.map(PaymentInstruction::getDebitLeg_amount)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
BigDecimal fromClearingToBankCreditAmount = creditAmountSum.apply(aList);
|
||||
BigDecimal fromBankToClearingCreditAmount = creditAmountSum.apply(bList);
|
||||
BigDecimal fromClearingToBankDebitAmount = debitAmountSum.apply(aList);
|
||||
BigDecimal fromBankToClearingDebitAmount = debitAmountSum.apply(bList);
|
||||
if (!fromClearingToBankCreditAmount.equals(fromBankToClearingCreditAmount)) {
|
||||
error = new EnumMessage(ClearingError.CompanyCreditCheck, senderId.toString());
|
||||
} else if (!fromClearingToBankDebitAmount.equals(fromBankToClearingDebitAmount)) {
|
||||
|
|
|
|||
|
|
@ -17,15 +17,15 @@ public class S_DF03_Converter extends DFConverter<SDf03> {
|
|||
values.add(typeMatch(entity.getDoc_type()));
|
||||
values.add(typeMatch(entity.getDocnm_ref()));
|
||||
values.add(typeMatch(entity.getDocnmprev()));
|
||||
values.add(typeMatch(entity.getPriority()));
|
||||
values.add(typeMatch(entity.getSbankcode()));
|
||||
// values.add(typeMatch(entity.getPriority()));
|
||||
// values.add(typeMatch(entity.getSbankcode()));
|
||||
values.add(typeMatch(entity.getC_acc_deb()));
|
||||
values.add(typeMatch(entity.getSbanknam1()));
|
||||
values.add(typeMatch(entity.getSbanknam2()));
|
||||
values.add(typeMatch(entity.getSbanknam3()));
|
||||
values.add(typeMatch(entity.getSbanknam4()));
|
||||
values.add(typeMatch(entity.getSbanknam5()));
|
||||
values.add(typeMatch(entity.getRbankcode()));
|
||||
// values.add(typeMatch(entity.getRbankcode()));
|
||||
values.add(typeMatch(entity.getC_acc_cred()));
|
||||
values.add(typeMatch(entity.getRbanknam1()));
|
||||
values.add(typeMatch(entity.getRbanknam2()));
|
||||
|
|
@ -33,31 +33,31 @@ public class S_DF03_Converter extends DFConverter<SDf03> {
|
|||
values.add(typeMatch(entity.getRbanknam4()));
|
||||
values.add(typeMatch(entity.getRbanknam5()));
|
||||
values.add(typeMatch(entity.getPay_date()));
|
||||
values.add(typeMatch(entity.getExt_date()));
|
||||
// values.add(typeMatch(entity.getExt_date()));
|
||||
values.add(typeMatch(entity.getPay_val()));
|
||||
values.add(typeMatch(entity.getSum_deb()));
|
||||
values.add(typeMatch(entity.getSclientn1()));
|
||||
values.add(typeMatch(entity.getSclientn2()));
|
||||
values.add(typeMatch(entity.getSclientn3()));
|
||||
values.add(typeMatch(entity.getSclientn4()));
|
||||
values.add(typeMatch(entity.getSc_code()));
|
||||
values.add(typeMatch(entity.getAcc_deb()));
|
||||
values.add(typeMatch(entity.getRclientn1()));
|
||||
values.add(typeMatch(entity.getRclientn2()));
|
||||
values.add(typeMatch(entity.getRclientn3()));
|
||||
values.add(typeMatch(entity.getRclientn4()));
|
||||
values.add(typeMatch(entity.getAcc_kr_1()));
|
||||
values.add(typeMatch(entity.getAcc_kr_2()));
|
||||
values.add(typeMatch(entity.getSp_code()));
|
||||
// values.add(typeMatch(entity.getSclientn1()));
|
||||
// values.add(typeMatch(entity.getSclientn2()));
|
||||
// values.add(typeMatch(entity.getSclientn3()));
|
||||
// values.add(typeMatch(entity.getSclientn4()));
|
||||
// values.add(typeMatch(entity.getSc_code()));
|
||||
// values.add(typeMatch(entity.getAcc_deb()));
|
||||
// values.add(typeMatch(entity.getRclientn1()));
|
||||
// values.add(typeMatch(entity.getRclientn2()));
|
||||
// values.add(typeMatch(entity.getRclientn3()));
|
||||
// values.add(typeMatch(entity.getRclientn4()));
|
||||
// values.add(typeMatch(entity.getAcc_kr_1()));
|
||||
// values.add(typeMatch(entity.getAcc_kr_2()));
|
||||
// values.add(typeMatch(entity.getSp_code()));
|
||||
values.add(typeMatch(entity.getSpecif_1()));
|
||||
values.add(typeMatch(entity.getSpecif_2()));
|
||||
values.add(typeMatch(entity.getSpecif_3()));
|
||||
values.add(typeMatch(entity.getSpecif_4()));
|
||||
values.add(typeMatch(entity.getSpecif_5()));
|
||||
values.add(typeMatch(entity.getSpecif_6()));
|
||||
values.add(typeMatch(entity.getSend_type()));
|
||||
values.add(typeMatch(entity.getServdate()));
|
||||
values.add(typeMatch(entity.getDoc_result()));
|
||||
// values.add(typeMatch(entity.getSpecif_2()));
|
||||
// values.add(typeMatch(entity.getSpecif_3()));
|
||||
// values.add(typeMatch(entity.getSpecif_4()));
|
||||
// values.add(typeMatch(entity.getSpecif_5()));
|
||||
// values.add(typeMatch(entity.getSpecif_6()));
|
||||
// values.add(typeMatch(entity.getSend_type()));
|
||||
// values.add(typeMatch(entity.getServdate()));
|
||||
// values.add(typeMatch(entity.getDoc_result()));
|
||||
values.add(typeMatch(entity.getImp_result()));
|
||||
return values.toArray(Object[]::new);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ public class S_DF08_Converter extends DFConverter<SDf08> {
|
|||
@Override
|
||||
public Object[] toObjectArray(SDf08 entity) {
|
||||
List<Object> values = new LinkedList<>();
|
||||
values.add(convertStrToLong(entity.getNumber()));
|
||||
values.add(typeMatch(convertStrToLong(entity.getDatetime()))); // UNIX TIME
|
||||
// values.add(convertStrToLong(entity.getNumber()));
|
||||
// values.add(typeMatch(convertStrToLong(entity.getDatetime()))); // UNIX TIME
|
||||
return values.toArray(Object[]::new);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,13 +13,13 @@ public class S_DF10_Converter extends DFConverter<SDf10> {
|
|||
@Override
|
||||
public Object[] toObjectArray(SDf10 entity) {
|
||||
List<Object> values = new LinkedList<>();
|
||||
values.add(typeMatch(entity.getAccount()));
|
||||
values.add(typeMatch(entity.getSum()));
|
||||
values.add(typeMatch(entity.getMarket()));
|
||||
values.add(typeMatch(entity.getType()));
|
||||
values.add(typeMatch(entity.getNumber()));
|
||||
values.add(typeMatch(entity.getInn()));
|
||||
values.add(typeMatch(entity.getResult()));
|
||||
// values.add(typeMatch(entity.getAccount()));
|
||||
// values.add(typeMatch(entity.getSum()));
|
||||
// values.add(typeMatch(entity.getMarket()));
|
||||
// values.add(typeMatch(entity.getType()));
|
||||
// values.add(typeMatch(entity.getNumber()));
|
||||
// values.add(typeMatch(entity.getInn()));
|
||||
// values.add(typeMatch(entity.getResult()));
|
||||
return values.toArray(Object[]::new);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,51 +13,51 @@ public class S_DF11_Converter extends DFConverter<SDf11> {
|
|||
@Override
|
||||
public Object[] toObjectArray(SDf11 entity) {
|
||||
List<Object> values = new LinkedList<>();
|
||||
values.add(typeMatch(entity.getSeg_type()));
|
||||
values.add(typeMatch(entity.getDoc_type()));
|
||||
values.add(typeMatch(entity.getDocnm_ref()));
|
||||
values.add(typeMatch(entity.getDocnmprev()));
|
||||
values.add(typeMatch(entity.getPriority()));
|
||||
values.add(typeMatch(entity.getSbankcode()));
|
||||
values.add(typeMatch(entity.getC_acc_deb()));
|
||||
values.add(typeMatch(entity.getSbanknam1()));
|
||||
values.add(typeMatch(entity.getSbanknam2()));
|
||||
values.add(typeMatch(entity.getSbanknam3()));
|
||||
values.add(typeMatch(entity.getSbanknam4()));
|
||||
values.add(typeMatch(entity.getSbanknam5()));
|
||||
values.add(typeMatch(entity.getRbankcode()));
|
||||
values.add(typeMatch(entity.getC_acc_cred()));
|
||||
values.add(typeMatch(entity.getRbanknam1()));
|
||||
values.add(typeMatch(entity.getRbanknam2()));
|
||||
values.add(typeMatch(entity.getRbanknam3()));
|
||||
values.add(typeMatch(entity.getRbanknam4()));
|
||||
values.add(typeMatch(entity.getRbanknam5()));
|
||||
values.add(typeMatch(entity.getPay_date()));
|
||||
values.add(typeMatch(entity.getExt_date()));
|
||||
values.add(typeMatch(entity.getPay_val()));
|
||||
values.add(typeMatch(entity.getSum_deb()));
|
||||
values.add(typeMatch(entity.getSclientn1()));
|
||||
values.add(typeMatch(entity.getSclientn2()));
|
||||
values.add(typeMatch(entity.getSclientn3()));
|
||||
values.add(typeMatch(entity.getSclientn4()));
|
||||
values.add(typeMatch(entity.getSc_code()));
|
||||
values.add(typeMatch(entity.getAcc_deb()));
|
||||
values.add(typeMatch(entity.getRclientn1()));
|
||||
values.add(typeMatch(entity.getRclientn2()));
|
||||
values.add(typeMatch(entity.getRclientn3()));
|
||||
values.add(typeMatch(entity.getRclientn4()));
|
||||
values.add(typeMatch(entity.getAcc_kr_1()));
|
||||
values.add(typeMatch(entity.getAcc_kr_2()));
|
||||
values.add(typeMatch(entity.getSp_code()));
|
||||
values.add(typeMatch(entity.getSpecif_1()));
|
||||
values.add(typeMatch(entity.getSpecif_2()));
|
||||
values.add(typeMatch(entity.getSpecif_3()));
|
||||
values.add(typeMatch(entity.getSpecif_4()));
|
||||
values.add(typeMatch(entity.getSpecif_5()));
|
||||
values.add(typeMatch(entity.getSpecif_6()));
|
||||
values.add(typeMatch(entity.getSend_type()));
|
||||
values.add(typeMatch(entity.getServdate()));
|
||||
values.add(typeMatch(entity.getDoc_result()));
|
||||
// values.add(typeMatch(entity.getSeg_type()));
|
||||
// values.add(typeMatch(entity.getDoc_type()));
|
||||
// values.add(typeMatch(entity.getDocnm_ref()));
|
||||
// values.add(typeMatch(entity.getDocnmprev()));
|
||||
// values.add(typeMatch(entity.getPriority()));
|
||||
// values.add(typeMatch(entity.getSbankcode()));
|
||||
// values.add(typeMatch(entity.getC_acc_deb()));
|
||||
// values.add(typeMatch(entity.getSbanknam1()));
|
||||
// values.add(typeMatch(entity.getSbanknam2()));
|
||||
// values.add(typeMatch(entity.getSbanknam3()));
|
||||
// values.add(typeMatch(entity.getSbanknam4()));
|
||||
// values.add(typeMatch(entity.getSbanknam5()));
|
||||
// values.add(typeMatch(entity.getRbankcode()));
|
||||
// values.add(typeMatch(entity.getC_acc_cred()));
|
||||
// values.add(typeMatch(entity.getRbanknam1()));
|
||||
// values.add(typeMatch(entity.getRbanknam2()));
|
||||
// values.add(typeMatch(entity.getRbanknam3()));
|
||||
// values.add(typeMatch(entity.getRbanknam4()));
|
||||
// values.add(typeMatch(entity.getRbanknam5()));
|
||||
// values.add(typeMatch(entity.getPay_date()));
|
||||
// values.add(typeMatch(entity.getExt_date()));
|
||||
// values.add(typeMatch(entity.getPay_val()));
|
||||
// values.add(typeMatch(entity.getSum_deb()));
|
||||
// values.add(typeMatch(entity.getSclientn1()));
|
||||
// values.add(typeMatch(entity.getSclientn2()));
|
||||
// values.add(typeMatch(entity.getSclientn3()));
|
||||
// values.add(typeMatch(entity.getSclientn4()));
|
||||
// values.add(typeMatch(entity.getSc_code()));
|
||||
// values.add(typeMatch(entity.getAcc_deb()));
|
||||
// values.add(typeMatch(entity.getRclientn1()));
|
||||
// values.add(typeMatch(entity.getRclientn2()));
|
||||
// values.add(typeMatch(entity.getRclientn3()));
|
||||
// values.add(typeMatch(entity.getRclientn4()));
|
||||
// values.add(typeMatch(entity.getAcc_kr_1()));
|
||||
// values.add(typeMatch(entity.getAcc_kr_2()));
|
||||
// values.add(typeMatch(entity.getSp_code()));
|
||||
// values.add(typeMatch(entity.getSpecif_1()));
|
||||
// values.add(typeMatch(entity.getSpecif_2()));
|
||||
// values.add(typeMatch(entity.getSpecif_3()));
|
||||
// values.add(typeMatch(entity.getSpecif_4()));
|
||||
// values.add(typeMatch(entity.getSpecif_5()));
|
||||
// values.add(typeMatch(entity.getSpecif_6()));
|
||||
// values.add(typeMatch(entity.getSend_type()));
|
||||
// values.add(typeMatch(entity.getServdate()));
|
||||
// values.add(typeMatch(entity.getDoc_result()));
|
||||
return values.toArray(Object[]::new);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,15 +23,15 @@ public class SDf04Table extends AbstractTable<SDf04> {
|
|||
result.setDoc_type((String) entity[1]);
|
||||
result.setDocnm_ref((String) entity[2]);
|
||||
result.setDocnmprev((String) entity[3]);
|
||||
result.setPriority((String) entity[4]);
|
||||
result.setSbankcode((String) entity[5]);
|
||||
// result.setPriority((String) entity[4]);
|
||||
// result.setSbankcode((String) entity[5]);
|
||||
result.setC_acc_deb((String) entity[6]);
|
||||
result.setSbanknam1((String) entity[7]);
|
||||
result.setSbanknam2((String) entity[8]);
|
||||
result.setSbanknam3((String) entity[9]);
|
||||
result.setSbanknam4((String) entity[10]);
|
||||
result.setSbanknam5((String) entity[11]);
|
||||
result.setRbankcode((String) entity[12]);
|
||||
// result.setRbankcode((String) entity[12]);
|
||||
result.setC_acc_cred((String) entity[13]);
|
||||
result.setRbanknam1((String) entity[14]);
|
||||
result.setRbanknam2((String) entity[15]);
|
||||
|
|
@ -39,33 +39,33 @@ public class SDf04Table extends AbstractTable<SDf04> {
|
|||
result.setRbanknam4((String) entity[17]);
|
||||
result.setRbanknam5((String) entity[18]);
|
||||
result.setPay_date((String) entity[19]);
|
||||
result.setExt_date((String) entity[20]);
|
||||
// result.setExt_date((String) entity[20]);
|
||||
result.setPay_val((String) entity[21]);
|
||||
result.setSum_deb((String) entity[22]);
|
||||
result.setSclientn1((String) entity[23]);
|
||||
result.setSclientn2((String) entity[24]);
|
||||
result.setSclientn3((String) entity[25]);
|
||||
result.setSclientn4((String) entity[26]);
|
||||
result.setSc_code((String) entity[27]);
|
||||
result.setAcc_deb((String) entity[28]);
|
||||
result.setRclientn1((String) entity[29]);
|
||||
result.setRclientn2((String) entity[30]);
|
||||
result.setRclientn3((String) entity[31]);
|
||||
result.setRclientn4((String) entity[32]);
|
||||
result.setAcc_kr_1((String) entity[33]);
|
||||
result.setAcc_kr_2((String) entity[34]);
|
||||
result.setSp_code((String) entity[35]);
|
||||
// result.setSclientn1((String) entity[23]);
|
||||
// result.setSclientn2((String) entity[24]);
|
||||
// result.setSclientn3((String) entity[25]);
|
||||
// result.setSclientn4((String) entity[26]);
|
||||
// result.setSc_code((String) entity[27]);
|
||||
// result.setAcc_deb((String) entity[28]);
|
||||
// result.setRclientn1((String) entity[29]);
|
||||
// result.setRclientn2((String) entity[30]);
|
||||
// result.setRclientn3((String) entity[31]);
|
||||
// result.setRclientn4((String) entity[32]);
|
||||
// result.setAcc_kr_1((String) entity[33]);
|
||||
// result.setAcc_kr_2((String) entity[34]);
|
||||
// result.setSp_code((String) entity[35]);
|
||||
result.setSpecif_1((String) entity[36]);
|
||||
result.setSpecif_2((String) entity[37]);
|
||||
result.setSpecif_3((String) entity[38]);
|
||||
result.setSpecif_4((String) entity[39]);
|
||||
result.setSpecif_5((String) entity[40]);
|
||||
result.setSpecif_6((String) entity[41]);
|
||||
result.setSend_type((String) entity[42]);
|
||||
result.setServdate((String) entity[43]);
|
||||
result.setDoc_result((String) entity[44]);
|
||||
// result.setSpecif_2((String) entity[37]);
|
||||
// result.setSpecif_3((String) entity[38]);
|
||||
// result.setSpecif_4((String) entity[39]);
|
||||
// result.setSpecif_5((String) entity[40]);
|
||||
// result.setSpecif_6((String) entity[41]);
|
||||
// result.setSend_type((String) entity[42]);
|
||||
// result.setServdate((String) entity[43]);
|
||||
// result.setDoc_result((String) entity[44]);
|
||||
result.setImp_result((String) entity[45]);
|
||||
result.setFile_name(filename);
|
||||
result.setFileName(filename);
|
||||
result.setGenerationTime(Instant.now());
|
||||
result.setGenerationId(fileId);
|
||||
return result;
|
||||
|
|
|
|||
|
|
@ -21,13 +21,13 @@ public class SDf09Table extends AbstractTable<SDf09> {
|
|||
public SDf09 getEntity(Object[] entity) {
|
||||
SDf09 result = new SDf09();
|
||||
|
||||
result.setAccount((String) entity[0]);
|
||||
result.setSum((BigDecimal) entity[1]);
|
||||
result.setMarket((String) entity[2]);
|
||||
result.setType((String) entity[3]);
|
||||
result.setNumber((BigDecimal) entity[4]);
|
||||
result.setInn((BigDecimal) entity[5]);
|
||||
result.setFileName(filename);
|
||||
// result.setAccount((String) entity[0]);
|
||||
// result.setSum((BigDecimal) entity[1]);
|
||||
// result.setMarket((String) entity[2]);
|
||||
// result.setType((String) entity[3]);
|
||||
// result.setNumber((BigDecimal) entity[4]);
|
||||
// result.setInn((BigDecimal) entity[5]);
|
||||
// result.setFileName(filename);
|
||||
result.setGenerationTime(Instant.now());
|
||||
result.setGenerationId(fileId);
|
||||
return result;
|
||||
|
|
|
|||
|
|
@ -20,11 +20,11 @@ public class SDf12Table extends AbstractTable<SDf12> {
|
|||
@Override
|
||||
public SDf12 getEntity(Object[] entity) {
|
||||
SDf12 result = new SDf12();
|
||||
result.setAccount((String) entity[0]);
|
||||
result.setDeal((String) entity[1]);
|
||||
// result.setAccount((String) entity[0]);
|
||||
// result.setDeal((String) entity[1]);
|
||||
BigDecimal status = (BigDecimal) entity[2];
|
||||
result.setStatus(status != null ? status.longValue() : null);
|
||||
result.setFileName(filename);
|
||||
// result.setStatus(status != null ? status.longValue() : null);
|
||||
// result.setFileName(filename);
|
||||
result.setGenerationTime(Instant.now());
|
||||
result.setGenerationId(fileId);
|
||||
return result;
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ class ContractRegisterServiceTest {
|
|||
contractRegisterNewRequest.setName("name");
|
||||
contractRegisterNewRequest.setNumber("number");
|
||||
contractRegisterNewRequest.setIssueDate(LocalDate.now());
|
||||
contractRegisterNewRequest.setCompanyFullName(1651656L);
|
||||
contractRegisterNewRequest.setCompanyFullName("CMP FN");
|
||||
contractRegisterNewRequest.setCompanyId(companyId);
|
||||
contractRegisterNewRequest.setDocumentType("documentType");
|
||||
contractRegisterNewRequest.setIssuePlace("issuePlace");
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ import ru.spcex.platform.imdg.api.ImdgProvider;
|
|||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
|
|
@ -94,16 +95,16 @@ public class ReportBR_0420314_P2_Collector extends ReportWithPeriodCollector<Rep
|
|||
}
|
||||
}
|
||||
|
||||
Long paymentInstruction_creditLeg_amount = paymentInstructionsByCompany.stream()
|
||||
.map(PaymentInstruction::getCreditLegAmount)
|
||||
BigDecimal paymentInstruction_creditLeg_amount = paymentInstructionsByCompany.stream()
|
||||
.map(PaymentInstruction::getCreditLeg_amount)
|
||||
.filter(Objects::nonNull)
|
||||
.reduce(Long::sum)
|
||||
.orElse(0L);
|
||||
Long paymentInstructiont_debitLeg_amount = paymentInstructionsByCompany.stream()
|
||||
.map(PaymentInstruction::getDebitLegAmount)
|
||||
.reduce(BigDecimal::add)
|
||||
.orElse(BigDecimal.ZERO);
|
||||
BigDecimal paymentInstructiont_debitLeg_amount = paymentInstructionsByCompany.stream()
|
||||
.map(PaymentInstruction::getDebitLeg_amount)
|
||||
.filter(Objects::nonNull)
|
||||
.reduce(Long::sum)
|
||||
.orElse(0L);
|
||||
.reduce(BigDecimal::add)
|
||||
.orElse(BigDecimal.ZERO);
|
||||
|
||||
|
||||
ReportBR_0420314_P2.Info_0420314_P2 info_0420314P2 = new ReportBR_0420314_P2.Info_0420314_P2(
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ public class ContractRegisterNewRequest {
|
|||
private LocalDate issueDate;
|
||||
|
||||
@JsonProperty
|
||||
private Long companyFullName;
|
||||
private String companyFullName;
|
||||
|
||||
@JsonProperty
|
||||
private Long companyId;
|
||||
|
|
@ -140,11 +140,11 @@ public class ContractRegisterNewRequest {
|
|||
this.issueDate = issueDate;
|
||||
}
|
||||
|
||||
public Long getCompanyFullName() {
|
||||
public String getCompanyFullName() {
|
||||
return companyFullName;
|
||||
}
|
||||
|
||||
public void setCompanyFullName(Long companyFullName) {
|
||||
public void setCompanyFullName(String companyFullName) {
|
||||
this.companyFullName = companyFullName;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue