From feb8b020032abb934c3ddd261df0f4ff80029df4 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Thu, 21 Jun 2018 09:51:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A7=E7=AD=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lyms/platform/pojo/SieveApplyOrderModel.java | 131 ++++++++++++++++ .../java/com/lyms/platform/pojo/SieveModel.java | 11 ++ .../operate/web/controller/SieveController.java | 18 ++- .../operate/web/facade/ApplyOrderFacade.java | 10 +- .../platform/operate/web/facade/SieveFacade.java | 82 +++++++++- .../web/request/SieveApplyOrderAddRequest.java | 170 ++++++++++++++++++++- .../operate/web/result/PatientBaseResult.java | 15 +- 7 files changed, 419 insertions(+), 18 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/SieveApplyOrderModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/SieveApplyOrderModel.java index 9d33d1a..674c2e7 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/SieveApplyOrderModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/SieveApplyOrderModel.java @@ -37,6 +37,137 @@ public class SieveApplyOrderModel extends BaseModel { //申请时间 private Date applyTime; + + private Date birth; + + private String weight; + + private Date lastMenses; + + //标本号 + private String number; + + //采集医生 + private String collectionDoctorId; + + + //采血日期 + private Date collectionDate; + + //B超信息 CRL + private String crl; + + //B超信息 CRL + private String bpd; + + //B超检查日期 + private Date bcCheckDate; + + //生育史 + private String historyBirth; + + //既往史 + private String pastHistory; + + //申请医院 + private String applyHospitalId; + + public Date getBirth() { + return birth; + } + + public void setBirth(Date birth) { + this.birth = birth; + } + + public String getWeight() { + return weight; + } + + public void setWeight(String weight) { + this.weight = weight; + } + + public Date getLastMenses() { + return lastMenses; + } + + public void setLastMenses(Date lastMenses) { + this.lastMenses = lastMenses; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getCollectionDoctorId() { + return collectionDoctorId; + } + + public void setCollectionDoctorId(String collectionDoctorId) { + this.collectionDoctorId = collectionDoctorId; + } + + public Date getCollectionDate() { + return collectionDate; + } + + public void setCollectionDate(Date collectionDate) { + this.collectionDate = collectionDate; + } + + public String getCrl() { + return crl; + } + + public void setCrl(String crl) { + this.crl = crl; + } + + public String getBpd() { + return bpd; + } + + public void setBpd(String bpd) { + this.bpd = bpd; + } + + public Date getBcCheckDate() { + return bcCheckDate; + } + + public void setBcCheckDate(Date bcCheckDate) { + this.bcCheckDate = bcCheckDate; + } + + public String getHistoryBirth() { + return historyBirth; + } + + public void setHistoryBirth(String historyBirth) { + this.historyBirth = historyBirth; + } + + public String getPastHistory() { + return pastHistory; + } + + public void setPastHistory(String pastHistory) { + this.pastHistory = pastHistory; + } + + public String getApplyHospitalId() { + return applyHospitalId; + } + + public void setApplyHospitalId(String applyHospitalId) { + this.applyHospitalId = applyHospitalId; + } + public Date getApplyTime() { return applyTime; } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/SieveModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/SieveModel.java index 34184b6..9f31ab2 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/SieveModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/SieveModel.java @@ -72,6 +72,17 @@ public class SieveModel extends BaseModel { //申请时间 private Date applyTime; + //接收状态 1未接收 2接收 + private Integer reviceStatus; + + public Integer getReviceStatus() { + return reviceStatus; + } + + public void setReviceStatus(Integer reviceStatus) { + this.reviceStatus = reviceStatus; + } + public Date getResultTime() { return resultTime; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveController.java index 6a1c2ec..559bf74 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveController.java @@ -71,10 +71,26 @@ public class SieveController extends BaseController { @RequestMapping(value = "/cqsieve",method = RequestMethod.POST) public BaseResponse addOneChanQianDiaSieve(@RequestBody @Valid ChanQianDiaAddRequest chanQianDiaAddRequest,HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return sieveFacade.addOneChanQianDiaSieve(chanQianDiaAddRequest,loginState.getId()); + return sieveFacade.addOneChanQianDiaSieve(chanQianDiaAddRequest, loginState.getId()); } /** + * 添加查询前 查询孕妇基本信息 如果孕妇没有在本院建档就添加隐藏档案 + * + * @param request + * @return + */ + @ResponseBody + @TokenRequired + @RequestMapping(value = "/querySievePatientInfo",method = RequestMethod.GET) + public BaseResponse querySievePatientInfo(@RequestParam("cardNo")String cardNo,HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return sieveFacade.querySievePatientInfo(cardNo, loginState.getId()); + } + + + + /** * 产前诊断 * * @return diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java index 44e6861..1834651 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java @@ -413,6 +413,7 @@ public class ApplyOrderFacade { List modelList = sieveService.queryList(sieveQuery); if (CollectionUtils.isEmpty(modelList)) { SieveModel sieveModel = patientsService.convertToModel(patients); + sieveModel.setReviceStatus(sieveApplyOrderAddRequest.getReviceStatus()); sieveModel.setFrom("2"); sieveModel.setHospitalId(orderModel.getHospitalId()); SieveService.handOrder(sieveModel); @@ -425,7 +426,8 @@ public class ApplyOrderFacade { } SieveApplyOrderModel sieveApplyOrderModel1 = new SieveApplyOrderModel(); sieveApplyOrderModel1.setStatus(1); - for (String str : idList) { + for (String str : idList) + { sieveApplyOrderModel1.setId(str); sieveApplyOrderModel1.setModified(new Date()); sieveApplyOrderModel1.setStatus(1); @@ -440,8 +442,12 @@ public class ApplyOrderFacade { sieveQuery.setYn(YnEnums.YES.getId()); sieveQuery.setParentId(sieveApplyOrderAddRequest.getParentId()); List sieveModels = sieveService.queryList(sieveQuery); - if (CollectionUtils.isNotEmpty(sieveModels)) { + if (CollectionUtils.isNotEmpty(sieveModels)) + { SieveModel sieveModel = sieveModels.get(0); + + sieveModel.setReviceStatus(sieveApplyOrderAddRequest.getReviceStatus()); + sieveModel.setApplyTime(sieveApplyOrderModel.getApplyTime()); sieveModel.setStatus(2); if (StringUtils.isNotEmpty(sieveApplyOrderModel.getCheckDate())) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java index 88851a7..377f30c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java @@ -2,6 +2,7 @@ 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.dao.operator.MongoQuery; import com.lyms.platform.common.enums.OptActionEnums; import com.lyms.platform.common.enums.SieveEnums; import com.lyms.platform.common.enums.TrackDownDateEnums; @@ -16,23 +17,20 @@ import com.lyms.platform.common.utils.JsonUtil; import com.lyms.platform.operate.web.request.ChanQianDiaAddRequest; import com.lyms.platform.operate.web.request.CqSieveQueryRequest; import com.lyms.platform.operate.web.request.SieveAddRequest; -import com.lyms.platform.operate.web.result.SieveDetailResult; -import com.lyms.platform.operate.web.result.SieveListResult; -import com.lyms.platform.operate.web.result.SieveResult; +import com.lyms.platform.operate.web.result.*; import com.lyms.platform.operate.web.service.ITrackDownService; import com.lyms.platform.operate.web.worker.SieveWorker; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.pojo.*; -import com.lyms.platform.query.SieveApplyOrderQuery; -import com.lyms.platform.query.SieveQuery; -import com.lyms.platform.query.SieveResultQuery; -import com.lyms.platform.query.TrackDownRecordQuery; +import com.lyms.platform.query.*; +import javafx.beans.binding.ObjectExpression; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.math.NumberUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.data.domain.Sort; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component; @@ -51,7 +49,6 @@ import java.util.concurrent.TimeUnit; public class SieveFacade { @Autowired private SieveService sieveService; - @Autowired private AutoMatchFacade autoMatchFacade; @Autowired @@ -64,6 +61,9 @@ public class SieveFacade { private PatientsService patientsService; @Autowired + private OrganizationGroupsFacade groupsFacade; + + @Autowired private OperateLogFacade operateLogFacade; @Autowired @@ -75,6 +75,10 @@ public class SieveFacade { @Autowired private TrackDownRecordService trackDownRecordService; + + @Autowired + private AntenatalExaminationFacade antenatalExaminationFacade; + /** * * 增加一条产筛结果记录 @@ -566,4 +570,66 @@ public class SieveFacade { } } } + + /** + * 添加查询前 查询孕妇基本信息 如果孕妇没有在本院建档就添加隐藏档案 + * @param cardNo + * @param userId + * @return + */ + public BaseResponse querySievePatientInfo(String cardNo, Integer userId) { + + String hospitalId = autoMatchFacade.getHospitalId(userId); + + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setHospitalId(hospitalId); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setPhoneOrCert(cardNo); + + List localPatients = patientsService.queryPatient(patientsQuery); + Patients pat = null; + if (CollectionUtils.isNotEmpty(localPatients)) + { + pat = localPatients.get(0); + } + else + { + patientsQuery.setHospitalId(null); + List areaPatients = patientsService.queryPatient(patientsQuery); + if (CollectionUtils.isNotEmpty(areaPatients)) { + pat = areaPatients.get(0); + if (StringUtils.isNotEmpty(groupsFacade.findByCurrentUserId(hospitalId))) { + //建立隐藏档案 + String id = antenatalExaminationFacade.handHideBuild(pat.getPid(), pat.getId(), userId, 1); + + pat = patientsService.findOnePatientById(id); + } + else + { + return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("没有档案,请建档后申请产筛"); + } + } + } + + HighScoreResult highScoreResult = antenatalExaminationFacade.findLastRisk(pat.getPid(), false); + PatientBaseResult patientBaseResult = new PatientBaseResult(); + if (null != pat) { + patientBaseResult.convert(pat); + } + patientBaseResult.setRiskFactor(highScoreResult.getHighRisk()); + patientBaseResult.setRiskScore(highScoreResult.getScoreStr()); + + AntExChuQuery antExChuQuery = new AntExChuQuery(); + antExChuQuery.setParentId(pat.getId()); + antExChuQuery.setYn(YnEnums.YES.getId()); + + List list = antenatalExaminationService.queryAntExChu(antExChuQuery); + if (CollectionUtils.isNotEmpty(list)) + { + AntExChuModel chuModel = list.get(0); + patientBaseResult.setWeight(chuModel.getYqWeight()); + } + + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(patientBaseResult); + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SieveApplyOrderAddRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SieveApplyOrderAddRequest.java index d1a0ce8..358ebd6 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SieveApplyOrderAddRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SieveApplyOrderAddRequest.java @@ -5,9 +5,11 @@ import com.lyms.platform.common.core.annotation.form.FormParam; import com.lyms.platform.common.core.annotation.form.Form; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.JsonUtil; +import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.pojo.SieveApplyOrderModel; import java.util.List; +import java.util.Map; /** * 产筛申请 @@ -29,15 +31,44 @@ public class SieveApplyOrderAddRequest implements IBasicRequestConvert historyBirth; + + //既往史 + private String pastHistory; + + //申请医院 + private String applyHospitalId; + + //接收状态 1未接收 2接收 + private Integer reviceStatus; - public String getPid() { - return pid; - } - public void setPid(String pid) { - this.pid = pid; - } @Override public SieveApplyOrderModel convertToDataModel() { @@ -48,9 +79,136 @@ public class SieveApplyOrderAddRequest implements IBasicRequestConvert getHistoryBirth() { + return historyBirth; + } + + public void setHistoryBirth(Map historyBirth) { + this.historyBirth = historyBirth; + } + + public String getPastHistory() { + return pastHistory; + } + + public void setPastHistory(String pastHistory) { + this.pastHistory = pastHistory; + } + + public String getApplyHospitalId() { + return applyHospitalId; + } + + public void setApplyHospitalId(String applyHospitalId) { + this.applyHospitalId = applyHospitalId; + } + public String getApplyTime() { return applyTime; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PatientBaseResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PatientBaseResult.java index aa505ce..41e2121 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PatientBaseResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PatientBaseResult.java @@ -51,6 +51,16 @@ public class PatientBaseResult { //体重 private String weight ; + private String birth; + + public String getBirth() { + return birth; + } + + public void setBirth(String birth) { + this.birth = birth; + } + public List> getScreenResult() { return screenResult; } @@ -196,13 +206,16 @@ public class PatientBaseResult { }else{ setIsGravida("1"); } - + setBirth(DateUtil.getyyyy_MM_dd(patients.getBirth())); if (null != patients.getLastMenses()) { int days = DateUtil.daysBetween(patients.getLastMenses(), new Date()); this.dueWeek = StringUtils.dueWeek(days); + + setLastMenses(DateUtil.getyyyy_MM_dd(patients.getLastMenses())); } + return this; } } -- 1.8.3.1