Commit e2635b38b2403b626df32ce436a158bcddaafd9d
1 parent
52c90ddb00
Exists in
master
and in
6 other branches
update
Showing 1 changed file with 126 additions and 40 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java
View file @
e2635b3
... | ... | @@ -338,20 +338,23 @@ |
338 | 338 | " A.HOSPITAL_NO,\n" + |
339 | 339 | " A.HOSPITAL_NAME,\n" + |
340 | 340 | " A.YCY_STSTEM_ID\n" + |
341 | - " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO\n" ; | |
342 | - if (StringUtils.isNotEmpty(hospitalId)) | |
343 | - { | |
344 | - countSql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'"; | |
345 | - } | |
346 | - else | |
347 | - { | |
348 | - String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); | |
349 | - if (StringUtils.isNotEmpty(hospitals)) | |
350 | - { | |
351 | - countSql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals; | |
352 | - } | |
341 | + " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO " ; | |
353 | 342 | |
354 | - } | |
343 | + countSql+= getTicketSql(time,hospitalId,provinceId,cityId,areaId,userId); | |
344 | + | |
345 | +// if (StringUtils.isNotEmpty(hospitalId)) | |
346 | +// { | |
347 | +// countSql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'"; | |
348 | +// } | |
349 | +// else | |
350 | +// { | |
351 | +// String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); | |
352 | +// if (StringUtils.isNotEmpty(hospitals)) | |
353 | +// { | |
354 | +// countSql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals; | |
355 | +// } | |
356 | +// | |
357 | +// } | |
355 | 358 | countSql+=" GROUP BY ROLLUP("+groupBySql1+") ORDER BY 1,2,3"; |
356 | 359 | |
357 | 360 | System.out.println("basesql===="+sql1); |
358 | 361 | |
... | ... | @@ -1174,20 +1177,22 @@ |
1174 | 1177 | " A.HOSPITAL_NO,\n" + |
1175 | 1178 | " A.HOSPITAL_NAME,\n" + |
1176 | 1179 | " A.YCY_STSTEM_ID\n" + |
1177 | - " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO\n" ; | |
1178 | - if (StringUtils.isNotEmpty(hospitalId)) | |
1179 | - { | |
1180 | - countSql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'"; | |
1181 | - } | |
1182 | - else | |
1183 | - { | |
1184 | - String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); | |
1185 | - if (StringUtils.isNotEmpty(hospitals)) | |
1186 | - { | |
1187 | - countSql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals; | |
1188 | - } | |
1180 | + " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO " ; | |
1189 | 1181 | |
1190 | - } | |
1182 | + countSql+=getNodeSql(pointType,time,hospitalId,provinceId,cityId,areaId,userId); | |
1183 | +// if (StringUtils.isNotEmpty(hospitalId)) | |
1184 | +// { | |
1185 | +// countSql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'"; | |
1186 | +// } | |
1187 | +// else | |
1188 | +// { | |
1189 | +// String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); | |
1190 | +// if (StringUtils.isNotEmpty(hospitals)) | |
1191 | +// { | |
1192 | +// countSql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals; | |
1193 | +// } | |
1194 | +// | |
1195 | +// } | |
1191 | 1196 | countSql+=" GROUP BY ROLLUP("+groupBySql1+" ) ORDER BY 1,2,3"; |
1192 | 1197 | |
1193 | 1198 | |
1194 | 1199 | |
... | ... | @@ -1332,19 +1337,21 @@ |
1332 | 1337 | " A.HOSPITAL_NAME,\n" + |
1333 | 1338 | " A.YCY_STSTEM_ID\n" + |
1334 | 1339 | " ) BB ON AAA.HOSPITAL_NO = BB.HOSPITAL_NO "; |
1335 | - if (StringUtils.isNotEmpty(hospitalId)) | |
1336 | - { | |
1337 | - sql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'"; | |
1338 | - } | |
1339 | - else | |
1340 | - { | |
1341 | - String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); | |
1342 | - if (StringUtils.isNotEmpty(hospitals)) | |
1343 | - { | |
1344 | - sql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals; | |
1345 | - } | |
1340 | + sql+=getNodeSql(pointType,time,hospitalId,provinceId,cityId,areaId,userId); | |
1346 | 1341 | |
1347 | - } | |
1342 | +// if (StringUtils.isNotEmpty(hospitalId)) | |
1343 | +// { | |
1344 | +// sql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'"; | |
1345 | +// } | |
1346 | +// else | |
1347 | +// { | |
1348 | +// String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); | |
1349 | +// if (StringUtils.isNotEmpty(hospitals)) | |
1350 | +// { | |
1351 | +// sql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals; | |
1352 | +// } | |
1353 | +// | |
1354 | +// } | |
1348 | 1355 | sql+=" ORDER BY 1,2,3"; |
1349 | 1356 | System.out.println("sql===="+sql); |
1350 | 1357 | System.out.println("countSql===="+countSql); |
1351 | 1358 | |
... | ... | @@ -1867,10 +1874,89 @@ |
1867 | 1874 | return sql; |
1868 | 1875 | } |
1869 | 1876 | |
1870 | - private String getNodeSql() | |
1877 | + private String getNodeSql(Integer pointType, String time, String hospitalId, String provinceId, String cityId, String areaId, Integer userId) | |
1871 | 1878 | { |
1872 | 1879 | |
1873 | - return null; | |
1880 | + String sql = " WHERE AAA.Ycy_Ststem_Id IN ( " + | |
1881 | + " SELECT DISTINCT A.YCY_STSTEM_ID " + | |
1882 | + " FROM ODS_D_HOSPITAL A " + | |
1883 | + " INNER JOIN ODS_F_EXAMINE_HISTORY B ON A.HOSPITAL_NO=B.HOSPITAL_NO " ; | |
1884 | + if (pointType != null && pointType == 1){ | |
1885 | + sql+=" AND B.NODE_ID=2 "; | |
1886 | + } | |
1887 | + sql+=" INNER JOIN ODS_F_GRAVIDA_RECORD C ON B.RECORD_ID=C.RECORD_ID WHERE 1=1" ; | |
1888 | + if (StringUtils.isNotEmpty(time)) | |
1889 | + { | |
1890 | + String startTime = time.split(" - ")[0]; | |
1891 | + String endTime = time.split(" - ")[1]; | |
1892 | + sql+=" AND B.EXAMINE_DATE BETWEEN TO_DATE('"+startTime+"','yyyy-mm-dd') AND TO_DATE('"+endTime+"','yyyy-mm-dd')"; | |
1893 | + } | |
1894 | + if (StringUtils.isNotEmpty(provinceId)) | |
1895 | + { | |
1896 | + sql += " AND A.PROVINCE_ID= '"+provinceId+"'"; | |
1897 | + } | |
1898 | + | |
1899 | + if (StringUtils.isNotEmpty(cityId)) | |
1900 | + { | |
1901 | + sql+= " AND A.CITY_ID= '" +cityId+"'"; | |
1902 | + } | |
1903 | + | |
1904 | + if (StringUtils.isNotEmpty(areaId)) | |
1905 | + { | |
1906 | + sql+= " AND A.AREA_COUNTY_ID= '" +areaId+"'"; | |
1907 | + } | |
1908 | + if (StringUtils.isNotEmpty(hospitalId)) | |
1909 | + { | |
1910 | + sql+=" AND A.YCY_STSTEM_ID= '" +hospitalId+"'"; | |
1911 | + } | |
1912 | + else | |
1913 | + { | |
1914 | + String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); | |
1915 | + if (StringUtils.isNotEmpty(hospitals)) | |
1916 | + { | |
1917 | + sql+=" AND A.YCY_STSTEM_ID IN " +hospitals; | |
1918 | + } | |
1919 | + | |
1920 | + } | |
1921 | + sql+=" UNION SELECT DISTINCT A.YCY_STSTEM_ID " + | |
1922 | + " FROM ODS_D_HOSPITAL A " + | |
1923 | + " INNER JOIN ODS_F_GRAVIDA_RECORD B ON A.HOSPITAL_NO=B.HOSPITAL_NO " + | |
1924 | + " WHERE 1= 1 "; | |
1925 | + if (StringUtils.isNotEmpty(time)) | |
1926 | + { | |
1927 | + String startTime = time.split(" - ")[0]; | |
1928 | + String endTime = time.split(" - ")[1]; | |
1929 | + sql+=" AND B.CREATE_DATE BETWEEN TO_DATE('"+startTime+"','yyyy-mm-dd') AND TO_DATE('"+endTime+"','yyyy-mm-dd')"; | |
1930 | + } | |
1931 | + if (StringUtils.isNotEmpty(provinceId)) | |
1932 | + { | |
1933 | + sql += " AND A.PROVINCE_ID= '"+provinceId+"'"; | |
1934 | + } | |
1935 | + | |
1936 | + if (StringUtils.isNotEmpty(cityId)) | |
1937 | + { | |
1938 | + sql+= " AND A.CITY_ID= '" +cityId+"'"; | |
1939 | + } | |
1940 | + | |
1941 | + if (StringUtils.isNotEmpty(areaId)) | |
1942 | + { | |
1943 | + sql+= " AND A.AREA_COUNTY_ID= '" +areaId+"'"; | |
1944 | + } | |
1945 | + if (StringUtils.isNotEmpty(hospitalId)) | |
1946 | + { | |
1947 | + sql+=" AND A.YCY_STSTEM_ID= '" +hospitalId+"'"; | |
1948 | + } | |
1949 | + else | |
1950 | + { | |
1951 | + String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); | |
1952 | + if (StringUtils.isNotEmpty(hospitals)) | |
1953 | + { | |
1954 | + sql+=" AND A.YCY_STSTEM_ID IN " +hospitals; | |
1955 | + } | |
1956 | + | |
1957 | + } | |
1958 | + sql+=" )"; | |
1959 | + return sql; | |
1874 | 1960 | } |
1875 | 1961 | } |