From f5f675155108b3f592525aa92df6e4db7aed84ae Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Wed, 1 Apr 2026 17:42:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=BB=E5=85=B1=E4=BD=93=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=96=B0=E5=A2=9E=E6=AD=BB=E4=BA=A1=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xinelu/quartz/domain/TbFollowUp.java | 11 +++++++++++ .../quartz/task/MedicalConsortiumPlatformTask.java | 14 ++++++++++---- 2 files changed, 21 insertions(+), 4 deletions(-) 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;