http://jira.mfd.msk:8088/browse/CLS-293 meta 4: правка кода, чтобы компилировалось.

This commit is contained in:
AKurakin 2023-05-11 14:31:24 +03:00
parent c752efceec
commit 457f051588
30 changed files with 761 additions and 763 deletions

View file

@ -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());

View file

@ -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);

View file

@ -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");

View file

@ -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");

View file

@ -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;
}

View file

@ -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)
);
};
}

View file

@ -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!");

View file

@ -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);

View file

@ -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;
// }
//}

View file

@ -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);

View file

@ -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));
}

View file

@ -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();
}
};

View file

@ -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,

View file

@ -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);

View file

@ -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;
// }
//}

View file

@ -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());

View file

@ -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);
}
}

View file

@ -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());

View file

@ -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;
}
}

View file

@ -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)) {

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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");

View file

@ -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(

View file

@ -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;
}