diff --git a/platform-dal/src/main/java/com/lyms/platform/query/AntExRecordQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/AntExRecordQuery.java index 84dd65f..35332c5 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/AntExRecordQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/AntExRecordQuery.java @@ -23,6 +23,36 @@ public class AntExRecordQuery extends BaseQuery implements IConvertToNativeQuery private String phone; private String barCode; + /** + * 末次月经 + */ + private Date lastMensesStart; + + /** + * 末次月经 + */ + private Date lastMensesEnd; + + //生日查询 + private Date birthEnd; + private Date birthStart; + + public Date getBirthEnd() { + return birthEnd; + } + + public void setBirthEnd(Date birthEnd) { + this.birthEnd = birthEnd; + } + + public Date getBirthStart() { + return birthStart; + } + + public void setBirthStart(Date birthStart) { + this.birthStart = birthStart; + } + public String getBarCode() { return barCode; } @@ -214,6 +244,22 @@ public class AntExRecordQuery extends BaseQuery implements IConvertToNativeQuery this.id = id; } + public Date getLastMensesStart() { + return lastMensesStart; + } + + public void setLastMensesStart(Date lastMensesStart) { + this.lastMensesStart = lastMensesStart; + } + + public Date getLastMensesEnd() { + return lastMensesEnd; + } + + public void setLastMensesEnd(Date lastMensesEnd) { + this.lastMensesEnd = lastMensesEnd; + } + @Override public MongoQuery convertToQuery() { MongoCondition condition = MongoCondition.newInstance(); @@ -304,7 +350,37 @@ public class AntExRecordQuery extends BaseQuery implements IConvertToNativeQuery c = Criteria.where("checkTime").lte(checkTimeEnd); } } + if (null != lastMensesStart) { + if (null != c) { + c = c.and("lastMenses").gte(lastMensesStart); + } else { + c = Criteria.where("lastMenses").gte(lastMensesStart); + } + } + if (null != lastMensesEnd) { + if (c != null) { + c = c.lte(lastMensesEnd); + } else { + c = Criteria.where("lastMenses").lte(lastMensesEnd); + } + } + + + if (null != birthStart) { + if (null != c) { + c = c.and("brith").gte(birthStart); + } else { + c = Criteria.where("brith").gte(birthStart); + } + } + if (null != birthEnd) { + if (null != c) { + c = c.lte(birthEnd); + } else { + c = Criteria.where("brith").lte(birthEnd); + } + } if (null != c) { condition = condition.andCondition(new MongoCondition(c)); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java index 18e09c0..ae18835 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java @@ -70,7 +70,7 @@ public class AntExRecordFacade { * @param antExManagerQueryRequest * @param isRegion */ - private AntExRecordQuery complayRequest(Integer userId, AntExManagerQueryRequest antExManagerQueryRequest, boolean isRegion,String isPage) { + private AntExRecordQuery complayRequest(Integer userId, AntExManagerQueryRequest antExManagerQueryRequest, boolean isRegion, String isPage) { AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); antExRecordQuery.setNeed(isPage); @@ -83,6 +83,8 @@ public class AntExRecordFacade { antExRecordQuery.setBarCode(antExManagerQueryRequest.getBarCode()); antExRecordQuery.setCardNo(antExManagerQueryRequest.getCardNo()); //产检日期 + + Date currentDate = DateUtil.formatDate(new Date()); if (org.apache.commons.lang.StringUtils.isNotEmpty(antExManagerQueryRequest.getcTime())) { String nextDateStr = antExManagerQueryRequest.getcTime(); String[] dates = nextDateStr.split(" - "); @@ -101,7 +103,14 @@ public class AntExRecordFacade { antExRecordQuery.setBuildTimeEnd(DateUtil.parseYMD(dates[1])); } } + //产检孕周 + if (null != antExManagerQueryRequest.getStartDueWeek()) { + antExRecordQuery.setLastMensesEnd(antExManagerQueryRequest.capStart()); + } + if (null != antExManagerQueryRequest.getEndDueWeek()) { + antExRecordQuery.setLastMensesStart(antExManagerQueryRequest.capEnd()); + } //预产期 if (org.apache.commons.lang.StringUtils.isNotEmpty(antExManagerQueryRequest.getDueTime())) { @@ -113,6 +122,19 @@ public class AntExRecordFacade { } } + //年龄 + if (null != antExManagerQueryRequest.getStartAge()) { + Date date = DateUtil.addYear(currentDate, -antExManagerQueryRequest.getStartAge()); + antExRecordQuery.setBirthEnd(date); + } + + if (null != antExManagerQueryRequest.getEndAge()) { + Date date = DateUtil.addYear(currentDate, -antExManagerQueryRequest.getEndAge()); + date = DateUtil.addYear(date, -1); + antExRecordQuery.setBirthStart(DateUtil.addDay(date, 1)); + } + + //区域范围内孕妇 if (isRegion) { List hospitalList = null; @@ -174,8 +196,8 @@ public class AntExRecordFacade { * * @return */ - public BaseResponse findList(AntExManagerQueryRequest antExManagerQueryRequest, Integer userId, boolean isRegion,String isPage) { - AntExRecordQuery antExRecordQuery = complayRequest(userId, antExManagerQueryRequest, isRegion,isPage); + public BaseResponse findList(AntExManagerQueryRequest antExManagerQueryRequest, Integer userId, boolean isRegion, String isPage) { + AntExRecordQuery antExRecordQuery = complayRequest(userId, antExManagerQueryRequest, isRegion, isPage); String hospital = autoMatchFacade.getHospitalId(userId); List data = new ArrayList<>(); List antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery); @@ -236,14 +258,13 @@ public class AntExRecordFacade { antExChuQuery.setStart(e.getCheckTime()); - - AntExRecordQuery antExRecordQuery1=new AntExRecordQuery(); + AntExRecordQuery antExRecordQuery1 = new AntExRecordQuery(); antExRecordQuery1.setCheckTimeEnd(e.getCheckTime()); antExRecordQuery1.setPid(e.getPid()); antExRecordQuery1.setHospitalId(hospital); //本院低次 - int dichi =recordService.count(antExRecordQuery1); + int dichi = recordService.count(antExRecordQuery1); antExRecordQuery1.setHospitalId(null); /* int i = antExService.queryAntenatalExaminationCount(antExQuery.convertToQuery()); antExChuQuery.setHospitalId(null); @@ -421,34 +442,31 @@ public class AntExRecordFacade { return baseListResponse.setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(data).setPageInfo(antExRecordQuery.getPageInfo()); } - public void exportFindAntEx(AntExManagerQueryRequest antExManagerQueryRequest, Integer id, boolean b,HttpServletResponse httpServletResponse) { + public void exportFindAntEx(AntExManagerQueryRequest antExManagerQueryRequest, Integer id, boolean b, HttpServletResponse httpServletResponse) { - BaseListResponse listRep = (BaseListResponse)findList(antExManagerQueryRequest, id, b, null); + BaseListResponse listRep = (BaseListResponse) findList(antExManagerQueryRequest, id, b, null); List> datas = new ArrayList<>(); try { Map data = new HashMap<>(); - if (listRep != null) - { + if (listRep != null) { List list = listRep.getData(); - if (CollectionUtils.isNotEmpty(list)) - { - for (AntExManagerResult aer : list) - { - data.put("checkTime",aer.getCheckTime()); - data.put("barCode",aer.getBarCode()); - data.put("name",aer.getName()); - data.put("age",aer.getAge()); - data.put("cDueWeek",aer.getcDueWeek()); - data.put("rLevel",getLevel(aer.getrLevel())); - data.put("riskFactor",aer.getRiskFactor()); - data.put("riskScore",aer.getRiskScore()); - data.put("chTimes",aer.getChTimes()); - data.put("tTimes",aer.gettTimes()); - data.put("nextCheckTime",aer.getNextCheckTime()); - data.put("dueDate",aer.getDueDate()); - data.put("checkDoctor",aer.getCheckDoctor()); - data.put("lName",aer.getlName()); - data.put("phone",aer.getPhone()); + if (CollectionUtils.isNotEmpty(list)) { + for (AntExManagerResult aer : list) { + data.put("checkTime", aer.getCheckTime()); + data.put("barCode", aer.getBarCode()); + data.put("name", aer.getName()); + data.put("age", aer.getAge()); + data.put("cDueWeek", aer.getcDueWeek()); + data.put("rLevel", getLevel(aer.getrLevel())); + data.put("riskFactor", aer.getRiskFactor()); + data.put("riskScore", aer.getRiskScore()); + data.put("chTimes", aer.getChTimes()); + data.put("tTimes", aer.gettTimes()); + data.put("nextCheckTime", aer.getNextCheckTime()); + data.put("dueDate", aer.getDueDate()); + data.put("checkDoctor", aer.getCheckDoctor()); + data.put("lName", aer.getlName()); + data.put("phone", aer.getPhone()); } } @@ -475,9 +493,9 @@ public class AntExRecordFacade { httpServletResponse.setCharacterEncoding("UTF-8"); httpServletResponse.setHeader("Content-Disposition", "attachment;fileName=" + "data.xls"); ExcelUtil.toExcel(out, datas, cnames); - } catch (IOException e) { - e.printStackTrace(); - } + } catch (IOException e) { + e.printStackTrace(); + } } @@ -494,29 +512,26 @@ public class AntExRecordFacade { } public void exportfindRegionAntEx(AntExManagerQueryRequest antExManagerQueryRequest, Integer id, boolean b, HttpServletResponse httpServletResponse) { - BaseListResponse listRep = (BaseListResponse)findList(antExManagerQueryRequest, id, b, null); + BaseListResponse listRep = (BaseListResponse) findList(antExManagerQueryRequest, id, b, null); List> datas = new ArrayList<>(); try { Map data = new HashMap<>(); - if (listRep != null) - { + if (listRep != null) { List list = listRep.getData(); - if (CollectionUtils.isNotEmpty(list)) - { - for (AntExManagerResult aer : list) - { - data.put("checkTime",aer.getCheckTime()); - data.put("barCode",aer.getBarCode()); - data.put("name",aer.getName()); - data.put("age",aer.getAge()); - data.put("cDueWeek",aer.getcDueWeek()); - data.put("rLevel",getLevel(aer.getrLevel())); - data.put("riskFactor",aer.getRiskFactor()); - data.put("riskScore",aer.getRiskScore()); - data.put("cTimes",aer.getcTimes()); - data.put("dueDate",aer.getDueDate()); - data.put("addr",aer.getAddr()); - data.put("checkHospital",aer.getCheckHospital()); + if (CollectionUtils.isNotEmpty(list)) { + for (AntExManagerResult aer : list) { + data.put("checkTime", aer.getCheckTime()); + data.put("barCode", aer.getBarCode()); + data.put("name", aer.getName()); + data.put("age", aer.getAge()); + data.put("cDueWeek", aer.getcDueWeek()); + data.put("rLevel", getLevel(aer.getrLevel())); + data.put("riskFactor", aer.getRiskFactor()); + data.put("riskScore", aer.getRiskScore()); + data.put("cTimes", aer.getcTimes()); + data.put("dueDate", aer.getDueDate()); + data.put("addr", aer.getAddr()); + data.put("checkHospital", aer.getCheckHospital()); } } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExManagerQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExManagerQueryRequest.java index ae44c79..cbd821b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExManagerQueryRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExManagerQueryRequest.java @@ -1,23 +1,41 @@ package com.lyms.platform.operate.web.request; +import com.lyms.platform.common.core.annotation.form.Form; +import com.lyms.platform.common.core.annotation.form.FormParam; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.StringUtils; +import org.apache.commons.lang.math.NumberUtils; + +import java.util.Date; + /** * * 产检管理查询 * * Created by Administrator on 2016/12/19 0019. */ +@Form public class AntExManagerQueryRequest extends BasePageQueryRequest { //姓名 private String name; //证件号 private String cardNo; + //孕周 + private String startDueWeek; + private String endDueWeek; + + //年龄 + private Integer startAge; + private Integer endAge; //联系方式 private String phone; //产检日期 private String cTime; //建档时间 + @FormParam("bookbuildingDate") private String bTime; //预产期 + @FormParam("dueDate") private String dueTime; //高危等级 private String level; @@ -28,23 +46,84 @@ public class AntExManagerQueryRequest extends BasePageQueryRequest { //户籍id + @FormParam("registerProvinceId") private String provinceRegisterId; + @FormParam("registerCityId") private String cityRegisterId; + @FormParam("registerAreaId") private String areaRegisterId; //居住地 + @FormParam("livingProvinceId") private String provinceId; + @FormParam("livingCityId") private String cityId; + @FormParam("livingAreaId") private String areaId; //产检医院 + @FormParam("hospitalProvinceId") private String cprovinceId; + @FormParam("hospitalCityId") private String ccityId; + @FormParam("hospitalAreaId") private String careaId; // 医院id + @FormParam("hospitalId") private String hId; + + public Date capStart() { + if (StringUtils.isNotEmpty(startDueWeek) ) { + int start = NumberUtils.toInt(startDueWeek, 0); + Date endDate = DateUtil.addDay(DateUtil.parseYMD(DateUtil.getyyyy_MM_dd(new Date())), -(start * 7)); + return endDate; + } + return null; + } + + public Date capEnd() { + if (StringUtils.isNotEmpty(endDueWeek)) { + int end = NumberUtils.toInt(endDueWeek, 0); + Date endDate = DateUtil.addDay(DateUtil.parseYMD(DateUtil.getyyyy_MM_dd(new Date())), -(end*7)-6); + return endDate; + } + return null; + } + + public String getStartDueWeek() { + return startDueWeek; + } + + public void setStartDueWeek(String startDueWeek) { + this.startDueWeek = startDueWeek; + } + + public String getEndDueWeek() { + return endDueWeek; + } + + public void setEndDueWeek(String endDueWeek) { + this.endDueWeek = endDueWeek; + } + + public Integer getStartAge() { + return startAge; + } + + public void setStartAge(Integer startAge) { + this.startAge = startAge; + } + + public Integer getEndAge() { + return endAge; + } + + public void setEndAge(Integer endAge) { + this.endAge = endAge; + } + public String getProvinceRegisterId() { return provinceRegisterId; }