From 0e04f5a7030890de0bbfa05ad6396ef621e325e9 Mon Sep 17 00:00:00 2001 From: gengxiaokai Date: Thu, 10 Jan 2019 17:24:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A8=81=E6=B5=B7=E4=BA=A7=E5=90=8E=E8=A7=82?= =?UTF-8?q?=E5=AF=9F=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/service/PostpartumRecordsService.java | 16 +- .../com/lyms/platform/pojo/PostpartumRecords.java | 18 ++ .../platform/query/PostpartumRecordsQuery.java | 20 ++ .../controller/PostpartumRecordsController.java | 29 ++- .../web/facade/PostpartumRecordsFacade.java | 93 +++++++ .../web/request/PostpartumRecordsQueryRequest.java | 27 +++ .../web/result/PostpartumRecordsResult.java | 270 +++++++++++++++++++++ 7 files changed, 471 insertions(+), 2 deletions(-) create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PostpartumRecordsQueryRequest.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PostpartumRecordsResult.java diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PostpartumRecordsService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PostpartumRecordsService.java index bac1471..3af2736 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PostpartumRecordsService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PostpartumRecordsService.java @@ -1,9 +1,16 @@ package com.lyms.platform.biz.service; import com.lyms.platform.biz.dal.IPostpartumRecordsDao; +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.PostpartumRecords; +import com.lyms.platform.query.PostpartumRecordsQuery; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; +import java.util.List; + /** * Created by Administrator on 2019/1/9. */ @@ -13,6 +20,13 @@ public class PostpartumRecordsService { @Autowired private IPostpartumRecordsDao postpartumRecordsDao; - + public List getBabySieveQuery(PostpartumRecordsQuery postpartumRecordsQuery){ + MongoQuery query = postpartumRecordsQuery.convertToQuery(); + if (StringUtils.isNotEmpty(postpartumRecordsQuery.getNeed())) { + postpartumRecordsQuery.mysqlBuild(postpartumRecordsDao.queryPostpartumRecordsCount(query)); + query.start(postpartumRecordsQuery.getOffset()).end(postpartumRecordsQuery.getLimit()); + } + return postpartumRecordsDao.queryPostpartumRecords(query.addOrder(Sort.Direction.DESC, "created")); + } } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/PostpartumRecords.java b/platform-dal/src/main/java/com/lyms/platform/pojo/PostpartumRecords.java index 7de2bae..0b8c9e0 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/PostpartumRecords.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/PostpartumRecords.java @@ -21,6 +21,8 @@ public class PostpartumRecords extends BaseModel { private String created;//创建时间 private String modified;//修改时间 private List records;//记录列表 + private String hospitalId;//医院ID + private String doctor;//操作医生 public static class Records implements Serializable { private static final long serialVersionUID = SerialIdEnum.Records.getCid(); @@ -195,4 +197,20 @@ public class PostpartumRecords extends BaseModel { public void setRecords(List records) { this.records = records; } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getDoctor() { + return doctor; + } + + public void setDoctor(String doctor) { + this.doctor = doctor; + } } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PostpartumRecordsQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PostpartumRecordsQuery.java index 9bd496d..c02bbce 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/PostpartumRecordsQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/PostpartumRecordsQuery.java @@ -13,12 +13,32 @@ import com.lyms.platform.common.dao.operator.MongoQuery; public class PostpartumRecordsQuery extends BaseQuery implements IConvertToNativeQuery { private String parentId;//孕妇ID + private String hospitalId;//医院ID public MongoQuery convertToQuery() { MongoCondition condition = MongoCondition.newInstance(); if(null != parentId){ condition = condition.and("parentId", parentId, MongoOper.IS); } + if(null !=hospitalId){ + condition = condition.and("hospitalId", hospitalId, MongoOper.IS); + } return condition.toMongoQuery(); } + + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostpartumRecordsController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostpartumRecordsController.java index d0449be..bacb96d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostpartumRecordsController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostpartumRecordsController.java @@ -1,11 +1,38 @@ package com.lyms.platform.operate.web.controller; +import com.lyms.platform.common.annotation.TokenRequired; +import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.base.LoginContext; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.operate.web.facade.PostpartumRecordsFacade; +import com.lyms.platform.operate.web.request.PostpartumRecordsQueryRequest; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; /** * Created by Administrator on 2019/1/9. * 产后观察记录 */ @Controller -public class PostpartumRecordsController { +public class PostpartumRecordsController extends BaseController { + + @Autowired + private PostpartumRecordsFacade postpartumRecordsFacade; + + + @RequestMapping(value = "/postpartumRecords",method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public BaseResponse getPostpartumRecords(@Valid PostpartumRecordsQueryRequest PostpartumRecordsQueryRequest, + HttpServletRequest request){ + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return postpartumRecordsFacade.queryPostpartumRecords(PostpartumRecordsQueryRequest,loginState.getId()); + } + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostpartumRecordsFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostpartumRecordsFacade.java index 653b398..77b2e8c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostpartumRecordsFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostpartumRecordsFacade.java @@ -1,12 +1,30 @@ package com.lyms.platform.operate.web.facade; +import com.lyms.platform.biz.service.MatDeliverService; import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.biz.service.PostpartumRecordsService; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.result.BaseObjectResponse; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.operate.web.request.PostpartumRecordsQueryRequest; +import com.lyms.platform.operate.web.result.PostpartumRecordsResult; +import com.lyms.platform.pojo.MaternalDeliverModel; +import com.lyms.platform.pojo.Patients; +import com.lyms.platform.pojo.PostpartumRecords; +import com.lyms.platform.query.MatDeliverQuery; +import com.lyms.platform.query.PatientsQuery; +import com.lyms.platform.query.PostpartumRecordsQuery; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component; +import java.util.ArrayList; +import java.util.List; + /** * Created by Administrator on 2019/1/9. * 产后观察 @@ -20,6 +38,81 @@ public class PostpartumRecordsFacade { private PatientsService patientsService; @Autowired private PostpartumRecordsService postpartumRecordsService; + @Autowired + private AutoMatchFacade autoMatchFacade; + @Autowired + private MatDeliverService matDeliverService; + + + /** + * 产后观察申请查询接口 + * @param prQueryRequest + * @param userId + * @return + */ + public BaseResponse queryPostpartumRecords(PostpartumRecordsQueryRequest prQueryRequest,Integer userId){ + PostpartumRecordsResult postpartumRecordsResult = new PostpartumRecordsResult(); + String hospital = autoMatchFacade.getHospitalId(userId); + PostpartumRecordsQuery prQuery = new PostpartumRecordsQuery(); + PatientsQuery patientsQuery = new PatientsQuery(); + if(StringUtils.isNotEmpty(prQueryRequest.getCardNo()) || StringUtils.isNotEmpty(prQueryRequest.getVcCardNo())){ + String parentId = null; + String maternalDeliverId = null; + if(prQueryRequest.getCardNo() !=null){ + patientsQuery.setCardNo(prQueryRequest.getCardNo()); + } + else if(prQueryRequest.getVcCardNo() != null){ + patientsQuery.setVcCardNo(prQueryRequest.getVcCardNo()); + } + //patientsQuery.setHospitalId(hospital); + //查询孕妇 + List list = patientsService.queryPatient(patientsQuery); + if(CollectionUtils.isNotEmpty(list)){ + parentId = list.get(0).getId(); + + MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); + matDeliverQuery.setPid(list.get(0).getPid()); + matDeliverQuery.setYn(YnEnums.YES.getId()); + //查询分娩 + List mdList = matDeliverService.query(matDeliverQuery); + if(CollectionUtils.isNotEmpty(mdList)){ + prQuery.setParentId(parentId); + prQuery.setHospitalId(hospital); + List prList = postpartumRecordsService.getBabySieveQuery(prQuery); + if(CollectionUtils.isNotEmpty(prList)){ + postpartumRecordsResult.convertToResult(prList.get(0)); + postpartumRecordsResult.setName(list.get(0).getUsername()); + postpartumRecordsResult.setBhnum(mdList.get(0).getBhNum()); + postpartumRecordsResult.setOneCxl(mdList.get(0).getTotalOneCxl()); + postpartumRecordsResult.setTwoCxl(mdList.get(0).getTotalTwoCxl()); + List records = prList.get(0).getRecords(); + List recordsList = new ArrayList(); + if(CollectionUtils.isNotEmpty(records)){ + for(PostpartumRecords.Records r : records){ + recordsList.add(postpartumRecordsResult.new Records(r)); + } + postpartumRecordsResult.setRecords(recordsList); + } + }else{ + postpartumRecordsResult.setName(list.get(0).getUsername()); + postpartumRecordsResult.setBhnum(mdList.get(0).getBhNum()); + postpartumRecordsResult.setOneCxl(mdList.get(0).getTotalOneCxl()); + postpartumRecordsResult.setTwoCxl(mdList.get(0).getTotalTwoCxl()); + } + }else{ + return new BaseObjectResponse().setErrormsg("孕妇未填写分娩记录,不能进行产后观察!").setErrorcode(ErrorCodeConstants.NO_DATA); + } + + }else{ + return new BaseObjectResponse().setErrormsg("孕妇未在本机构建档,不能进行产后观察!").setErrorcode(ErrorCodeConstants.NO_DATA); + } + + }else{ + return new BaseObjectResponse().setErrormsg("请输入查询条件!").setErrorcode(ErrorCodeConstants.PARAMETER_ERROR); + } + + return new BaseObjectResponse().setErrormsg("成功!").setErrorcode(ErrorCodeConstants.SUCCESS).setData(postpartumRecordsResult); + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PostpartumRecordsQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PostpartumRecordsQueryRequest.java new file mode 100644 index 0000000..6132c51 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PostpartumRecordsQueryRequest.java @@ -0,0 +1,27 @@ +package com.lyms.platform.operate.web.request; + +/** + * 产后观察记录查询模型 + * Created by Administrator on 2019/1/10. + */ +public class PostpartumRecordsQueryRequest { + + private String cardNo;//身份证号 + private String vcCardNo;//就诊卡号 + + public String getCardNo() { + return cardNo; + } + + public void setCardNo(String cardNo) { + this.cardNo = cardNo; + } + + public String getVcCardNo() { + return vcCardNo; + } + + public void setVcCardNo(String vcCardNo) { + this.vcCardNo = vcCardNo; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PostpartumRecordsResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PostpartumRecordsResult.java new file mode 100644 index 0000000..acf1395 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PostpartumRecordsResult.java @@ -0,0 +1,270 @@ +package com.lyms.platform.operate.web.result; + +import com.lyms.platform.beans.SerialIdEnum; +import com.lyms.platform.pojo.PostpartumRecords; + +import java.io.Serializable; +import java.util.List; + +/** + * Created by Administrator on 2019/1/10. + * 产后观察记录返回模型 + */ +public class PostpartumRecordsResult { + + private String id; + private String parentId;//孕妇ID + private String maternalDeliverId;//分娩ID + private String created;//创建时间 + private String modified;//修改时间 + private List records;//记录列表 + private String hospitalId;//医院ID + private String doctor;//操作医生 + private String name;//孕妇姓名 + private String bhnum;//住院号 + private String oneCxl;//一小时出血量 + private String twoCxl;//两小时出血量 + + public class Records implements Serializable { + private String id; + private String date;//时间 + private String tw;//体温 + private String xy;//血压 + private String mb;//脉搏 + private String xybhd;//血氧饱和度 + private String gd;//宫底 + private String cxl;//出血量 + private String pgjc;//膀胱检查 + private String hyqk;//会阴情况 + private String nz;//内诊 + private String fz;//附注 + private String qm;//签名 + + public Records(){ + + } + + public Records(PostpartumRecords.Records record){ + setId(record.getId()); + setDate(record.getDate()); + setTw(record.getTw()); + setXy(record.getXy()); + setMb(record.getMb()); + setXybhd(record.getXybhd()); + setGd(record.getGd()); + setCxl(record.getCxl()); + setPgjc(record.getPgjc()); + setHyqk(record.getHyqk()); + setNz(record.getNz()); + setFz(record.getFz()); + setQm(record.getQm()); + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getDate() { + return date; + } + + public void setDate(String date) { + this.date = date; + } + + public String getTw() { + return tw; + } + + public void setTw(String tw) { + this.tw = tw; + } + + public String getXy() { + return xy; + } + + public void setXy(String xy) { + this.xy = xy; + } + + public String getMb() { + return mb; + } + + public void setMb(String mb) { + this.mb = mb; + } + + public String getXybhd() { + return xybhd; + } + + public void setXybhd(String xybhd) { + this.xybhd = xybhd; + } + + public String getGd() { + return gd; + } + + public void setGd(String gd) { + this.gd = gd; + } + + public String getCxl() { + return cxl; + } + + public void setCxl(String cxl) { + this.cxl = cxl; + } + + public String getPgjc() { + return pgjc; + } + + public void setPgjc(String pgjc) { + this.pgjc = pgjc; + } + + public String getHyqk() { + return hyqk; + } + + public void setHyqk(String hyqk) { + this.hyqk = hyqk; + } + + public String getNz() { + return nz; + } + + public void setNz(String nz) { + this.nz = nz; + } + + public String getFz() { + return fz; + } + + public void setFz(String fz) { + this.fz = fz; + } + + public String getQm() { + return qm; + } + + public void setQm(String qm) { + this.qm = qm; + } + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + public String getMaternalDeliverId() { + return maternalDeliverId; + } + + public void setMaternalDeliverId(String maternalDeliverId) { + this.maternalDeliverId = maternalDeliverId; + } + + public String getCreated() { + return created; + } + + public void setCreated(String created) { + this.created = created; + } + + public String getModified() { + return modified; + } + + public void setModified(String modified) { + this.modified = modified; + } + + public List getRecords() { + return records; + } + + public void setRecords(List records) { + this.records = records; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getDoctor() { + return doctor; + } + + public void setDoctor(String doctor) { + this.doctor = doctor; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getBhnum() { + return bhnum; + } + + public void setBhnum(String bhnum) { + this.bhnum = bhnum; + } + + public String getOneCxl() { + return oneCxl; + } + + public void setOneCxl(String oneCxl) { + this.oneCxl = oneCxl; + } + + public String getTwoCxl() { + return twoCxl; + } + + public void setTwoCxl(String twoCxl) { + this.twoCxl = twoCxl; + } + + public PostpartumRecordsResult convertToResult(PostpartumRecords postpartumRecords){ + setId(postpartumRecords.getId()); + setHospitalId(postpartumRecords.getHospitalId()); + setCreated(postpartumRecords.getCreated()); + return this; + } +} -- 1.8.3.1