From 2972300784382d0260f9f70b7ce0e0a8471c5d7b Mon Sep 17 00:00:00 2001 From: "[wangbo]" Date: Wed, 10 Jul 2019 18:15:08 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=BD=E8=AE=BF=E6=90=9C=E7=B4=A2=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E4=BF=AE=E6=94=B9=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/query/PatientsQuery.java | 6 +- .../web/controller/TrackDownController.java | 11 ++- .../operate/web/facade/TrackDownFacade.java | 110 +++++++++++++++++---- .../operate/web/request/TrackDownQueryRequest.java | 104 +++++++++---------- .../operate/web/service/ITrackDownService.java | 2 +- .../web/service/impl/TrackDownServiceImpl.java | 2 +- 6 files changed, 161 insertions(+), 74 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java index 5c798ce..8ce0169 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java @@ -29,7 +29,9 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { private String husbandPhone; - //居住类别 + //居住类别、 + + private String liveType; /** * 关键字 @@ -335,7 +337,6 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { private Date startAge; private Date endAge; - /** * 孕妇追访字段冗余 * 0 代表正常 1 待追访 2.已终止 @@ -345,6 +346,7 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { //是否分娩 private Boolean isDeliver; + public Boolean isDeliver() { return isDeliver; } 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 9181869..0c0a732 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 @@ -87,7 +87,7 @@ public class TrackDownController extends BaseController { @RequestMapping(value = "/all", method = RequestMethod.GET) public BaseResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer type, @RequestParam Integer page, @RequestParam Integer limit, HttpServletRequest request, - Integer check, String checkup, String pregnantBuild, Integer followupStatus, boolean isDeliver) { + Integer check, String checkup, String pregnantBuild, Integer followupStatus, Boolean isDeliver) { return trackDownService.all(buildStart, buildEnd, checkStart, checkEnd, fmStart, fmEnd, key, page, limit, getUserId(request), type, check, checkup, pregnantBuild, followupStatus, isDeliver); } @@ -132,4 +132,13 @@ public class TrackDownController extends BaseController { return downFacade.list(downQueryRequest, getUserId(request)); } + /** + * 孕妇追访管理历史数据处理 + */ + + @RequestMapping(value = "/historyData", method = RequestMethod.GET) + public void historyData(Date startTime, Date endTime) { + downFacade.historyData(startTime, endTime); + } + } 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 d1a3010..e69cf47 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 @@ -29,6 +29,7 @@ import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.util.*; @@ -72,7 +73,7 @@ public class TrackDownFacade { //查询的追访类型 trackDownRecord.setTrackType(downQueryRequest.getTrackType()); - Map map = downTypeHandler.build(trackDownRecord, mongoTemplate); + Map map = downTypeHandler.build(trackDownRecord, mongoTemplate, downQueryRequest.getEncryption()); if (downQueryRequest.getTrackType() == TrackDownDateEnums.D.getId()) { if (trackType == TrackDownDateEnums.C.getId()) { trackType = TrackDownDateEnums.D.getId(); @@ -201,7 +202,7 @@ public class TrackDownFacade { * @param mongoTemplate 数据库连接 * @return 返回的内容 */ - Map build(TrackDownRecord downRecord, MongoTemplate mongoTemplate); + Map build(TrackDownRecord downRecord, MongoTemplate mongoTemplate, Integer encryption); } @Autowired @@ -312,6 +313,42 @@ public class TrackDownFacade { isPatient = true; } + /**2019-07 需求搜索条件添加*/ + if (downQueryRequest.getFmType() != null) {//分泌方式 + patientsQuery.setFmType(downQueryRequest.getFmType()); + isPatient = true; + } + + if (null != downQueryRequest.getPostpartumDays()) {//产后天数 + Calendar instance = Calendar.getInstance(); + instance.setTime(new Date()); + instance.add(Calendar.DATE, -downQueryRequest.getBeOverdueDays()); + instance.set(Calendar.HOUR_OF_DAY, 23); + instance.set(Calendar.MINUTE, 59); + instance.set(Calendar.SECOND, 59); + instance.set(Calendar.MILLISECOND, 999); + Date end = instance.getTime(); + patientsQuery.setFmDateEnd(end); + + instance.setTime(new Date()); + instance.add(Calendar.DATE, -downQueryRequest.getBeOverdueDays()); + instance.set(Calendar.HOUR_OF_DAY, 00); + instance.set(Calendar.MINUTE, 00); + instance.set(Calendar.SECOND, 00); + instance.set(Calendar.MILLISECOND, 000); + Date start = instance.getTime(); + patientsQuery.setFmDateStart(start); + isPatient = true; + } + + if (downQueryRequest.getStartWeek() != null && downQueryRequest.getEndWeek() != null) {//孕周 + Date start = DateUtil.getWeekStart(downQueryRequest.getStartWeek()); + patientsQuery.setLastMensesStart(start); + Date end = DateUtil.getWeekEnd(downQueryRequest.getEndWeek()); + patientsQuery.setLastMensesEnd(end); + isPatient = true; + } + if (downQueryRequest.getIsHightRisk() != null) {//是否高危:是:排除健康,否:等于健康 if (downQueryRequest.getIsHightRisk() == 1) {//是 // patientsQuery.setNotoRiskFactor("d42eec03-aa86-45b8-a4e0-78a0ff365fb6"); @@ -602,7 +639,7 @@ public class TrackDownFacade { //查询的追访类型 trackDownRecord.setTrackType(downQueryRequest.getTrackType()); - Map map = downTypeHandler.build(trackDownRecord, mongoTemplate); + Map map = downTypeHandler.build(trackDownRecord, mongoTemplate, downQueryRequest.getEncryption()); if (downQueryRequest.getTrackType() == TrackDownDateEnums.D.getId()) { if (trackType == TrackDownDateEnums.C.getId()) { trackType = TrackDownDateEnums.D.getId(); @@ -631,16 +668,16 @@ public class TrackDownFacade { class CHFCTrackDownTypeHandler implements TrackDownTypeHandler { @Override - public Map build(TrackDownRecord downRecord, MongoTemplate mongoTemplate) { + public Map build(TrackDownRecord downRecord, MongoTemplate mongoTemplate, Integer encryption) { 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", StringUtils.encryCardNo(downRecord.getCardNo())); + temp.put("cardNo", encryption == 0 ? StringUtils.encryCardNo(downRecord.getCardNo()) : downRecord.getCardNo()); temp.put("trackDownDateType", downRecord.getTrackType()); temp.put("residenceAddress", CommonsHelper.getFullAddress(downRecord.getProvinceRegisterId(), downRecord.getCityRegisterId(), downRecord.getAreaRegisterId(), downRecord.getAddressRegister(), basicConfigService)); /** 居住地 */ - temp.put("phone", StringUtils.encryPhone(downRecord.getPhone())); + temp.put("phone", encryption == 0 ? StringUtils.encryPhone(downRecord.getPhone()) : downRecord.getPhone()); TrackDown trackDown = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(downRecord.getParentId()).and("yn").is(1).and("trackDownDateType").in(7, 10)).with(new Sort(Sort.Direction.DESC, "created")), TrackDown.class); temp.put("age", DateUtil.getAge(downRecord.getBirth())); // 追访结果 @@ -712,16 +749,16 @@ public class TrackDownFacade { */ class CHTrackDownTypeHandler implements TrackDownTypeHandler { @Override - public Map build(TrackDownRecord downRecord, MongoTemplate mongoTemplate) { + public Map build(TrackDownRecord downRecord, MongoTemplate mongoTemplate, Integer encryption) { 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", StringUtils.encryCardNo(downRecord.getCardNo())); + temp.put("cardNo", encryption == 0 ? StringUtils.encryCardNo(downRecord.getCardNo()) : downRecord.getCardNo()); temp.put("trackDownDateType", downRecord.getTrackType()); temp.put("residenceAddress", CommonsHelper.getFullAddress(downRecord.getProvinceRegisterId(), downRecord.getCityRegisterId(), downRecord.getAreaRegisterId(), downRecord.getAddressRegister(), basicConfigService)); /** 居住地 */ - temp.put("phone", StringUtils.encryPhone(downRecord.getPhone())); + temp.put("phone", encryption == 0 ? StringUtils.encryPhone(downRecord.getPhone()) : downRecord.getPhone()); temp.put("fmDate", "--"); temp.put("result", "--"); @@ -755,18 +792,17 @@ public class TrackDownFacade { * 怀孕建档返回的字段 */ class HYTrackDownTypeHandler implements TrackDownTypeHandler { - @Override - public Map build(TrackDownRecord downRecord, MongoTemplate mongoTemplate) { + public Map build(TrackDownRecord downRecord, MongoTemplate mongoTemplate, Integer encryption) { Map temp = new HashMap<>(); temp.put("id", downRecord.getId()); temp.put("pid", downRecord.getPid()); temp.put("parentId", downRecord.getParentId()); temp.put("trackDownDateType", downRecord.getTrackType()); temp.put("username", downRecord.getUsername()); - temp.put("cardNo", StringUtils.encryCardNo(downRecord.getCardNo())); + temp.put("cardNo", encryption == 0 ? StringUtils.encryCardNo(downRecord.getCardNo()) : 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("phone", encryption == 0 ? StringUtils.encryPhone(downRecord.getPhone()) : downRecord.getPhone()); TrackDown trackDown = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(downRecord.getParentId()).and("yn").is(1).and("trackDownDateType").is(downRecord.getTrackType())).with(new Sort(Sort.Direction.DESC, "created")), TrackDown.class); temp.put("age", DateUtil.getAge(downRecord.getBirth())); // 婚检追访结果 @@ -787,17 +823,17 @@ public class TrackDownFacade { class FQTrackDownTypeHandler implements TrackDownTypeHandler { @Override - public Map build(TrackDownRecord downRecord, MongoTemplate mongoTemplate) { + public Map build(TrackDownRecord downRecord, MongoTemplate mongoTemplate, Integer encryption) { Map temp = new HashMap<>(); temp.put("id", downRecord.getId()); temp.put("pid", downRecord.getPid()); temp.put("parentId", downRecord.getResidentsArchiveId()); temp.put("username", downRecord.getUsername()); - temp.put("cardNo", StringUtils.encryCardNo(downRecord.getCardNo())); + temp.put("cardNo", encryption == 0 ? StringUtils.encryCardNo(downRecord.getCardNo()) : downRecord.getCardNo()); temp.put("trackDownDateType", downRecord.getTrackType()); temp.put("residenceAddress", CommonsHelper.getFullAddress(downRecord.getProvinceRegisterId(), downRecord.getCityRegisterId(), downRecord.getAreaRegisterId(), downRecord.getAddressRegister(), basicConfigService)); /** 居住地 */ - temp.put("phone", StringUtils.encryPhone(downRecord.getPhone())); + temp.put("phone", encryption == 0 ? StringUtils.encryPhone(downRecord.getPhone()) : downRecord.getPhone()); List trackDown = mongoTemplate.find(Query.query(Criteria.where("parentId").is(downRecord.getResidentsArchiveId()).and("yn").is(1).and("trackDownDateType").is(downRecord.getTrackType())).with(new Sort(Sort.Direction.DESC, "created")), TrackDown.class); temp.put("age", DateUtil.getAge(downRecord.getBirth())); // 婚检追访结果 @@ -820,7 +856,7 @@ public class TrackDownFacade { class CJTrackDownTypeHandler implements TrackDownTypeHandler { @Override - public Map build(TrackDownRecord downRecord, MongoTemplate mongoTemplate) { + public Map build(TrackDownRecord downRecord, MongoTemplate mongoTemplate, Integer encryption) { String parentId = downRecord.getParentId(); String hospitalId = downRecord.getHospitalId(); @@ -837,10 +873,10 @@ public class TrackDownFacade { handHightRisk(patients, temp); temp.put("username", downRecord.getUsername()); temp.put("age", DateUtil.getAge(downRecord.getBirth())); - temp.put("cardNo", StringUtils.encryCardNo(downRecord.getCardNo())); + temp.put("cardNo", encryption == 0 ? StringUtils.encryCardNo(downRecord.getCardNo()) : downRecord.getCardNo()); 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("phone", encryption == 0 ? StringUtils.encryPhone(downRecord.getPhone()) : downRecord.getPhone()); temp.put("id", downRecord.getId()); temp.put("parentId", downRecord.getParentId()); if (patients != null) { @@ -963,4 +999,40 @@ public class TrackDownFacade { map.put("rLevel", HighScoreResult.filter(level)); } } + + /** + * 孕妇追访历史数据处理 + */ + + private long start; + + public void historyData(Date startTime, Date endTime) { + //1.处理妇女表中的预约字段 + List trackDownRecord = mongoTemplate.find(Query.query(Criteria.where("created").gte(startTime).lte(endTime)), TrackDownRecord.class); + System.out.println(trackDownRecord.size()); + TrackDownRecord trackDown = new TrackDownRecord(); + ResidentsArchiveModel residentsArchiveModel = new ResidentsArchiveModel(); + Patients patients = new Patients(); + + System.out.println(System.currentTimeMillis()); + start = System.currentTimeMillis(); + for (TrackDownRecord track : trackDownRecord) { + + System.out.println("id:" + track.getId()); + trackDown.setAppointmentDate(track.getCreated()); + trackDown.setStop("0"); + residentsArchiveModel.setStop("0"); + residentsArchiveModel.setFollowupTime(track.getCreated()); + patients.setStop("0"); + patients.setFollowupTime(track.getCreated()); + patientsService.updatePatientOne(patients, track.getParentId()); + residentsArchiveService.updateResident(residentsArchiveModel, track.getResidentsArchiveId()); + trackDownRecordService.updateTrackDown(trackDown, track.getId()); + } + System.out.println("结束时间:" + (System.currentTimeMillis() - start)); + + + } + + } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/TrackDownQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/TrackDownQueryRequest.java index bd18d3b..c16e64d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/TrackDownQueryRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/TrackDownQueryRequest.java @@ -49,16 +49,6 @@ public class TrackDownQueryRequest extends BasePageQueryRequest { /** * 新加查询条件 */ - //追访日期 - private Date startChaseVisit; - private Date endChaseVisit; - - //逾期天数 - private Integer startBeOverdue; - private Integer endBeOverdue; - //流程状态 - private Integer processState; - //妇女建档开始日期 private Date foundDateStart; //结束日期 @@ -82,6 +72,60 @@ public class TrackDownQueryRequest extends BasePageQueryRequest { //结束追访日期 private Date trackDownDateEnd; + //是否加密 0 你加密 1加密 + private Integer encryption; + + //分娩方式 + private String fmType; + + //产后天数 + private Integer postpartumDays; + + //起始孕周 + private Integer startWeek; + + //结束孕周 + private Integer endWeek; + + public Integer getStartWeek() { + return startWeek; + } + + public void setStartWeek(Integer startWeek) { + this.startWeek = startWeek; + } + + public Integer getEndWeek() { + return endWeek; + } + + public void setEndWeek(Integer endWeek) { + this.endWeek = endWeek; + } + + public Integer getPostpartumDays() { + return postpartumDays; + } + + public void setPostpartumDays(Integer postpartumDays) { + this.postpartumDays = postpartumDays; + } + + public String getFmType() { + return fmType; + } + + public void setFmType(String fmType) { + this.fmType = fmType; + } + + public Integer getEncryption() { + return encryption; + } + + public void setEncryption(Integer encryption) { + this.encryption = encryption; + } public Date getTrackDownDateStart() { return trackDownDateStart; @@ -147,46 +191,6 @@ public class TrackDownQueryRequest extends BasePageQueryRequest { this.foundDateEnd = foundDateEnd; } - public Date getStartChaseVisit() { - return startChaseVisit; - } - - public void setStartChaseVisit(Date startChaseVisit) { - this.startChaseVisit = startChaseVisit; - } - - public Date getEndChaseVisit() { - return endChaseVisit; - } - - public void setEndChaseVisit(Date endChaseVisit) { - this.endChaseVisit = endChaseVisit; - } - - public Integer getStartBeOverdue() { - return startBeOverdue; - } - - public void setStartBeOverdue(Integer startBeOverdue) { - this.startBeOverdue = startBeOverdue; - } - - public Integer getEndBeOverdue() { - return endBeOverdue; - } - - public void setEndBeOverdue(Integer endBeOverdue) { - this.endBeOverdue = endBeOverdue; - } - - public Integer getProcessState() { - return processState; - } - - public void setProcessState(Integer processState) { - this.processState = processState; - } - public String getCheckDoctor() { return checkDoctor; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java index 66c978a..11418d1 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java @@ -17,7 +17,7 @@ public interface ITrackDownService extends IBaseService { BaseObjectResponse list(String provinceId, String cityId, String areaId, String streetId, String key, Integer trackType, Integer page, Integer limit, Integer userId); BaseObjectResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, - Date fmEnd, String key, Integer page, Integer limit, Integer userId, Integer type, Integer check, String checkup, String pregnantBuild, Integer followupStatus, boolean isDeliver); + Date fmEnd, String key, Integer page, Integer limit, Integer userId, Integer type, Integer check, String checkup, String pregnantBuild, Integer followupStatus, Boolean isDeliver); BaseObjectResponse info(String patientId, Integer trackType, Integer buildType); 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 252fda3..5d8747b 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 @@ -72,7 +72,7 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS */ @Override public BaseObjectResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, - Integer page, Integer limit, Integer userId, Integer type, Integer check, String checkup, String pregnantBuild, Integer followupStatus, boolean isDeliver) { + Integer page, Integer limit, Integer userId, Integer type, Integer check, String checkup, String pregnantBuild, Integer followupStatus, Boolean isDeliver) { String hospitalId = autoMatchFacade.getHospitalId(userId); List> restList = new ArrayList<>(); Integer archiveModelCount = 0; -- 1.8.3.1