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..fabd1c6 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 @@ -26,10 +26,10 @@ public class WdpcGrjdJsbry implements Serializable { */ @TableField("`id_code`") String idCode; - @TableField("`actaul_time`") - String actaulTime; - @TableField("`actaul_id`") - String actaulId; + @TableField("`actual_time`") + String actualTime; + @TableField("`actual_id`") + String actualId; /** * 症状 */ @@ -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/PersonalServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java index 9e15d6b..e1230aa 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java @@ -408,7 +408,7 @@ public class PersonalServiceImpl implements PersonalService { @Override public void pullPsychosis() { List jsbryList = jsbryRepository.list(new LambdaQueryWrapper() - .select(WdpcGrjdJsbry::getName, WdpcGrjdJsbry::getIdCode, WdpcGrjdJsbry::getActaulTime)); + .select(WdpcGrjdJsbry::getName, WdpcGrjdJsbry::getIdCode, WdpcGrjdJsbry::getActualTime)); LocalDate now = LocalDate.now(); // id去重 List idCodes = jsbryList.stream().map(WdpcGrjdJsbry::getIdCode).distinct().toList(); 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..de1612c 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/WdpcGrjdJsbryServiceService.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/WdpcGrjdJsbryServiceService.java @@ -44,67 +44,42 @@ public class WdpcGrjdJsbryServiceService implements WdpcGrjdJsbryService { @Override public void syncPys(TaskParamDomain domain) { List jsbryList = jsbryRepository.list(new LambdaQueryWrapper() - .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)); + .select(WdpcGrjdJsbry::getName, WdpcGrjdJsbry::getIdCode, WdpcGrjdJsbry::getActualTime, + WdpcGrjdJsbry::getActualId, WdpcGrjdJsbry::getSuicideNumber, WdpcGrjdJsbry::getHurtSelfNumber,WdpcGrjdJsbry::getIllegalNumber,WdpcGrjdJsbry::getDiseaseDescribe)); 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.getActualId()); + 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.getActualTime(), 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); }