From 92143fc665805ca4a6a654d8ca848f69ec5a1f12 Mon Sep 17 00:00:00 2001 From: yangfei Date: Mon, 5 Mar 2018 14:48:30 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E8=BD=AE=E6=B5=8B=E8=AF=95bu?= =?UTF-8?q?g=E4=BF=AE=E6=94=B9=E3=80=82=E4=BA=A7=E7=AD=9B=E9=A2=84?= =?UTF-8?q?=E7=BA=A6=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/facade/TrackDownFacade.java | 91 ++++++++++++++-------- 1 file changed, 57 insertions(+), 34 deletions(-) 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 9673900..b4e6e3c 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 @@ -44,6 +44,21 @@ import java.util.*; @Component public class TrackDownFacade { + /** + * 构建返回字段 + */ + interface TrackDownTypeHandler { + + /** + * 构建返回字段内容 + * + * @param downRecord 追访记录 + * @param mongoTemplate 数据库连接 + * @return 返回的内容 + */ + Map build(TrackDownRecord downRecord, MongoTemplate mongoTemplate); + } + //日志调测器 private static final Logger logger = LoggerFactory.getLogger(TrackDownFacade.class); @@ -61,7 +76,6 @@ public class TrackDownFacade { private MongoTemplate mongoTemplate; @Autowired private AutoMatchFacade autoMatchFacade; - /** * 妇女建档 */ @@ -70,6 +84,10 @@ public class TrackDownFacade { @Autowired private PatientsService patientsService; + @Autowired + private PostReviewService postReviewService; + + @PostConstruct private void init() { trackDownTypeHandlerMap = new HashMap<>(); @@ -112,11 +130,11 @@ public class TrackDownFacade { downRecordQuery.setStreetId(downQueryRequest.getStreetId()); downRecordQuery.setKey(downQueryRequest.getKey()); //产检和产后数据特殊处理 - if (null != downQueryRequest.getTrackType() && TrackDownDateEnums.D.getId() == downQueryRequest.getTrackType()) { + if (null != downQueryRequest.getTrackType() && TrackDownDateEnums.C.getId() == downQueryRequest.getTrackType()) { + downRecordQuery.setTrackTypes(Arrays.asList(3, 9)); + } else if (null != downQueryRequest.getTrackType() && TrackDownDateEnums.D.getId() == downQueryRequest.getTrackType()) { downRecordQuery.setLastMensesStart(DateUtil.addDay(DateUtil.formatDate(new Date()), -140)); downRecordQuery.setTrackTypes(Arrays.asList(3, 8)); - } else if (null != downQueryRequest.getTrackType() && TrackDownDateEnums.C.getId() == downQueryRequest.getTrackType()) { - downRecordQuery.setTrackTypes(Arrays.asList(3, 9)); } else if (null != downQueryRequest.getTrackType() && TrackDownDateEnums.F.getId() == downQueryRequest.getTrackType()) { downRecordQuery.setTrackTypes(Arrays.asList(6, 11)); } else if (null != downQueryRequest.getTrackType() && TrackDownDateEnums.G.getId() == downQueryRequest.getTrackType()) { @@ -197,6 +215,20 @@ public class TrackDownFacade { } } } + + //如果是产筛追访列表,查询产筛预约时间 + if (trackType == TrackDownDateEnums.D.getId() || trackType == TrackDownDateEnums.H.getId()) {//产前筛查 + try { + //申请产筛单 + SieveApplyOrderModel sieveModel = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(parentId)).with(new Sort(Sort.Direction.DESC, "created")), SieveApplyOrderModel.class); + if (sieveModel != null) { + map.put("nextCheckTime", sieveModel.getCheckDate()); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + return RespBuilder.buildSuccess(map); } @@ -216,7 +248,15 @@ public class TrackDownFacade { TrackDownTypeHandler downTypeHandler = trackDownTypeHandlerMap.get(downQueryRequest.getTrackType()); if (CollectionUtils.isNotEmpty(downRecordList) && null != downTypeHandler) { for (TrackDownRecord trackDownRecord : downRecordList) { - data.add(downTypeHandler.build(trackDownRecord, mongoTemplate)); + //追访类型 + Integer trackType = trackDownRecord.getTrackType(); + //查询的追访类型 + trackDownRecord.setTrackType(downQueryRequest.getTrackType()); + Map map = downTypeHandler.build(trackDownRecord, mongoTemplate); + //设置数据真实的追访类型 + map.put("trackDownDateType", trackType); + data.add(map); + } } PageResult pageResult = new PageResult(); @@ -227,24 +267,6 @@ public class TrackDownFacade { return RespBuilder.buildSuccess(pageResult); } - /** - * 构建返回字段 - */ - interface TrackDownTypeHandler { - - /** - * 构建返回字段内容 - * - * @param downRecord 追访记录 - * @param mongoTemplate 数据库连接 - * @return 返回的内容 - */ - Map build(TrackDownRecord downRecord, MongoTemplate mongoTemplate); - } - - @Autowired - private PostReviewService postReviewService; - class CHFCTrackDownTypeHandler implements TrackDownTypeHandler { @Override @@ -393,7 +415,7 @@ public class TrackDownFacade { /** - * 产前检查返回的字段 + * 产前检查、产前筛查、产后分娩返回的字段 */ class CJTrackDownTypeHandler implements TrackDownTypeHandler { @@ -407,9 +429,7 @@ public class TrackDownFacade { temp.put("username", downRecord.getUsername()); temp.put("age", DateUtil.getAge(downRecord.getBirth())); temp.put("cardNo", StringUtils.encryCardNo(downRecord.getCardNo())); - temp.put("trackDownDateType", downRecord.getTrackType()); temp.put("dueDate", DateUtil.getyyyy_MM_dd(patients.getDueDate())); /** 预产期 */ - 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()); @@ -434,33 +454,36 @@ public class TrackDownFacade { } //如果是产前检查取预约结果 - // if (downRecord.getTrackType() == TrackDownDateEnums.C.getId()||downRecord.getTrackType() == TrackDownDateEnums.I.getId()) { - //复诊 AntenatalExaminationModel examinationModel = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(downRecord.getParentId())).with(new Sort(Sort.Direction.DESC, "created")), AntenatalExaminationModel.class); if (examinationModel != null) { temp.put("cjDate", DateUtil.getyyyy_MM_dd(examinationModel.getCheckDate())); /** 产检日期 */ - if (examinationModel.getNextCheckTime() != null) { - temp.put("yyTime", DateUtil.getyyyy_MM_dd(examinationModel.getNextCheckTime())); /** 预约产检日期 */ + if (downRecord.getTrackType() == TrackDownDateEnums.C.getId() || downRecord.getTrackType() == TrackDownDateEnums.I.getId()) {//产检追访查询预约产检日期 + if (examinationModel.getNextCheckTime() != null) { + temp.put("yyTime", DateUtil.getyyyy_MM_dd(examinationModel.getNextCheckTime())); /** 预约产检日期 */ + } } } else { //初诊 AntExChuModel antExChuModel = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(downRecord.getParentId())).with(new Sort(Sort.Direction.DESC, "created")), AntExChuModel.class); if (antExChuModel != null) { temp.put("cjDate", DateUtil.getyyyy_MM_dd(antExChuModel.getCheckTime())); /** 产检日期 */ - if (antExChuModel.getNextCheckTime() != null) { - temp.put("yyTime", DateUtil.getyyyy_MM_dd(antExChuModel.getNextCheckTime())); /** 预约产检日期 */ + if (downRecord.getTrackType() == TrackDownDateEnums.C.getId() || downRecord.getTrackType() == TrackDownDateEnums.I.getId()) {//产检追访查询预约产检日期 + if (antExChuModel.getNextCheckTime() != null) { + temp.put("yyTime", DateUtil.getyyyy_MM_dd(antExChuModel.getNextCheckTime())); /** 预约产检日期 */ + } } } } - // } //如果是产筛追访列表,查询产筛预约时间 if (downRecord.getTrackType() == TrackDownDateEnums.D.getId() || downRecord.getTrackType() == TrackDownDateEnums.H.getId()) {//产前筛查 try { //申请产筛单 SieveApplyOrderModel sieveModel = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(downRecord.getParentId())).with(new Sort(Sort.Direction.DESC, "created")), SieveApplyOrderModel.class); - temp.put("yyTime", sieveModel.getCheckDate()); + if (sieveModel != null) { + temp.put("yyTime", sieveModel.getCheckDate()); + } } catch (Exception e) { e.printStackTrace(); } -- 1.8.3.1