etreschenkov 2026-01-13 12:44:56 +03:00
parent 995a97a69c
commit 8475bb5f37
6 changed files with 21 additions and 18 deletions

View file

@ -98,17 +98,6 @@ public class PersonFactoryBuilderV2 {
} else {
return switch (idType) {
case "21" -> "21";
case "22" -> "22.1";
case "09" -> "22.2";
case "26" -> "23";
case "04" -> "24";
case "07" -> "25";
case "14", "03" -> "27";
case "10" -> "31";
case "15" -> "32";
case "13" -> "37";
case "06", "27" -> "28";
case "01", "02" -> "999";
default -> {
log.warn("ID_TYPE2 is blank and no matching found for ID_TYPE {}", idType);
yield "";

View file

@ -70,6 +70,9 @@ public class MonitoringRequestValidator {
request -> {
try {
validationService.validateMonitoringRequest(request);
} catch (SignalException e) {
validationResult.addError(new MonitoringValidationError(-1, "", e));
} finally {
if (request.getPackageName() != null && validationResult.getPackageName() == null) {
validationResult.setPackageName(request.getPackageName());
}
@ -83,9 +86,6 @@ public class MonitoringRequestValidator {
&& validationResult.getSignalTypes().isEmpty()) {
validationResult.setSignalTypes(request.getSignalTypes());
}
request.getSubjects().getSubject().clear();
} catch (SignalException e) {
validationResult.addError(new MonitoringValidationError(-1, "", e));
}
},
request -> request.getSubjects().getSubject().isEmpty(),

View file

@ -116,6 +116,12 @@ public class PipelinePackageOrchestrator {
log.error(ExceptionUtils.getStackTrace(e));
return;
}
if (res.signalXmlFilePath() == null) {
log.info("No one fid was found by packageId : {}; xml file won't be sent", packageId);
userPackageMapper.updatePackageOnMonitoringSuccess(packageId, LocalDateTime.now());
return;
}
userPackageMapper.setLastSearchedDt(packageId);
log.trace("Signal file by path: {} is completed", res.signalXmlFilePath());
boolean success = signalRestService.setupMonitoring(res.signalXmlFilePath());

View file

@ -83,6 +83,9 @@ public class FidIdEnricher implements Handler<SubjectPayload, PartFilePayload> {
packageRecordsService.updateIdCache(idCacheOnUpdate);
log.debug("personOnProcessing size: {}", personOnProcessing.size());
Long packageId = taskPayload.getPackageId();
if (personOnProcessing.isEmpty()) {
return new PartFilePayload(null, packageId, taskPayload.getMemberCode(), taskPayload.getPackageName());
}
Path partPath = writeSignals(personOnProcessing, taskPayload);
return new PartFilePayload(partPath, packageId, taskPayload.getMemberCode(), taskPayload.getPackageName());
}

View file

@ -74,7 +74,9 @@ public class FidNameEnricher implements Handler<SubjectPayload, SubjectPayload>
cacheMisses.incrementAndGet();
Name name = nameByPhone.get(CTUtil.normalizePhoneNumber(phone.toString()));
if (name == null) {
return Stream.empty();
return Stream.of(PhonesMap.builder()
.phone(phone)
.build());
}
fillByName(subject, name);
return Stream.of(PhonesMap.builder()

View file

@ -55,6 +55,7 @@
<foreach item="phone" collection="phones" open="(" separator="," close=")">
#{phone}
</foreach>
and fid is not null
</select>
<select id="registerJson" parameterType="string">
@ -75,13 +76,14 @@
))
INSERT
INTO signals_phones_map
(fid, phone, name_1, first, middle, birth_dt)
(fid, phone, name_1, first, middle, birth_dt, searched_at)
SELECT fid,
phone,
name_1,
first,
middle,
birth_dt
birth_dt,
now()
FROM src
ON CONFLICT (phone) DO UPDATE
SET fid = EXCLUDED.fid,
@ -107,7 +109,8 @@
<update id="updateFlagCachedData" parameterType="string">
update signals_phones_map dst
set flag_debt5000 = src.flag_debt5000,
flag_90_12 = src.flag_90_12
flag_90_12 = src.flag_90_12,
calculated_at = now()
FROM json_to_recordset(#{json}::json) AS src(
phone bigint,
flag_debt5000 smallint,