Commit 906ac169e6a92461a705721187ed7cb972747b6a

Authored by liquanyu
1 parent 72339ec9dd

筛查统计

Showing 1 changed file with 28 additions and 15 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java View file @ 906ac16
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;
6 7  
7 8  
8 9  
9 10  
10 11  
11 12  
... ... @@ -1644,29 +1645,41 @@
1644 1645 h1+=" "+cqSieveQueryRequest.getTime();
1645 1646 }
1646 1647  
  1648 + //获取用户权限医院和筛选条件的交集
  1649 + List<String> areaHospitalIds = new ArrayList<>();
  1650 +
1647 1651 DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery();
1648 1652 dataPermissionsModelQuery.setUserId(userId);
1649 1653 List<DataPermissionsModel> permissionsModels = dataPermissionService.queryPermission(dataPermissionsModelQuery);
  1654 + if (CollectionUtils.isNotEmpty(permissionsModels))
  1655 + {
  1656 + for (DataPermissionsModel permissionsModel : permissionsModels)
  1657 + {
  1658 + if (StringUtils.isNotEmpty(permissionsModel.getAreaPermission()))
  1659 + {
1650 1660  
  1661 + List<AddressBean> addressBeanList = JsonUtil.toList(permissionsModels.get(0).getAreaPermission(), AddressBean.class);
  1662 + if (CollectionUtils.isEmpty(addressBeanList))
  1663 + {
  1664 + continue;
  1665 + }
1651 1666  
1652   - boolean hasPermission = false;
1653   - if (StringUtils.isNotEmpty(cqSieveQueryRequest.getProvinceId())) {
1654   - hasPermission = areaCountFacade.hasPermissions2(cqSieveQueryRequest.getProvinceId(), 1, permissionsModels);
  1667 + for (AddressBean bean : addressBeanList)
  1668 + {
  1669 + areaHospitalIds.addAll(areaCountFacade.getCurrentUserHospPermissions(userId, bean.getP(),
  1670 + bean.getC(), bean.getA()));
  1671 + }
  1672 + }
  1673 + }
1655 1674 }
1656   - if (StringUtils.isNotEmpty(cqSieveQueryRequest.getCityId())) {
1657   - hasPermission = areaCountFacade.hasPermissions2(cqSieveQueryRequest.getProvinceId(), 2, permissionsModels);
1658   - }
1659   - if (StringUtils.isNotEmpty(cqSieveQueryRequest.getAreaId())) {
1660   - hasPermission = areaCountFacade.hasPermissions2(cqSieveQueryRequest.getProvinceId(), 3, permissionsModels);
1661   - }
  1675 +
1662 1676 List<Map<String,String>> list = new ArrayList<>();
1663   - if (hasPermission)
1664   - {
1665 1677 //获取用户权限医院和筛选条件的交集
1666   - List<String> currentUserHospPermissions = areaCountFacade.getCurrentUserHospPermissions(userId, cqSieveQueryRequest.getProvinceId(),
1667   - cqSieveQueryRequest.getCityId(), cqSieveQueryRequest.getAreaId());
1668   - list = getDiaDatas(currentUserHospPermissions, dates);
1669   - }
  1678 + List<String> currentUserHospPermissions = areaCountFacade.getCurrentUserHospPermissions(userId, cqSieveQueryRequest.getProvinceId(),
  1679 + cqSieveQueryRequest.getCityId(), cqSieveQueryRequest.getAreaId());
  1680 +
  1681 + currentUserHospPermissions.retainAll(areaHospitalIds);
  1682 + list = getDiaDatas(currentUserHospPermissions, dates);
1670 1683 response.setContentType("application/force-download");
1671 1684 response.setHeader("Content-Disposition", "attachment;filename=" + new String(("产前诊断及新生儿疾病筛查工作情况表.xls").getBytes("UTF-8"), "ISO-8859-1"));
1672 1685 String path = this.getClass().getResource("/").getPath()+ "whfy_diagnosis.xls";