Commit dd441a8c82cce937c72666f3361034925210cc17
1 parent
70643a0256
Exists in
master
and in
1 other branch
筛查统计
Showing 2 changed files with 145 additions and 90 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java
View file @
dd441a8
| ... | ... | @@ -201,83 +201,83 @@ |
| 201 | 201 | |
| 202 | 202 | |
| 203 | 203 | |
| 204 | -// public List<String> getCurrentUserHospPermissions(Integer userId, String provinceId, String cityId, String areaId) { | |
| 205 | -// | |
| 206 | -// //权限医院列表 | |
| 207 | -// List<String> perHoapitalList = new ArrayList<>(); | |
| 208 | -// DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); | |
| 209 | -// dataPermissionsModelQuery.setUserId(userId); | |
| 210 | -// List<DataPermissionsModel> permissionsModels = dataPermissionService.queryPermission(dataPermissionsModelQuery); | |
| 211 | -// if (CollectionUtils.isNotEmpty(permissionsModels)) { | |
| 212 | -// Set<String> set = permissionsModels.get(0).getData().keySet(); | |
| 213 | -// Iterator<String> it = set.iterator(); | |
| 214 | -// while (it.hasNext()) { | |
| 215 | -// String id = it.next(); | |
| 216 | -// if (StringUtils.isNotEmpty(id)) { | |
| 217 | -// perHoapitalList.add(id); | |
| 218 | -// } | |
| 219 | -// } | |
| 220 | -// //区域查询到的医院 | |
| 221 | -// List<String> areaHospitalList = new ArrayList<>(); | |
| 222 | -// if (StringUtils.isNotEmpty(permissionsModels.get(0).getAreaPermission())) | |
| 223 | -// { | |
| 224 | -// List<AddressBean> addressBeanList = JsonUtil.toList(permissionsModels.get(0).getAreaPermission(), AddressBean.class); | |
| 225 | -// if (CollectionUtils.isNotEmpty(addressBeanList)) | |
| 226 | -// { | |
| 227 | -// for (AddressBean bean : addressBeanList) | |
| 228 | -// { | |
| 229 | -// if (StringUtils.isNotEmpty(bean.getP())) { | |
| 230 | -// OrganizationQuery organizationQuery = new OrganizationQuery(); | |
| 231 | -// organizationQuery.setYn(YnEnums.YES.getId()); | |
| 232 | -// organizationQuery.setProvinceId(bean.getP()); | |
| 233 | -// if (StringUtils.isNotEmpty(bean.getC())) { | |
| 234 | -// organizationQuery.setCityId(bean.getC()); | |
| 235 | -// if (StringUtils.isNotEmpty(bean.getA())) { | |
| 236 | -// organizationQuery.setAreaId(bean.getA()); | |
| 237 | -// } | |
| 238 | -// } | |
| 239 | -// List<Organization> organizations = organizationService.queryOrganization(organizationQuery); | |
| 240 | -// if (CollectionUtils.isNotEmpty(organizations)) { | |
| 241 | -// for (Organization org : organizations) { | |
| 242 | -// areaHospitalList.add(org.getId() + ""); | |
| 243 | -// } | |
| 244 | -// } | |
| 245 | -// organizations.clear(); | |
| 246 | -// } | |
| 247 | -// } | |
| 248 | -// } | |
| 249 | -// } | |
| 250 | -// //权限医院列表与区域列表查询到的医院交集 | |
| 251 | -// perHoapitalList.retainAll(areaHospitalList); | |
| 252 | -// } | |
| 253 | -// | |
| 254 | -// //条件查询到的医院 | |
| 255 | -// List<String> conditionHospitalList = new ArrayList<>(); | |
| 256 | -// if (StringUtils.isNotEmpty(provinceId)) { | |
| 257 | -// OrganizationQuery organizationQuery = new OrganizationQuery(); | |
| 258 | -// organizationQuery.setYn(YnEnums.YES.getId()); | |
| 259 | -// | |
| 260 | -// organizationQuery.setProvinceId(provinceId); | |
| 261 | -// if (StringUtils.isNotEmpty(cityId)) { | |
| 262 | -// organizationQuery.setCityId(cityId); | |
| 263 | -// if (StringUtils.isNotEmpty(areaId)) { | |
| 264 | -// organizationQuery.setAreaId(areaId); | |
| 265 | -// } | |
| 266 | -// } | |
| 267 | -// List<Organization> organizations = organizationService.queryOrganization(organizationQuery); | |
| 268 | -// if (CollectionUtils.isNotEmpty(organizations)) { | |
| 269 | -// for (Organization org : organizations) { | |
| 270 | -// if (null != org.getId()) { | |
| 271 | -// conditionHospitalList.add(org.getId() + ""); | |
| 272 | -// } | |
| 273 | -// } | |
| 274 | -// } | |
| 275 | -// organizations.clear(); | |
| 276 | -// } | |
| 277 | -// | |
| 278 | -// conditionHospitalList.retainAll(perHoapitalList); | |
| 279 | -// return conditionHospitalList; | |
| 280 | -// } | |
| 204 | + public List<String> getCurrentUserHospPermissions2(Integer userId, String provinceId, String cityId, String areaId) { | |
| 205 | + | |
| 206 | + //权限医院列表 | |
| 207 | + List<String> perHoapitalList = new ArrayList<>(); | |
| 208 | + DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); | |
| 209 | + dataPermissionsModelQuery.setUserId(userId); | |
| 210 | + List<DataPermissionsModel> permissionsModels = dataPermissionService.queryPermission(dataPermissionsModelQuery); | |
| 211 | + if (CollectionUtils.isNotEmpty(permissionsModels)) { | |
| 212 | + Set<String> set = permissionsModels.get(0).getData().keySet(); | |
| 213 | + Iterator<String> it = set.iterator(); | |
| 214 | + while (it.hasNext()) { | |
| 215 | + String id = it.next(); | |
| 216 | + if (StringUtils.isNotEmpty(id)) { | |
| 217 | + perHoapitalList.add(id); | |
| 218 | + } | |
| 219 | + } | |
| 220 | + //区域查询到的医院 | |
| 221 | + List<String> areaHospitalList = new ArrayList<>(); | |
| 222 | + if (StringUtils.isNotEmpty(permissionsModels.get(0).getAreaPermission())) | |
| 223 | + { | |
| 224 | + List<AddressBean> addressBeanList = JsonUtil.toList(permissionsModels.get(0).getAreaPermission(), AddressBean.class); | |
| 225 | + if (CollectionUtils.isNotEmpty(addressBeanList)) | |
| 226 | + { | |
| 227 | + for (AddressBean bean : addressBeanList) | |
| 228 | + { | |
| 229 | + if (StringUtils.isNotEmpty(bean.getP())) { | |
| 230 | + OrganizationQuery organizationQuery = new OrganizationQuery(); | |
| 231 | + organizationQuery.setYn(YnEnums.YES.getId()); | |
| 232 | + organizationQuery.setProvinceId(bean.getP()); | |
| 233 | + if (StringUtils.isNotEmpty(bean.getC())) { | |
| 234 | + organizationQuery.setCityId(bean.getC()); | |
| 235 | + if (StringUtils.isNotEmpty(bean.getA())) { | |
| 236 | + organizationQuery.setAreaId(bean.getA()); | |
| 237 | + } | |
| 238 | + } | |
| 239 | + List<Organization> organizations = organizationService.queryOrganization(organizationQuery); | |
| 240 | + if (CollectionUtils.isNotEmpty(organizations)) { | |
| 241 | + for (Organization org : organizations) { | |
| 242 | + areaHospitalList.add(org.getId() + ""); | |
| 243 | + } | |
| 244 | + } | |
| 245 | + organizations.clear(); | |
| 246 | + } | |
| 247 | + } | |
| 248 | + } | |
| 249 | + } | |
| 250 | + //权限医院列表与区域列表查询到的医院交集 | |
| 251 | + perHoapitalList.retainAll(areaHospitalList); | |
| 252 | + } | |
| 253 | + | |
| 254 | + //条件查询到的医院 | |
| 255 | + List<String> conditionHospitalList = new ArrayList<>(); | |
| 256 | + if (StringUtils.isNotEmpty(provinceId)) { | |
| 257 | + OrganizationQuery organizationQuery = new OrganizationQuery(); | |
| 258 | + organizationQuery.setYn(YnEnums.YES.getId()); | |
| 259 | + | |
| 260 | + organizationQuery.setProvinceId(provinceId); | |
| 261 | + if (StringUtils.isNotEmpty(cityId)) { | |
| 262 | + organizationQuery.setCityId(cityId); | |
| 263 | + if (StringUtils.isNotEmpty(areaId)) { | |
| 264 | + organizationQuery.setAreaId(areaId); | |
| 265 | + } | |
| 266 | + } | |
| 267 | + List<Organization> organizations = organizationService.queryOrganization(organizationQuery); | |
| 268 | + if (CollectionUtils.isNotEmpty(organizations)) { | |
| 269 | + for (Organization org : organizations) { | |
| 270 | + if (null != org.getId()) { | |
| 271 | + conditionHospitalList.add(org.getId() + ""); | |
| 272 | + } | |
| 273 | + } | |
| 274 | + } | |
| 275 | + organizations.clear(); | |
| 276 | + } | |
| 277 | + | |
| 278 | + conditionHospitalList.retainAll(perHoapitalList); | |
| 279 | + return conditionHospitalList; | |
| 280 | + } | |
| 281 | 281 | |
| 282 | 282 | |
| 283 | 283 | /** |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java
View file @
dd441a8
| 1 | 1 | package com.lyms.platform.operate.web.facade; |
| 2 | 2 | |
| 3 | +import com.lyms.platform.beans.AddressBean; | |
| 3 | 4 | import com.lyms.platform.beans.MsgRequest; |
| 4 | 5 | import com.lyms.platform.biz.service.*; |
| 5 | 6 | import com.lyms.platform.common.constants.ErrorCodeConstants; |
| ... | ... | @@ -1114,7 +1115,7 @@ |
| 1114 | 1115 | |
| 1115 | 1116 | public BaseResponse queryCqsievesReport(CqSieveQueryRequest cqSieveQueryRequest, Integer userId) { |
| 1116 | 1117 | //获取用户权限医院和筛选条件的交集 |
| 1117 | - List<String> currentUserHospPermissions = areaCountFacade.getCurrentUserHospPermissions(userId, cqSieveQueryRequest.getProvinceId(), | |
| 1118 | + List<String> currentUserHospPermissions = areaCountFacade.getCurrentUserHospPermissions2(userId, cqSieveQueryRequest.getProvinceId(), | |
| 1118 | 1119 | cqSieveQueryRequest.getCityId(), cqSieveQueryRequest.getAreaId()); |
| 1119 | 1120 | |
| 1120 | 1121 | String[] dates = null; |
| 1121 | 1122 | |
| 1122 | 1123 | |
| 1123 | 1124 | |
| 1124 | 1125 | |
| 1125 | 1126 | |
| ... | ... | @@ -1126,25 +1127,58 @@ |
| 1126 | 1127 | basicQuery.setYn(YnEnums.YES.getId()); |
| 1127 | 1128 | basicQuery.setTypeId("b7ea005c-dfac-4c2a-bdae-25239b3f44fd"); |
| 1128 | 1129 | |
| 1130 | + | |
| 1131 | + List<String> ids = new ArrayList<>(); | |
| 1132 | + | |
| 1133 | + DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); | |
| 1134 | + dataPermissionsModelQuery.setUserId(userId); | |
| 1135 | + List<DataPermissionsModel> permissionsModels = dataPermissionService.queryPermission(dataPermissionsModelQuery); | |
| 1136 | + | |
| 1129 | 1137 | int addrType = 0; |
| 1130 | 1138 | if (StringUtils.isNotEmpty(cqSieveQueryRequest.getProvinceId())) { |
| 1131 | - basicQuery.setParentId(cqSieveQueryRequest.getProvinceId()); | |
| 1139 | + ids = new ArrayList<>(); | |
| 1140 | + if (CollectionUtils.isNotEmpty(permissionsModels)) { | |
| 1141 | + List<AddressBean> addressBeanList = JsonUtil.toList(permissionsModels.get(0).getAreaPermission(), AddressBean.class); | |
| 1142 | + if (CollectionUtils.isNotEmpty(addressBeanList)) | |
| 1143 | + { | |
| 1144 | + for (AddressBean bean : addressBeanList) | |
| 1145 | + { | |
| 1146 | + if (bean.getP().equals(cqSieveQueryRequest.getProvinceId()) && StringUtils.isNotEmpty(bean.getC())) | |
| 1147 | + { | |
| 1148 | + ids.add(bean.getC()); | |
| 1149 | + } | |
| 1150 | + } | |
| 1151 | + } | |
| 1152 | + } | |
| 1153 | + basicQuery.setIds(ids); | |
| 1132 | 1154 | addrType = 1; |
| 1133 | 1155 | } |
| 1134 | 1156 | if (StringUtils.isNotEmpty(cqSieveQueryRequest.getCityId())) { |
| 1135 | - basicQuery.setParentId(cqSieveQueryRequest.getCityId()); | |
| 1136 | - addrType = 2; | |
| 1157 | + ids = new ArrayList<>(); | |
| 1158 | + if (CollectionUtils.isNotEmpty(permissionsModels)) { | |
| 1159 | + List<AddressBean> addressBeanList = JsonUtil.toList(permissionsModels.get(0).getAreaPermission(), AddressBean.class); | |
| 1160 | + if (CollectionUtils.isNotEmpty(addressBeanList)) | |
| 1161 | + { | |
| 1162 | + for (AddressBean bean : addressBeanList) | |
| 1163 | + { | |
| 1164 | + if (bean.getC().equals(cqSieveQueryRequest.getCityId()) && StringUtils.isNotEmpty(bean.getA())) | |
| 1165 | + { | |
| 1166 | + ids.add(bean.getA()); | |
| 1167 | + } | |
| 1168 | + } | |
| 1169 | + } | |
| 1170 | + } | |
| 1171 | + basicQuery.setIds(ids); | |
| 1137 | 1172 | } |
| 1138 | - if (StringUtils.isNotEmpty(cqSieveQueryRequest.getAreaId())) { | |
| 1139 | - basicQuery.setParentId(cqSieveQueryRequest.getAreaId()); | |
| 1140 | - addrType = 3; | |
| 1141 | - } | |
| 1142 | 1173 | |
| 1143 | 1174 | //x轴标题数据 |
| 1144 | 1175 | List<String> xAxis = new ArrayList<>(); |
| 1145 | - | |
| 1146 | 1176 | //获取地址列表 |
| 1147 | - List<BasicConfig> configList = basicConfigService.queryBasicConfig(basicQuery); | |
| 1177 | + List<BasicConfig> configList = new ArrayList<>(); | |
| 1178 | + if (CollectionUtils.isNotEmpty(ids)) | |
| 1179 | + { | |
| 1180 | + configList = basicConfigService.queryBasicConfig(basicQuery); | |
| 1181 | + } | |
| 1148 | 1182 | |
| 1149 | 1183 | if (CollectionUtils.isNotEmpty(configList)) { |
| 1150 | 1184 | for (BasicConfig addr : configList) { |
| 1151 | 1185 | |
| ... | ... | @@ -1330,8 +1364,11 @@ |
| 1330 | 1364 | @Autowired |
| 1331 | 1365 | private AreaCountFacade areaCountFacade; |
| 1332 | 1366 | |
| 1367 | + @Autowired | |
| 1368 | + private DataPermissionService dataPermissionService; | |
| 1333 | 1369 | |
| 1334 | - private List<Map<String,String>> getSieveDatas(List<String> hospitalIds,String[] dates,String cityId) | |
| 1370 | + | |
| 1371 | + private List<Map<String,String>> getSieveDatas(List<String> hospitalIds,String[] dates,String cityId,Integer userId) | |
| 1335 | 1372 | { |
| 1336 | 1373 | List<Map<String,String>> list = new ArrayList<>(); |
| 1337 | 1374 | |
| 1338 | 1375 | |
| ... | ... | @@ -1341,7 +1378,25 @@ |
| 1341 | 1378 | basicQuery.setTypeId("b7ea005c-dfac-4c2a-bdae-25239b3f44fd"); |
| 1342 | 1379 | basicQuery.setParentId(cityId); |
| 1343 | 1380 | |
| 1381 | + DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); | |
| 1382 | + dataPermissionsModelQuery.setUserId(userId); | |
| 1383 | + List<DataPermissionsModel> permissionsModels = dataPermissionService.queryPermission(dataPermissionsModelQuery); | |
| 1344 | 1384 | |
| 1385 | + List<String> ids = new ArrayList<>(); | |
| 1386 | + if (CollectionUtils.isNotEmpty(permissionsModels)) { | |
| 1387 | + List<AddressBean> addressBeanList = JsonUtil.toList(permissionsModels.get(0).getAreaPermission(), AddressBean.class); | |
| 1388 | + if (CollectionUtils.isNotEmpty(addressBeanList)) | |
| 1389 | + { | |
| 1390 | + for (AddressBean bean : addressBeanList) | |
| 1391 | + { | |
| 1392 | + if (bean.getC().equals(cityId) && StringUtils.isNotEmpty(bean.getA())) | |
| 1393 | + { | |
| 1394 | + ids.add(bean.getA()); | |
| 1395 | + } | |
| 1396 | + } | |
| 1397 | + } | |
| 1398 | + } | |
| 1399 | + basicQuery.setIds(ids); | |
| 1345 | 1400 | |
| 1346 | 1401 | //获取地址列表 |
| 1347 | 1402 | List<BasicConfig> configList = basicConfigService.queryBasicConfig(basicQuery); |
| ... | ... | @@ -1591,7 +1646,7 @@ |
| 1591 | 1646 | |
| 1592 | 1647 | try { |
| 1593 | 1648 | //获取用户权限医院和筛选条件的交集 |
| 1594 | - List<String> currentUserHospPermissions = areaCountFacade.getCurrentUserHospPermissions(userId, cqSieveQueryRequest.getProvinceId(), | |
| 1649 | + List<String> currentUserHospPermissions = areaCountFacade.getCurrentUserHospPermissions2(userId, cqSieveQueryRequest.getProvinceId(), | |
| 1595 | 1650 | cqSieveQueryRequest.getCityId(), cqSieveQueryRequest.getAreaId()); |
| 1596 | 1651 | String[] dates = null; |
| 1597 | 1652 | String titleName = "孕妇产前筛查和诊断情况月报表"; |
| ... | ... | @@ -1599,7 +1654,7 @@ |
| 1599 | 1654 | dates = cqSieveQueryRequest.getTime().split(" - "); |
| 1600 | 1655 | titleName+=cqSieveQueryRequest.getTime(); |
| 1601 | 1656 | } |
| 1602 | - List<Map<String,String>> list = getSieveDatas(currentUserHospPermissions,dates,cqSieveQueryRequest.getCityId()); | |
| 1657 | + List<Map<String,String>> list = getSieveDatas(currentUserHospPermissions,dates,cqSieveQueryRequest.getCityId(),userId); | |
| 1603 | 1658 | response.setContentType("application/force-download"); |
| 1604 | 1659 | response.setHeader("Content-Disposition", "attachment;filename=" + new String(("孕妇产前筛查和诊断情况月报表.xls").getBytes("UTF-8"), "ISO-8859-1")); |
| 1605 | 1660 | String path = this.getClass().getResource("/").getPath()+ "whfy_sieve.xls"; |