Commit 9323d89606c224731932183a568749d9883ec875

Authored by liquanyu
1 parent aa29a1ddf5

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