From 2cc081bb9a44d6830109163863a36b0f343c99fa Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Mon, 22 Jan 2018 18:07:10 +0800 Subject: [PATCH] 1 --- .../web/controller/TrackDownController.java | 7 +- .../operate/web/facade/TrackDownFacade.java | 103 +++++++++++++++------ 2 files changed, 81 insertions(+), 29 deletions(-) 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 a3a6146..d0d9052 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 @@ -28,9 +28,10 @@ public class TrackDownController extends BaseController { @ResponseBody @TokenRequired - @RequestMapping(value = "/mother/{parentId}", method = RequestMethod.GET) - public BaseResponse mother(@PathVariable String parentId, HttpServletRequest request) { - return trackDownService.mother(parentId, getUserId(request)); + @RequestMapping(value = "/mother/{parentId}/{trackType}", method = RequestMethod.GET) + public BaseResponse mother(@PathVariable String parentId, HttpServletRequest request, @PathVariable Integer trackType) { +// return trackDownService.mother(parentId, getUserId(request)); + return downFacade.mother(parentId,trackType,getUserId(request)); } @ResponseBody 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 c247bae..7997260 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 @@ -1,8 +1,6 @@ package com.lyms.platform.operate.web.facade; -import com.lyms.platform.biz.service.BasicConfigService; -import com.lyms.platform.biz.service.TrackDownRecordService; -import com.lyms.platform.biz.service.TrackDownService; +import com.lyms.platform.biz.service.*; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.TrackDownDateEnums; import com.lyms.platform.common.enums.TrackDownTransferEnums; @@ -14,8 +12,7 @@ import com.lyms.platform.common.utils.DateUtil; 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.TrackDown; -import com.lyms.platform.pojo.TrackDownRecord; +import com.lyms.platform.pojo.*; import com.lyms.platform.query.TrackDownRecordQuery; import org.apache.commons.collections.CollectionUtils; import org.slf4j.Logger; @@ -65,6 +62,14 @@ public class TrackDownFacade { @Autowired private AutoMatchFacade autoMatchFacade; + /** + * 妇女建档 + */ + @Autowired + private ResidentsArchiveService residentsArchiveService; + @Autowired + private PatientsService patientsService; + @PostConstruct private void init() { trackDownTypeHandlerMap = new HashMap<>(); @@ -93,6 +98,58 @@ public class TrackDownFacade { return downRecordQuery; } + /** + * 追访基本信息 + * + * @param parentId + * @param trackType 业务类型 + * @return + */ + public BaseObjectResponse mother(String parentId,Integer trackType,Integer userId){ + String hospitalId= autoMatchFacade.getHospitalId(userId); + Map map = new HashMap<>(); + if(TrackDownDateEnums.C.getId()>trackType){ + ResidentsArchiveModel resid = residentsArchiveService.getResident(parentId); + map.put("username", resid.getUsername()); + map.put("phone", resid.getPhone()); + map.put("cardNo", resid.getCertificateNum()); + map.put("age", DateUtil.getAge(resid.getBirthday())); + }else{ + Patients patients =patientsService.findOnePatientById(parentId); + map.put("username", patients.getUsername()); + map.put("phone", patients.getPhone()); + map.put("cardNo", patients.getCardNo()); + map.put("age", DateUtil.getAge(patients.getBirth())); + map.put("week", DateUtil.getWeekDesc(patients.getLastMenses(), new Date())); + map.put("dueDate", DateUtil.getyyyy_MM_dd(patients.getDueDate())); /** 预产期 */ + map.put("trackCount", mongoTemplate.count(Query.query(Criteria.where("parentId").is(parentId).and("trackDownDateType").is(TrackDownDateEnums.F.getId()).and("yn").is(1)), TrackDown.class)); /** 访视次数 */ + map.put("fmDate", DateUtil.getyyyy_MM_dd(patients.getFmDate())); + } + + TrackDown tc = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(parentId).and("trackDownDateType").is(TrackDownDateEnums.E.getId()).and("yn").is(1)).with(new Sort(Sort.Direction.DESC, "created")), TrackDown.class); + if (tc != null) { + map.put("reservatDate", DateUtil.getyyyy_MM_dd(tc.getReservatDate())); /** 预约住院日期 */ + } + map.put("fcCount", mongoTemplate.count(Query.query(Criteria.where("parentId").is(parentId).and("trackDownDateType").is(TrackDownDateEnums.G.getId()).and("yn").is(1)), TrackDown.class)); /** 复查次数 */ + map.put("checkCount", mongoTemplate.count(Query.query(Criteria.where("parentId").is(parentId).and("hospitalId").is(hospitalId)), AntenatalExaminationModel.class) + + mongoTemplate.count(Query.query(Criteria.where("parentId").is(parentId)), AntExChuModel.class)); /** 本院产检次数 */ + AntenatalExaminationModel examinationModel = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(parentId)).with(new Sort(Sort.Direction.DESC, "created")), AntenatalExaminationModel.class); + if (examinationModel != null) { + map.put("checkTime", DateUtil.getyyyy_MM_dd(examinationModel.getCheckDate())); /** 产检日期 */ + map.put("nextCheckTime", DateUtil.getyyyy_MM_dd(examinationModel.getNextCheckTime())); /** 预约产检日期 */ + } else { + AntExChuModel antExChuModel = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(parentId)).with(new Sort(Sort.Direction.DESC, "created")), AntExChuModel.class); + if (antExChuModel != null) { + map.put("checkTime", DateUtil.getyyyy_MM_dd(antExChuModel.getCheckTime())); /** 产检日期 */ + map.put("nextCheckTime", DateUtil.getyyyy_MM_dd(antExChuModel.getNextCheckTime())); /** 预约产检日期 */ + } else { + map.put("checkTime", "--"); /** 产检日期 */ + map.put("nextCheckTime", "--"); /** 预约产检日期 */ + } + } + return RespBuilder.buildSuccess(map); + } + public BaseObjectResponse list(TrackDownQueryRequest downQueryRequest, Integer userId) { //转换为本地的查询条件 TrackDownRecordQuery downRecordQuery = convertNaviteQuery(downQueryRequest, userId); @@ -112,7 +169,6 @@ public class TrackDownFacade { pageResult.setLimit(downRecordQuery.getPageInfo().getLimit()); pageResult.setGrid(data); return RespBuilder.buildSuccess(pageResult); -// return new BaseListResponse().setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION).setErrorcode(ErrorCodeConstants.SUCCESS).setData(data).setPageInfo(downRecordQuery.getPageInfo()); } /** @@ -130,34 +186,29 @@ public class TrackDownFacade { Map build(TrackDownRecord downRecord, MongoTemplate mongoTemplate); } - + /** + * 怀孕建档返回的字段 + */ class HYTrackDownTypeHandler 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("age", DateUtil.getAge(downRecord.getBirth())); - temp.put("cardNo", StringUtils.encryCardNo(downRecord.getCardNo())); - temp.put("residenceAddress",CommonsHelper.getFullAddress(downRecord.getProvinceRegisterId(), downRecord.getCityRegisterId(), downRecord.getAreaRegisterId(), downRecord.getAddressRegister(), basicConfigService)); /** 居住地 */ + 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())); - temp.put("id", downRecord.getId()); -// temp.put("dueDate", DateUtil.getyyyy_MM_dd(DateUtil.addDay(downRecord.getLastMenses(),281))); -// temp.put("week", DateUtil.getWeekDesc(downRecord.getLastMenses(), new Date())); /** 孕周 */ - temp.put("cjDate", ""); /** 产检日期 */ - temp.put("yycjDate", ""); /** 预约产检日期 */ - temp.put("cjzfDate", ""); /** 产检追访时间 */ 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); - if (trackDown != null) { - temp.put("result", StringUtils.isEmpty(trackDown.getResult()) ? "--" : trackDown.getResult()); // 婚检追访结果 -// temp.put("result", getResultByType(trackType, patient.getId(), new Sort(Sort.Direction.DESC, "created"))); // 婚检追访结果 - 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("result", "--"); // 婚检追访结果 - temp.put("trackDownTime", "--"); // 追访时间 - temp.put("yyTime", "--"); // 预约时间 - } + 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; } } -- 1.8.3.1