Commit dd903edc507c84ae02ac00c49394de6df6dd766e
1 parent
7076409092
Exists in
master
and in
6 other branches
儿童追访区域
Showing 3 changed files with 130 additions and 34 deletions
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyAfterVisitBuildListRequest.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyAfterVisitRequest.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyAfterVisitServiceImpl.java
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(); |