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 5708fbc..0640511 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 @@ -45,6 +45,8 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { private String dueType; + private String pregnancyOut; + public Date getBuildDateStart() { return buildDateStart; } @@ -433,6 +435,9 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { if (null != isNull) { condition = condition.and("communityId", null, MongoOper.IS); } + if (null != pregnancyOut) { + condition = condition.and("pregnancyOut", pregnancyOut, MongoOper.IS); + } if (!StringUtils.isEmpty(mcertNo)) { condition = condition.and("mcertNo", mcertNo, MongoOper.IS); @@ -643,4 +648,12 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { public void setDueType(String dueType) { this.dueType = dueType; } + + public String getPregnancyOut() { + return pregnancyOut; + } + + public void setPregnancyOut(String pregnancyOut) { + this.pregnancyOut = pregnancyOut; + } } \ 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 756418f..1a86803 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 @@ -6,13 +6,17 @@ 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.BeanUtils; +import com.lyms.platform.common.utils.ExcelUtil; 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.request.NewBabyManagerRequest; +import com.lyms.platform.operate.web.result.ChildbirthManagerQueryModel; import com.lyms.platform.operate.web.result.ChildbirthManagerResult; +import com.lyms.platform.operate.web.result.NewBabyManagerQueryModel; import com.lyms.platform.operate.web.result.NewBabyManagerResult; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -20,7 +24,12 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * 产妇分娩记录 @@ -128,6 +137,38 @@ public class MatDeliverController extends BaseController{ return baseListResponse; } + @RequestMapping(value = "childbirthManagerExcel", method = RequestMethod.GET) + public void childbirthManagerExcel(HttpServletRequest httpServletRequest, @RequestBody ChildbirthManagerRequest childbirthManagerRequest, HttpServletResponse httpServletResponse) { + try { + childbirthManagerRequest.setOperatorId(((LoginContext) httpServletRequest.getAttribute("loginContext")).getId()); + // 这里返回的结果必然是这个泛型,之所以query返回的结果集没有用泛型是为了更好的传递数据 + @SuppressWarnings("unchecked") + List childbirthManagerQueryModelList = matDeliverFacade.childbirthManager(childbirthManagerRequest).getData(); + List> list = new ArrayList<>(); + for (ChildbirthManagerQueryModel childbirthManagerQueryModel : childbirthManagerQueryModelList) { + Map map = BeanUtils.objectToObjectMap(childbirthManagerQueryModel); + list.add(map); + } + Map header = new HashMap<>(); + header.put("dueDate", "分娩日期"); + header.put("username", "姓名"); + header.put("age", "年龄"); + header.put("cardNo", "证件号"); + header.put("dueWeek", "分娩孕周"); + header.put("deliveryMode", "分娩方式"); + header.put("maternalInfo", "产妇情况"); + header.put("tireNumber", "胎数"); + header.put("livingNumber", "活产数"); + header.put("deliverDoctor", "接生医生"); + header.put("phone", "联系方式"); + httpServletResponse.setContentType("application/force-download"); + httpServletResponse.setHeader("Content-Disposition", "attachment;filename=" + new String(("分娩管理).xls").getBytes("UTF-8"), "ISO-8859-1")); + ExcelUtil.toExcel(httpServletResponse.getOutputStream(), list, header); + } catch (Exception e) { + ExceptionUtils.catchException(e, "childbirthManagerExcel异常"); + } + } + /** * @auther HuJiaqi * @createTime 2016年12月07日 17时50分 @@ -153,4 +194,61 @@ public class MatDeliverController extends BaseController{ return baseListResponse; } + @RequestMapping(value = "newBabyManagerExcel", method = RequestMethod.GET) + public void newBabyManagerExcel(HttpServletRequest httpServletRequest, @RequestBody NewBabyManagerRequest newBabyManagerRequest, HttpServletResponse httpServletResponse) { + try { + newBabyManagerRequest.setOperatorId(((LoginContext) httpServletRequest.getAttribute("loginContext")).getId()); + // 这里返回的结果必然是这个泛型,之所以query返回的结果集没有用泛型是为了更好的传递数据 + @SuppressWarnings("unchecked") + List newBabyManagerQueryModelList = matDeliverFacade.newBabyManager(newBabyManagerRequest).getData(); + List> list = new ArrayList<>(); + for (NewBabyManagerQueryModel newBabyManagerQueryModel : newBabyManagerQueryModelList) { + Map map = BeanUtils.objectToObjectMap(newBabyManagerQueryModel); + Integer sex = newBabyManagerQueryModel.getSex(); + if (sex == 0) { + map.put("sex", "女"); + } + if (sex == 1) { + map.put("sex", "男"); + } + Integer highRisk = newBabyManagerQueryModel.getHighRisk(); + if (highRisk == 0) { + map.put("highRisk", "健康"); + } + if (highRisk == 1) { + map.put("highRisk", "高危"); + } + String dueType = newBabyManagerQueryModel.getDueType(); + if ("1".equals(dueType)) { + map.put("dueType", "顺产"); + } + if ("2".equals(dueType)) { + map.put("dueType", "刨宫产"); + } + list.add(map); + } + Map header = new HashMap<>(); + header.put("birthYMD", "分娩日期"); + header.put("birthHM", "娩出时间"); + header.put("name", "姓名"); + header.put("sex", "性别"); + header.put("birthDays", "出生天数"); + header.put("highRisk", "是否高危"); + header.put("dueWeek", "分娩孕周"); + header.put("dueType", "分娩方式"); + header.put("babyHeight", "出生身长/cm"); + header.put("babyWeight", "出生体重/g"); + header.put("mname", "母亲姓名"); + header.put("age", "母亲年龄"); + header.put("mcertNo", "母亲证件号"); + header.put("mphone", "联系方式"); + header.put("deliverDoctor", "接生医生"); + httpServletResponse.setContentType("application/force-download"); + httpServletResponse.setHeader("Content-Disposition", "attachment;filename=" + new String(("新生儿管理).xls").getBytes("UTF-8"), "ISO-8859-1")); + ExcelUtil.toExcel(httpServletResponse.getOutputStream(), list, header); + } catch (Exception e) { + ExceptionUtils.catchException(e, "childbirthManagerExcel异常"); + } + } + } \ 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 61372ba..9c889fd 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 @@ -928,7 +928,7 @@ public class MatDeliverFacade { patientsQuery.setName(childbirthManagerRequest.getUserName()); patientsQuery.setYn(YnEnums.YES.getId()); patientsQuery.setType(3); - // patientsQuery.setHospitalId(autoMatchFacade.getHospitalId(childbirthManagerRequest.getOperatorId())); + patientsQuery.setHospitalId(autoMatchFacade.getHospitalId(childbirthManagerRequest.getOperatorId())); patientsQuery.setCardNo(childbirthManagerRequest.getCardNo()); patientsQuery.setPhone(childbirthManagerRequest.getPhone()); patientsQuery.setHusbandPhone(childbirthManagerRequest.getHusbandPhone()); @@ -967,12 +967,23 @@ public class MatDeliverFacade { 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())); + // 查询活产数 + BabyModelQuery babyModelQuery = new BabyModelQuery(); + babyModelQuery.setYn(YnEnums.YES.getId()); + babyModelQuery.setParentId(patients.getId()); + babyModelQuery.setPregnancyOut(RenShenJieJuEnums.O.getId()); + try { + childbirthManagerQueryModel.setLivingNumber(babyService.queryBabyWithQuery(babyModelQuery).size()); + } catch (Exception e) { + // 什么都不干 + } childbirthManagerQueryModelList.add(childbirthManagerQueryModel); } } @@ -999,7 +1010,7 @@ public class MatDeliverFacade { babyModelQuery.setDueType(newBabyManagerRequest.getDueType()); babyModelQuery.setPage(newBabyManagerRequest.getPage()); babyModelQuery.setLimit(newBabyManagerRequest.getLimit()); - // babyModelQuery.setHospitalId(autoMatchFacade.getHospitalId(newBabyManagerRequest.getOperatorId())); + babyModelQuery.setHospitalId(autoMatchFacade.getHospitalId(newBabyManagerRequest.getOperatorId())); babyModelQuery.setNeed("Need"); List babyModelList = babyService.queryBabyWithQuery(babyModelQuery); 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 index 6857cb5..3fb73fb 100644 --- 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 @@ -68,7 +68,7 @@ public class ChildbirthManagerQueryModel { * @createTime 2016年12月07日 16时39分 * @discription 活产数 */ - // TODO 暂未确定 + private Integer livingNumber; /** * @auther HuJiaqi @@ -163,4 +163,12 @@ public class ChildbirthManagerQueryModel { public void setPhone(String phone) { this.phone = phone; } + + public Integer getLivingNumber() { + return livingNumber; + } + + public void setLivingNumber(Integer livingNumber) { + this.livingNumber = livingNumber; + } } 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 index f6856c5..fcc4ed5 100644 --- 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 @@ -17,7 +17,7 @@ public class NewBabyManagerQueryModel { /** * @auther HuJiaqi * @createTime 2016年12月08日 15时39分 - * @discription + * @discription 娩出时间 */ private String birthHM; @@ -66,14 +66,14 @@ public class NewBabyManagerQueryModel { /** * @auther HuJiaqi * @createTime 2016年12月08日 10时56分 - * @discription 出生身长,单位厘米 + * @discription 出生身长/cm */ private String babyHeight; /** * @auther HuJiaqi * @createTime 2016年12月08日 10时57分 - * @discription 出生体重,单位克 + * @discription 出生体重/g */ private String babyWeight;