Commit 3c80f195c8b0eb5a479257b7883970c73b69c6ea
1 parent
b42af41404
Exists in
master
and in
6 other branches
追访相关
Showing 4 changed files with 84 additions and 9 deletions
- platform-dal/src/main/java/com/lyms/platform/pojo/TrackDown.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java
platform-dal/src/main/java/com/lyms/platform/pojo/TrackDown.java
View file @
3c80f19
| ... | ... | @@ -58,6 +58,11 @@ |
| 58 | 58 | private Date reservatDate; |
| 59 | 59 | |
| 60 | 60 | /** |
| 61 | + * 追访结果 | |
| 62 | + */ | |
| 63 | + private String result; | |
| 64 | + | |
| 65 | + /** | |
| 61 | 66 | * 追访转接 |
| 62 | 67 | */ |
| 63 | 68 | private Integer trackDownTransfer; |
| ... | ... | @@ -193,6 +198,14 @@ |
| 193 | 198 | |
| 194 | 199 | public void setTrackDownDateType(Integer trackDownDateType) { |
| 195 | 200 | this.trackDownDateType = trackDownDateType; |
| 201 | + } | |
| 202 | + | |
| 203 | + public String getResult() { | |
| 204 | + return result; | |
| 205 | + } | |
| 206 | + | |
| 207 | + public void setResult(String result) { | |
| 208 | + this.result = result; | |
| 196 | 209 | } |
| 197 | 210 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java
View file @
3c80f19
| ... | ... | @@ -23,6 +23,12 @@ |
| 23 | 23 | private ITrackDownService trackDownService; |
| 24 | 24 | |
| 25 | 25 | @ResponseBody |
| 26 | + @RequestMapping(value = "/init", method = RequestMethod.GET) | |
| 27 | + public BaseResponse init() { | |
| 28 | + return trackDownService.init(); | |
| 29 | + } | |
| 30 | + | |
| 31 | + @ResponseBody | |
| 26 | 32 | @TokenRequired |
| 27 | 33 | @RequestMapping(value = "/all", method = RequestMethod.GET) |
| 28 | 34 | public BaseResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, @RequestParam Integer page, @RequestParam Integer limit, HttpServletRequest request) { |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java
View file @
3c80f19
| 1 | 1 | package com.lyms.platform.operate.web.service.impl; |
| 2 | 2 | |
| 3 | 3 | import com.lyms.platform.biz.service.TrackDownService; |
| 4 | -import com.lyms.platform.common.enums.FmTypeEnums; | |
| 5 | -import com.lyms.platform.common.enums.TrackDownDateEnums; | |
| 6 | -import com.lyms.platform.common.enums.TrackDownTransferEnums; | |
| 7 | -import com.lyms.platform.common.enums.YnEnums; | |
| 4 | +import com.lyms.platform.common.enums.*; | |
| 8 | 5 | import com.lyms.platform.common.result.BaseResponse; |
| 9 | 6 | import com.lyms.platform.common.result.PageResult; |
| 10 | 7 | import com.lyms.platform.common.result.RespBuilder; |
| 11 | 8 | import com.lyms.platform.common.utils.DateUtil; |
| 9 | +import com.lyms.platform.common.utils.EnumUtil; | |
| 12 | 10 | import com.lyms.platform.common.utils.StringUtils; |
| 13 | 11 | import com.lyms.platform.operate.web.facade.AutoMatchFacade; |
| 14 | 12 | import com.lyms.platform.operate.web.service.ITrackDownService; |
| 15 | 13 | import com.lyms.platform.operate.web.utils.CollectionUtils; |
| 16 | 14 | import com.lyms.platform.operate.web.utils.MongoUtil; |
| 15 | +import com.lyms.platform.permission.dao.master.CouponMapper; | |
| 17 | 16 | import com.lyms.platform.pojo.*; |
| 18 | 17 | import org.springframework.beans.factory.annotation.Autowired; |
| 19 | 18 | import org.springframework.data.domain.Sort; |
| ... | ... | @@ -39,6 +38,9 @@ |
| 39 | 38 | @Autowired |
| 40 | 39 | private MongoUtil mongoUtil; |
| 41 | 40 | |
| 41 | + @Autowired | |
| 42 | + private CouponMapper couponMapper; | |
| 43 | + | |
| 42 | 44 | @Override |
| 43 | 45 | public BaseResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer page, Integer limit, Integer userId) { |
| 44 | 46 | String hospitalId = autoMatchFacade.getHospitalId(userId); |
| ... | ... | @@ -86,7 +88,6 @@ |
| 86 | 88 | temp.put("yj", yjCount > 0 ? 1 : isExitTrackDown(patient.getId(), TrackDownDateEnums.C)); |
| 87 | 89 | temp.put("yjcount", yjCount); // 孕检次数 = 初诊 + 复诊 |
| 88 | 90 | |
| 89 | - | |
| 90 | 91 | // 产前筛查 有产晒记录>勾勾 没有: 有产前筛查追访并且流转至下一流程 勾勾 反之xx |
| 91 | 92 | temp.put("cqsc", mongoTemplate.count(Query.query(Criteria.where("parentId").is(patient.getId()).and("yn").is(1)), AntExChuModel.class) > 0L ? 1 : isExitTrackDown(patient.getId(), TrackDownDateEnums.D)); |
| 92 | 93 | |
| ... | ... | @@ -190,8 +191,10 @@ |
| 190 | 191 | public BaseResponse list(String provinceId, String cityId, String areaId, String streetId, String key, Integer trackType, Integer page, Integer limit, Integer userId) { |
| 191 | 192 | PageResult pageResult = new PageResult(); |
| 192 | 193 | List<Map<String, Object>> restList = new ArrayList<>(); |
| 193 | - Criteria criteria = new Criteria(); | |
| 194 | - if(StringUtils.isNotEmpty(provinceId) || StringUtils.isNotEmpty(cityId) || StringUtils.isNotEmpty(areaId) || StringUtils.isNotEmpty(streetId) ) { | |
| 194 | + boolean flag = false; // 判断需不需要对patients进行查询 | |
| 195 | + Set<String> parentIds = new HashSet<>(); | |
| 196 | + if(StringUtils.isNotEmpty(provinceId) || StringUtils.isNotEmpty(cityId) || StringUtils.isNotEmpty(areaId) || StringUtils.isNotEmpty(streetId) || StringUtils.isNotEmpty(key)) { | |
| 197 | + flag = true; | |
| 195 | 198 | Criteria patientCriteria = new Criteria(); |
| 196 | 199 | if(StringUtils.isNotEmpty(provinceId)) { |
| 197 | 200 | patientCriteria.and("provinceRegisterId").is(provinceId); |
| 198 | 201 | |
| ... | ... | @@ -205,7 +208,13 @@ |
| 205 | 208 | if(StringUtils.isNotEmpty(streetId)) { |
| 206 | 209 | patientCriteria.and("streetRegisterId").is(streetId); |
| 207 | 210 | } |
| 211 | + if(StringUtils.isNotEmpty(key)) { | |
| 212 | + patientCriteria.orOperator(Criteria.where("phone").regex(key), Criteria.where("username").regex(key), Criteria.where("cardNo").is(key)); | |
| 213 | + } | |
| 208 | 214 | List<Patients> patients = mongoTemplate.find(Query.query(patientCriteria.and("yn").is(1)), Patients.class); |
| 215 | + for (Patients patient : patients) { | |
| 216 | + parentIds.add(patient.getId()); | |
| 217 | + } | |
| 209 | 218 | } |
| 210 | 219 | |
| 211 | 220 | if(trackType == TrackDownDateEnums.A.getId()) { |
| ... | ... | @@ -246,6 +255,29 @@ |
| 246 | 255 | temp.put("yyTime", trackDown == null ? "--" : DateUtil.getyyyy_MM_dd(trackDown.getReservatDate())); |
| 247 | 256 | restList.add(temp); |
| 248 | 257 | } |
| 258 | + } else { | |
| 259 | + Criteria trackDowncCriteria = new Criteria(); | |
| 260 | + if(flag) { | |
| 261 | + trackDowncCriteria.and("parentId").in(parentIds); | |
| 262 | + } | |
| 263 | + trackDowncCriteria.and("yn").is(1).and("trackDownTransfer").in(Arrays.asList(2, 3)); | |
| 264 | + PageResult mongoPage = findMongoPage(TrackDown.class, Query.query(trackDowncCriteria).with(new Sort(Sort.Direction.DESC, "created")), page, limit); | |
| 265 | + List<TrackDown> trackDowns = (List<TrackDown>) mongoPage.getGrid(); | |
| 266 | + for (TrackDown trackDown : trackDowns) { | |
| 267 | + Map<String, Object> temp = new HashMap<>(); | |
| 268 | + temp.put("id", trackDown.getId()); | |
| 269 | + temp.put("parentId", trackDown.getParentId()); | |
| 270 | + Patients patients = mongoTemplate.findById(trackDown.getParentId(), Patients.class); | |
| 271 | + if(patients != null) { | |
| 272 | + temp.put("username", patients.getUsername()); | |
| 273 | + temp.put("cardNo", StringUtils.encryCardNo(patients.getCardNo())); | |
| 274 | + temp.put("residenceAddress", mongoUtil.findAddressName(patients.getProvinceId(), patients.getCityId(), patients.getAreaId(), patients.getStreetId())); /** 居住地 */ | |
| 275 | + temp.put("phone", StringUtils.encryPhone(patients.getPhone())); | |
| 276 | + } | |
| 277 | + temp.put("end", trackDown.getResult()); // 婚检追访结果 | |
| 278 | + temp.put("trackDownTime", trackDown == null ? "--" : DateUtil.getyyyy_MM_dd(trackDown.getTrackDownDate())); // 追访时间 | |
| 279 | + temp.put("yyTime", trackDown == null ? "--" : DateUtil.getyyyy_MM_dd(trackDown.getReservatDate())); // 预约时间 | |
| 280 | + } | |
| 249 | 281 | } |
| 250 | 282 | pageResult.setGrid(restList); |
| 251 | 283 | return RespBuilder.buildSuccess(pageResult); |
| 252 | 284 | |
| ... | ... | @@ -253,12 +285,26 @@ |
| 253 | 285 | |
| 254 | 286 | @Override |
| 255 | 287 | public BaseResponse info(String patientId, Integer trackType) { |
| 256 | - return null; | |
| 288 | + List<Map<String, Object>> tabList = new ArrayList<>(); | |
| 289 | + List<TrackDown> trackDowns = mongoTemplate.find(Query.query(Criteria.where("parentId").is(patientId).and("trackType").is(trackType)), TrackDown.class); | |
| 290 | + for (TrackDown trackDown : trackDowns) { | |
| 291 | + Map<String, Object> temp = new HashMap<>(); | |
| 292 | + temp.put("trackDownDate", DateUtil.getyyyy_MM_dd_hms(trackDown.getTrackDownDate())); | |
| 293 | + temp.put("trackDownUser", couponMapper.findUserName(trackDown.getTrackDownUserId())); | |
| 294 | + temp.put("trackDownType", TrackDownTypeEnums.getName(trackDown.getTrackDownDateType())); | |
| 295 | + temp.put("result", StringUtils.isEmpty(trackDown.getResult()) ? "--" : trackDown.getResult()); | |
| 296 | + temp.put("reservatDate", DateUtil.getyyyy_MM_dd(trackDown.getReservatDate())); | |
| 297 | + tabList.add(temp); | |
| 298 | + } | |
| 299 | + return RespBuilder.buildSuccess(tabList); | |
| 257 | 300 | } |
| 258 | 301 | |
| 259 | 302 | @Override |
| 260 | 303 | public BaseResponse init() { |
| 261 | - return null; | |
| 304 | + List<Map<String, Object>> trackTypes = EnumUtil.toJson(TrackDownTypeEnums.class); // 追访方式 | |
| 305 | + List<Map<String, Object>> dataTypes = EnumUtil.toJson(TrackDownDateEnums.class); // 追访相关数据类型 | |
| 306 | + List<Map<String, Object>> transfers = EnumUtil.toJson(TrackDownTransferEnums.class); // 追访转接 | |
| 307 | + return RespBuilder.buildSuccess("trackTypes", trackTypes, "dataTypes", dataTypes, "transfers", transfers); | |
| 262 | 308 | } |
| 263 | 309 | |
| 264 | 310 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java
View file @
3c80f19
| ... | ... | @@ -330,6 +330,16 @@ |
| 330 | 330 | return null; |
| 331 | 331 | } |
| 332 | 332 | |
| 333 | + public String findPatientName(String id) { | |
| 334 | + if(StringUtils.isNotEmpty(id)) { | |
| 335 | + Patients patients = mongoTemplate.findById(id, Patients.class); | |
| 336 | + if(patients != null) { | |
| 337 | + return patients.getUsername(); | |
| 338 | + } | |
| 339 | + } | |
| 340 | + return null; | |
| 341 | + } | |
| 342 | + | |
| 333 | 343 | public String findAddressName(Object ... ids) { |
| 334 | 344 | StringBuilder sb = new StringBuilder(); |
| 335 | 345 | if(ids != null && ids.length > 0) { |