diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java index ee75dab..27f840b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java @@ -2,8 +2,10 @@ package com.lyms.platform.operate.web.facade; import com.lyms.platform.biz.service.*; import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.enums.FmTypeEnums; import com.lyms.platform.common.enums.TrackDownDateEnums; import com.lyms.platform.common.enums.TrackDownTransferEnums; +import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.PageResult; @@ -13,6 +15,7 @@ import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.request.TrackDownQueryRequest; import com.lyms.platform.operate.web.utils.CommonsHelper; import com.lyms.platform.pojo.*; +import com.lyms.platform.query.PostReviewQuery; import com.lyms.platform.query.TrackDownRecordQuery; import org.apache.commons.collections.CollectionUtils; import org.slf4j.Logger; @@ -74,10 +77,18 @@ public class TrackDownFacade { private void init() { trackDownTypeHandlerMap = new HashMap<>(); trackDownTypeHandlerMap.put(TrackDownDateEnums.A.getId(), new FQTrackDownTypeHandler()); + //怀孕建档 trackDownTypeHandlerMap.put(TrackDownDateEnums.B.getId(), new FQTrackDownTypeHandler()); + //产前检查 trackDownTypeHandlerMap.put(TrackDownDateEnums.C.getId(), new CJTrackDownTypeHandler()); + //产前筛查 trackDownTypeHandlerMap.put(TrackDownDateEnums.D.getId(), new CJTrackDownTypeHandler()); + //分娩住院 trackDownTypeHandlerMap.put(TrackDownDateEnums.E.getId(), new CJTrackDownTypeHandler()); + //产后访视 + trackDownTypeHandlerMap.put(TrackDownDateEnums.F.getId(), new CHTrackDownTypeHandler()); + //产后复查 + trackDownTypeHandlerMap.put(TrackDownDateEnums.G.getId(), new CHFCTrackDownTypeHandler()); } /** @@ -210,6 +221,71 @@ public class TrackDownFacade { */ Map build(TrackDownRecord downRecord, MongoTemplate mongoTemplate); } + @Autowired + private PostReviewService postReviewService; + class CHFCTrackDownTypeHandler implements TrackDownTypeHandler{ + + @Override + public Map build(TrackDownRecord downRecord, MongoTemplate mongoTemplate) { + Map temp = new HashMap<>(); + temp.put("id", downRecord.getId()); + temp.put("pid", downRecord.getPid()); + temp.put("parentId", downRecord.getParentId()); + temp.put("username", downRecord.getUsername()); + temp.put("cardNo", downRecord.getCardNo()); + temp.put("residenceAddress", CommonsHelper.getFullAddress(downRecord.getProvinceRegisterId(), downRecord.getCityRegisterId(), downRecord.getAreaRegisterId(), downRecord.getAddressRegister(), basicConfigService)); /** 居住地 */ + temp.put("phone", StringUtils.encryPhone(downRecord.getPhone())); + TrackDown trackDown = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(downRecord.getParentId()).and("yn").is(1)).with(new Sort(Sort.Direction.DESC, "created")), TrackDown.class); + temp.put("age", DateUtil.getAge(downRecord.getBirth())); + // 婚检追访结果 + temp.put("result", trackDown == null ? "--" : TrackDownTransferEnums.getName(trackDown.getTrackDownType())); + // 婚检追访时间 + temp.put("trackDownTime", trackDown == null ? "--" : DateUtil.getyyyy_MM_dd(trackDown.getTrackDownDate())); + // 预约时间 + temp.put("yyTime", trackDown == null ? "--" : DateUtil.getyyyy_MM_dd(trackDown.getReservatDate())); + PostReviewQuery postReviewQuery =new PostReviewQuery(); + postReviewQuery.setYn(YnEnums.YES.getId()); + postReviewQuery.setParentId(downRecord.getParentId()); + List list = postReviewService.findWithList(postReviewQuery); + Patients patients = patientsService.findOnePatientById(downRecord.getParentId()); + /** 复查次数 */ + temp.put("fcNum", list.size()); + temp.put("fmDate", DateUtil.getyyyy_MM_dd(patients.getFmDate())); + /** 初次复查日期 */ + temp.put("ccfcDate", list.get(list.size()-1).getCheckTime() == null ? "--" : DateUtil.getyyyy_MM_dd(list.get(list.size()-1).getCheckTime())); + /** 预约复查日期 */ + temp.put("yyfcDate ",list.get(0).getNextCheckTime() == null ? "--" : DateUtil.getyyyy_MM_dd(list.get(0).getNextCheckTime())); + /** 生产方式 */ + temp.put("scType", FmTypeEnums.getFmNameById2("1")); + return temp; + } + } + /** + * 产后访视 + */ + class CHTrackDownTypeHandler implements TrackDownTypeHandler{ + @Override + public Map build(TrackDownRecord downRecord, MongoTemplate mongoTemplate) { + Map temp = new HashMap<>(); + temp.put("id", downRecord.getId()); + temp.put("pid", downRecord.getPid()); + temp.put("parentId", downRecord.getParentId()); + temp.put("username", downRecord.getUsername()); + temp.put("cardNo", downRecord.getCardNo()); + temp.put("residenceAddress", CommonsHelper.getFullAddress(downRecord.getProvinceRegisterId(), downRecord.getCityRegisterId(), downRecord.getAreaRegisterId(), downRecord.getAddressRegister(), basicConfigService)); /** 居住地 */ + temp.put("phone", StringUtils.encryPhone(downRecord.getPhone())); + TrackDown trackDown = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(downRecord.getParentId()).and("yn").is(1)).with(new Sort(Sort.Direction.DESC, "created")), TrackDown.class); + temp.put("age", DateUtil.getAge(downRecord.getBirth())); + // 婚检追访结果 + temp.put("result", trackDown == null ? "--" : TrackDownTransferEnums.getName(trackDown.getTrackDownType())); + // 婚检追访时间 + temp.put("trackDownTime", trackDown == null ? "--" : DateUtil.getyyyy_MM_dd(trackDown.getTrackDownDate())); + // 预约时间 + temp.put("yyTime", trackDown == null ? "--" : DateUtil.getyyyy_MM_dd(trackDown.getReservatDate())); + return temp; + } + } + /** * 怀孕建档返回的字段