Browse Source

精神病重复问题

master
kami 1 year ago
parent
commit
f816834cda
  1. 2
      src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java
  2. 45
      src/main/java/com/biutag/supervisiondata/service/impl/WdpcGrjdJsbryServiceService.java

2
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)));

45
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<RiskModelTaskClue> oldList = Optional.ofNullable(domain.getMap().get(task.getModelId())).orElse(new ArrayList<>());
Map<String, RiskModelTaskClue> oldClueMap = oldList.stream().collect(Collectors.toMap(RiskModelTaskClue::getIdCode, Function.identity(), (val, old) -> val));
Map<String, RiskPersonal> personalMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (val, old) -> val));
List<RiskModelTaskClue> toInsert = new ArrayList<>();
for (WdpcGrjdJsbry wdpcGrjdJsbry : jsbryList) {
if(oldClueMap.get(wdpcGrjdJsbry.getIdCode()) != null) {
Map<String, List<WdpcGrjdJsbry>> map = jsbryList.stream().collect(Collectors.groupingBy(WdpcGrjdJsbry::getIdCode));
for (Map.Entry<String, List<WdpcGrjdJsbry>> 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是否有精神疾病");
}

Loading…
Cancel
Save