diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java index 1db8311a..d336333 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java @@ -200,12 +200,13 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS @Override public BaseResponse list(String provinceId, String cityId, String areaId, String streetId, String key, Integer trackType, Integer page, Integer limit, Integer userId) { PageResult pageResult = null; + String hospitalId = autoMatchFacade.getHospitalId(userId); + Criteria patientCriteria = new Criteria(); List> restList = new ArrayList<>(); boolean flag = false; // 判断需不需要对patients进行查询 Set parentIds = new HashSet<>(); if(StringUtils.isNotEmpty(provinceId) || StringUtils.isNotEmpty(cityId) || StringUtils.isNotEmpty(areaId) || StringUtils.isNotEmpty(streetId) || StringUtils.isNotEmpty(key)) { flag = true; - Criteria patientCriteria = new Criteria(); if(StringUtils.isNotEmpty(provinceId)) { patientCriteria.and("provinceRegisterId").is(provinceId); } @@ -221,7 +222,7 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS if(StringUtils.isNotEmpty(key)) { patientCriteria.orOperator(Criteria.where("phone").regex(key), Criteria.where("username").regex(key), Criteria.where("cardNo").is(key)); } - List patients = mongoTemplate.find(Query.query(patientCriteria.and("yn").is(1)), Patients.class); + List patients = mongoTemplate.find(Query.query(patientCriteria.and("yn").is(1).and("hospitalId").is(hospitalId)), Patients.class); for (Patients patient : patients) { parentIds.add(patient.getId()); } @@ -242,7 +243,7 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS c.and("streetId").is(streetId); } List trackDowns = mongoTemplate.find(Query.query(Criteria.where("yn").is(1).and("trackDownTransfer").in(Arrays.asList(2, 3)) - .and("trackDownDateType").is(TrackDownDateEnums.A.getId())), TrackDown.class); + .and("trackDownDateType").is(TrackDownDateEnums.B.getId()).and("hospitalId").is(hospitalId)), TrackDown.class); List residentIds = new ArrayList<>(); for (TrackDown trackDown : trackDowns) { residentIds.add(trackDown.getId()); @@ -267,30 +268,34 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS restList.add(temp); } } else { + pageResult = findMongoPage(Patients.class, Query.query(patientCriteria), page, limit); + List patients = (List) pageResult.getGrid(); + for (Patients patient : patients) { + Map temp = new HashMap<>(); + temp.put("username", patient.getUsername()); + temp.put("age", DateUtil.getAge(patient.getBirth())); + temp.put("cardNo", StringUtils.encryCardNo(patient.getCardNo())); + temp.put("residenceAddress", mongoUtil.findAddressName(patient.getProvinceId(), patient.getCityId(), patient.getAreaId(), patient.getStreetId())); /** 居住地 */ + temp.put("phone", StringUtils.encryPhone(patient.getPhone())); + temp.put("id", patient.getId()); + TrackDown trackDown = mongoTemplate.findOne(Query.query(Criteria.where("yn").is(1).and("parentId").is(patient.getId())).with(new Sort(Sort.Direction.DESC, "created")), TrackDown.class); + if(trackDown != null) { + temp.put("end", StringUtils.isEmpty(trackDown.getResult()) ? "--" : trackDown.getResult()); // 婚检追访结果 + temp.put("trackDownTime", trackDown == null ? "--" : DateUtil.getyyyy_MM_dd(trackDown.getTrackDownDate())); // 追访时间 + temp.put("yyTime", trackDown == null ? "--" : DateUtil.getyyyy_MM_dd(trackDown.getReservatDate())); // 预约时间 + } else { + temp.put("end", "--"); // 婚检追访结果 + temp.put("trackDownTime", "--"); // 追访时间 + temp.put("yyTime", "--"); // 预约时间 + } + restList.add(temp); + } Criteria trackDowncCriteria = new Criteria(); if(flag) { trackDowncCriteria.and("parentId").in(parentIds); } - trackDowncCriteria.and("yn").is(1).and("trackDownTransfer").in(Arrays.asList(2, 3)); - pageResult = findMongoPage(TrackDown.class, Query.query(trackDowncCriteria).with(new Sort(Sort.Direction.DESC, "created")), page, limit); - List trackDowns = (List) pageResult.getGrid(); - for (TrackDown trackDown : trackDowns) { - Map temp = new HashMap<>(); +// trackDowncCriteria.and("yn").is(1).and("trackDownTransfer").in(Arrays.asList(2, 3)).and("hospitalId").is(hospitalId); - temp.put("id", trackDown.getId()); - temp.put("parentId", trackDown.getParentId()); - Patients patients = mongoTemplate.findById(trackDown.getParentId(), Patients.class); - if(patients != null) { - temp.put("username", patients.getUsername()); - temp.put("age", DateUtil.getAge(patients.getBirth())); - temp.put("cardNo", StringUtils.encryCardNo(patients.getCardNo())); - temp.put("residenceAddress", mongoUtil.findAddressName(patients.getProvinceId(), patients.getCityId(), patients.getAreaId(), patients.getStreetId())); /** 居住地 */ - temp.put("phone", StringUtils.encryPhone(patients.getPhone())); - } - temp.put("end", trackDown.getResult()); // 婚检追访结果 - temp.put("trackDownTime", trackDown == null ? "--" : DateUtil.getyyyy_MM_dd(trackDown.getTrackDownDate())); // 追访时间 - temp.put("yyTime", trackDown == null ? "--" : DateUtil.getyyyy_MM_dd(trackDown.getReservatDate())); // 预约时间 - } } pageResult.setGrid(restList); return RespBuilder.buildSuccess(pageResult);