fix reset-balance
This commit is contained in:
parent
9146fb67b0
commit
6b036c8e91
1 changed files with 30 additions and 10 deletions
|
|
@ -92,24 +92,44 @@ public class RegistryService {
|
|||
);
|
||||
|
||||
for (Registry registry : registriesA) {
|
||||
if (RegistryUnit.F.equalsByKey(registry.getRegistryUnit())) {
|
||||
continue;
|
||||
}
|
||||
if (RegistryUnit.B.equalsByKey(registry.getRegistryUnit())) {
|
||||
registry.setBalance(BigDecimal.ZERO);
|
||||
Optional<Registry> registryFOptional = registriesA.stream().filter(rgs -> rgs.getSecurityId().equals(registry.getSecurityId()) &&
|
||||
rgs.getCompanyId().equals(registry.getCompanyId()) &&
|
||||
RegistryUnit.F.equalsByKey(rgs.getRegistryUnit())).findFirst();
|
||||
registryFOptional.ifPresent(rgsF -> rgsF.getBalance().subtract(registry.getBalance()));
|
||||
}
|
||||
if (RegistryUnit.F.equalsByKey(registry.getRegistryUnit())) {
|
||||
Optional<Registry> registryBOptional = registriesA.stream().filter(rgs ->
|
||||
rgs.getAccount() != null && rgs.getSecurityId() != null &&
|
||||
rgs.getTradingClearingRegistryId() != null && rgs.getCompanyId() != null &&
|
||||
RegistryUnit.B.equalsByKey(rgs.getRegistryUnit()) &&
|
||||
rgs.getSecurityId().equals(registry.getSecurityId()) &&
|
||||
rgs.getCompanyId().equals(registry.getCompanyId()) &&
|
||||
rgs.getAccount().equals(registry.getAccount()) &&
|
||||
rgs.getTradingClearingRegistryId().equals(registry.getTradingClearingRegistryId())).findFirst();
|
||||
Optional<Registry> registryTOptional = registriesA.stream().filter(rgs ->
|
||||
rgs.getAccount() != null && rgs.getSecurityId() != null &&
|
||||
rgs.getTradingClearingRegistryId() != null && rgs.getCompanyId() != null &&
|
||||
RegistryUnit.T.equalsByKey(rgs.getRegistryUnit()) &&
|
||||
rgs.getSecurityId().equals(registry.getSecurityId()) &&
|
||||
rgs.getCompanyId().equals(registry.getCompanyId()) &&
|
||||
rgs.getAccount().equals(registry.getAccount()) &&
|
||||
rgs.getTradingClearingRegistryId().equals(registry.getTradingClearingRegistryId())).findFirst();
|
||||
BigDecimal balanceB;
|
||||
if (registryBOptional.isPresent()) {
|
||||
balanceB = registryBOptional.get().getBalance();
|
||||
} else {
|
||||
balanceB = BigDecimal.ZERO;
|
||||
}
|
||||
registryTOptional.ifPresent(rgsT -> registry.setBalance(rgsT.getBalance().subtract(balanceB)));
|
||||
}
|
||||
if (RegistryUnit.T.equalsByKey(registry.getRegistryUnit())) {
|
||||
registry.setOpenBalance(registry.getBalance());
|
||||
}
|
||||
|
||||
registry.setCloseBalance(BigDecimal.ZERO);
|
||||
registry.setCheckBalance(BigDecimal.ZERO);
|
||||
registry.setDiffBalance(BigDecimal.ZERO);
|
||||
registry.setDebit(BigDecimal.ZERO);
|
||||
registry.setSettledDebit(BigDecimal.ZERO);
|
||||
registry.setCredit(BigDecimal.ZERO);
|
||||
registry.setSettledCredit(BigDecimal.ZERO);
|
||||
registry.setPlanBalance(BigDecimal.ZERO);
|
||||
registry.setCloseBalance(registry.getBalance());
|
||||
|
||||
registry.setUpdated(Instant.now());
|
||||
registryImdg.update(registry);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue