From e2635b38b2403b626df32ce436a158bcddaafd9d Mon Sep 17 00:00:00 2001 From: liquanyu Date: Wed, 5 Apr 2017 11:51:55 +0800 Subject: [PATCH] update --- .../operate/web/facade/AreaCountFacade.java | 166 ++++++++++++++++----- 1 file changed, 126 insertions(+), 40 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 4ccab0e..b98d8c2 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 @@ -338,20 +338,23 @@ public class AreaCountFacade { " A.HOSPITAL_NO,\n" + " A.HOSPITAL_NAME,\n" + " A.YCY_STSTEM_ID\n" + - " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO\n" ; - if (StringUtils.isNotEmpty(hospitalId)) - { - countSql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'"; - } - else - { - String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); - if (StringUtils.isNotEmpty(hospitals)) - { - countSql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals; - } + " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO " ; - } + countSql+= getTicketSql(time,hospitalId,provinceId,cityId,areaId,userId); + +// if (StringUtils.isNotEmpty(hospitalId)) +// { +// countSql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'"; +// } +// else +// { +// String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); +// if (StringUtils.isNotEmpty(hospitals)) +// { +// countSql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals; +// } +// +// } countSql+=" GROUP BY ROLLUP("+groupBySql1+") ORDER BY 1,2,3"; System.out.println("basesql===="+sql1); @@ -1174,20 +1177,22 @@ public class AreaCountFacade { " A.HOSPITAL_NO,\n" + " A.HOSPITAL_NAME,\n" + " A.YCY_STSTEM_ID\n" + - " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO\n" ; - if (StringUtils.isNotEmpty(hospitalId)) - { - countSql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'"; - } - else - { - String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); - if (StringUtils.isNotEmpty(hospitals)) - { - countSql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals; - } + " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO " ; - } + countSql+=getNodeSql(pointType,time,hospitalId,provinceId,cityId,areaId,userId); +// if (StringUtils.isNotEmpty(hospitalId)) +// { +// countSql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'"; +// } +// else +// { +// String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); +// if (StringUtils.isNotEmpty(hospitals)) +// { +// countSql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals; +// } +// +// } countSql+=" GROUP BY ROLLUP("+groupBySql1+" ) ORDER BY 1,2,3"; @@ -1332,19 +1337,21 @@ public class AreaCountFacade { " A.HOSPITAL_NAME,\n" + " A.YCY_STSTEM_ID\n" + " ) BB ON AAA.HOSPITAL_NO = BB.HOSPITAL_NO "; - if (StringUtils.isNotEmpty(hospitalId)) - { - sql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'"; - } - else - { - String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); - if (StringUtils.isNotEmpty(hospitals)) - { - sql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals; - } + sql+=getNodeSql(pointType,time,hospitalId,provinceId,cityId,areaId,userId); - } +// if (StringUtils.isNotEmpty(hospitalId)) +// { +// sql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'"; +// } +// else +// { +// String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); +// if (StringUtils.isNotEmpty(hospitals)) +// { +// sql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals; +// } +// +// } sql+=" ORDER BY 1,2,3"; System.out.println("sql===="+sql); System.out.println("countSql===="+countSql); @@ -1867,9 +1874,88 @@ public class AreaCountFacade { return sql; } - private String getNodeSql() + private String getNodeSql(Integer pointType, String time, String hospitalId, String provinceId, String cityId, String areaId, Integer userId) { - return null; + String sql = " WHERE AAA.Ycy_Ststem_Id IN ( " + + " SELECT DISTINCT A.YCY_STSTEM_ID " + + " FROM ODS_D_HOSPITAL A " + + " INNER JOIN ODS_F_EXAMINE_HISTORY B ON A.HOSPITAL_NO=B.HOSPITAL_NO " ; + if (pointType != null && pointType == 1){ + sql+=" AND B.NODE_ID=2 "; + } + sql+=" INNER JOIN ODS_F_GRAVIDA_RECORD C ON B.RECORD_ID=C.RECORD_ID WHERE 1=1" ; + if (StringUtils.isNotEmpty(time)) + { + String startTime = time.split(" - ")[0]; + String endTime = time.split(" - ")[1]; + sql+=" AND B.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 " + + " FROM ODS_D_HOSPITAL A " + + " INNER JOIN ODS_F_GRAVIDA_RECORD B ON A.HOSPITAL_NO=B.HOSPITAL_NO " + + " WHERE 1= 1 "; + if (StringUtils.isNotEmpty(time)) + { + String startTime = time.split(" - ")[0]; + String endTime = time.split(" - ")[1]; + sql+=" AND B.CREATE_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; } } \ No newline at end of file -- 1.8.3.1