Commit 9323d89606c224731932183a568749d9883ec875
1 parent
aa29a1ddf5
Exists in
master
and in
6 other branches
update
Showing 1 changed file with 68 additions and 16 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java
View file @
9323d89
| ... | ... | @@ -102,7 +102,7 @@ |
| 102 | 102 | " (CASE WHEN TICKET_3 IS NULL THEN 0 ELSE TICKET_3 END) AS TICKET_3, " + |
| 103 | 103 | " (CASE WHEN TICKET_4 IS NULL THEN 0 ELSE TICKET_4 END) AS TICKET_4, " + |
| 104 | 104 | " (CASE WHEN TICKET_5 IS NULL THEN 0 ELSE TICKET_5 END) AS TICKET_5" + |
| 105 | - " FROM ODS_D_HOSPITAL AAA INNER JOIN (SELECT A.PROVINCE_ID, " + | |
| 105 | + " FROM ODS_D_HOSPITAL AAA LEFT JOIN (SELECT A.PROVINCE_ID, " + | |
| 106 | 106 | " A.PROVINCE, " + |
| 107 | 107 | " A.CITY_ID, " + |
| 108 | 108 | " A.CITY, " + |
| ... | ... | @@ -161,7 +161,7 @@ |
| 161 | 161 | " A.HOSPITAL_NO, " + |
| 162 | 162 | " A.HOSPITAL_NAME, " + |
| 163 | 163 | " A.YCY_STSTEM_ID) AA ON AAA.HOSPITAL_NO=AA.HOSPITAL_NO" + |
| 164 | - " INNER JOIN ( " + | |
| 164 | + " LEFT JOIN ( " + | |
| 165 | 165 | " SELECT A.PROVINCE_ID, " + |
| 166 | 166 | " A.PROVINCE, " + |
| 167 | 167 | " A.CITY_ID, " + |
| 168 | 168 | |
| ... | ... | @@ -226,9 +226,22 @@ |
| 226 | 226 | " A.HOSPITAL_NO, " + |
| 227 | 227 | " A.HOSPITAL_NAME, " + |
| 228 | 228 | " A.YCY_STSTEM_ID " + |
| 229 | - " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO " + | |
| 230 | - " ORDER BY 1,2,3"; | |
| 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 | + } | |
| 231 | 241 | |
| 242 | + } | |
| 243 | + sql1+=" ORDER BY 1,2,3"; | |
| 244 | + | |
| 232 | 245 | String groupBySql = ""; |
| 233 | 246 | String groupBySql1 = ""; |
| 234 | 247 | |
| ... | ... | @@ -271,7 +284,7 @@ |
| 271 | 284 | " SUM(AA.FF_JS) AS FF_JS,\n" + |
| 272 | 285 | " SUM(SY_JS) AS SY_JS\n" + |
| 273 | 286 | " FROM ODS_D_HOSPITAL AAA \n" + |
| 274 | - " INNER JOIN (\n" + | |
| 287 | + " LEFT JOIN (\n" + | |
| 275 | 288 | " SELECT A.PROVINCE_ID,\n" + |
| 276 | 289 | " A.PROVINCE,\n" + |
| 277 | 290 | " A.CITY_ID,\n" + |
| ... | ... | @@ -297,7 +310,7 @@ |
| 297 | 310 | " A.HOSPITAL_NO,\n" + |
| 298 | 311 | " A.HOSPITAL_NAME,\n" + |
| 299 | 312 | " A.YCY_STSTEM_ID) AA ON AAA.HOSPITAL_NO=AA.HOSPITAL_NO\n" + |
| 300 | - " INNER JOIN (\n" + | |
| 313 | + " LEFT JOIN (\n" + | |
| 301 | 314 | " SELECT A.PROVINCE_ID,\n" + |
| 302 | 315 | " A.PROVINCE,\n" + |
| 303 | 316 | " A.CITY_ID,\n" + |
| 304 | 317 | |
| ... | ... | @@ -323,9 +336,22 @@ |
| 323 | 336 | " A.HOSPITAL_NAME,\n" + |
| 324 | 337 | " A.YCY_STSTEM_ID\n" + |
| 325 | 338 | " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO\n" + |
| 326 | - " GROUP BY ROLLUP("+groupBySql1+")" + | |
| 327 | - " ORDER BY 1,2,3"; | |
| 339 | + " GROUP BY ROLLUP("+groupBySql1+")" ; | |
| 340 | + if (StringUtils.isNotEmpty(hospitalId)) | |
| 341 | + { | |
| 342 | + countSql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'"; | |
| 343 | + } | |
| 344 | + else | |
| 345 | + { | |
| 346 | + String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); | |
| 347 | + if (StringUtils.isNotEmpty(hospitals)) | |
| 348 | + { | |
| 349 | + countSql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals; | |
| 350 | + } | |
| 328 | 351 | |
| 352 | + } | |
| 353 | + countSql+=" ORDER BY 1,2,3"; | |
| 354 | + | |
| 329 | 355 | System.out.println("basesql===="+sql1); |
| 330 | 356 | System.out.println("countSql====" + countSql); |
| 331 | 357 | |
| ... | ... | @@ -1024,7 +1050,7 @@ |
| 1024 | 1050 | " SUM(NUM_24) AS NUM_24,\n" + |
| 1025 | 1051 | " SUM(NUM_36) AS NUM_36,\n" + |
| 1026 | 1052 | " SUM(NUM_40) AS NUM_40\n" + |
| 1027 | - " FROM ODS_D_HOSPITAL AAA INNER JOIN " + | |
| 1053 | + " FROM ODS_D_HOSPITAL AAA LEFT JOIN " + | |
| 1028 | 1054 | " ( SELECT A.PROVINCE_ID,\n" + |
| 1029 | 1055 | " A.PROVINCE,\n" + |
| 1030 | 1056 | " A.CITY_ID,\n" + |
| ... | ... | @@ -1081,7 +1107,7 @@ |
| 1081 | 1107 | " A.HOSPITAL_NAME,\n" + |
| 1082 | 1108 | " A.YCY_STSTEM_ID\n" + |
| 1083 | 1109 | " ) AA ON AAA.HOSPITAL_NO=AA.HOSPITAL_NO" + |
| 1084 | - " INNER JOIN (\n" + | |
| 1110 | + " LEFT JOIN (\n" + | |
| 1085 | 1111 | " SELECT A.PROVINCE_ID,\n" + |
| 1086 | 1112 | " A.PROVINCE,\n" + |
| 1087 | 1113 | " A.CITY_ID,\n" + |
| 1088 | 1114 | |
| 1089 | 1115 | |
| ... | ... | @@ -1147,11 +1173,24 @@ |
| 1147 | 1173 | " A.HOSPITAL_NAME,\n" + |
| 1148 | 1174 | " A.YCY_STSTEM_ID\n" + |
| 1149 | 1175 | " ) BB ON AAA.HOSPITAL_NO=BB.HOSPITAL_NO\n" + |
| 1150 | - " GROUP BY ROLLUP("+groupBySql1+" ) " + | |
| 1151 | - " ORDER BY 1,2,3"; | |
| 1176 | + " GROUP BY ROLLUP("+groupBySql1+" ) " ; | |
| 1177 | + if (StringUtils.isNotEmpty(hospitalId)) | |
| 1178 | + { | |
| 1179 | + countSql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'"; | |
| 1180 | + } | |
| 1181 | + else | |
| 1182 | + { | |
| 1183 | + String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); | |
| 1184 | + if (StringUtils.isNotEmpty(hospitals)) | |
| 1185 | + { | |
| 1186 | + countSql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals; | |
| 1187 | + } | |
| 1152 | 1188 | |
| 1189 | + } | |
| 1190 | + countSql+=" ORDER BY 1,2,3"; | |
| 1153 | 1191 | |
| 1154 | 1192 | |
| 1193 | + | |
| 1155 | 1194 | String sql = "SELECT " + |
| 1156 | 1195 | " AAA.PROVINCE," + |
| 1157 | 1196 | " AAA.PROVINCE_ID," + |
| ... | ... | @@ -1168,7 +1207,7 @@ |
| 1168 | 1207 | " (CASE WHEN NUM_24 IS NULL THEN 0 ELSE NUM_24 END) AS NUM_24," + |
| 1169 | 1208 | " (CASE WHEN NUM_36 IS NULL THEN 0 ELSE NUM_36 END) AS NUM_36," + |
| 1170 | 1209 | " (CASE WHEN NUM_40 IS NULL THEN 0 ELSE NUM_40 END) AS NUM_40 " + |
| 1171 | - " FROM ODS_D_HOSPITAL AAA INNER JOIN (" + | |
| 1210 | + " FROM ODS_D_HOSPITAL AAA LEFT JOIN (" + | |
| 1172 | 1211 | " SELECT A.PROVINCE_ID," + |
| 1173 | 1212 | " A.PROVINCE," + |
| 1174 | 1213 | " A.CITY_ID," + |
| ... | ... | @@ -1225,7 +1264,7 @@ |
| 1225 | 1264 | " A.HOSPITAL_NO,\n" + |
| 1226 | 1265 | " A.HOSPITAL_NAME,\n" + |
| 1227 | 1266 | " A.YCY_STSTEM_ID\n" + |
| 1228 | - " ) AA ON AAA.HOSPITAL_NO=AA.HOSPITAL_NO INNER JOIN (\n" + | |
| 1267 | + " ) AA ON AAA.HOSPITAL_NO=AA.HOSPITAL_NO LEFT JOIN (\n" + | |
| 1229 | 1268 | " SELECT A.PROVINCE_ID,\n" + |
| 1230 | 1269 | " A.PROVINCE,\n" + |
| 1231 | 1270 | " A.CITY_ID,\n" + |
| ... | ... | @@ -1291,8 +1330,21 @@ |
| 1291 | 1330 | " A.HOSPITAL_NO,\n" + |
| 1292 | 1331 | " A.HOSPITAL_NAME,\n" + |
| 1293 | 1332 | " A.YCY_STSTEM_ID\n" + |
| 1294 | - " ) BB ON AAA.HOSPITAL_NO = BB.HOSPITAL_NO " + | |
| 1295 | - " ORDER BY 1,2,3"; | |
| 1333 | + " ) BB ON AAA.HOSPITAL_NO = BB.HOSPITAL_NO "; | |
| 1334 | + if (StringUtils.isNotEmpty(hospitalId)) | |
| 1335 | + { | |
| 1336 | + countSql+=" WHERE AAA.YCY_STSTEM_ID= '" +hospitalId+"'"; | |
| 1337 | + } | |
| 1338 | + else | |
| 1339 | + { | |
| 1340 | + String hospitals = getPermissionStr(userId,provinceId,cityId,areaId); | |
| 1341 | + if (StringUtils.isNotEmpty(hospitals)) | |
| 1342 | + { | |
| 1343 | + countSql+=" WHERE AAA.YCY_STSTEM_ID IN " +hospitals; | |
| 1344 | + } | |
| 1345 | + | |
| 1346 | + } | |
| 1347 | + countSql+=" ORDER BY 1,2,3"; | |
| 1296 | 1348 | System.out.println("sql===="+sql); |
| 1297 | 1349 | System.out.println("countSql===="+countSql); |
| 1298 | 1350 |