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(); |