diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java index 0247dcb..5708fbc 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java @@ -43,6 +43,8 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { private Date buildDateEnd; + private String dueType; + public Date getBuildDateStart() { return buildDateStart; } @@ -443,6 +445,10 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { condition = condition.and("vcCardNo", vcCardNo, MongoOper.IS); } + if (!StringUtils.isEmpty(dueType)) { + condition = condition.and("dueType", dueType, MongoOper.IS); + } + if (null != hospitalIdList) { condition = condition.and("hospitalId", hospitalIdList, MongoOper.IN); }else if (null != hospitalId) { @@ -629,4 +635,12 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { public void setHighRisk(Integer highRisk) { this.highRisk = highRisk; } + + public String getDueType() { + return dueType; + } + + public void setDueType(String dueType) { + this.dueType = dueType; + } } \ 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 774663a..756418f 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 @@ -11,7 +11,9 @@ 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.request.NewBabyManagerRequest; import com.lyms.platform.operate.web.result.ChildbirthManagerResult; +import com.lyms.platform.operate.web.result.NewBabyManagerResult; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -126,4 +128,29 @@ public class MatDeliverController extends BaseController{ return baseListResponse; } + /** + * @auther HuJiaqi + * @createTime 2016年12月07日 17时50分 + * @discription 新生儿管理 + */ + @TokenRequired + @ResponseBody + @RequestMapping(value = "newBabyManager", method = RequestMethod.POST) + public BaseListResponse newBabyManager(HttpServletRequest httpServletRequest, @RequestBody NewBabyManagerRequest newBabyManagerRequest) { + BaseListResponse baseListResponse; + try { + newBabyManagerRequest.setOperatorId(((LoginContext) httpServletRequest.getAttribute("loginContext")).getId()); + NewBabyManagerResult newBabyManagerResult = matDeliverFacade.newBabyManager(newBabyManagerRequest); + if (newBabyManagerResult.getErrorcode() != ErrorCodeConstants.SUCCESS) { + baseListResponse = new BaseListResponse().setErrorcode(newBabyManagerResult.getErrorcode()).setErrormsg(newBabyManagerResult.getErrormsg()); + return baseListResponse; + } + baseListResponse = new BaseListResponse().setErrorcode(newBabyManagerResult.getErrorcode()).setErrormsg(newBabyManagerResult.getErrormsg()).setData(newBabyManagerResult.getData()).setPageInfo(newBabyManagerResult.getPageInfo()); + } catch (Exception e) { + baseListResponse = new BaseListResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION); + ExceptionUtils.catchException(e, "newBabyManager异常"); + } + 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 235b020..61372ba 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 @@ -11,6 +11,7 @@ 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.request.NewBabyManagerRequest; import com.lyms.platform.operate.web.result.*; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.Users; @@ -26,6 +27,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.text.SimpleDateFormat; import java.util.*; /** @@ -948,6 +950,7 @@ public class MatDeliverFacade { matDeliverQuery.setParentIdList(parentIdList); matDeliverQuery.setPage(childbirthManagerRequest.getPage()); matDeliverQuery.setLimit(childbirthManagerRequest.getLimit()); + matDeliverQuery.setNeed("Need"); List maternalDeliverModelList = matDeliverService.pageQuery(matDeliverQuery); if (maternalDeliverModelList == null || maternalDeliverModelList.size() == 0) { // 没有查到,直接抛出 @@ -982,4 +985,52 @@ public class MatDeliverFacade { return childbirthManagerResult; } + + public NewBabyManagerResult newBabyManager(NewBabyManagerRequest newBabyManagerRequest) { + NewBabyManagerResult newBabyManagerResult = new NewBabyManagerResult(); + + BabyModelQuery babyModelQuery = new BabyModelQuery(); + babyModelQuery.setYn(YnEnums.YES.getId()); + babyModelQuery.setMname(newBabyManagerRequest.getMname()); + babyModelQuery.setMcertNo(newBabyManagerRequest.getMcertNo()); + babyModelQuery.setMphone(newBabyManagerRequest.getMphone()); + babyModelQuery.setBirthStart(DateUtil.parseYMD(newBabyManagerRequest.getBirthStartDate())); + babyModelQuery.setBirthEnd(DateUtil.parseYMD(newBabyManagerRequest.getBirthEndDate())); + babyModelQuery.setDueType(newBabyManagerRequest.getDueType()); + babyModelQuery.setPage(newBabyManagerRequest.getPage()); + babyModelQuery.setLimit(newBabyManagerRequest.getLimit()); + // babyModelQuery.setHospitalId(autoMatchFacade.getHospitalId(newBabyManagerRequest.getOperatorId())); + babyModelQuery.setNeed("Need"); + + List babyModelList = babyService.queryBabyWithQuery(babyModelQuery); + List newBabyManagerQueryModelList = new ArrayList<>(); + if (babyModelList != null && babyModelList.size() > 0) { + for (BabyModel babyModel : babyModelList) { + NewBabyManagerQueryModel newBabyManagerQueryModel = new NewBabyManagerQueryModel(); + BeanUtils.copy(babyModel, newBabyManagerQueryModel); + newBabyManagerQueryModel.setAge(DateUtil.getAge(babyModel.getMbirth())); + newBabyManagerQueryModel.setBirthYMD(DateUtil.getyyyy_MM_dd(babyModel.getBirth())); + newBabyManagerQueryModel.setBirthHM(new SimpleDateFormat("HH:mm").format(babyModel.getBirth())); + newBabyManagerQueryModel.setBirthDays(DateUtil.getDays(babyModel.getBirth(), new Date())); + try { + MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); + matDeliverQuery.setYn(YnEnums.YES.getId()); + matDeliverQuery.setParentId(babyModel.getParentId()); + List maternalDeliverModelList = matDeliverService.query(matDeliverQuery); + if (maternalDeliverModelList != null && maternalDeliverModelList.size() == 1) { + newBabyManagerQueryModel.setDeliverDoctor(usersService.getUsers(Integer.valueOf(maternalDeliverModelList.get(0).getDeliverDoctor())).getName()); + } + } catch (Exception e) { + // 什么都不干 + } + newBabyManagerQueryModelList.add(newBabyManagerQueryModel); + } + } + + newBabyManagerResult.setData(newBabyManagerQueryModelList); + newBabyManagerResult.setPageInfo(babyModelQuery.getPageInfo()); + newBabyManagerResult.setErrorcode(ErrorCodeConstants.SUCCESS); + newBabyManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + return newBabyManagerResult; + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/NewBabyManagerRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/NewBabyManagerRequest.java new file mode 100644 index 0000000..da9e314 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/NewBabyManagerRequest.java @@ -0,0 +1,111 @@ +package com.lyms.platform.operate.web.request; + +/** + * @auther HuJiaqi + * @createTime 2016年12月07日 17时49分 + * @discription + */ +public class NewBabyManagerRequest extends BasePageQueryRequest { + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 09时56分 + * @discription 母亲姓名 + */ + private String mname; + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 09时56分 + * @discription 母亲证件号 + */ + private String mcertNo; + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 09时57分 + * @discription 母亲联系方式 + */ + private String mphone; + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 09时57分 + * @discription 分娩日期开始 + */ + private String birthStartDate; + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 09时57分 + * @discription 分娩日期结束 + */ + private String birthEndDate; + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 09时58分 + * @discription 分娩方式 + */ + private String dueType; + + // TODO 条码号暂时不管 + + private Integer operatorId; + + public String getMname() { + return mname; + } + + public void setMname(String mname) { + this.mname = mname; + } + + public String getMcertNo() { + return mcertNo; + } + + public void setMcertNo(String mcertNo) { + this.mcertNo = mcertNo; + } + + public String getMphone() { + return mphone; + } + + public void setMphone(String mphone) { + this.mphone = mphone; + } + + public String getBirthStartDate() { + return birthStartDate; + } + + public void setBirthStartDate(String birthStartDate) { + this.birthStartDate = birthStartDate; + } + + public String getBirthEndDate() { + return birthEndDate; + } + + public void setBirthEndDate(String birthEndDate) { + this.birthEndDate = birthEndDate; + } + + public String getDueType() { + return dueType; + } + + public void setDueType(String dueType) { + this.dueType = dueType; + } + + public Integer getOperatorId() { + return operatorId; + } + + public void setOperatorId(Integer operatorId) { + this.operatorId = operatorId; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/NewBabyManagerQueryModel.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/NewBabyManagerQueryModel.java new file mode 100644 index 0000000..f6856c5 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/NewBabyManagerQueryModel.java @@ -0,0 +1,234 @@ +package com.lyms.platform.operate.web.result; + +/** + * @auther HuJiaqi + * @createTime 2016年12月07日 17时49分 + * @discription + */ +public class NewBabyManagerQueryModel { + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 10时51分 + * @discription 分娩日期 + */ + private String birthYMD; + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 15时39分 + * @discription + */ + private String birthHM; + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 10时54分 + * @discription 姓名 + */ + private String name; + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 10时54分 + * @discription 性别 + */ + private Integer sex; + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 10时55分 + * @discription 出生天数 + */ + private Integer birthDays; + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 10时56分 + * @discription 是否高危 + */ + private Integer highRisk; + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 10时56分 + * @discription 分娩孕周 + */ + private Integer dueWeek; + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 10时56分 + * @discription 分娩方式 + */ + private String dueType; + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 10时56分 + * @discription 出生身长,单位厘米 + */ + private String babyHeight; + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 10时57分 + * @discription 出生体重,单位克 + */ + private String babyWeight; + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 10时57分 + * @discription 母亲姓名 + */ + private String mname; + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 10时57分 + * @discription 母亲年龄 + */ + private Integer age; + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 10时57分 + * @discription 母亲证件号 + */ + private String mcertNo; + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 10时57分 + * @discription 联系方式 + */ + private String mphone; + + /** + * @auther HuJiaqi + * @createTime 2016年12月08日 10时57分 + * @discription 接生医生 + */ + private String deliverDoctor; + + public String getBirthYMD() { + return birthYMD; + } + + public void setBirthYMD(String birthYMD) { + this.birthYMD = birthYMD; + } + + public String getBirthHM() { + return birthHM; + } + + public void setBirthHM(String birthHM) { + this.birthHM = birthHM; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getSex() { + return sex; + } + + public void setSex(Integer sex) { + this.sex = sex; + } + + public Integer getBirthDays() { + return birthDays; + } + + public void setBirthDays(Integer birthDays) { + this.birthDays = birthDays; + } + + public Integer getHighRisk() { + return highRisk; + } + + public void setHighRisk(Integer highRisk) { + this.highRisk = highRisk; + } + + public Integer getDueWeek() { + return dueWeek; + } + + public void setDueWeek(Integer dueWeek) { + this.dueWeek = dueWeek; + } + + public String getDueType() { + return dueType; + } + + public void setDueType(String dueType) { + this.dueType = dueType; + } + + public String getBabyHeight() { + return babyHeight; + } + + public void setBabyHeight(String babyHeight) { + this.babyHeight = babyHeight; + } + + public String getBabyWeight() { + return babyWeight; + } + + public void setBabyWeight(String babyWeight) { + this.babyWeight = babyWeight; + } + + public String getMname() { + return mname; + } + + public void setMname(String mname) { + this.mname = mname; + } + + public Integer getAge() { + return age; + } + + public void setAge(Integer age) { + this.age = age; + } + + public String getMcertNo() { + return mcertNo; + } + + public void setMcertNo(String mcertNo) { + this.mcertNo = mcertNo; + } + + public String getMphone() { + return mphone; + } + + public void setMphone(String mphone) { + this.mphone = mphone; + } + + public String getDeliverDoctor() { + return deliverDoctor; + } + + public void setDeliverDoctor(String deliverDoctor) { + this.deliverDoctor = deliverDoctor; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/NewBabyManagerResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/NewBabyManagerResult.java new file mode 100644 index 0000000..ca25303 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/NewBabyManagerResult.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日 17时49分 + * @discription + */ +public class NewBabyManagerResult extends BaseListResponse { +}