Commit dd441a8c82cce937c72666f3361034925210cc17

Authored by liquanyu
1 parent 70643a0256

筛查统计

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";