diff --git a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java index a927b44..b6acdf2 100644 --- a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java +++ b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java @@ -129,7 +129,7 @@ public class ApplicationEvent { // pointService.syncControlNoPower(initDomain(List.of(48))); // pointService.syncOilBuy(initDomain(List.of(52))); // gBaseJJDService.pullPoliceInstance(LocalDateTime.of(2023, 12, 6, 0, 0, 0), end, initDomain(List.of(55,56,57,58))); -// jsbryService.syncPys(initDomain(List.of(59))); + jsbryService.syncPys(initDomain(List.of(59))); // gBaseSHRWFRService.combatCrime(initDomain(List.of(63))); // gBaseJJDService.warningInstance(initDomain(List.of(64))); // gBaseJJDService.syncHomeViolence(initDomain(List.of(65,66))); diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/WdpcGrjdJsbryServiceService.java b/src/main/java/com/biutag/supervisiondata/service/impl/WdpcGrjdJsbryServiceService.java index 5229a2f..028ecf6 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/WdpcGrjdJsbryServiceService.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/WdpcGrjdJsbryServiceService.java @@ -5,6 +5,7 @@ import com.biutag.supervisiondata.pojo.ClueData; import com.biutag.supervisiondata.pojo.constants.Default; import com.biutag.supervisiondata.pojo.domain.TaskParamDomain; import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue; +import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal; import com.biutag.supervisiondata.pojo.entity.mine.RiskTask; import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcGrjdJsbry; import com.biutag.supervisiondata.repository.RiskTaskRepository; @@ -51,35 +52,47 @@ public class WdpcGrjdJsbryServiceService implements WdpcGrjdJsbryService { RiskTask task = taskRepository.create(jsbryList.size(), 59); List oldList = Optional.ofNullable(domain.getMap().get(task.getModelId())).orElse(new ArrayList<>()); Map oldClueMap = oldList.stream().collect(Collectors.toMap(RiskModelTaskClue::getIdCode, Function.identity(), (val, old) -> val)); + Map personalMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (val, old) -> val)); + List toInsert = new ArrayList<>(); - for (WdpcGrjdJsbry wdpcGrjdJsbry : jsbryList) { - if(oldClueMap.get(wdpcGrjdJsbry.getIdCode()) != null) { + Map> map = jsbryList.stream().collect(Collectors.groupingBy(WdpcGrjdJsbry::getIdCode)); + + for (Map.Entry> entry : map.entrySet()) { + RiskPersonal personal = personalMap.get(entry.getKey()); + if(oldClueMap.get(entry.getKey()) != null || personal==null) { continue; } - StringBuilder text = new StringBuilder("该人员是精神障碍患者,诊断为:"); - text.append(wdpcGrjdJsbry.getActualId()); - if(wdpcGrjdJsbry.getDiseaseDescribe() != null && !wdpcGrjdJsbry.getDiseaseDescribe().isEmpty()) { - text.append(",症状").append(wdpcGrjdJsbry.getDiseaseDescribe()); + StringBuilder text = new StringBuilder(); + LocalDateTime time = null; + for (WdpcGrjdJsbry wdpcGrjdJsbry : jsbryList) { + if(text.indexOf(wdpcGrjdJsbry.getActualId().concat(",")) != -1) continue; + text.append(wdpcGrjdJsbry.getActualId()).append(","); + try { + if(time == null) { + time = LocalDate.parse(wdpcGrjdJsbry.getActualTime(), DateTimeFormatter.ofPattern("yyyyMMdd")).atTime(0,0,0); + continue; + } + LocalDateTime tmp = LocalDate.parse(wdpcGrjdJsbry.getActualTime(), DateTimeFormatter.ofPattern("yyyyMMdd")).atTime(0,0,0); + if (time.isBefore(tmp)) { + time = tmp; + } + } catch (Exception ignored) { + + } } ClueData data = ClueData.builder() - .name(wdpcGrjdJsbry.getName()) + .name(personal.getName()) .id("psychosis") - .idCode(wdpcGrjdJsbry.getIdCode()) + .idCode(personal.getIdCode()) .tags(List.of(Default.PSYCHOSIS_TAG)) .score(5) - .sourceData(text.toString()) + .sourceData("该人员是精神障碍患者,诊断为:".concat(text.toString())) + .eventTime(time) .build(); - try { - LocalDate tmp = LocalDate.parse(wdpcGrjdJsbry.getActualTime(), DateTimeFormatter.ofPattern("yyyyMMdd")); - data.setEventTime(tmp.atTime(0,0,0)); - } catch (Exception e) { - data.setEventTime(LocalDateTime.now()); - } toInsert.add(DataUtil.createClueData(task, data)); } - if(!toInsert.isEmpty()) { clueService.saveClues(toInsert, "B31是否有精神疾病"); }