From 6876993b199723c0da48bf3e0204f34c19654e4b Mon Sep 17 00:00:00 2001 From: liquanyu Date: Thu, 28 Dec 2017 11:13:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A3=80=E6=9F=A5=E6=8A=A5=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/hospitalapi/pojo/CheckResponse.java | 10 ++ .../platform/operate/web/facade/LisFacade.java | 175 ++++++--------------- .../platform/operate/web/utils/HttpClientUtil.java | 7 + 3 files changed, 61 insertions(+), 131 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/CheckResponse.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/CheckResponse.java index 18df6c3..07215ef 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/CheckResponse.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/CheckResponse.java @@ -21,9 +21,19 @@ public class CheckResponse { private String notice; /* 1:检验报告,2:影像报告 */ private Integer type; + //检验报告类别名称 + private String lisTypeName; private String title; private Date modified; + public String getLisTypeName() { + return lisTypeName; + } + + public void setLisTypeName(String lisTypeName) { + this.lisTypeName = lisTypeName; + } + private String hospitalName;//表示医院名称 public String getHospitalName() { 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 9e04418..c7be725 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 @@ -87,183 +87,95 @@ public class LisFacade { * @return */ public BaseResponse getLisAndRisData(String vcCardNo,String phone,Integer sortType,Integer userId) { + List checkByDate=new ArrayList(); - if(1 == sortType){ - List result = new ArrayList<>(); - //获取lis数据 - result.addAll(queryLisCheckList(vcCardNo,phone,userId)); + List result = queryLisCheckList(vcCardNo,phone,userId); - List keyList = new ArrayList<>(); - // 排序 - Collections.sort(result, new Comparator() { - public int compare(Object a, Object b) { - if (((CheckResponse)a).getApplyDate() == null) { - return -1; - } - if (((CheckResponse)b).getApplyDate() == null) { - return -1; - } - if (((CheckResponse)a).getApplyDate().before(((CheckResponse)b).getApplyDate())) { - return 1; - } - return -1; - } - }); + //排序检查大项 + sortLis(result); + if(1 == sortType){ + List keyList = new ArrayList<>(); for (CheckResponse check:result) { + //明细项排序 sortLisItems(check); Date date = check.getApplyDate() == null ? check.getModified() : check.getApplyDate(); String ymd = DateUtil.getyyyy_MM_dd(date); if (!keyList.contains(ymd)) { keyList.add(ymd); } - } - for(String time:keyList){ + for(String time : keyList){ List CheckType=new ArrayList(); List result2=new ArrayList<>();//存放所有检验报告(type=1) - List result3=new ArrayList<>();//存放所有影像报告(type=2) - List result4=new ArrayList<>();//存放所有其他报告 - CheckType jianyan=new CheckType(); + + CheckType jianyan = new CheckType(); jianyan.setType("检验报告"); - CheckType yingxiang=new CheckType(); - yingxiang.setType("影像报告"); - CheckType other=new CheckType(); - other.setType("其它报告"); - for(CheckResponse chre:result){ + + for(CheckResponse chre : result){ if(time.equals(DateUtil.getyyyy_MM_dd(chre.getApplyDate()))){ if(chre.getType() == 1){ result2.add(chre); - //jianyan.setTypeName(result2); - //CheckType.add(jianyan); - }else if(chre.getType() == 2){ - result3.add(chre); - //yingxiang.setTypeName(result3); - //CheckType.add(yingxiang); - }else{ - result4.add(chre); - //other.setTypeName(result4); - //CheckType.add(other); } - } } + jianyan.setTypeName(result2); CheckType.add(jianyan); - yingxiang.setTypeName(result3); - CheckType.add(yingxiang); - - other.setTypeName(result4); - CheckType.add(other); - CheckByDate CheckByDate1=new CheckByDate(); CheckByDate1.setTime(time); CheckByDate1.setTypes(CheckType); checkByDate.add(CheckByDate1); } }else{ + for (CheckResponse check : result) { + sortLisItems(check); + List checkType =new ArrayList(); - List result = new ArrayList(); + List result2 = new ArrayList<>(); - result.addAll(queryLisCheckList(vcCardNo,phone,userId)); + check.setTitle(check.getTitle()+" "+DateUtil.getyyyy_MM_dd(check.getApplyDate())); + CheckType CheckType1 = new CheckType(); + result2.add(check); - List keyList = new ArrayList<>(); - List listtype=new ArrayList<>(); - List listt = new ArrayList<>(); - // 去重 - List list = new ArrayList<>(); - Integer num=0; - for(CheckResponse check:result){ - if(check.getType()!=null && check.getType()==num){ - continue; - } - list.add(check); - num=check.getType(); - } - String t=null; - for(CheckResponse check:result){ - if(check.getTitle()!=null && check.getTitle().equals(t)){ - continue; + if(result2.size() > 0){ + CheckType1.setType(check.getTitle()); + CheckType1.setTypeName(result2); + checkType.add(CheckType1); } - listt.add(check); - t=check.getTitle(); + + CheckByDate checkByItem = new CheckByDate(); + + checkByItem.setTime("检验报告"); + checkByItem.setTypes(checkType); + checkByDate.add(checkByItem); } + } + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION).setData(checkByDate); + } - // 排序 - Collections.sort(list, new Comparator() { + // 排序 + private void sortLis(List result) + { + if (CollectionUtils.isNotEmpty(result)) + { + Collections.sort(result, new Comparator() { public int compare(Object a, Object b) { - if (((CheckResponse) a).getApplyDate() == null) { + if (((CheckResponse)a).getApplyDate() == null) { return -1; } - if (((CheckResponse) b).getApplyDate() == null) { + if (((CheckResponse)b).getApplyDate() == null) { return -1; } - if (((CheckResponse) a).getApplyDate().before(((CheckResponse) a).getApplyDate())) { + if (((CheckResponse)a).getApplyDate().before(((CheckResponse)b).getApplyDate())) { return 1; } return -1; } }); - - for (CheckResponse check:list) { - - sortLisItems(check); - - Integer ymd = check.getType(); - if (!keyList.contains(ymd.toString())) { - keyList.add(ymd.toString()); - } - - } - for(CheckResponse check:listt){ - String ty=check.getTitle(); - if(!listtype.contains(ty)){ - listtype.add(ty); - } - } - - for(String type:keyList){ - - List CheckType=new ArrayList(); - - for(String typ:listtype){ - List result2=new ArrayList<>(); - CheckType CheckType1=new CheckType(); - //CheckType1.setType(typ); - for(CheckResponse chre:result){ - if(type.equals(chre.getType().toString()) && typ.equals(chre.getTitle())){ - chre.setTitle(chre.getTitle()+" "+DateUtil.getyyyy_MM_dd(chre.getApplyDate())); - result2.add(chre); - } - - } - if(result2.size()>0){ - CheckType1.setType(typ); - CheckType1.setTypeName(result2); - CheckType.add(CheckType1); - } - } - - CheckByDate CheckByDate1=new CheckByDate(); - if("1".equals(type)){ - CheckByDate1.setTime("检验报告"); - CheckByDate1.setTypes(CheckType); - checkByDate.add(CheckByDate1); - }else if("2".equals(type)){ - CheckByDate1.setTime("影像报告"); - CheckByDate1.setTypes(CheckType); - checkByDate.add(CheckByDate1); - }else{ - CheckByDate1.setTime("其它报告"); - CheckByDate1.setTypes(CheckType); - checkByDate.add(CheckByDate1); - } - - } } - return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION).setData(checkByDate); } /** @@ -376,6 +288,8 @@ public class LisFacade { for (LisReportModel lis : lises) { CheckResponse check = new CheckResponse(); + + check.setLisTypeName(lis.getType()); check.setModified(lis.getModified()); check.setType(1); /* 1:检验报告,2:影像报告 */ check.setName(lis.getName()); @@ -410,7 +324,6 @@ public class LisFacade { //排序 sortLisReportItems(items); - //List items = lisService.queryLisItemByModel(query); if (CollectionUtils.isNotEmpty(items)) { for (LisReportItemModel checkItem : items) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HttpClientUtil.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HttpClientUtil.java index 7eb7701..159c6c8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HttpClientUtil.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HttpClientUtil.java @@ -86,6 +86,13 @@ public class HttpClientUtil { ExceptionUtils.catchException(ex, url + ": doPost syncData Error."); return null; } + finally { + if (httpPost != null) + { + httpPost.releaseConnection(); + } + + } return result; } -- 1.8.3.1