Commit dd903edc507c84ae02ac00c49394de6df6dd766e

Authored by liquanyu
1 parent 7076409092

儿童追访区域

Showing 3 changed files with 130 additions and 34 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyAfterVisitBuildListRequest.java View file @ dd903ed
... ... @@ -112,6 +112,45 @@
112 112 private boolean isArea;
113 113  
114 114  
  115 +
  116 +
  117 + private String orgProvinceId;
  118 + private String orgCityId;
  119 + private String orgAreaId;
  120 + private String hospitalId;
  121 +
  122 + public String getOrgProvinceId() {
  123 + return orgProvinceId;
  124 + }
  125 +
  126 + public void setOrgProvinceId(String orgProvinceId) {
  127 + this.orgProvinceId = orgProvinceId;
  128 + }
  129 +
  130 + public String getOrgCityId() {
  131 + return orgCityId;
  132 + }
  133 +
  134 + public void setOrgCityId(String orgCityId) {
  135 + this.orgCityId = orgCityId;
  136 + }
  137 +
  138 + public String getOrgAreaId() {
  139 + return orgAreaId;
  140 + }
  141 +
  142 + public void setOrgAreaId(String orgAreaId) {
  143 + this.orgAreaId = orgAreaId;
  144 + }
  145 +
  146 + public String getHospitalId() {
  147 + return hospitalId;
  148 + }
  149 +
  150 + public void setHospitalId(String hospitalId) {
  151 + this.hospitalId = hospitalId;
  152 + }
  153 +
115 154 public String getProvinceId() {
116 155 return provinceId;
117 156 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyAfterVisitRequest.java View file @ dd903ed
... ... @@ -70,6 +70,44 @@
70 70 private String streetId;
71 71 private boolean isArea;
72 72  
  73 +
  74 + private String orgProvinceId;
  75 + private String orgCityId;
  76 + private String orgAreaId;
  77 + private String hospitalId;
  78 +
  79 + public String getOrgProvinceId() {
  80 + return orgProvinceId;
  81 + }
  82 +
  83 + public void setOrgProvinceId(String orgProvinceId) {
  84 + this.orgProvinceId = orgProvinceId;
  85 + }
  86 +
  87 + public String getOrgCityId() {
  88 + return orgCityId;
  89 + }
  90 +
  91 + public void setOrgCityId(String orgCityId) {
  92 + this.orgCityId = orgCityId;
  93 + }
  94 +
  95 + public String getOrgAreaId() {
  96 + return orgAreaId;
  97 + }
  98 +
  99 + public void setOrgAreaId(String orgAreaId) {
  100 + this.orgAreaId = orgAreaId;
  101 + }
  102 +
  103 + public String getHospitalId() {
  104 + return hospitalId;
  105 + }
  106 +
  107 + public void setHospitalId(String hospitalId) {
  108 + this.hospitalId = hospitalId;
  109 + }
  110 +
73 111 public boolean isArea() {
74 112 return isArea;
75 113 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyAfterVisitServiceImpl.java View file @ dd903ed
... ... @@ -2,6 +2,7 @@
2 2  
3 3 import com.google.common.util.concurrent.ThreadFactoryBuilder;
4 4 import com.lyms.platform.biz.service.BabyBookbuildingService;
  5 +import com.lyms.platform.biz.service.BasicConfigService;
5 6 import com.lyms.platform.biz.service.DataPermissionService;
6 7 import com.lyms.platform.common.constants.ErrorCodeConstants;
7 8 import com.lyms.platform.common.enums.SexEnum;
... ... @@ -11,6 +12,7 @@
11 12 import com.lyms.platform.common.result.BaseModel;
12 13 import com.lyms.platform.common.result.BaseResponse;
13 14 import com.lyms.platform.common.utils.*;
  15 +import com.lyms.platform.operate.web.facade.AreaCountFacade;
14 16 import com.lyms.platform.operate.web.facade.AutoMatchFacade;
15 17 import com.lyms.platform.operate.web.request.BabyAfterVisitBuildListRequest;
16 18 import com.lyms.platform.operate.web.request.BabyAfterVisitInfoDetailListRequest;
... ... @@ -18,6 +20,7 @@
18 20 import com.lyms.platform.operate.web.request.BabyAfterVisitRequest;
19 21 import com.lyms.platform.operate.web.service.BabyAfterVisitService;
20 22 import com.lyms.platform.operate.web.utils.CollectionUtils;
  23 +import com.lyms.platform.operate.web.utils.CommonsHelper;
21 24 import com.lyms.platform.operate.web.utils.EncryptUtil;
22 25 import com.lyms.platform.operate.web.utils.InitDataUtils;
23 26 import com.lyms.platform.operate.web.worker.BabyAfterVisitInfoModelWork;
24 27  
... ... @@ -25,8 +28,8 @@
25 28 import com.lyms.platform.permission.dao.master.BabyPatientExtendEarScreenMapper;
26 29 import com.lyms.platform.permission.dao.master.MasterUsersMapper;
27 30 import com.lyms.platform.permission.model.Users;
  31 +import com.lyms.platform.permission.service.OrganizationService;
28 32 import com.lyms.platform.pojo.*;
29   -import com.lyms.platform.query.DataPermissionsModelQuery;
30 33 import org.springframework.beans.factory.annotation.Autowired;
31 34 import org.springframework.data.domain.Sort;
32 35 import org.springframework.data.mongodb.core.MongoTemplate;
33 36  
34 37  
... ... @@ -61,11 +64,17 @@
61 64 private AutoMatchFacade autoMatchFacade;
62 65  
63 66 @Autowired
  67 + private AreaCountFacade areaCountFacade;
  68 +
  69 + @Autowired
64 70 private BabyBookbuildingService babyBookbuildingService;
65 71  
66 72 @Autowired
67   - private DataPermissionService dataPermissionService;
  73 + private OrganizationService organizationService;
68 74  
  75 + @Autowired
  76 + private BasicConfigService basicConfigService;
  77 +
69 78 /**
70 79 * 追访管理 - 追访列表
71 80 *
72 81  
... ... @@ -96,23 +105,16 @@
96 105 }
97 106 if (request.isArea())
98 107 {
99   - //权限所有的医院
100   - List<String> allHospitalList = new ArrayList<>();
101   - DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery();
102   - dataPermissionsModelQuery.setUserId(userId);
103   - List<DataPermissionsModel> permissionsModels = dataPermissionService.queryPermission(dataPermissionsModelQuery);
104   - if (org.apache.commons.collections.CollectionUtils.isNotEmpty(permissionsModels)) {
105   - Set<String> set = permissionsModels.get(0).getData().keySet();
106   - Iterator<String> it = set.iterator();
107   - while (it.hasNext()) {
108   - String id = it.next();
109   - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(id)) {
110   - allHospitalList.add(id);
111   - }
112   - }
  108 + //获取当前用户能看到的那些医院
  109 + List<String> hospitalIds = new ArrayList<>();
  110 + if (StringUtils.isNotEmpty(request.getHospitalId())) {
  111 + hospitalIds.add(request.getHospitalId());
  112 + } else {
  113 + //获取用户拥有的权限医院和条件筛选的医院交集
  114 + hospitalIds = areaCountFacade.getCurrentUserHospPermissions(userId, request.getOrgProvinceId(), request.getOrgCityId(), request.getOrgAreaId());
  115 + hospitalIds.add(hospitalId);
113 116 }
114   - allHospitalList.add(hospitalId);
115   - query.addCriteria(Criteria.where("hospitalId").in(allHospitalList));
  117 + query.addCriteria(Criteria.where("hospitalId").in(hospitalIds));
116 118 }
117 119 else
118 120 {
119 121  
... ... @@ -177,7 +179,20 @@
177 179 highRiskType = exists ? -1 : highRiskType;
178 180 }
179 181 objectMap.put("highRiskType", highRiskType);
  182 + if (request.isArea())
  183 + {
  184 + objectMap.put("hospitalName", CommonsHelper.getHospitalName(model.getHospitalId(), organizationService));
  185 + BabyModel babyModel = babyBookbuildingService.queryBabyBuildById(model.getBabyId());
  186 + String address = "";
  187 + if (babyModel != null)
  188 + {
  189 + address = CommonsHelper.getResidence(babyModel.getProvinceId(), babyModel.getCityId(),
  190 + babyModel.getAreaId(), babyModel.getStreetId(), babyModel.getAddress(), basicConfigService);
  191 + }
  192 + objectMap.put("address", address);
  193 + }
180 194  
  195 +
181 196 objectMap.put("mphone", "1".equals(request.getIsEncrypt()) ? EncryptUtil.numberEncrypt(model.getMphone()) : model.getMphone());
182 197 objectMap.put("mcertNo", "1".endsWith(request.getIsEncrypt()) ? EncryptUtil.numberEncrypt(model.getMcertNo()) : model.getMcertNo());
183 198 mapList.add(objectMap);
184 199  
... ... @@ -290,23 +305,16 @@
290 305  
291 306 if (request.isArea())
292 307 {
293   - //权限所有的医院
294   - List<String> allHospitalList = new ArrayList<>();
295   - DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery();
296   - dataPermissionsModelQuery.setUserId(userId);
297   - List<DataPermissionsModel> permissionsModels = dataPermissionService.queryPermission(dataPermissionsModelQuery);
298   - if (org.apache.commons.collections.CollectionUtils.isNotEmpty(permissionsModels)) {
299   - Set<String> set = permissionsModels.get(0).getData().keySet();
300   - Iterator<String> it = set.iterator();
301   - while (it.hasNext()) {
302   - String id = it.next();
303   - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(id)) {
304   - allHospitalList.add(id);
305   - }
306   - }
  308 + //获取当前用户能看到的那些医院
  309 + List<String> hospitalIds = new ArrayList<>();
  310 + if (StringUtils.isNotEmpty(request.getHospitalId())) {
  311 + hospitalIds.add(request.getHospitalId());
  312 + } else {
  313 + //获取用户拥有的权限医院和条件筛选的医院交集
  314 + hospitalIds = areaCountFacade.getCurrentUserHospPermissions(userId, request.getOrgProvinceId(), request.getOrgCityId(), request.getOrgAreaId());
  315 + hospitalIds.add(hospitalId);
307 316 }
308   - allHospitalList.add(hospitalId);
309   - query.addCriteria(Criteria.where("hospitalId").in(allHospitalList));
  317 + query.addCriteria(Criteria.where("hospitalId").in(hospitalIds));
310 318 }
311 319 else
312 320 {
... ... @@ -498,6 +506,17 @@
498 506 objectMap.put("monthsAge", DateUtil.getBabyMonthAge(model.getBirth(), new Date()));
499 507 // 脱敏处理
500 508 objectMap.put("mphone", "1".equals(request.getIsEncrypt()) ? EncryptUtil.numberEncrypt(model.getMphone()) : model.getMphone());
  509 +
  510 + if (request.isArea())
  511 + {
  512 + objectMap.put("hospitalName", CommonsHelper.getHospitalName(model.getHospitalId(), organizationService));
  513 + BabyModel babyModel = babyBookbuildingService.queryBabyBuildById(model.getBabyId());
  514 + if (babyModel != null)
  515 + {
  516 + objectMap.put("address", CommonsHelper.getResidence(babyModel.getProvinceId(), babyModel.getCityId(),
  517 + babyModel.getAreaId(), babyModel.getStreetId(), babyModel.getAddress(), basicConfigService));
  518 + }
  519 + }
501 520  
502 521 // 预约时间
503 522 Date appointmentTime = model.getAppointmentTime();