diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IMatDeliverDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IMatDeliverDao.java index f5f7a2c..ccf200d 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IMatDeliverDao.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IMatDeliverDao.java @@ -59,4 +59,7 @@ public interface IMatDeliverDao { */ MaternalDeliverModel getById(String id); + int count(MongoQuery mongoQuery); + + List pageQuery(MongoQuery mongoQuery); } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/MatDeliverDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/MatDeliverDaoImpl.java index 208869d..a35469a 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/MatDeliverDaoImpl.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/MatDeliverDaoImpl.java @@ -60,4 +60,14 @@ public class MatDeliverDaoImpl extends BaseMongoDAOImpl im public MaternalDeliverModel getById(String id) { return findById(id); } + + @Override + public int count(MongoQuery mongoQuery) { + return (int) super.count(mongoQuery.convertToMongoQuery()); + } + + @Override + public List pageQuery(MongoQuery mongoQuery) { + return super.find(mongoQuery.convertToMongoQuery()); + } } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MatDeliverService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MatDeliverService.java index ec0da82..b813223 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MatDeliverService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MatDeliverService.java @@ -1,6 +1,7 @@ package com.lyms.platform.biz.service; import com.lyms.platform.biz.dal.IMatDeliverDao; +import com.lyms.platform.common.dao.operator.MongoQuery; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.pojo.MaternalDeliverModel; import com.lyms.platform.query.MatDeliverQuery; @@ -53,4 +54,11 @@ public class MatDeliverService { public MaternalDeliverModel getOneMatDeliver(String id){ return iMatDeliverDao.getById(id); } + + public List pageQuery(MatDeliverQuery matDeliverQuery) { + MongoQuery mongoQuery = matDeliverQuery.convertToQuery(); + matDeliverQuery.mysqlBuild(iMatDeliverDao.count(matDeliverQuery.convertToQuery())); + mongoQuery.start(matDeliverQuery.getOffset()).end(matDeliverQuery.getLimit()); + return iMatDeliverDao.pageQuery(mongoQuery.addOrder(Sort.Direction.DESC, "dueDate1")); + } } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java index a98348c..c6cf5a5 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java @@ -8,6 +8,7 @@ import com.lyms.platform.common.dao.operator.MongoQuery; import org.springframework.data.mongodb.core.query.Criteria; import java.util.Date; +import java.util.List; /** * 产妇分娩记录查询 @@ -17,6 +18,8 @@ import java.util.Date; public class MatDeliverQuery extends BaseQuery implements IConvertToNativeQuery { private String id; private String parentId; + private List parentIdList; + private String deliveryMode; private String vcCardNo; private String cardNo; private String pid; @@ -115,6 +118,12 @@ public class MatDeliverQuery extends BaseQuery implements IConvertToNativeQuery if (null != parentId) { condition = condition.and("parentId", parentId, MongoOper.IS); } + if (null != parentIdList) { + condition = condition.and("parentId", parentIdList, MongoOper.IN); + } + if(null != deliveryMode){ + condition = condition.and("deliveryMode", deliveryMode, MongoOper.IS); + } if (null != hospitalId) { condition = condition.and("hospitalId", hospitalId, MongoOper.IS); } @@ -191,4 +200,20 @@ public class MatDeliverQuery extends BaseQuery implements IConvertToNativeQuery public void setYn(Integer yn) { this.yn = yn; } + + public List getParentIdList() { + return parentIdList; + } + + public void setParentIdList(List parentIdList) { + this.parentIdList = parentIdList; + } + + public String getDeliveryMode() { + return deliveryMode; + } + + public void setDeliveryMode(String deliveryMode) { + this.deliveryMode = deliveryMode; + } } 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 bc01af7..86862d6 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 @@ -23,6 +23,8 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { private String id; + private String husbandPhone; + /** * 关键字 */ @@ -1111,4 +1113,12 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { public void setVcCardNo(String vcCardNo) { this.vcCardNo = vcCardNo; } + + public String getHusbandPhone() { + return husbandPhone; + } + + public void setHusbandPhone(String husbandPhone) { + this.husbandPhone = husbandPhone; + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java index fd8816c..774663a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java @@ -4,10 +4,14 @@ 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.constants.ErrorCodeConstants; +import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.ExceptionUtils; import com.lyms.platform.operate.web.facade.MatDeliverFacade; +import com.lyms.platform.operate.web.request.ChildbirthManagerRequest; import com.lyms.platform.operate.web.request.MatDeliverAddRequest; import com.lyms.platform.operate.web.request.MatDeliverQueryRequest; +import com.lyms.platform.operate.web.result.ChildbirthManagerResult; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -96,4 +100,30 @@ public class MatDeliverController extends BaseController{ public BaseResponse getEnums(){ return matDeliverFacade.getEnums(); } + + /** + * @auther HuJiaqi + * @createTime 2016年12月07日 14时22分 + * @discription 分娩管理 + */ + @TokenRequired + @ResponseBody + @RequestMapping(value = "childbirthManager", method = RequestMethod.POST) + public BaseListResponse childbirthManager(HttpServletRequest httpServletRequest, @RequestBody ChildbirthManagerRequest childbirthManagerRequest) { + BaseListResponse baseListResponse; + try { + childbirthManagerRequest.setOperatorId(((LoginContext) httpServletRequest.getAttribute("loginContext")).getId()); + ChildbirthManagerResult childbirthManagerResult = matDeliverFacade.childbirthManager(childbirthManagerRequest); + if (childbirthManagerResult.getErrorcode() != ErrorCodeConstants.SUCCESS) { + baseListResponse = new BaseListResponse().setErrorcode(childbirthManagerResult.getErrorcode()).setErrormsg(childbirthManagerResult.getErrormsg()); + return baseListResponse; + } + baseListResponse = new BaseListResponse().setErrorcode(childbirthManagerResult.getErrorcode()).setErrormsg(childbirthManagerResult.getErrormsg()).setData(childbirthManagerResult.getData()).setPageInfo(childbirthManagerResult.getPageInfo()); + } catch (Exception e) { + baseListResponse = new BaseListResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION); + ExceptionUtils.catchException(e, "childbirthManager异常"); + } + return baseListResponse; + } + } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index e7ee710..d595ce0 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -5,13 +5,13 @@ import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.*; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.BeanUtils; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.ExceptionUtils; +import com.lyms.platform.operate.web.request.ChildbirthManagerRequest; import com.lyms.platform.operate.web.request.MatDeliverAddRequest; import com.lyms.platform.operate.web.request.MatDeliverQueryRequest; -import com.lyms.platform.operate.web.result.HighScoreResult; -import com.lyms.platform.operate.web.result.MatDeliverListResult; -import com.lyms.platform.operate.web.result.MaternalDeliverResult; +import com.lyms.platform.operate.web.result.*; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.OrganizationService; @@ -915,4 +915,71 @@ public class MatDeliverFacade { } return list; } + + public ChildbirthManagerResult childbirthManager(ChildbirthManagerRequest childbirthManagerRequest) { + ChildbirthManagerResult childbirthManagerResult = new ChildbirthManagerResult(); + + PatientsQuery patientsQuery = new PatientsQuery(); + + patientsQuery.setFmDateStart(DateUtil.parseYMD(childbirthManagerRequest.getStartDate())); + patientsQuery.setFmDateEnd(DateUtil.parseYMD(childbirthManagerRequest.getEndDate())); + patientsQuery.setName(childbirthManagerRequest.getUserName()); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setType(3); + // patientsQuery.setHospitalId(autoMatchFacade.getHospitalId(childbirthManagerRequest.getOperatorId())); + patientsQuery.setCardNo(childbirthManagerRequest.getCardNo()); + patientsQuery.setPhone(childbirthManagerRequest.getPhone()); + patientsQuery.setHusbandPhone(childbirthManagerRequest.getHusbandPhone()); + // 分娩方式去另外一张表查 + List patientsList = patientsService.queryPatient(patientsQuery); + List parentIdList = new ArrayList<>(); + if (patientsList == null || patientsList.size() == 0) { + // 没有查到,直接抛出 + childbirthManagerResult.setErrorcode(ErrorCodeConstants.SUCCESS); + childbirthManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + return childbirthManagerResult; + } + for (Patients patients : patientsList) { + parentIdList.add(patients.getId()); + } + + MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); + matDeliverQuery.setDeliveryMode(childbirthManagerRequest.getDeliveryMode()); + matDeliverQuery.setParentIdList(parentIdList); + matDeliverQuery.setPage(childbirthManagerRequest.getPage()); + matDeliverQuery.setLimit(childbirthManagerRequest.getLimit()); + List maternalDeliverModelList = matDeliverService.pageQuery(matDeliverQuery); + if (maternalDeliverModelList == null || maternalDeliverModelList.size() == 0) { + // 没有查到,直接抛出 + childbirthManagerResult.setErrorcode(ErrorCodeConstants.SUCCESS); + childbirthManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + return childbirthManagerResult; + } + + List childbirthManagerQueryModelList = new ArrayList<>(); + for (MaternalDeliverModel maternalDeliverModel : maternalDeliverModelList) { + for (Patients patients : patientsList) { + if (maternalDeliverModel.getParentId().equals(patients.getId())) { + // 这里分好了组,开始往结果集里面加数据 + ChildbirthManagerQueryModel childbirthManagerQueryModel = new ChildbirthManagerQueryModel(); + BeanUtils.copy(patients, childbirthManagerQueryModel); + BeanUtils.copy(maternalDeliverModel, childbirthManagerQueryModel); + try { + childbirthManagerQueryModel.setDeliverDoctor(usersService.getUsers(Integer.valueOf(maternalDeliverModel.getDeliverDoctor())).getName()); + } catch (Exception e) { + // 什么都不干 + } + childbirthManagerQueryModel.setAge(DateUtil.getAge(patients.getBirth())); + childbirthManagerQueryModelList.add(childbirthManagerQueryModel); + } + } + } + + childbirthManagerResult.setData(childbirthManagerQueryModelList); + childbirthManagerResult.setPageInfo(matDeliverQuery.getPageInfo()); + childbirthManagerResult.setErrorcode(ErrorCodeConstants.SUCCESS); + childbirthManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + return childbirthManagerResult; + + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ChildbirthManagerRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ChildbirthManagerRequest.java new file mode 100644 index 0000000..3a16565 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/ChildbirthManagerRequest.java @@ -0,0 +1,116 @@ +package com.lyms.platform.operate.web.request; + +/** + * @auther HuJiaqi + * @createTime 2016年12月07日 14时07分 + * @discription + */ +public class ChildbirthManagerRequest extends BasePageQueryRequest { + + /** + * @auther HuJiaqi + * @createTime 2016年12月07日 14时13分 + * @discription 产妇姓名 + */ + private String userName; + + /** + * @auther HuJiaqi + * @createTime 2016年12月07日 14时13分 + * @discription 证件号 + */ + private String cardNo; + + /** + * @auther HuJiaqi + * @createTime 2016年12月07日 14时13分 + * @discription 联系方式 + */ + private String phone; + + private String startDate; + + private String endDate; + + /** + * @auther HuJiaqi + * @createTime 2016年12月07日 14时14分 + * @discription 分娩方式 + */ + private String DeliveryMode; + + /** + * @auther HuJiaqi + * @createTime 2016年12月07日 15时54分 + * @discription 丈夫联系方式 + */ + private String husbandPhone; + + // TODO 高帆说条码号暂时先不管 + + private Integer operatorId; + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getCardNo() { + return cardNo; + } + + public void setCardNo(String cardNo) { + this.cardNo = cardNo; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getStartDate() { + return startDate; + } + + public void setStartDate(String startDate) { + this.startDate = startDate; + } + + public String getEndDate() { + return endDate; + } + + public void setEndDate(String endDate) { + this.endDate = endDate; + } + + public String getDeliveryMode() { + return DeliveryMode; + } + + public void setDeliveryMode(String deliveryMode) { + DeliveryMode = deliveryMode; + } + + public Integer getOperatorId() { + return operatorId; + } + + public void setOperatorId(Integer operatorId) { + this.operatorId = operatorId; + } + + public String getHusbandPhone() { + return husbandPhone; + } + + public void setHusbandPhone(String husbandPhone) { + this.husbandPhone = husbandPhone; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/ChildbirthManagerQueryModel.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/ChildbirthManagerQueryModel.java new file mode 100644 index 0000000..6857cb5 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/ChildbirthManagerQueryModel.java @@ -0,0 +1,166 @@ +package com.lyms.platform.operate.web.result; + +/** + * @auther HuJiaqi + * @createTime 2016年12月07日 15时51分 + * @discription + */ +public class ChildbirthManagerQueryModel { + + /** + * @auther HuJiaqi + * @createTime 2016年12月07日 16时36分 + * @discription 分娩日期 + */ + private String dueDate; + + /** + * @auther HuJiaqi + * @createTime 2016年12月07日 16时36分 + * @discription 姓名 + */ + private String username; + + /** + * @auther HuJiaqi + * @createTime 2016年12月07日 16时36分 + * @discription 年龄 + */ + private Integer age; + + /** + * @auther HuJiaqi + * @createTime 2016年12月07日 16时37分 + * @discription 证件号 + */ + private String cardNo; + + /** + * @auther HuJiaqi + * @createTime 2016年12月07日 16时37分 + * @discription 分娩孕周 + */ + private String dueWeek; + + /** + * @auther HuJiaqi + * @createTime 2016年12月07日 16时38分 + * @discription 分娩方式 + */ + private String deliveryMode; + + /** + * @auther HuJiaqi + * @createTime 2016年12月07日 16时38分 + * @discription 产妇情况 + */ + private String maternalInfo; + + /** + * @auther HuJiaqi + * @createTime 2016年12月07日 16时38分 + * @discription 胎数 + */ + private Integer tireNumber; + + /** + * @auther HuJiaqi + * @createTime 2016年12月07日 16时39分 + * @discription 活产数 + */ + // TODO 暂未确定 + + /** + * @auther HuJiaqi + * @createTime 2016年12月07日 16时40分 + * @discription 接生医生 + */ + private String deliverDoctor; + + /** + * @auther HuJiaqi + * @createTime 2016年12月07日 16时41分 + * @discription 联系方式 + */ + private String phone; + + public String getDueDate() { + return dueDate; + } + + public void setDueDate(String dueDate) { + this.dueDate = dueDate; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public Integer getAge() { + return age; + } + + public void setAge(Integer age) { + this.age = age; + } + + public String getCardNo() { + return cardNo; + } + + public void setCardNo(String cardNo) { + this.cardNo = cardNo; + } + + public String getDueWeek() { + return dueWeek; + } + + public void setDueWeek(String dueWeek) { + this.dueWeek = dueWeek; + } + + public String getDeliveryMode() { + return deliveryMode; + } + + public void setDeliveryMode(String deliveryMode) { + this.deliveryMode = deliveryMode; + } + + public String getMaternalInfo() { + return maternalInfo; + } + + public void setMaternalInfo(String maternalInfo) { + this.maternalInfo = maternalInfo; + } + + public Integer getTireNumber() { + return tireNumber; + } + + public void setTireNumber(Integer tireNumber) { + this.tireNumber = tireNumber; + } + + public String getDeliverDoctor() { + return deliverDoctor; + } + + public void setDeliverDoctor(String deliverDoctor) { + this.deliverDoctor = deliverDoctor; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/ChildbirthManagerResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/ChildbirthManagerResult.java new file mode 100644 index 0000000..ef67a68 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/ChildbirthManagerResult.java @@ -0,0 +1,11 @@ +package com.lyms.platform.operate.web.result; + +import com.lyms.platform.common.result.BaseListResponse; + +/** + * @auther HuJiaqi + * @createTime 2016年12月07日 14时08分 + * @discription + */ +public class ChildbirthManagerResult extends BaseListResponse { +}