Commit 349d20231a049c4f168f83f5fec593bce61d2cb1
Exists in
master
and in
6 other branches
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 | } |