diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/TrackDown.java b/platform-dal/src/main/java/com/lyms/platform/pojo/TrackDown.java index ab79b3a..b1d0c9a 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/TrackDown.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/TrackDown.java @@ -18,6 +18,9 @@ public class TrackDown extends BaseModel { private String parentId; + /** + * 居民健康档案(妇女健康 )模型Id ResidentsArchiveModel + */ private String residentsArchiveId; private String pid; @@ -38,7 +41,7 @@ public class TrackDown extends BaseModel { private Date trackDownDate; /** - * 追访人 + * 追访人(前端直接传入的string 返回也返回string) */ private String trackDownUserId; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java index 7bec2ff..4d3c834 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java @@ -49,6 +49,12 @@ public class TrackDownController extends BaseController { return trackDownService.list(provinceId, cityId, areaId, streetId, key, trackType, page, limit, getUserId(request)); } + /** + * + * @param parentId + * @param trackType 产考TrackDownDateEnums里面的值 0代表所有 + * @return + */ @ResponseBody @RequestMapping(value = "/{parentId}/{trackType}", method = RequestMethod.GET) @TokenRequired 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 924028b..0106703 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 @@ -175,9 +175,19 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS public BaseResponse add(Integer userId, TrackDown trackDown) { String hospitalId = autoMatchFacade.getHospitalId(userId); - String parentId = mongoUtil.doHidePatient(trackDown.getParentId(), hospitalId); - trackDown.setPid(mongoUtil.getPid(parentId)); - trackDown.setParentId(parentId); + if(StringUtils.isNotEmpty(trackDown.getResidentsArchiveId())) { // 怀孕建档是lyms_resident + ResidentsArchiveModel archiveModel = mongoTemplate.findById(trackDown.getResidentsArchiveId(), ResidentsArchiveModel.class); + Patients patients = mongoTemplate.findOne(Query.query(Criteria.where("cardNo").is(archiveModel.getCertificateNum())).with(new Sort(Sort.Direction.DESC, "created")), Patients.class); + if(patients != null) { + String parentId = mongoUtil.doHidePatient(patients.getId(), hospitalId); + trackDown.setPid(mongoUtil.getPid(parentId)); + trackDown.setParentId(parentId); + } + } else { + String parentId = mongoUtil.doHidePatient(trackDown.getParentId(), hospitalId); + trackDown.setPid(mongoUtil.getPid(parentId)); + trackDown.setParentId(parentId); + } trackDown.setYn(YnEnums.YES.getId()); trackDown.setCreated(new Date()); trackDown.setHospitalId(hospitalId); @@ -217,7 +227,7 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS } } - if(trackType == TrackDownDateEnums.A.getId()) { + if(trackType == TrackDownDateEnums.B.getId()) { Criteria c = new Criteria(); if(StringUtils.isNotEmpty(provinceId)) { c.and("provinceId").is(provinceId); @@ -247,6 +257,7 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS temp.put("residenceAddress", mongoUtil.findAddressName(residentsArchiveModel.getProvinceId(), residentsArchiveModel.getCityId(), residentsArchiveModel.getAreaId(), residentsArchiveModel.getStreetId())); /** 居住地 */ temp.put("phone", StringUtils.encryPhone(residentsArchiveModel.getPhone())); TrackDown trackDown = mongoTemplate.findOne(Query.query(Criteria.where("residentsArchiveId").is(residentsArchiveModel.getId()).and("yn").is(1)).with(new Sort(Sort.Direction.DESC, "created")), TrackDown.class); + temp.put("age", DateUtil.getAge(residentsArchiveModel.getBirthday())); // 婚检追访结果 temp.put("end", trackDown == null ? "--" : TrackDownTransferEnums.getName(trackDown.getTrackDownType())); // 婚检追访时间 @@ -271,6 +282,7 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS 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())); @@ -287,11 +299,46 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS @Override public BaseResponse info(String patientId, Integer trackType) { List> tabList = new ArrayList<>(); - List trackDowns = mongoTemplate.find(Query.query(Criteria.where("parentId").is(patientId).and("trackType").is(trackType)), TrackDown.class); + if(trackType == 0) { + List trackDowns = mongoTemplate.find(Query.query(Criteria.where("parentId").is(patientId).and("yn").is(1)).with(new Sort(Sort.Direction.DESC, "created")), TrackDown.class); + List> hqjcList = new ArrayList<>(); // 婚前检查 + List> hyjdList = new ArrayList<>(); // 怀孕建档 + List> cqjcList = new ArrayList<>(); // 产前检查 + List> cqscList = new ArrayList<>(); // 产前筛查 + List> zyfmList = new ArrayList<>(); // 住院分娩 + List> chfsList = new ArrayList<>(); // 产后访视 + List> chfcList = new ArrayList<>(); // 产后复查 + for (TrackDown trackDown : trackDowns) { + Map temp = new HashMap<>(); + temp.put("trackDownDate", DateUtil.getyyyy_MM_dd_hms(trackDown.getTrackDownDate())); + temp.put("trackDownUser", trackDown.getTrackDownUserId()); + temp.put("trackDownType", TrackDownTypeEnums.getName(trackDown.getTrackDownDateType())); + temp.put("result", StringUtils.isEmpty(trackDown.getResult()) ? "--" : trackDown.getResult()); + temp.put("reservatDate", DateUtil.getyyyy_MM_dd(trackDown.getReservatDate())); + if(TrackDownDateEnums.A.getId().equals(trackDown.getTrackDownDateType())) { + hqjcList.add(temp); + } else if(TrackDownDateEnums.B.getId().equals(trackDown.getTrackDownDateType())) { + hyjdList.add(temp); + } else if(TrackDownDateEnums.C.getId().equals(trackDown.getTrackDownDateType())) { + cqjcList.add(temp); + } else if(TrackDownDateEnums.D.getId().equals(trackDown.getTrackDownDateType())) { + cqscList.add(temp); + } else if(TrackDownDateEnums.E.getId().equals(trackDown.getTrackDownDateType())) { + zyfmList.add(temp); + } else if(TrackDownDateEnums.F.getId().equals(trackDown.getTrackDownDateType())) { + chfsList.add(temp); + } else if(TrackDownDateEnums.G.getId().equals(trackDown.getTrackDownDateType())) { + chfcList.add(temp); + } + } + setTrackType(); + return RespBuilder.buildSuccess("hqjcList", hqjcList, "hyjdList", hyjdList, "cqjcList", cqjcList, "cqscList", cqscList, "zyfmList", zyfmList, "chfsList", chfsList, "chfcList", chfcList); + } + List trackDowns = mongoTemplate.find(Query.query(Criteria.where("parentId").is(patientId).and("trackType").is(trackType).and("yn").is(1)), TrackDown.class); for (TrackDown trackDown : trackDowns) { Map temp = new HashMap<>(); temp.put("trackDownDate", DateUtil.getyyyy_MM_dd_hms(trackDown.getTrackDownDate())); - temp.put("trackDownUser", couponMapper.findUserName(trackDown.getTrackDownUserId())); + temp.put("trackDownUser", trackDown.getTrackDownUserId()); temp.put("trackDownType", TrackDownTypeEnums.getName(trackDown.getTrackDownDateType())); temp.put("result", StringUtils.isEmpty(trackDown.getResult()) ? "--" : trackDown.getResult()); temp.put("reservatDate", DateUtil.getyyyy_MM_dd(trackDown.getReservatDate())); @@ -300,6 +347,15 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS return RespBuilder.buildSuccess(tabList); } + private void setTrackType(List> ... datas) { + for (List> data : datas) { + + for (Map map : data) { + + } + } + } + @Override public BaseResponse init() { List> trackTypes = EnumUtil.toJson(TrackDownTypeEnums.class); // 追访方式