diff --git a/postdischarge-quartz/src/main/java/com/xinelu/quartz/domain/TbFollowUp.java b/postdischarge-quartz/src/main/java/com/xinelu/quartz/domain/TbFollowUp.java index 0436fd11..a59e78cf 100644 --- a/postdischarge-quartz/src/main/java/com/xinelu/quartz/domain/TbFollowUp.java +++ b/postdischarge-quartz/src/main/java/com/xinelu/quartz/domain/TbFollowUp.java @@ -20,6 +20,17 @@ public class TbFollowUp { private String SFSJ; private String MBID; private String JZZDSM; + /** + * 治疗结果 + */ private String ZLJG; + /** + *离院方式 + */ private String LYFS; + /** + * death 死亡标志: 0 正常 1 死亡 + */ + private String death; + private String death_date; } \ No newline at end of file diff --git a/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/MedicalConsortiumPlatformTask.java b/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/MedicalConsortiumPlatformTask.java index 0d416c42..0069581e 100644 --- a/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/MedicalConsortiumPlatformTask.java +++ b/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/MedicalConsortiumPlatformTask.java @@ -75,6 +75,7 @@ public class MedicalConsortiumPlatformTask { private GenerateSystemCodeUtil generateSystemCodeUtil; @Value("${xinyilu-database.main_hospital}") private Long mainHospitalId; + static String sql = "SELECT * FROM tb_follow_up"; @Transactional(rollbackFor = Exception.class) public void medicalConsortiumPlatformTask() { @@ -88,7 +89,7 @@ public class MedicalConsortiumPlatformTask { // 2.获取连接 Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@//172.19.116.212:1521/ORCL", "HK_ZJK", "DYWJWhkzjk5169"); // 3.创建Statement对象(可以执行sql的对象) - PreparedStatement preparedStatement = connection.prepareStatement("select * from tb_follow_up"); + PreparedStatement preparedStatement = connection.prepareStatement(sql); // 4.获取结果集 ResultSet resultSet = preparedStatement.executeQuery(); // 5.对数据进行处理 @@ -111,6 +112,7 @@ public class MedicalConsortiumPlatformTask { followUp.setJZZDSM(resultSet.getString("JZZDSM")); followUp.setZLJG(resultSet.getString("ZLJG")); followUp.setLYFS(resultSet.getString("LYFS")); + followUp.setDeath(resultSet.getString("DEATH")); list.add(followUp); } // 6.关闭连接 先调用的最后关闭 关闭前判断是否存在 @@ -125,12 +127,12 @@ public class MedicalConsortiumPlatformTask { log.info("获取医共体数据" + list.size() + "条"); return; } - //筛选就诊号并根据就诊号查询数据库 - List collect = list.stream().filter(Objects::nonNull).map(TbFollowUp::getJZLSH).collect(Collectors.toList()); - List dataExternalImports = externalImportMapper.selectExternalByPhone(collect); //ExternalImport表 过滤姓名为空和就诊号为空的数据 list = list.stream().filter(Objects::nonNull).filter(item -> StringUtils.isNotBlank(item.getJZLSH()) && StringUtils.isNotBlank(item.getXM()) && StringUtils.isNotBlank(item.getLXDH()) && StringUtils.isNotBlank(item.getZJHM())).collect(Collectors.toList()); + List collect = list.stream().filter(Objects::nonNull).map(TbFollowUp::getJZLSH).collect(Collectors.toList()); + //筛选就诊号并根据就诊号查询数据库 + List dataExternalImports = externalImportMapper.selectExternalByPhone(collect); List externalImports = new ArrayList<>(); //科室信息组装-新增不存在科室 Agency agency = agencyMapper.selectAgencyById(mainHospitalId); @@ -178,6 +180,10 @@ public class MedicalConsortiumPlatformTask { //遍历塞数据 for (TbFollowUp tbFollowUp : list) { //去除与数据库重复项 + if ((StringUtils.isNotBlank(tbFollowUp.getDeath()) && tbFollowUp.getDeath().equals("1")) || (StringUtils.isNotBlank(tbFollowUp.getLYFS()) && tbFollowUp.getLYFS().equals("死亡")) + || (StringUtils.isNotBlank(tbFollowUp.getZLJG()) && tbFollowUp.getZLJG().equals("死亡"))) { + continue; + } ExternalImport identicalVisitCode = dataExternalImports.stream().filter(item -> tbFollowUp.getJZLSH().equals(item.getVisitCode())).findFirst().orElse(new ExternalImport()); if (StringUtils.isNotBlank(identicalVisitCode.getPhone())) { continue;