From 54161d6e793d8b63467e34f2019e627129f653b4 Mon Sep 17 00:00:00 2001 From: kami <605128600@qq.com> Date: Sat, 7 Dec 2024 16:31:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=B6=E6=9A=B4=E4=B8=8E=E8=A2=AB=E5=AE=B6?= =?UTF-8?q?=E6=9A=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/entity/wdpc2/WdpcGrjdJsbry.java | 4 +- .../impl/WdpcGrjdJsbryServiceService.java | 53 +++++-------------- 2 files changed, 16 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcGrjdJsbry.java b/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcGrjdJsbry.java index b603e6f..3539eab 100644 --- a/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcGrjdJsbry.java +++ b/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; } 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 4211d7e..3e029ff 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/WdpcGrjdJsbryServiceService.java +++ b/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> jsbMap = jsbryList.stream().collect(Collectors.groupingBy(WdpcGrjdJsbry::getIdCode)); - 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)); List toInsert = new ArrayList<>(); - for (Map.Entry> 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); }