diff --git a/dataConfig/homeQualitySet.json b/dataConfig/homeQualitySet.json index 7d0384e..8d23674 100644 --- a/dataConfig/homeQualitySet.json +++ b/dataConfig/homeQualitySet.json @@ -63,6 +63,7 @@ "collectOpen": "1", //校验完整性方式 1:根据af_collect_task完成情况 2:梅州根据信息科提供任务视图 "checkIntegrityType": "1", + "isDead" : "1", //----以下是梅州完整性检验同步配置------ //开关0:关闭 1:开启 diff --git a/src/main/java/com/docus/bgts/config/MyScheduling.java b/src/main/java/com/docus/bgts/config/MyScheduling.java index eb2b050..5599fff 100644 --- a/src/main/java/com/docus/bgts/config/MyScheduling.java +++ b/src/main/java/com/docus/bgts/config/MyScheduling.java @@ -74,14 +74,14 @@ public class MyScheduling { * 手麻/重症采集器 * 10分钟执行一次 */ - @Scheduled(fixedRate = 1000 * 60 * 10) - public void collect() { - String collectorid = String.valueOf(FileUtils.getJsonByName("collectorid")); - if ((!collectorid.equals(Codes.SMCODE.getCode())) && (!collectorid.equals(Codes.ZZCODE.getCode()))) { - return; - } - bgtsService.timerCollect(); - } +// @Scheduled(fixedRate = 1000 * 60 * 10) +// public void collect() { +// String collectorid = String.valueOf(FileUtils.getJsonByName("collectorid")); +// if ((!collectorid.equals(Codes.SMCODE.getCode())) && (!collectorid.equals(Codes.ZZCODE.getCode()))) { +// return; +// } +// bgtsService.timerCollect(); +// } // // 时间 // private static List date = new ArrayList<>(); @@ -161,23 +161,23 @@ public class MyScheduling { // // } -// @Scheduled(cron ="0 0 0 * * ?") -// public void collect(){ -// String intervalDayOpen = String.valueOf(FileUtils.getJsonByName("intervalDayOpen")); -// if (intervalDayOpen.equals("1")){ -// try{ -// String collectorid = String.valueOf(FileUtils.getJsonByName("collectorid")); -// int day = Integer.parseInt(String.valueOf(FileUtils.getJsonByName("intervalDay"))); -// logger.info("0点采集前"+day+"天出院数据"); -// Map dateCollectionTime = getDateCollectionTime(new Date(), day); -// logger.info("采集"+dateCollectionTime.get("startDate")+"至-------"+dateCollectionTime.get("endDate")+"数据"); -// bgtsService.collectByDate(dateCollectionTime.get("startDate"),dateCollectionTime.get("endDate"),collectorid); -// }catch (Exception e) { -// logger.error("pacs二次采集出错!---"+e.getMessage()); -// } -// -// } -// } + @Scheduled(cron ="0 0 0 * * ?") + public void collect(){ + String intervalDayOpen = String.valueOf(FileUtils.getJsonByName("intervalDayOpen")); + if (intervalDayOpen.equals("1")){ + try{ + String collectorid = String.valueOf(FileUtils.getJsonByName("collectorid")); + int day = Integer.parseInt(String.valueOf(FileUtils.getJsonByName("intervalDay"))); + logger.info("0点采集前"+day+"天出院数据"); + Map dateCollectionTime = getDateCollectionTime(new Date(), day); + logger.info("采集"+dateCollectionTime.get("startDate")+"至-------"+dateCollectionTime.get("endDate")+"数据"); + bgtsService.collectByDate(dateCollectionTime.get("startDate"),dateCollectionTime.get("endDate"),collectorid,String.valueOf(0)); + }catch (Exception e) { + logger.error("pacs二次采集出错!---"+e.getMessage()); + } + + } + } /** diff --git a/src/main/java/com/docus/bgts/controller/BgtsController.java b/src/main/java/com/docus/bgts/controller/BgtsController.java index 2bd1e7c..84e52bf 100644 --- a/src/main/java/com/docus/bgts/controller/BgtsController.java +++ b/src/main/java/com/docus/bgts/controller/BgtsController.java @@ -220,4 +220,5 @@ public class BgtsController { + } diff --git a/src/main/java/com/docus/bgts/facade/IAfCollectTaskService.java b/src/main/java/com/docus/bgts/facade/IAfCollectTaskService.java index f9d5d06..742b32f 100644 --- a/src/main/java/com/docus/bgts/facade/IAfCollectTaskService.java +++ b/src/main/java/com/docus/bgts/facade/IAfCollectTaskService.java @@ -44,6 +44,14 @@ public interface IAfCollectTaskService extends IService { */ List getjzhByDate(String startDate,String endDate,int size,int current); + /** + * 通过出院日期获取死亡患者jzh + * @param startDate 开始日期 + * @param endDate 结束日期 + * @return + */ + List getjzhByDateAndIsDead(String startDate,String endDate,int size,int current); + /** * 通过记帐号获取唯一报告单号 * @param patientIds diff --git a/src/main/java/com/docus/bgts/facade/IBgtsService.java b/src/main/java/com/docus/bgts/facade/IBgtsService.java index d79b154..6bc2e54 100644 --- a/src/main/java/com/docus/bgts/facade/IBgtsService.java +++ b/src/main/java/com/docus/bgts/facade/IBgtsService.java @@ -65,7 +65,7 @@ public interface IBgtsService { * @param endDate 结束时间 * @param collectorId 采集器编号 */ - void collectByDate(String startDate,String endDate,String collectorId); + void collectByDate(String startDate,String endDate,String collectorId,String isDead); /** * 全量采集 diff --git a/src/main/java/com/docus/bgts/mapper/dbmysql/AfCollectTaskMapper.java b/src/main/java/com/docus/bgts/mapper/dbmysql/AfCollectTaskMapper.java index 129e5fb..345eb22 100644 --- a/src/main/java/com/docus/bgts/mapper/dbmysql/AfCollectTaskMapper.java +++ b/src/main/java/com/docus/bgts/mapper/dbmysql/AfCollectTaskMapper.java @@ -41,6 +41,14 @@ public interface AfCollectTaskMapper extends BaseMapper { */ List getjzhByDate(@Param("startDate") String startDate, @Param("endDate") String endDate, @RequestParam("size") int size, @RequestParam("current") int current); + /** + * 通过出院日期获取死亡患者jzh + * @param startDate 开始日期 + * @param endDate 结束日期 + * @return + */ + List getjzhByDateAndIsDead(@Param("startDate") String startDate, @Param("endDate") String endDate, @RequestParam("size") int size, @RequestParam("current") int current); + /** * 通过记帐号与采集器编号获取唯一报告单号 * @param patientIds 记帐号集合 diff --git a/src/main/java/com/docus/bgts/service/AfCollectTaskServiceImpl.java b/src/main/java/com/docus/bgts/service/AfCollectTaskServiceImpl.java index 57dd73c..ee88a8b 100644 --- a/src/main/java/com/docus/bgts/service/AfCollectTaskServiceImpl.java +++ b/src/main/java/com/docus/bgts/service/AfCollectTaskServiceImpl.java @@ -201,6 +201,12 @@ public class AfCollectTaskServiceImpl extends ServiceImpl getjzhByDateAndIsDead(String startDate, String endDate, int size, int current) { + List patientIds = afCollectTaskMapper.getjzhByDateAndIsDead(startDate, endDate,size,current); + return patientIds; + } + @Override public List getC1ByPatientId(List patientIds, String collectorId) { List> batchPatientIds = Lists.partition(patientIds, MAX_SIZE_PER_TIME); diff --git a/src/main/java/com/docus/bgts/service/BgtsServiceImpl.java b/src/main/java/com/docus/bgts/service/BgtsServiceImpl.java index 6141c2b..877af99 100644 --- a/src/main/java/com/docus/bgts/service/BgtsServiceImpl.java +++ b/src/main/java/com/docus/bgts/service/BgtsServiceImpl.java @@ -437,10 +437,11 @@ public class BgtsServiceImpl implements IBgtsService { String collectStartDate = String.valueOf(FileUtils.getJsonByName("collectStartDate"))+"\t00:00:00"; String collectEndDate = String.valueOf(FileUtils.getJsonByName("collectEndDate"))+"\t23:59:59"; String collectorid = String.valueOf(FileUtils.getJsonByName("collectorid")); + String isDead = String.valueOf(FileUtils.getJsonByName("isDead")); CountDownLatch countDownLatch = new CountDownLatch(1); threadPoolExecutor.execute(() -> { try { - collectByDate(collectStartDate, collectEndDate, collectorid); + collectByDate(collectStartDate, collectEndDate, collectorid,isDead); }catch (Exception e) { logger.info("按需采集出错{}",e.getMessage()); } @@ -480,7 +481,7 @@ public class BgtsServiceImpl implements IBgtsService { } @Override - public void collectByDate(String startDate, String endDate, String collectorId) { + public void collectByDate(String startDate, String endDate, String collectorId,String isDead) { logger.info("按需采集开始----------开始时间---" + startDate + "------结束时间---" + endDate); //页码 int startrow; @@ -490,7 +491,13 @@ public class BgtsServiceImpl implements IBgtsService { try{ List patientIds; for (startrow = 0; ; startrow += 10) { - patientIds = afCollectTaskService.getjzhByDate(startDate, endDate, startrow, endrow); + if (("1").equals(isDead)){ + patientIds=afCollectTaskService.getjzhByDateAndIsDead(startDate, endDate, startrow, endrow); + logger.info("按需采集死亡患者----"); + }else { + patientIds = afCollectTaskService.getjzhByDate(startDate, endDate, startrow, endrow); + } + if (null == patientIds || patientIds.size() <= 0) { logger.info("未查询到按需采集患者!"); break; @@ -1142,11 +1149,20 @@ public class BgtsServiceImpl implements IBgtsService { key = new String[2]; examNo = examInfo.element(String.valueOf(FileUtils.getJsonByName("examNo"))); List examItemInfo = examInfo.elements("ExamItemInfo"); - for (Element element1 : examItemInfo) { - if (examNo != null) { - key[0] = examNo.getText(); + if (examItemInfo.size()>1){ + for (Element element1 : examItemInfo) { + if (examNo != null) { + key[0] = examNo.getText(); + } + key[1] = element1.element(String.valueOf(FileUtils.getJsonByName("examItemName"))).getText(); } + }else { + for (Element element1 : examItemInfo) { + if (examNo != null) { + key[0] = examNo.getText(); + } key[1] = element1.element(String.valueOf(FileUtils.getJsonByName("examItemName"))).getText(); + } } exams.add(key); } diff --git a/src/main/resources/mapper/dbmysql/AfCollectTaskMapper.xml b/src/main/resources/mapper/dbmysql/AfCollectTaskMapper.xml index e521017..5df95b1 100644 --- a/src/main/resources/mapper/dbmysql/AfCollectTaskMapper.xml +++ b/src/main/resources/mapper/dbmysql/AfCollectTaskMapper.xml @@ -128,6 +128,13 @@ and `admiss_times` = #{basic.admissTimes} +