From 4093db56222b98f8256df8e20b1e92cbcfb78c3e Mon Sep 17 00:00:00 2001 From: sjh Date: Tue, 10 Dec 2024 17:05:37 +0800 Subject: [PATCH] =?UTF-8?q?126=E6=A8=A1=E5=9E=8B=EF=BC=9A=E6=82=A3?= =?UTF-8?q?=E4=B8=A5=E9=87=8D=E7=96=BE=E7=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/ApplicationEvent.java | 1 + .../mapper/wdpc2/WdpcJZJLBMapper.java | 20 +++++++++ .../pojo/constants/Default.java | 2 + .../pojo/entity/wdpc2/WdpcJZJLB.java | 24 ++++++++++ .../repository/WdpcJZJLBRepository.java | 15 +++++++ .../supervisiondata/service/PointService.java | 3 ++ .../service/impl/PointServiceImpl.java | 45 +++++++++++++++++++ 7 files changed, 110 insertions(+) create mode 100644 src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcJZJLBMapper.java create mode 100644 src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcJZJLB.java create mode 100644 src/main/java/com/biutag/supervisiondata/repository/WdpcJZJLBRepository.java diff --git a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java index df7d38f..f562af9 100644 --- a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java +++ b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java @@ -166,6 +166,7 @@ public class ApplicationEvent { // // pointService.syncPetitionContent(initDomain(List.of(124))); pointService.syncMedicalPressure(initDomain(List.of(125))); + pointService.syncSeriousIllness(initDomain(List.of(126))); // *********暂时不要********** // riskTaskService.caseModelTask(initDomain(List.of(35))); diff --git a/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcJZJLBMapper.java b/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcJZJLBMapper.java new file mode 100644 index 0000000..75b7c95 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcJZJLBMapper.java @@ -0,0 +1,20 @@ +package com.biutag.supervisiondata.mapper.wdpc2; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcJZJLB; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author kami on 2024-12-06 10:23:13 + * @version 0.0.1 + * @since 1.8 + */ +public interface WdpcJZJLBMapper extends BaseMapper { + @Select("select id_code, disease_name from wdpc_grjd_jzjlb " + + "where (disease_name like '%恶性肿瘤%' or disease_name like '%移植%' or disease_name like '%帕金森%' " + + "or disease_name like '%精神病%' or disease_name like '%严重%' or disease_name like '%脑中风%' " + + "or disease_name like '%急性心肌梗塞%' or (disease_name like '%脑损伤%' and '%重%'))") + List selectSeriousIllness(); +} diff --git a/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java b/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java index 0c707ef..30d6e3a 100644 --- a/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java +++ b/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java @@ -134,4 +134,6 @@ public class Default { public static final String MEDICALPRESSURE = "医疗压力"; + public static final String SERIOUSILLNESS = "本人患严重疾病"; + } diff --git a/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcJZJLB.java b/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcJZJLB.java new file mode 100644 index 0000000..e23b325 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcJZJLB.java @@ -0,0 +1,24 @@ +package com.biutag.supervisiondata.pojo.entity.wdpc2; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +@Data +@TableName("`wdpc_grjd_jzjlb`") +public class WdpcJZJLB implements Serializable { + // 身份证 + @TableField("id_code") + String idCode; + + // 姓名 + @TableField("name") + String name; + + // 诊断病名 + @TableField("disease_name") + String diseaseName; + +} diff --git a/src/main/java/com/biutag/supervisiondata/repository/WdpcJZJLBRepository.java b/src/main/java/com/biutag/supervisiondata/repository/WdpcJZJLBRepository.java new file mode 100644 index 0000000..6519011 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/repository/WdpcJZJLBRepository.java @@ -0,0 +1,15 @@ +package com.biutag.supervisiondata.repository; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.biutag.supervisiondata.mapper.wdpc2.WdpcJZJLBMapper; +import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcJZJLB; +import org.springframework.stereotype.Service; + +/** + * @author kami on 2024-12-04 16:18:26 + * @version 0.0.1 + * @since 1.8 + */ +@Service +public class WdpcJZJLBRepository extends ServiceImpl { +} diff --git a/src/main/java/com/biutag/supervisiondata/service/PointService.java b/src/main/java/com/biutag/supervisiondata/service/PointService.java index 6003d38..4125484 100644 --- a/src/main/java/com/biutag/supervisiondata/service/PointService.java +++ b/src/main/java/com/biutag/supervisiondata/service/PointService.java @@ -110,4 +110,7 @@ public interface PointService { // 医疗压力 void syncMedicalPressure(TaskParamDomain domain); + + // 本人患严重疾病 + void syncSeriousIllness(TaskParamDomain domain); } diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java index e1b1353..f8dfc69 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java @@ -16,6 +16,7 @@ import com.biutag.supervisiondata.pojo.entity.mine.*; import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdXfsj; import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdZblx; import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcHZCRYXX; +import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcJZJLB; import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcXdry; import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcXfsjCsDetail; import com.biutag.supervisiondata.repository.*; @@ -79,6 +80,8 @@ public class PointServiceImpl implements PointService { private final WdpcYbxxRepository ybxxRepository; + private final WdpcJZJLBRepository jZJLBRepository; + @Override public void personPullAndSave(LocalDateTime start, LocalDateTime end) { riskPersonalService.formatAndSave(getPersons(), Default.POINT_POEPLE); @@ -568,6 +571,48 @@ public class PointServiceImpl implements PointService { taskRepository.updateById(updateTask); } + @Override + public void syncSeriousIllness(TaskParamDomain domain) { + RiskTask task = createTask(domain.getPersons().size(), 126); + taskRepository.save(task); + + Map oldMap = domain.getOldMap(task.getModelId(), true); + Map idCode = new HashMap<>(); + log.info("模型126开始查询"); + List list = jZJLBRepository.getBaseMapper().selectSeriousIllness(); + log.info("模型126查询结果数:{}", list.size()); + Map idMap = list.stream().collect(Collectors.toMap(WdpcJZJLB::getIdCode, Function.identity(), (old, newVal) -> newVal)); + List persons = domain.getPersons(); + List toInsert = new ArrayList<>(); + for (RiskPersonal person : persons) { + if (!idMap.containsKey(person.getIdCode())) continue; + if (idCode.get(person.getIdCode()) != null) continue; + if (oldMap.get(person.getIdCode()) != null) continue; + + idCode.put(person.getIdCode(), 1); + ClueData data = ClueData.builder() + .name(person.getName()) + .id(person.getId().toString()) + .idCode(person.getIdCode()) + .tag("本人患严重疾病") + .eventTime(LocalDateTime.now()) + .personId(person.getId()) + .sourceData("发现该人员有过就诊记录,诊断病名为“" + idMap.get(person.getIdCode()).getDiseaseName() + "”,该人员患严重疾病,增加风险分5分") + .build(); + toInsert.add(createClue(task.getModelId(), 5, task.getId(), data)); + } + if (!toInsert.isEmpty()) { + modelTaskClueService.saveClues(toInsert, Default.SERIOUSILLNESS); + } + RiskTask updateTask = new RiskTask(); + updateTask.setId(task.getId()); + updateTask.setInsertSize(toInsert.size()); + updateTask.setUpdateSize(0); + updateTask.setState(1); + updateTask.setEndTime(LocalDateTime.now()); + taskRepository.updateById(updateTask); + } + @Override public void syncXIDU(TaskParamDomain domain) { RiskTask task = createTask(domain.getPersons().size(), 122);