fix statement service
This commit is contained in:
parent
63e54ae918
commit
7800b5cdab
3 changed files with 47 additions and 8 deletions
|
|
@ -30,6 +30,7 @@ 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.number.BigDecimalUtil;
|
||||
import ru.spcex.platform.utils.time.TimeUtil;
|
||||
import ru.spcex.platform.utils.validation.IValidator;
|
||||
|
||||
|
|
@ -154,15 +155,15 @@ public class StatementService extends QueueConsumer implements InitializingBean
|
|||
private Statement createFlow(SDf01 sdf01, Company company, Account account) {
|
||||
Statement statement = new Statement();
|
||||
statement.setAddresseeId(company.getId());
|
||||
statement.setSenderId(2L);// fixme справочник
|
||||
statement.setSenderId(Sender.Prc.getId());
|
||||
statement.setCreated(Instant.now());
|
||||
statement.setClearingDate(TimeUtil.today());
|
||||
statement.setStatementType(StatementType.full.getKey()); //fixme справочник
|
||||
statement.setStatementType(StatementType.full.getKey());
|
||||
statement.setAccountId(account.getId());
|
||||
statement.setAccount(sdf01.getAccount()); //fixme
|
||||
statement.setInOutDirection(InOutDirection.in.getKey()); //fixme
|
||||
statement.setAccount(sdf01.getAccount());
|
||||
statement.setInOutDirection(InOutDirection.in.getKey());
|
||||
statement.setSettlementDate(TimeUtil.localDateToInstant(LocalDate.parse(sdf01.getDat(), datFormatter)));
|
||||
statement.setAmount(null); //fixme sdf01.getRemainder()
|
||||
statement.setAmount(BigDecimalUtil.parse(sdf01.getRemainder()));
|
||||
statement.setCashMovementCurrencyCode(CurrencyCode.RUB.getKey());
|
||||
statement.setStatus(OperationStatus.Pending.getKey());
|
||||
statement.setInSDfId(sdf01.getId());
|
||||
|
|
@ -174,10 +175,10 @@ public class StatementService extends QueueConsumer implements InitializingBean
|
|||
private void updateFlow(Statement statement, SDf01 sdf01, Account account) {
|
||||
statement.setUpdated(Instant.now());
|
||||
statement.setAccountId(account.getId());
|
||||
statement.setAccount(sdf01.getAccount()); //fixme
|
||||
statement.setInOutDirection(InOutDirection.in.getKey()); //fixme
|
||||
statement.setAccount(sdf01.getAccount());
|
||||
statement.setInOutDirection(InOutDirection.in.getKey());
|
||||
statement.setSettlementDate(TimeUtil.localDateToInstant(LocalDate.parse(sdf01.getDat(), datFormatter)));
|
||||
statement.setAmount(null); //fixme sdf01.getRemainder()
|
||||
statement.setAmount(BigDecimalUtil.parse(sdf01.getRemainder()));
|
||||
statement.setCashMovementCurrencyCode(CurrencyCode.RUB.getKey());
|
||||
statementImdg.update(statement);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
package ru.spcex.platform.enumeration;
|
||||
|
||||
import ru.spcex.platform.utils.enumeration.IEnumId;
|
||||
|
||||
public enum Sender implements IEnumId {
|
||||
Prc(2L);
|
||||
|
||||
private final Long key;
|
||||
|
||||
Sender(Long key) {
|
||||
this.key = key;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long getId() {
|
||||
return key;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package ru.spcex.platform.utils.number;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
public class BigDecimalUtil {
|
||||
|
||||
// private final Pattern numberPattern = Pattern.compile("\\d+([.,]\\d+)?");
|
||||
|
||||
public static BigDecimal parse(String number) {
|
||||
if (number == null) {
|
||||
return null;
|
||||
}
|
||||
number = number.trim().replace(",", ".");
|
||||
try {
|
||||
return new BigDecimal(number);
|
||||
} catch (Exception e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue