diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java index fe6190e..3de1479 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java @@ -882,17 +882,21 @@ public class DateUtil { } public static void main(String[] arg) throws Exception { - Date now = new Date(); - Date start = y_m_d_h_m_s.parse("2017-04-30 11:11:11"); - Date end = y_m_d_h_m_s.parse("2017-04-30 11:11:11"); - System.out.println(isBetween(now, start, end)); - - System.out.println(org.apache.commons.lang3.time.DateUtils.addMonths(start ,1).toLocaleString()); - long startTime = 1483372800000l; - long endTime = end.getTime(); - System.out.println(); - - Date d2 = new Date(); - System.out.println(isLtOrEq(start, end)); +// Date now = new Date(); +// Date start = y_m_d_h_m_s.parse("2017-04-30 11:11:11"); +// Date end = y_m_d_h_m_s.parse("2017-04-30 11:11:11"); +// System.out.println(isBetween(now, start, end)); +// +// System.out.println(org.apache.commons.lang3.time.DateUtils.addMonths(start ,1).toLocaleString()); +// long startTime = 1483372800000l; +// long endTime = end.getTime(); +// System.out.println(); +// +// Date d2 = new Date(); +// System.out.println(isLtOrEq(start, end)); + String startDate = DateUtil.getyyyy_MM_dd(DateUtil.parseYMD("2017-06-01"))+" 00:00:00"; + String endDate = DateUtil.getyyyy_MM_dd(DateUtil.addDay(DateUtil.parseYMD("2017-06-01"),2))+" 00:00:00"; + System.out.println(startDate); + System.out.println(endDate); } } diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java index 7c0f90c..ddb497f 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java @@ -12,6 +12,8 @@ import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.ExceptionUtils; import com.lyms.platform.common.utils.JsonUtil; +import com.lyms.platform.permission.model.LisReportItemModel; +import com.lyms.platform.permission.model.LisReportModel; import com.lyms.platform.pojo.*; import com.lyms.platform.query.LisReportQuery; import com.lyms.platform.query.PatientsQuery; @@ -668,6 +670,78 @@ public class QhdfyHisService { return result; } + public List queryQhdCheckLisInfo(String vcCardNo,String phone,String titles,String checkTime) { + System.out.println("checktime = " + checkTime); + String startDate = DateUtil.getyyyy_MM_dd(DateUtil.parseYMD(checkTime))+" 00:00:00"; + String endDate = DateUtil.getyyyy_MM_dd(DateUtil.addDay(DateUtil.parseYMD(checkTime),2))+" 00:00:00"; + + List result = new ArrayList<>(); + Connection conn = ConnTools.makeLisConnection(); + QueryRunner queryRunner = new QueryRunner(true); + if (StringUtils.isNotBlank(vcCardNo)) { + + try { + String sql = " SELECT shenqinghao as lisId, " + + " baogaoleibiemingcheng as title, " + + " '' as type, " + + " kahao as vcCardNo, " + + " huanzhexingming as name, " + + " zhuyuanhao as bhnum, " + + " nianling as age, " + + " xingbie as sex, " + + " shengqingshijian as applyTime, " + + " jianchashijian as checkTime, " + + " baogaofabushijian as publishTime, " + + " shenqingyishengmingcheng as applyDoctor, " + + " shenqingkeshimingcheng as applyDept, " + + " '' as checker, " + + " baogaofabushijian as modified, " + + " baogaofabushijian as created, " + + " phone as phone " + + " from valllist_ex_en where kahao = '"+vcCardNo+"' " + + " and baogaofabushijian >= CONVERT(DATETIME,'" + startDate +"', 120) " + + " and baogaofabushijian <= CONVERT(DATETIME,'" + endDate +"', 120) " + + " and baogaoleibiemingcheng in "+ titles + " order by baogaofabushijian desc "; + String subSql = " select " + + " sheqingdanhao as lisId, " + + " xiangmudaima as code, " + + " xiangmumingcheng as name, " + + " zifujieguo as charResult, " + + " shuzijieguo as numberResult, " + + " zifujieguo as result, " + + " shuzijieguo as resultFlag, " + + " cankaozhi as ref, " + + " jieguoleixing as resultType," + + " danwei as unit, " + + " '216' as hospitalId " + + " from valresult_ex_en " + + " where sheqingdanhao ='"; + System.out.println("lis sql = " + sql); + List lisReportList = queryRunner.query(conn, sql, new BeanListHandler(LisReportModel.class)); + if (CollectionUtils.isNotEmpty(lisReportList)) { + for (LisReportModel lisReport : lisReportList) { + if (StringUtils.isNotBlank(lisReport.getLisId())) { + List lisReportItemList = + queryRunner.query(conn, subSql+lisReport.getLisId()+"'", + new BeanListHandler(LisReportItemModel.class)); + if (CollectionUtils.isNotEmpty(lisReportItemList)) { + System.out.println("items = " + lisReportItemList.size()); + lisReport.setItems(lisReportItemList); + } + } + } + return lisReportList; + } + } catch (SQLException e) { + e.printStackTrace(); + return result; + }finally { + DbUtils.closeQuietly(conn); + } + } + return result; + } + public List> getPatientInfoList(String cardNo){ List> result = new ArrayList<>(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java index 0bf5e7d..fdfa709 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java @@ -5,6 +5,7 @@ import com.lyms.hospitalapi.pojo.CheckByDate; import com.lyms.hospitalapi.pojo.CheckItemResponse; import com.lyms.hospitalapi.pojo.CheckResponse; import com.lyms.hospitalapi.pojo.CheckType; +import com.lyms.hospitalapi.qhdfy.QhdfyHisService; import com.lyms.platform.biz.service.*; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.*; @@ -57,6 +58,9 @@ public class LisFacade { @Qualifier("commonThreadPool") private ThreadPoolTaskExecutor commonThreadPool; + @Autowired + private QhdfyHisService qhdfyHisService; + public static final String HIS_VERSION = PropertiesUtils.getPropertyValue("his_version"); /** @@ -756,7 +760,15 @@ public class LisFacade { query.setTitles(titles); query.setHospitalId(hospitalId); query.setCheckTime(DateUtil.parseYMD(checkTime)); - List lises = queryCheckLis(vcCardNo,phone,query); + List lises = null; + if ("216".equals(hospitalId)) + { + lises = qhdfyHisService.queryQhdCheckLisInfo(vcCardNo,phone,"('尿常规','[丙]血常规(24项)','血常规(24项)','血细胞分析(末梢)')", checkTime); + } + else + { + lises = queryCheckLis(vcCardNo,phone,query); + } if (CollectionUtils.isNotEmpty(lises)) { @@ -771,12 +783,17 @@ public class LisFacade { map1.put("nt",""); //尿糖 map1.put("ntt",""); //尿酮体 map1.put("nqx",""); //尿潜血 - String itemJson = model.getItemJson(); - List items = JsonUtil.toList(itemJson,LisReportItemModel.class); +// String itemJson = model.getItemJson(); +// List items = JsonUtil.toList(itemJson,LisReportItemModel.class) + List items = model.getItems();; if (CollectionUtils.isNotEmpty(items)) { for(LisReportItemModel item : items) { + if (item == null) + { + continue; + } if ("尿蛋白".equals(item.getName())) { map1.put("ndb",item.getCharResult() == null ? item.getNumberResult() : item.getCharResult()); @@ -794,32 +811,38 @@ public class LisFacade { map1.put("nqx",item.getCharResult() == null ? item.getNumberResult() : item.getCharResult()); } } + map.put("ncg",map1); } - map.put("ncg",map1); + } - else if ("[丙]血常规(24项)".equals(model.getTitle()) || "血常规(24项)".equals(model.getTitle())) + else if ("[丙]血常规(24项)".equals(model.getTitle()) || "血常规(24项)".equals(model.getTitle()) || "血细胞分析(末梢)".equals(model.getTitle())) { Map map1 = new HashMap<>(); map1.put("xhdb",""); //血红蛋白 map1.put("bxbjs","");//白细胞计数 map1.put("xxbjs",""); //血小板计数 - String itemJson = model.getItemJson(); - List items = JsonUtil.toList(itemJson,LisReportItemModel.class); +// String itemJson = model.getItemJson(); +// List items = JsonUtil.toList(itemJson,LisReportItemModel.class); + List items = model.getItems(); if (CollectionUtils.isNotEmpty(items)) { for(LisReportItemModel item : items) { + if (item == null) + { + continue; + } if ("血红蛋白".equals(item.getName())) { - map1.put("xhdb",item.getNumberResult()); + map1.put("xhdb",StringUtils.isNotEmpty(item.getResult()) ? item.getResult() : item.getNumberResult()); } else if ("白细胞计数".equals(item.getName())) { - map1.put("bxbjs",item.getNumberResult()); + map1.put("bxbjs",StringUtils.isNotEmpty(item.getResult()) ? item.getResult() : item.getNumberResult()); } else if ("血小板计数".equals(item.getName()) || "血小板".equals(item.getName())) { - map1.put("xxbjs",item.getNumberResult()); + map1.put("xxbjs",StringUtils.isNotEmpty(item.getResult()) ? item.getResult() : item.getNumberResult()); } } } @@ -841,6 +864,10 @@ public class LisFacade { { for(LisReportItemModel item : items) { + if (item == null) + { + continue; + } if ("尿蛋白".equals(item.getName())) { map1.put("ndb",item.getCharResult() == null ? item.getNumberResult() : item.getCharResult()); @@ -874,6 +901,10 @@ public class LisFacade { { for(LisReportItemModel item : items) { + if (item == null) + { + continue; + } if ("血红蛋白".equals(item.getName())) { map1.put("xhdb",item.getNumberResult());