Commit 349d20231a049c4f168f83f5fec593bce61d2cb1

Authored by jiangjiazhi

Merge remote-tracking branch 'origin/master'

Showing 1 changed file

platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java View file @ 349d202
... ... @@ -93,8 +93,8 @@
93 93 " AAA.HOSPITAL_NAME," +
94 94 " AAA.HOSPITAL_NO," +
95 95 " AAA.YCY_STSTEM_ID, " +
96   - " AA.FF_RS AS FF_RS, " +
97   - " AA.FF_JS AS FF_JS, " +
  96 + " (CASE WHEN FF_RS IS NULL THEN 0 ELSE FF_RS END) AS FF_RS," +
  97 + " (CASE WHEN FF_JS IS NULL THEN 0 ELSE FF_JS END) AS FF_JS," +
98 98 " (CASE WHEN SY_RS IS NULL THEN 0 ELSE SY_RS END) AS SY_RS," +
99 99 " (CASE WHEN SY_JS IS NULL THEN 0 ELSE SY_JS END) AS SY_JS," +
100 100 " (CASE WHEN TICKET_1 IS NULL THEN 0 ELSE TICKET_1 END) AS TICKET_1, " +
101 101  
... ... @@ -227,19 +227,22 @@
227 227 " A.HOSPITAL_NAME, " +
228 228 " A.YCY_STSTEM_ID " +
229 229 " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO ";
230   - if (StringUtils.isNotEmpty(hospitalId))
231   - {
232   - sql1+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'";
233   - }
234   - else
235   - {
236   - String hospitals = getPermissionStr(userId,provinceId,cityId,areaId);
237   - if (StringUtils.isNotEmpty(hospitals))
238   - {
239   - sql1+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals;
240   - }
241 230  
242   - }
  231 + sql1+= getTicketSql(time,hospitalId,provinceId,cityId,areaId,userId);
  232 +
  233 +// if (StringUtils.isNotEmpty(hospitalId))
  234 +// {
  235 +// sql1+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'";
  236 +// }
  237 +// else
  238 +// {
  239 +// String hospitals = getPermissionStr(userId,provinceId,cityId,areaId);
  240 +// if (StringUtils.isNotEmpty(hospitals))
  241 +// {
  242 +// sql1+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals;
  243 +// }
  244 +//
  245 +// }
243 246 sql1+=" ORDER BY 1,2,3";
244 247  
245 248 String groupBySql = "";
246 249  
... ... @@ -335,20 +338,23 @@
335 338 " A.HOSPITAL_NO,\n" +
336 339 " A.HOSPITAL_NAME,\n" +
337 340 " A.YCY_STSTEM_ID\n" +
338   - " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO\n" ;
339   - if (StringUtils.isNotEmpty(hospitalId))
340   - {
341   - countSql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'";
342   - }
343   - else
344   - {
345   - String hospitals = getPermissionStr(userId,provinceId,cityId,areaId);
346   - if (StringUtils.isNotEmpty(hospitals))
347   - {
348   - countSql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals;
349   - }
  341 + " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO " ;
350 342  
351   - }
  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 +// }
352 358 countSql+=" GROUP BY ROLLUP("+groupBySql1+") ORDER BY 1,2,3";
353 359  
354 360 System.out.println("basesql===="+sql1);
355 361  
... ... @@ -1171,20 +1177,22 @@
1171 1177 " A.HOSPITAL_NO,\n" +
1172 1178 " A.HOSPITAL_NAME,\n" +
1173 1179 " A.YCY_STSTEM_ID\n" +
1174   - " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO\n" ;
1175   - if (StringUtils.isNotEmpty(hospitalId))
1176   - {
1177   - countSql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'";
1178   - }
1179   - else
1180   - {
1181   - String hospitals = getPermissionStr(userId,provinceId,cityId,areaId);
1182   - if (StringUtils.isNotEmpty(hospitals))
1183   - {
1184   - countSql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals;
1185   - }
  1180 + " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO " ;
1186 1181  
1187   - }
  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 +// }
1188 1196 countSql+=" GROUP BY ROLLUP("+groupBySql1+" ) ORDER BY 1,2,3";
1189 1197  
1190 1198  
1191 1199  
... ... @@ -1329,19 +1337,21 @@
1329 1337 " A.HOSPITAL_NAME,\n" +
1330 1338 " A.YCY_STSTEM_ID\n" +
1331 1339 " ) BB ON AAA.HOSPITAL_NO = BB.HOSPITAL_NO ";
1332   - if (StringUtils.isNotEmpty(hospitalId))
1333   - {
1334   - sql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'";
1335   - }
1336   - else
1337   - {
1338   - String hospitals = getPermissionStr(userId,provinceId,cityId,areaId);
1339   - if (StringUtils.isNotEmpty(hospitals))
1340   - {
1341   - sql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals;
1342   - }
  1340 + sql+=getNodeSql(pointType,time,hospitalId,provinceId,cityId,areaId,userId);
1343 1341  
1344   - }
  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 +// }
1345 1355 sql+=" ORDER BY 1,2,3";
1346 1356 System.out.println("sql===="+sql);
1347 1357 System.out.println("countSql===="+countSql);
... ... @@ -1674,7 +1684,7 @@
1674 1684 Map<String, String> cnames = new LinkedHashMap<>();
1675 1685 cnames.put("examineDate", "ไบงๆฃ€ๆ—ฅๆœŸ"); //ไบงๆฃ€ๆ—ฅๆœŸ
1676 1686 cnames.put("name", "ๅง“ๅ"); //ๅง“ๅ
1677   - cnames.put("checkWeek","ไบงๆฃ€ๅญ•ๅ‘จ"); //ไบงๆฃ€ๅญ•ๅ‘จ
  1687 + cnames.put("checkWeek", "ไบงๆฃ€ๅญ•ๅ‘จ"); //ไบงๆฃ€ๅญ•ๅ‘จ
1678 1688 cnames.put("examineHistoryNum", "ไบงๆฃ€็ฌฌๆฌก"); //ไบงๆฃ€็ฌฌๆฌก
1679 1689 cnames.put("examineHospital","ไบงๆฃ€ๆœบๆž„"); //ไบงๆฃ€ๆœบๆž„
1680 1690 cnames.put("doctorName","ไบงๆฃ€ๅŒป็”Ÿ"); //ไบงๆฃ€ๅŒป็”Ÿ
... ... @@ -1768,6 +1778,185 @@
1768 1778 cnames.put("hjAddr","ๆˆท็ฑๅœฐ"); //ๆˆท็ฑๅœฐ
1769 1779 cnames.put("telNo","่”็ณป็”ต่ฏ"); //่”็ณป็”ต่ฏ
1770 1780 ResponseUtil.responseExcel(cnames,results,httpServletResponse);
  1781 + }
  1782 +
  1783 +
  1784 + /**
  1785 + *
  1786 + * @return
  1787 + */
  1788 + private String getTicketSql(String time, String hospitalId,
  1789 + String provinceId,String cityId,
  1790 + String areaId, Integer userId)
  1791 + {
  1792 +
  1793 + String sql = " WHERE AAA.YCY_STSTEM_ID IN ( " +
  1794 + " SELECT DISTINCT A.YCY_STSTEM_ID " +
  1795 + " FROM ODS_F_EXAMINE_HISTORY_ASC CC " +
  1796 + " INNER JOIN ODS_D_HOSPITAL A ON A.HOSPITAL_NO=CC.HOSPITAL_NO\n" +
  1797 + " INNER JOIN ODS_F_GRAVIDA_RECORD B ON CC.RECORD_ID=B.RECORD_ID WHERE CC.TICKETS_NO IS NOT NULL ";
  1798 +
  1799 + if (StringUtils.isNotEmpty(time))
  1800 + {
  1801 + String startTime = time.split(" - ")[0];
  1802 + String endTime = time.split(" - ")[1];
  1803 + sql+=" AND CC.EXAMINE_DATE BETWEEN TO_DATE('"+startTime+"','yyyy-mm-dd') AND TO_DATE('"+endTime+"','yyyy-mm-dd')";
  1804 + }
  1805 + if (StringUtils.isNotEmpty(provinceId))
  1806 + {
  1807 + sql += " AND A.PROVINCE_ID= '"+provinceId+"'";
  1808 + }
  1809 +
  1810 + if (StringUtils.isNotEmpty(cityId))
  1811 + {
  1812 + sql+= " AND A.CITY_ID= '" +cityId+"'";
  1813 + }
  1814 +
  1815 + if (StringUtils.isNotEmpty(areaId))
  1816 + {
  1817 + sql+= " AND A.AREA_COUNTY_ID= '" +areaId+"'";
  1818 + }
  1819 + if (StringUtils.isNotEmpty(hospitalId))
  1820 + {
  1821 + sql+=" AND A.YCY_STSTEM_ID= '" +hospitalId+"'";
  1822 + }
  1823 + else
  1824 + {
  1825 + String hospitals = getPermissionStr(userId,provinceId,cityId,areaId);
  1826 + if (StringUtils.isNotEmpty(hospitals))
  1827 + {
  1828 + sql+=" AND A.YCY_STSTEM_ID IN " +hospitals;
  1829 + }
  1830 +
  1831 + }
  1832 +
  1833 + sql+=" UNION " +
  1834 + " SELECT DISTINCT A.YCY_STSTEM_ID\n" +
  1835 + " FROM ODS_D_HOSPITAL A\n" +
  1836 + " INNER JOIN ODS_F_EXAMINE_TICKET B ON A.HOSPITAL_NO=B.HOSPITAL_NO\n" +
  1837 + " INNER JOIN ODS_F_GRAVIDA_RECORD C ON B.RECORD_ID=C.RECORD_ID\n" +
  1838 + " WHERE 1 = 1 ";
  1839 + if (StringUtils.isNotEmpty(time))
  1840 + {
  1841 + String startTime = time.split(" - ")[0];
  1842 + String endTime = time.split(" - ")[1];
  1843 + sql+=" AND B.ISSUE_DATE BETWEEN TO_DATE('"+startTime+"','yyyy-mm-dd') AND TO_DATE('"+endTime+"','yyyy-mm-dd')";
  1844 + }
  1845 + if (StringUtils.isNotEmpty(provinceId))
  1846 + {
  1847 + sql += " AND A.PROVINCE_ID= '"+provinceId+"'";
  1848 + }
  1849 +
  1850 + if (StringUtils.isNotEmpty(cityId))
  1851 + {
  1852 + sql+= " AND A.CITY_ID= '" +cityId+"'";
  1853 + }
  1854 +
  1855 + if (StringUtils.isNotEmpty(areaId))
  1856 + {
  1857 + sql+= " AND A.AREA_COUNTY_ID= '" +areaId+"'";
  1858 + }
  1859 + if (StringUtils.isNotEmpty(hospitalId))
  1860 + {
  1861 + sql+=" AND A.YCY_STSTEM_ID= '" +hospitalId+"'";
  1862 + }
  1863 + else
  1864 + {
  1865 + String hospitals = getPermissionStr(userId,provinceId,cityId,areaId);
  1866 + if (StringUtils.isNotEmpty(hospitals))
  1867 + {
  1868 + sql+=" AND A.YCY_STSTEM_ID IN " +hospitals;
  1869 + }
  1870 +
  1871 + }
  1872 +
  1873 + sql+=" )";
  1874 + return sql;
  1875 + }
  1876 +
  1877 + private String getNodeSql(Integer pointType, String time, String hospitalId, String provinceId, String cityId, String areaId, Integer userId)
  1878 + {
  1879 +
  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;
1771 1960 }
1772 1961 }