|
|
|
@ -47,64 +47,39 @@ public class WdpcGrjdJsbryServiceService implements WdpcGrjdJsbryService { |
|
|
|
.select(WdpcGrjdJsbry::getName, WdpcGrjdJsbry::getIdCode, WdpcGrjdJsbry::getActaulTime, |
|
|
|
.select(WdpcGrjdJsbry::getName, WdpcGrjdJsbry::getIdCode, WdpcGrjdJsbry::getActaulTime, |
|
|
|
WdpcGrjdJsbry::getActaulId, WdpcGrjdJsbry::getSuicideNumber, WdpcGrjdJsbry::getHurtSelfNumber,WdpcGrjdJsbry::getIllegalNumber,WdpcGrjdJsbry::getDiseaseDescribe)); |
|
|
|
WdpcGrjdJsbry::getActaulId, WdpcGrjdJsbry::getSuicideNumber, WdpcGrjdJsbry::getHurtSelfNumber,WdpcGrjdJsbry::getIllegalNumber,WdpcGrjdJsbry::getDiseaseDescribe)); |
|
|
|
|
|
|
|
|
|
|
|
Map<String, List<WdpcGrjdJsbry>> jsbMap = jsbryList.stream().collect(Collectors.groupingBy(WdpcGrjdJsbry::getIdCode)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RiskTask task = taskRepository.create(jsbryList.size(), 59); |
|
|
|
RiskTask task = taskRepository.create(jsbryList.size(), 59); |
|
|
|
List<RiskModelTaskClue> oldList = Optional.ofNullable(domain.getMap().get(task.getModelId())).orElse(new ArrayList<>()); |
|
|
|
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, RiskModelTaskClue> oldClueMap = oldList.stream().collect(Collectors.toMap(RiskModelTaskClue::getIdCode, Function.identity(), (val, old) -> val)); |
|
|
|
|
|
|
|
|
|
|
|
List<RiskModelTaskClue> toInsert = new ArrayList<>(); |
|
|
|
List<RiskModelTaskClue> toInsert = new ArrayList<>(); |
|
|
|
for (Map.Entry<String, List<WdpcGrjdJsbry>> entry : jsbMap.entrySet()) { |
|
|
|
|
|
|
|
if(oldClueMap.get(entry.getKey()) != null) { |
|
|
|
for (WdpcGrjdJsbry wdpcGrjdJsbry : jsbryList) { |
|
|
|
continue; |
|
|
|
if(oldClueMap.get(wdpcGrjdJsbry.getIdCode()) != null) { |
|
|
|
} |
|
|
|
|
|
|
|
StringBuilder text = new StringBuilder("该人员是精神障碍患者,诊断为"); |
|
|
|
|
|
|
|
StringBuilder tag = new StringBuilder(); |
|
|
|
|
|
|
|
StringBuilder tag2 = new StringBuilder(); |
|
|
|
|
|
|
|
WdpcGrjdJsbry jsb = entry.getValue().getFirst(); |
|
|
|
|
|
|
|
LocalDate date = null; |
|
|
|
|
|
|
|
for (WdpcGrjdJsbry wdpcGrjdJsbry : entry.getValue()) { |
|
|
|
|
|
|
|
if(tag.indexOf(wdpcGrjdJsbry.getActaulId()) != -1) { |
|
|
|
|
|
|
|
tag.append(wdpcGrjdJsbry.getActaulId()).append(","); |
|
|
|
|
|
|
|
text.append(wdpcGrjdJsbry.getActaulId()).append(","); |
|
|
|
|
|
|
|
if(wdpcGrjdJsbry.getDiseaseDescribe()!=null && !wdpcGrjdJsbry.getDiseaseDescribe().isEmpty()) { |
|
|
|
|
|
|
|
tag2.append(wdpcGrjdJsbry.getDiseaseDescribe()).append(","); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
LocalDate tmp = LocalDate.parse(jsb.getActaulTime(), DateTimeFormatter.ofPattern("yyyyMMdd")); |
|
|
|
|
|
|
|
if(date == null) { |
|
|
|
|
|
|
|
date = tmp; |
|
|
|
|
|
|
|
continue; |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
if(tmp.isAfter(date)) { |
|
|
|
StringBuilder text = new StringBuilder("该人员是精神障碍患者,诊断为:"); |
|
|
|
date = tmp; |
|
|
|
text.append(wdpcGrjdJsbry.getActaulId()); |
|
|
|
|
|
|
|
if(wdpcGrjdJsbry.getDiseaseDescribe() != null && !wdpcGrjdJsbry.getDiseaseDescribe().isEmpty()) { |
|
|
|
|
|
|
|
text.append(",症状").append(wdpcGrjdJsbry.getDiseaseDescribe()); |
|
|
|
} |
|
|
|
} |
|
|
|
} catch (Exception e) { |
|
|
|
|
|
|
|
log.error("精神病转化时间异常"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if(tag2.length() > 0) { |
|
|
|
|
|
|
|
text.append("症状为:").append(tag2); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
text.append("增加风险分5分"); |
|
|
|
|
|
|
|
ClueData data = ClueData.builder() |
|
|
|
ClueData data = ClueData.builder() |
|
|
|
.name(jsb.getName()) |
|
|
|
.name(wdpcGrjdJsbry.getName()) |
|
|
|
.id("psychosis") |
|
|
|
.id("psychosis") |
|
|
|
.idCode(jsb.getIdCode()) |
|
|
|
.idCode(wdpcGrjdJsbry.getIdCode()) |
|
|
|
.tag(Default.PSYCHOSIS_TAG) |
|
|
|
.tag(Default.PSYCHOSIS_TAG) |
|
|
|
.sourceData(text.toString()) |
|
|
|
.sourceData(text.toString()) |
|
|
|
.build(); |
|
|
|
.build(); |
|
|
|
if(date != null) { |
|
|
|
try { |
|
|
|
data.setEventTime(date.atTime(0,0,0)); |
|
|
|
LocalDate tmp = LocalDate.parse(wdpcGrjdJsbry.getActaulTime(), DateTimeFormatter.ofPattern("yyyyMMdd")); |
|
|
|
} else { |
|
|
|
data.setEventTime(tmp.atTime(0,0,0)); |
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
data.setEventTime(LocalDateTime.now()); |
|
|
|
data.setEventTime(LocalDateTime.now()); |
|
|
|
} |
|
|
|
} |
|
|
|
toInsert.add(createClue(task.getModelId(), 5, task.getId(), data)); |
|
|
|
toInsert.add(createClue(task.getModelId(), 5, task.getId(), data)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if(!toInsert.isEmpty()) { |
|
|
|
if(!toInsert.isEmpty()) { |
|
|
|
clueService.saveClues(toInsert, Default.WF_IG); |
|
|
|
clueService.saveClues(toInsert, "精神心理特征"); |
|
|
|
} |
|
|
|
} |
|
|
|
taskRepository.updateTask(task.getId(), toInsert.size(), 0); |
|
|
|
taskRepository.updateTask(task.getId(), toInsert.size(), 0); |
|
|
|
} |
|
|
|
} |
|
|
|
|