diff --git a/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/services/AbstractExporterService.java b/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/services/AbstractExporterService.java index b1413cc49..b7a9f706c 100644 --- a/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/services/AbstractExporterService.java +++ b/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/services/AbstractExporterService.java @@ -130,10 +130,17 @@ public abstract class AbstractExporterService { protected boolean checkNotBlockedAndBalanceNonZero(Registry registry) { if (!checkNotBlocked(registry)) return false; - Security security = securitySelector.selectSecurityById(registry.getSecurityId()); - return security == null - || !WorkflowStatus.Active.equalsByKey(security.getWorkflowStatus()) - || !registry.getBalance().equals(BigDecimal.ZERO); + Security security = null; + if (registry.getSecurityId() != null) { + security = securitySelector.selectSecurityById(registry.getSecurityId()); + } + if (security == null) { + log.warn("{}.id={}, securityId={} security not found, skipping...", + registry.getRegistryCode(), registry.getId(), registry.getSecurityId()); + return false; + } + return WorkflowStatus.Active.equalsByKey(security.getWorkflowStatus()) + && !registry.getBalance().equals(BigDecimal.ZERO); } protected BigDecimal sumNegativeABS(Collection registries) {