fix reset balance

This commit is contained in:
etreshenkov 2023-06-01 14:35:01 +03:00
parent c5d8260b38
commit fa09badd70

View file

@ -16,6 +16,7 @@ import java.math.BigDecimal;
import java.time.Instant;
import java.util.Collection;
import java.util.Map;
import java.util.Optional;
@Service
public class RegistryService {
@ -91,10 +92,20 @@ 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()));
}
registry.setOpenBalance(BigDecimal.ZERO);
if (RegistryUnit.T.equalsByKey(registry.getRegistryUnit())) {
registry.setOpenBalance(registry.getBalance());
}
registry.setCloseBalance(BigDecimal.ZERO);
registry.setCheckBalance(BigDecimal.ZERO);
registry.setDiffBalance(BigDecimal.ZERO);