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 | } |