Commit e2635b38b2403b626df32ce436a158bcddaafd9d

Authored by liquanyu
1 parent 52c90ddb00

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 }