some fix
This commit is contained in:
parent
be7876e90f
commit
7f2b1081d3
2 changed files with 24 additions and 3 deletions
2
pom.xml
2
pom.xml
|
|
@ -10,7 +10,7 @@
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>ru.nbch</groupId>
|
<groupId>ru.nbch</groupId>
|
||||||
<artifactId>credit-tracker</artifactId>
|
<artifactId>credit-tracker</artifactId>
|
||||||
<version>2.1</version>
|
<version>2.2</version>
|
||||||
<name>credit_tracker</name>
|
<name>credit_tracker</name>
|
||||||
<description>Credit Tracker Application</description>
|
<description>Credit Tracker Application</description>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,9 @@ import java.nio.file.Path;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
|
|
@ -227,6 +229,7 @@ public class MonitoringService {
|
||||||
|
|
||||||
private List<Subject> processPersons(List<Person> persons, UserPackage userPackage) {
|
private List<Subject> processPersons(List<Person> persons, UserPackage userPackage) {
|
||||||
List<Subject> subjects = new ArrayList<>();
|
List<Subject> subjects = new ArrayList<>();
|
||||||
|
Map<Long, SubjectRepInfo> subjectRepInfoMap = new HashMap<>();
|
||||||
for (Person person : persons) {
|
for (Person person : persons) {
|
||||||
Signals signals = new Signals();
|
Signals signals = new Signals();
|
||||||
for (Inquiry inquiry : person.getInquiries()) {
|
for (Inquiry inquiry : person.getInquiries()) {
|
||||||
|
|
@ -245,8 +248,17 @@ public class MonitoringService {
|
||||||
|
|
||||||
// Если есть хотя бы один заполненный сигнал, значит заполняем остальные данные
|
// Если есть хотя бы один заполненный сигнал, значит заполняем остальные данные
|
||||||
if (!signals.getSignals().isEmpty()) {
|
if (!signals.getSignals().isEmpty()) {
|
||||||
PackagesRecordsMap packagesRecord = packageRecordsService.findPackageRecordsById(person.getUid());
|
PackagesRecordsMap packagesRecord;
|
||||||
PhonesMap cacheByPhone = packageRecordsService.findCachedByPhone(Long.valueOf(packagesRecord.getPhone()));
|
PhonesMap cacheByPhone;
|
||||||
|
if (subjectRepInfoMap.containsKey(person.getUid())) {
|
||||||
|
SubjectRepInfo subjectRepInfo = subjectRepInfoMap.get(person.getUid());
|
||||||
|
packagesRecord = subjectRepInfo.packagesRecord;
|
||||||
|
cacheByPhone = subjectRepInfo.cacheByPhone;
|
||||||
|
} else {
|
||||||
|
packagesRecord = packageRecordsService.findPackageRecordsById(person.getUid());
|
||||||
|
cacheByPhone = packageRecordsService.findCachedByPhone(Long.valueOf(packagesRecord.getPhone()));
|
||||||
|
subjectRepInfoMap.put(person.getUid(), new SubjectRepInfo(packagesRecord, cacheByPhone));
|
||||||
|
}
|
||||||
if (cacheByPhone != null) {
|
if (cacheByPhone != null) {
|
||||||
Subject subject = new Subject();
|
Subject subject = new Subject();
|
||||||
subject.setId(packagesRecord.getSubjectId()); // Уникальный идентификатор субъекта (равен Id из XML-пакета при установке мониторинга)
|
subject.setId(packagesRecord.getSubjectId()); // Уникальный идентификатор субъекта (равен Id из XML-пакета при установке мониторинга)
|
||||||
|
|
@ -299,4 +311,13 @@ public class MonitoringService {
|
||||||
log.info("Signal hits updated for package {}", userPackage.getPackageName());
|
log.info("Signal hits updated for package {}", userPackage.getPackageName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private class SubjectRepInfo {
|
||||||
|
private final PackagesRecordsMap packagesRecord;
|
||||||
|
private final PhonesMap cacheByPhone;
|
||||||
|
|
||||||
|
private SubjectRepInfo(PackagesRecordsMap packagesRecord, PhonesMap cacheByPhone) {
|
||||||
|
this.packagesRecord = packagesRecord;
|
||||||
|
this.cacheByPhone = cacheByPhone;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue