Browse Source

家暴与被家暴

master
kami 1 year ago
parent
commit
54161d6e79
  1. 4
      src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcGrjdJsbry.java
  2. 53
      src/main/java/com/biutag/supervisiondata/service/impl/WdpcGrjdJsbryServiceService.java

4
src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcGrjdJsbry.java

@ -39,7 +39,7 @@ public class WdpcGrjdJsbry implements Serializable {
* 肇事次数
*/
@TableField("`illegal_number`")
Integer illegalNumber;
String illegalNumber;
/**
* 自杀次数
*/
@ -49,6 +49,6 @@ public class WdpcGrjdJsbry implements Serializable {
* 自杀未遂次数
*/
@TableField("`suicide_number`")
Integer suicideNumber;
String suicideNumber;
}

53
src/main/java/com/biutag/supervisiondata/service/impl/WdpcGrjdJsbryServiceService.java

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

Loading…
Cancel
Save