From 346b6e788c20aa867cd6e46d52ca964a7de6ed2a Mon Sep 17 00:00:00 2001 From: gengxiaokai Date: Tue, 25 Sep 2018 17:14:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A7=E5=89=8D=E8=AF=8A=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/pojo/DiagnosisModel.java | 36 +++++ .../com/lyms/platform/query/DiagnosisQuery.java | 166 ++++++++++++++++++++- .../web/controller/DiagnosisController.java | 31 ++++ .../operate/web/facade/DiagnosisFacaed.java | 146 +++++++++++++++++- .../operate/web/request/DiagnosisAddRequest.java | 122 ++++++++++++++- 5 files changed, 492 insertions(+), 9 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/DiagnosisModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/DiagnosisModel.java index 8b3b548..f28de01 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/DiagnosisModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/DiagnosisModel.java @@ -47,6 +47,10 @@ public class DiagnosisModel extends BaseModel { private Date modified;//修改时间 private String status;//数据来源(1,申请过来的;2,自动流转过来) private String diaStatus;//数据状态(0,未申请;1,已申请;2,已接收;3,已诊断) + private String tireNumber;//胎数 + private String CsStatus;//产筛状态 + private String ztfx;//整体风险 + private String ztfeText;//整体风险中文 public String getId() { return id; @@ -304,6 +308,38 @@ public class DiagnosisModel extends BaseModel { this.applyWeek = applyWeek; } + public String getTireNumber() { + return tireNumber; + } + + public void setTireNumber(String tireNumber) { + this.tireNumber = tireNumber; + } + + public String getCsStatus() { + return CsStatus; + } + + public void setCsStatus(String csStatus) { + CsStatus = csStatus; + } + + public String getZtfx() { + return ztfx; + } + + public void setZtfx(String ztfx) { + this.ztfx = ztfx; + } + + public String getZtfeText() { + return ztfeText; + } + + public void setZtfeText(String ztfeText) { + this.ztfeText = ztfeText; + } + public Map contomap(){ Map map = new HashMap(); map.put("id",id); diff --git a/platform-dal/src/main/java/com/lyms/platform/query/DiagnosisQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/DiagnosisQuery.java index fe1c309..08f7a93 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/DiagnosisQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/DiagnosisQuery.java @@ -5,6 +5,8 @@ import com.lyms.platform.common.dao.BaseQuery; import com.lyms.platform.common.dao.operator.MongoCondition; import com.lyms.platform.common.dao.operator.MongoOper; import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.common.utils.StringUtils; +import org.springframework.data.mongodb.core.query.Criteria; /** * 新增产前诊断申请 @@ -21,7 +23,18 @@ public class DiagnosisQuery extends BaseQuery implements IConvertToNativeQuery { private String hospitalId;//医院ID private String cardNo;//身份证 private String vcCardNo;//就诊卡号 - + private String diaResult;//诊断结果 + private String applyWeeksStart;//申请开始孕周 + private String applyWeeksEnd;//申请结束孕周 + private String nowWeeksStart;//当前开始孕周 + private String nowWeeksEnd;//当前结束孕周 + private String rsResult;//妊娠结局 + private String applyDateStart;//申请开始时间 + private String applyDateEnd;//申请结束时间 + private String resultDateStart;//诊断出具开始时间 + private String resultDateEnd;//诊断出具结束时间 + private String specimenNo;//标本号 + private String collectHospitalId;//申请医院 public String getId() { @@ -96,6 +109,102 @@ public class DiagnosisQuery extends BaseQuery implements IConvertToNativeQuery { this.vcCardNo = vccardNo; } + public String getDiaResult() { + return diaResult; + } + + public void setDiaResult(String diaResult) { + this.diaResult = diaResult; + } + + public String getApplyWeeksStart() { + return applyWeeksStart; + } + + public void setApplyWeeksStart(String applyWeeksStart) { + this.applyWeeksStart = applyWeeksStart; + } + + public String getApplyWeeksEnd() { + return applyWeeksEnd; + } + + public void setApplyWeeksEnd(String applyWeeksEnd) { + this.applyWeeksEnd = applyWeeksEnd; + } + + public String getNowWeeksStart() { + return nowWeeksStart; + } + + public void setNowWeeksStart(String nowWeeksStart) { + this.nowWeeksStart = nowWeeksStart; + } + + public String getNowWeeksEnd() { + return nowWeeksEnd; + } + + public void setNowWeeksEnd(String nowWeeksEnd) { + this.nowWeeksEnd = nowWeeksEnd; + } + + public String getRsResult() { + return rsResult; + } + + public void setRsResult(String rsResult) { + this.rsResult = rsResult; + } + + public String getApplyDateStart() { + return applyDateStart; + } + + public void setApplyDateStart(String applyDateStart) { + this.applyDateStart = applyDateStart; + } + + public String getApplyDateEnd() { + return applyDateEnd; + } + + public void setApplyDateEnd(String applyDateEnd) { + this.applyDateEnd = applyDateEnd; + } + + public String getResultDateStart() { + return resultDateStart; + } + + public void setResultDateStart(String resultDateStart) { + this.resultDateStart = resultDateStart; + } + + public String getResultDateEnd() { + return resultDateEnd; + } + + public void setResultDateEnd(String resultDateEnd) { + this.resultDateEnd = resultDateEnd; + } + + public String getSpecimenNo() { + return specimenNo; + } + + public void setSpecimenNo(String specimenNo) { + this.specimenNo = specimenNo; + } + + public String getCollectHospitalId() { + return collectHospitalId; + } + + public void setCollectHospitalId(String collectHospitalId) { + this.collectHospitalId = collectHospitalId; + } + public MongoQuery convertToQuery() { MongoCondition condition = MongoCondition.newInstance(); if(null != id){ @@ -104,6 +213,61 @@ public class DiagnosisQuery extends BaseQuery implements IConvertToNativeQuery { if(null != diaStatus){ condition = condition.and("diaStatus", diaStatus, MongoOper.IS); } + if(null != diaResult){ + condition = condition.and("diaResult",diaResult,MongoOper.IS); + } + if(null != rsResult){ + condition = condition.and("rsResult", rsResult, MongoOper.IS); + } + if(null != specimenNo){ + condition = condition.and("specimenNo", specimenNo, MongoOper.IS); + } + if(null != collectHospitalId){ + condition = condition.and("collectHospitalId", collectHospitalId, MongoOper.IS); + } + + Criteria c = null; + if(null != applyDateStart && null != applyDateEnd){ + c = Criteria.where("created").gte(applyDateStart).lte(applyDateEnd); + } + if(null != applyWeeksStart && null != applyWeeksEnd){ + if(c != null){ + c = c.where("applyWeek").gte(applyWeeksStart).lte(applyWeeksEnd); + }else{ + c = Criteria.where("applyWeek").gte(applyWeeksStart).lte(applyWeeksEnd); + } + } + if(null != nowWeeksStart && null != nowWeeksEnd){ + if(c != null){ + c = c.where("lastMenses").gte(nowWeeksStart).lte(nowWeeksEnd); + }else{ + c = Criteria.where("lastMenses").gte(nowWeeksStart).lte(nowWeeksEnd); + } + } + if (StringUtils.isNotEmpty(queryNo)) { + MongoCondition c1 = MongoCondition.newInstance(); + MongoCondition con1 = MongoCondition.newInstance("name", queryNo, MongoOper.LIKE); + MongoCondition con2 = MongoCondition.newInstance("cardNo", queryNo, MongoOper.IS); + MongoCondition con3 = MongoCondition.newInstance("phone", queryNo, MongoOper.IS); + //MongoCondition con4 = MongoCondition.newInstance("name", queryNo, MongoOper.LIKE); + if (c != null) { + c1.orCondition(new MongoCondition[]{con1, con2, con3}).getCriteria(); + condition.andCondition(c1); + } else { + c = c1.orCondition(new MongoCondition[]{con1, con2, con3}).getCriteria(); + } + } + if(null != resultDateStart && null != resultDateEnd){ + if(c != null){ + c = c.where("resultDate").gte(resultDateStart).lte(resultDateEnd); + }else{ + c = Criteria.where("resultDate").gte(resultDateStart).lte(resultDateEnd); + } + } + + if (c != null) { + return new MongoCondition(c.andOperator(condition.getCriteria())).toMongoQuery(); + } return condition.toMongoQuery(); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/DiagnosisController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/DiagnosisController.java index e5679df..5d7c432 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/DiagnosisController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/DiagnosisController.java @@ -3,6 +3,7 @@ package com.lyms.platform.operate.web.controller; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.operate.web.facade.DiagnosisFacaed; import com.lyms.platform.operate.web.request.DiagnosisAddRequest; +import com.lyms.platform.operate.web.result.DiagnosisManagerResult; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -43,9 +44,39 @@ public class DiagnosisController { * @param request * @return */ + @ResponseBody + @RequestMapping(value = "/addDiagnosis",method = RequestMethod.GET) public BaseResponse addOrUpdateDiagnosis(DiagnosisAddRequest diagnosisAddRequest,HttpServletRequest request){ //LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); return diagnosisFacaed.addOrUpdateDiagnosis(diagnosisAddRequest, 1000000185); } + + /** + * 根据ID获取产前诊断信息 + * @param id + * @return + */ + @ResponseBody + @RequestMapping(value = "/getOneDiagnosis",method = RequestMethod.GET) + public BaseResponse getDiagnosisById(String id){ + //LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return diagnosisFacaed.queryOneDiaById(id); + } + + + /** + * 产前诊断申请列表管理 + * @param dataresult + * @param request + * @return + */ + @ResponseBody + @RequestMapping(value = "/getDiagnosisList",method = RequestMethod.GET) + public DiagnosisManagerResult getDiagnosisList(DiagnosisAddRequest dataresult,HttpServletRequest request){ + //LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + dataresult.setHospitalId("1000000185"); + return diagnosisFacaed.queryDiagnosisList(dataresult); + } + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DiagnosisFacaed.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DiagnosisFacaed.java index 0189a85..1d47c3d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DiagnosisFacaed.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DiagnosisFacaed.java @@ -206,12 +206,11 @@ public class DiagnosisFacaed { /** * 根据ID查询产前诊断信息 * @param id - * @param userId * @return */ - public BaseResponse queryOneDiaById(String id,Integer userId){ + public BaseResponse queryOneDiaById(String id){ BaseObjectResponse br = new BaseObjectResponse(); - String hospital = autoMatchFacade.getHospitalId(userId); + //String hospital = autoMatchFacade.getHospitalId(userId); DiagnosisQuery diagnosisQuery = new DiagnosisQuery(); diagnosisQuery.setId(id); DiagnosisModel dia = new DiagnosisModel(); @@ -231,7 +230,42 @@ public class DiagnosisFacaed { public DiagnosisManagerResult queryDiagnosisList(DiagnosisAddRequest dataresult){ DiagnosisManagerResult diagnosisManagerResult = new DiagnosisManagerResult(); DiagnosisQuery diagnosisQuery = new DiagnosisQuery(); - + if(null != dataresult.getDiaResult()){ + diagnosisQuery.setDiaResult(dataresult.getDiaResult()); + } + if(null != dataresult.getApplyWeekStart()){ + diagnosisQuery.setApplyWeeksStart(dataresult.getApplyWeekStart()); + } + if(null != dataresult.getApplyWeekEnd()){ + diagnosisQuery.setApplyWeeksEnd(dataresult.getApplyWeekEnd()); + } + if(null != dataresult.getNowWeeksStart()){ + diagnosisQuery.setNowWeeksStart(dataresult.getNowWeeksStart()); + } + if(null != dataresult.getNowWeeksEnd()){ + diagnosisQuery.setNowWeeksEnd(dataresult.getNowWeeksEnd()); + } + if(null != dataresult.getDiaStatus()){ + diagnosisQuery.setDiaStatus(dataresult.getDiaStatus()); + } + if(null != dataresult.getRsResult()){ + diagnosisQuery.setRsResult(dataresult.getRsResult()); + } + if(null != dataresult.getQueryNo()){ + diagnosisQuery.setQueryNo(dataresult.getQueryNo()); + } + if(null != dataresult.getApplyDateStart()){ + diagnosisQuery.setApplyDateStart(dataresult.getApplyDateStart()); + } + if(null != dataresult.getApplyDateEnd()){ + diagnosisQuery.setApplyDateEnd(dataresult.getApplyDateEnd()); + } + if(null != dataresult.getResultDateStart()){ + diagnosisQuery.setResultDateStart(dataresult.getResultDateStart()); + } + if(null != dataresult.getResultDateEnd()){ + diagnosisQuery.setResultDateEnd(dataresult.getResultDateEnd()); + } diagnosisQuery.setPage(dataresult.getPage()); diagnosisQuery.setLimit(dataresult.getLimit()); @@ -246,7 +280,110 @@ public class DiagnosisFacaed { diagnosisManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); return diagnosisManagerResult; } + for(DiagnosisModel diagnosisModel : diaList){ + SieveQuery sieveQuery = new SieveQuery(); + sieveQuery.setParentId(diagnosisModel.getParentId()); + //查询产筛list + List list = sieveService.queryList1(sieveQuery, "order"); + if(list != null && list.size() > 0){ + SieveModel sieveModel = list.get(0); + diagnosisModel.setRsResult(sieveModel.getRenShenResult().toString()); + diagnosisModel.setTireNumber(sieveModel.getTireNumber().toString()); + diagnosisModel.setCsStatus(sieveModel.getStatus().toString()); + if("0".equals(sieveModel.getZtfx())){ + diagnosisModel.setZtfx("0"); + diagnosisModel.setZtfeText("低风险"); + } + if("1".equals(sieveModel.getZtfx())){ + diagnosisModel.setZtfx("1"); + diagnosisModel.setZtfeText("临界值"); + } + if("2".equals(sieveModel.getZtfx())){ + diagnosisModel.setZtfx("2"); + diagnosisModel.setZtfeText("高风险"); + } + } + } + diagnosisManagerResult.setData(diaList); + diagnosisManagerResult.setPageInfo(diagnosisQuery.getPageInfo()); + diagnosisManagerResult.setErrorcode(ErrorCodeConstants.SUCCESS); + diagnosisManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + return diagnosisManagerResult; + } + + + /** + * 产筛实验室(产前诊断管理) + * @param dataresult + * @return + */ + public DiagnosisManagerResult queryDiagnosisLab(DiagnosisAddRequest dataresult){ + DiagnosisManagerResult diagnosisManagerResult = new DiagnosisManagerResult(); + DiagnosisQuery diagnosisQuery = new DiagnosisQuery(); + if(null != dataresult.getApplyDateStart()){ + diagnosisQuery.setApplyDateStart(dataresult.getApplyDateStart()); + } + if(null != dataresult.getApplyDateEnd()){ + diagnosisQuery.setApplyDateEnd(dataresult.getApplyDateEnd()); + } + if(null != dataresult.getCollectHospitalId()){ + diagnosisQuery.setCollectHospitalId(dataresult.getCollectHospitalId()); + } + if(null != dataresult.getSpecimenNo()){ + diagnosisQuery.setSpecimenNo(dataresult.getSpecimenNo()); + } + if(null != dataresult.getDiaStatus()){ + diagnosisQuery.setDiaStatus(dataresult.getDiaStatus()); + } + if(null != dataresult.getResultDateStart()){ + diagnosisQuery.setResultDateStart(dataresult.getResultDateStart()); + } + if(null != dataresult.getResultDateEnd()){ + diagnosisQuery.setResultDateEnd(dataresult.getResultDateEnd()); + } + if(null != dataresult.getQueryNo()){ + diagnosisQuery.setQueryNo(dataresult.getQueryNo()); + } + //只查询状态为已申请和已接收的 + + diagnosisQuery.setPage(dataresult.getPage()); + diagnosisQuery.setLimit(dataresult.getLimit()); + diagnosisQuery.setNeed("need"); + diagnosisQuery.setOrder("created"); + //babyModelQuery.setHospitalId(autoMatchFacade.getHospitalId(babySieveAddRequest.getOperatorId())); + diagnosisQuery.setHospitalId("216"); + List diaList = diagnosisService.queryDiagnosis(diagnosisQuery); + if(CollectionUtils.isEmpty(diaList)){ + diagnosisManagerResult.setPageInfo(diagnosisQuery.getPageInfo()); + diagnosisManagerResult.setErrorcode(ErrorCodeConstants.SUCCESS); + diagnosisManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + return diagnosisManagerResult; + } + for(DiagnosisModel diagnosisModel : diaList){ + SieveQuery sieveQuery = new SieveQuery(); + sieveQuery.setParentId(diagnosisModel.getParentId()); + //查询产筛list + List list = sieveService.queryList1(sieveQuery, "order"); + if(list != null && list.size() > 0){ + SieveModel sieveModel = list.get(0); + diagnosisModel.setRsResult(sieveModel.getRenShenResult().toString()); + diagnosisModel.setTireNumber(sieveModel.getTireNumber().toString()); + diagnosisModel.setCsStatus(sieveModel.getStatus().toString()); + if("0".equals(sieveModel.getZtfx())){ + diagnosisModel.setZtfx("0"); + diagnosisModel.setZtfeText("低风险"); + } + if("1".equals(sieveModel.getZtfx())){ + diagnosisModel.setZtfx("1"); + diagnosisModel.setZtfeText("临界值"); + } + if("2".equals(sieveModel.getZtfx())){ + diagnosisModel.setZtfx("2"); + diagnosisModel.setZtfeText("高风险"); + } + } + } diagnosisManagerResult.setData(diaList); diagnosisManagerResult.setPageInfo(diagnosisQuery.getPageInfo()); diagnosisManagerResult.setErrorcode(ErrorCodeConstants.SUCCESS); @@ -254,4 +391,5 @@ public class DiagnosisFacaed { return diagnosisManagerResult; } + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/DiagnosisAddRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/DiagnosisAddRequest.java index ff96ed7..93ed687 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/DiagnosisAddRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/DiagnosisAddRequest.java @@ -32,7 +32,7 @@ public class DiagnosisAddRequest implements IBasicRequestConvert private String phone; //年龄 private String age; - //申请孕周 + //孕周 private String dueWeek; //预产期 private String yChanQi; @@ -68,10 +68,28 @@ public class DiagnosisAddRequest implements IBasicRequestConvert private String hospitalId; //查询号 private String queryNo; - //诊断结果 + //诊断结果(0,阴性;1,阳性) private String diaResult; - //申请孕周 - private String applyWeek; + //申请孕周开始 + private String applyWeekStart; + //申请孕周结束 + private String applyWeekEnd; + //当前孕周开始 + private String nowWeeksStart; + //当前孕周结束 + private String nowWeeksEnd; + //产前诊断申请开始时间 + private String applyDateStart; + //产前诊断申请结束时间 + private String applyDateEnd; + //诊断出具开始时间 + private String resultDateStart; + //诊断出具结束时间 + private String resultDateEnd; + //数据状态 + private String diaStatus; + //妊娠结局 + private String rsResult; @@ -291,6 +309,102 @@ public class DiagnosisAddRequest implements IBasicRequestConvert this.hospitalId = hospitalId; } + public String getQueryNo() { + return queryNo; + } + + public void setQueryNo(String queryNo) { + this.queryNo = queryNo; + } + + public String getDiaResult() { + return diaResult; + } + + public void setDiaResult(String diaResult) { + this.diaResult = diaResult; + } + + public String getApplyWeekStart() { + return applyWeekStart; + } + + public void setApplyWeekStart(String applyWeekStart) { + this.applyWeekStart = applyWeekStart; + } + + public String getApplyWeekEnd() { + return applyWeekEnd; + } + + public void setApplyWeekEnd(String applyWeekEnd) { + this.applyWeekEnd = applyWeekEnd; + } + + public String getNowWeeksStart() { + return nowWeeksStart; + } + + public void setNowWeeksStart(String nowWeeksStart) { + this.nowWeeksStart = nowWeeksStart; + } + + public String getNowWeeksEnd() { + return nowWeeksEnd; + } + + public void setNowWeeksEnd(String nowWeeksEnd) { + this.nowWeeksEnd = nowWeeksEnd; + } + + public String getApplyDateStart() { + return applyDateStart; + } + + public void setApplyDateStart(String applyDateStart) { + this.applyDateStart = applyDateStart; + } + + public String getApplyDateEnd() { + return applyDateEnd; + } + + public void setApplyDateEnd(String applyDateEnd) { + this.applyDateEnd = applyDateEnd; + } + + public String getResultDateStart() { + return resultDateStart; + } + + public void setResultDateStart(String resultDateStart) { + this.resultDateStart = resultDateStart; + } + + public String getResultDateEnd() { + return resultDateEnd; + } + + public void setResultDateEnd(String resultDateEnd) { + this.resultDateEnd = resultDateEnd; + } + + public String getDiaStatus() { + return diaStatus; + } + + public void setDiaStatus(String diaStatus) { + this.diaStatus = diaStatus; + } + + public String getRsResult() { + return rsResult; + } + + public void setRsResult(String rsResult) { + this.rsResult = rsResult; + } + @Override public DiagnosisModel convertToDataModel(){ DiagnosisModel diagnosisModel = new DiagnosisModel(); -- 1.8.3.1