Browse Source

Merge remote-tracking branch 'origin/master'

master
kami 1 year ago
parent
commit
2eab20b37a
  1. 1
      src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java
  2. 20
      src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcJZJLBMapper.java
  3. 2
      src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java
  4. 24
      src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcJZJLB.java
  5. 15
      src/main/java/com/biutag/supervisiondata/repository/WdpcJZJLBRepository.java
  6. 3
      src/main/java/com/biutag/supervisiondata/service/PointService.java
  7. 45
      src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java

1
src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java

@ -164,6 +164,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)));

20
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<WdpcJZJLB> {
@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<WdpcJZJLB> selectSeriousIllness();
}

2
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 = "本人患严重疾病";
}

24
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;
}

15
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<WdpcJZJLBMapper, WdpcJZJLB> {
}

3
src/main/java/com/biutag/supervisiondata/service/PointService.java

@ -110,4 +110,7 @@ public interface PointService {
// 医疗压力
void syncMedicalPressure(TaskParamDomain domain);
// 本人患严重疾病
void syncSeriousIllness(TaskParamDomain domain);
}

45
src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java

@ -17,6 +17,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.*;
@ -80,6 +81,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);
@ -572,6 +575,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<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true);
Map<String, Integer> idCode = new HashMap<>();
log.info("模型126开始查询");
List<WdpcJZJLB> list = jZJLBRepository.getBaseMapper().selectSeriousIllness();
log.info("模型126查询结果数:{}", list.size());
Map<String, WdpcJZJLB> idMap = list.stream().collect(Collectors.toMap(WdpcJZJLB::getIdCode, Function.identity(), (old, newVal) -> newVal));
List<RiskPersonal> persons = domain.getPersons();
List<RiskModelTaskClue> 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);

Loading…
Cancel
Save