From 0665ea92ffbec8d6d61900d95be7c7df40ab2e4c Mon Sep 17 00:00:00 2001 From: liquanyu Date: Wed, 5 Apr 2017 11:34:21 +0800 Subject: [PATCH] update --- .../operate/web/facade/AreaCountFacade.java | 131 ++++++++++++++++++--- 1 file changed, 116 insertions(+), 15 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java index 4173819..4e7169d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java @@ -93,8 +93,6 @@ public class AreaCountFacade { " AAA.HOSPITAL_NAME," + " AAA.HOSPITAL_NO," + " AAA.YCY_STSTEM_ID, " + -// " AA.FF_RS AS FF_RS, " + -// " AA.FF_JS AS FF_JS, " + " (CASE WHEN FF_RS IS NULL THEN 0 ELSE FF_RS END) AS FF_RS," + " (CASE WHEN FF_JS IS NULL THEN 0 ELSE FF_JS END) AS FF_JS," + " (CASE WHEN SY_RS IS NULL THEN 0 ELSE SY_RS END) AS SY_RS," + @@ -229,19 +227,22 @@ public class AreaCountFacade { " A.HOSPITAL_NAME, " + " A.YCY_STSTEM_ID " + " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO "; - if (StringUtils.isNotEmpty(hospitalId)) - { - sql1+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'"; - } - else - { - String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); - if (StringUtils.isNotEmpty(hospitals)) - { - sql1+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals; - } - } + sql1+= getTicketSql(time,hospitalId,provinceId,cityId,areaId,userId); + +// if (StringUtils.isNotEmpty(hospitalId)) +// { +// sql1+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'"; +// } +// else +// { +// String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); +// if (StringUtils.isNotEmpty(hospitals)) +// { +// sql1+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals; +// } +// +// } sql1+=" ORDER BY 1,2,3"; String groupBySql = ""; @@ -1676,7 +1677,7 @@ public class AreaCountFacade { Map cnames = new LinkedHashMap<>(); cnames.put("examineDate", "产检日期"); //产检日期 cnames.put("name", "姓名"); //姓名 - cnames.put("checkWeek","产检孕周"); //产检孕周 + cnames.put("checkWeek", "产检孕周"); //产检孕周 cnames.put("examineHistoryNum", "产检第次"); //产检第次 cnames.put("examineHospital","产检机构"); //产检机构 cnames.put("doctorName","产检医生"); //产检医生 @@ -1771,4 +1772,104 @@ public class AreaCountFacade { cnames.put("telNo","联系电话"); //联系电话 ResponseUtil.responseExcel(cnames,results,httpServletResponse); } + + + /** + * + * @return + */ + private String getTicketSql(String time, String hospitalId, + String provinceId,String cityId, + String areaId, Integer userId) + { + + String sql = " WHERE AAA.YCY_STSTEM_ID IN ( " + + " SELECT DISTINCT A.YCY_STSTEM_ID " + + " FROM ODS_F_EXAMINE_HISTORY_ASC CC " + + " INNER JOIN ODS_D_HOSPITAL A ON A.HOSPITAL_NO=CC.HOSPITAL_NO\n" + + " INNER JOIN ODS_F_GRAVIDA_RECORD B ON CC.RECORD_ID=B.RECORD_ID WHERE CC.TICKETS_NO IS NOT NULL "; + + if (StringUtils.isNotEmpty(time)) + { + String startTime = time.split(" - ")[0]; + String endTime = time.split(" - ")[1]; + sql+=" AND C.EXAMINE_DATE BETWEEN TO_DATE('"+startTime+"','yyyy-mm-dd') AND TO_DATE('"+endTime+"','yyyy-mm-dd')"; + } + if (StringUtils.isNotEmpty(provinceId)) + { + sql += " AND A.PROVINCE_ID= '"+provinceId+"'"; + } + + if (StringUtils.isNotEmpty(cityId)) + { + sql+= " AND A.CITY_ID= '" +cityId+"'"; + } + + if (StringUtils.isNotEmpty(areaId)) + { + sql+= " AND A.AREA_COUNTY_ID= '" +areaId+"'"; + } + if (StringUtils.isNotEmpty(hospitalId)) + { + sql+=" AND A.YCY_STSTEM_ID= '" +hospitalId+"'"; + } + else + { + String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); + if (StringUtils.isNotEmpty(hospitals)) + { + sql+=" AND A.YCY_STSTEM_ID IN " +hospitals; + } + + } + + sql+=" UNION " + + " SELECT DISTINCT A.YCY_STSTEM_ID\n" + + " FROM ODS_D_HOSPITAL A\n" + + " INNER JOIN ODS_F_EXAMINE_TICKET B ON A.HOSPITAL_NO=B.HOSPITAL_NO\n" + + " INNER JOIN ODS_F_GRAVIDA_RECORD C ON B.RECORD_ID=C.RECORD_ID\n" + + " WHERE 1 = 1 "; + if (StringUtils.isNotEmpty(time)) + { + String startTime = time.split(" - ")[0]; + String endTime = time.split(" - ")[1]; + sql+=" AND B.ISSUE_DATE BETWEEN TO_DATE('"+startTime+"','yyyy-mm-dd') AND TO_DATE('"+endTime+"','yyyy-mm-dd')"; + } + if (StringUtils.isNotEmpty(provinceId)) + { + sql += " AND A.PROVINCE_ID= '"+provinceId+"'"; + } + + if (StringUtils.isNotEmpty(cityId)) + { + sql+= " AND A.CITY_ID= '" +cityId+"'"; + } + + if (StringUtils.isNotEmpty(areaId)) + { + sql+= " AND A.AREA_COUNTY_ID= '" +areaId+"'"; + } + if (StringUtils.isNotEmpty(hospitalId)) + { + sql+=" AND A.YCY_STSTEM_ID= '" +hospitalId+"'"; + } + else + { + String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); + if (StringUtils.isNotEmpty(hospitals)) + { + sql+=" AND A.YCY_STSTEM_ID IN " +hospitals; + } + + } + + sql+=" )"; + return sql; + } + + private String getNodeSql() + { + + return null; + } } \ No newline at end of file -- 1.8.3.1