Commit dd441a8c82cce937c72666f3361034925210cc17
1 parent
70643a0256
Exists in
master
and in
6 other branches
筛查统计
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"; |