diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/TrackDownRecord.java b/platform-dal/src/main/java/com/lyms/platform/pojo/TrackDownRecord.java index 7c78403..d0cbf0d 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/TrackDownRecord.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/TrackDownRecord.java @@ -86,6 +86,17 @@ public class TrackDownRecord extends BaseModel { private String trackHospitalId; + //预约时间逾期次数 + private Integer overTimes; + + public Integer getOverTimes() { + return overTimes; + } + + public void setOverTimes(Integer overTimes) { + this.overTimes = overTimes; + } + public Date getNextCheckTime() { return nextCheckTime; } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/TrackDownRecordQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/TrackDownRecordQuery.java index 15376ab..cd95c3f 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/TrackDownRecordQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/TrackDownRecordQuery.java @@ -76,6 +76,9 @@ public class TrackDownRecordQuery extends BaseQuery implements IConvertToNativeQ private Date checkOverDaysStart; private Date checkOverDaysEnd; + private Date nextCheckTimeStart; + private Date nextCheckTimeEnd; + //追访状态 0 正常 1. 待追访 2.已终止 private Integer followupStatus; @@ -359,6 +362,30 @@ public class TrackDownRecordQuery extends BaseQuery implements IConvertToNativeQ } + + if (null != nextCheckTimeStart) { + if (null != c1) { + c1 = c1.and("nextCheckTime").gte(nextCheckTimeStart); + } else { + c1 = Criteria.where("nextCheckTime").gte(nextCheckTimeStart); + } + } + if (null != nextCheckTimeEnd) { + if (c1 != null) { + if (c1.getCriteriaObject().containsField("nextCheckTime")) + { + c1 = c1.lte(nextCheckTimeEnd); + } + else + { + c1 = c1.and("nextCheckTime").lte(nextCheckTimeEnd); + } + + } else { + c1 = Criteria.where("nextCheckTime").lte(nextCheckTimeEnd); + } + } + /******产筛特殊处理*******/ if (null != queryTrackType && queryTrackType == 4) { if (null != trackDownDateStart) { @@ -476,7 +503,21 @@ public class TrackDownRecordQuery extends BaseQuery implements IConvertToNativeQ return condition.toMongoQuery(); } + public Date getNextCheckTimeEnd() { + return nextCheckTimeEnd; + } + + public void setNextCheckTimeEnd(Date nextCheckTimeEnd) { + this.nextCheckTimeEnd = nextCheckTimeEnd; + } + public Date getNextCheckTimeStart() { + return nextCheckTimeStart; + } + + public void setNextCheckTimeStart(Date nextCheckTimeStart) { + this.nextCheckTimeStart = nextCheckTimeStart; + } public Date getCheckOverDaysStart() { return checkOverDaysStart; 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 178967d..f5a6aff 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 @@ -88,7 +88,7 @@ public class TrackDownController extends BaseController { @RequestParam Integer page, @RequestParam Integer limit, HttpServletRequest request, Integer check, Integer checkup, String pregnantBuild, Integer followupStatus, String isDeliver, Integer encryption,@RequestParam(required = false,defaultValue = "false") boolean isArea) { return trackDownService.all(buildStart, buildEnd, checkStart, checkEnd, fmStart, fmEnd, key, - page, limit, getUserId(request), type, check, checkup, pregnantBuild, followupStatus, isDeliver, encryption,isArea); + page, limit, getUserId(request), type, check, checkup, pregnantBuild, followupStatus, isDeliver, encryption, isArea); } @ResponseBody @@ -153,6 +153,15 @@ public class TrackDownController extends BaseController { return downFacade.list(downQueryRequest, getUserId(request)); } + + @ResponseBody + @RequestMapping(value = "/handleTrackDown", method = RequestMethod.GET) + public BaseResponse handleTrackDown() { + downFacade.handleTrackDown(); + return new BaseResponse(); + } + + /** * 孕妇追访管理历史数据处理 */ 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 f568459..bc42994 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 @@ -804,7 +804,6 @@ public class TrackDownFacade { PageResult pageResult = new PageResult(); try { downRecordQuery = convertNaviteQuery(downQueryRequest, userId); - System.out.println(downRecordQuery.convertToQuery().convertToMongoQuery().toString()); } catch (Exception e) { pageResult.setCount(0); pageResult.setPage(downQueryRequest.getPage()); @@ -812,7 +811,6 @@ public class TrackDownFacade { pageResult.setGrid(new ArrayList<>()); return RespBuilder.buildSuccess(pageResult); } - System.out.println(downRecordQuery.convertToQuery().convertToMongoQuery().toString()); List downRecordList = trackDownRecordService.queryTrackDown(downRecordQuery); List data = new ArrayList<>(); TrackDownTypeHandler downTypeHandler = trackDownTypeHandlerMap.get(downQueryRequest.getTrackType()); @@ -845,6 +843,26 @@ public class TrackDownFacade { return RespBuilder.buildSuccess(pageResult); } + + public void handleTrackDown() + { + TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery(); + downRecordQuery.setTrackTypes(Arrays.asList(3, 9)); + Date time = DateUtil.parseYMD(DateUtil.getyyyy_MM_dd(new Date())); + downRecordQuery.setNextCheckTimeStart(time); + downRecordQuery.setNextCheckTimeEnd(time); + List downRecordList = trackDownRecordService.queryTrackDown(downRecordQuery); + + if (CollectionUtils.isNotEmpty(downRecordList)) + { + for (TrackDownRecord downRecord : downRecordList) + { + downRecord.setNextCheckTime(DateUtil.addDay(time,7)); + trackDownRecordService.updateTrackDown(downRecord,downRecord.getId()); + } + } + } + /** * 产后复查 */ @@ -1060,6 +1078,8 @@ public class TrackDownFacade { } //完善高危数据 handHightRisk(patients, temp); + temp.put("overTimes", downRecord.getOverTimes() == null ? 0 : downRecord.getOverTimes()); + temp.put("username", downRecord.getUsername()); temp.put("age", DateUtil.getAge(downRecord.getBirth())); temp.put("cardNo", encryption == 0 ? StringUtils.encryCardNo(downRecord.getCardNo()) : downRecord.getCardNo()); @@ -1128,9 +1148,9 @@ public class TrackDownFacade { temp.put("cjDate", DateUtil.getyyyy_MM_dd(examinationModel.getCheckDate())); /** 产检日期 */ //if (downRecord.getTrackType() == TrackDownDateEnums.C.getId() || downRecord.getTrackType() == TrackDownDateEnums.I.getId()) {//产检追访查询预约产检日期 if (examinationModel.getNextCheckTime() != null) { - temp.put("yyTime", DateUtil.getyyyy_MM_dd(examinationModel.getNextCheckTime())); /** 预约产检日期 */ + temp.put("yyTime", DateUtil.getyyyy_MM_dd(downRecord.getNextCheckTime())); /** 预约产检日期 */ - int days = DateUtil.getDays(examinationModel.getNextCheckTime(), new Date()); + int days = DateUtil.getDays(downRecord.getNextCheckTime(), new Date()); temp.put("yyTimeDays", days); /** 预约逾期天数 */ } //} @@ -1141,8 +1161,8 @@ public class TrackDownFacade { temp.put("cjDate", DateUtil.getyyyy_MM_dd(antExChuModel.getCheckTime())); /** 产检日期 */ // if (downRecord.getTrackType() == TrackDownDateEnums.C.getId() || downRecord.getTrackType() == TrackDownDateEnums.I.getId()) {//产检追访查询预约产检日期 if (antExChuModel.getNextCheckTime() != null) { - temp.put("yyTime", DateUtil.getyyyy_MM_dd(antExChuModel.getNextCheckTime())); /** 预约产检日期 */ - int days = DateUtil.getDays(antExChuModel.getNextCheckTime(), new Date()); + temp.put("yyTime", DateUtil.getyyyy_MM_dd(downRecord.getNextCheckTime())); /** 预约产检日期 */ + int days = DateUtil.getDays(downRecord.getNextCheckTime(), new Date()); temp.put("yyTimeDays", days); /** 预约逾期天数 */ } //}