From 5e5d8217e1c6ac349a89630282c5ea653aad86b2 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Mon, 12 Sep 2016 20:54:56 +0800 Subject: [PATCH] code update --- .../web/controller/PuerperaManageController.java | 22 ++++++- .../operate/web/facade/BookbuildingFacade.java | 3 +- .../platform/operate/web/facade/PatientFacade.java | 77 ++++++++++++++++++++-- .../web/request/RiskPatientsQueryRequest.java | 12 ++++ 4 files changed, 105 insertions(+), 9 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java index c565a3c..f0fc1a5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java @@ -18,6 +18,7 @@ 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; @@ -91,7 +92,7 @@ public class PuerperaManageController extends BaseController { @TokenRequired public BaseResponse queryHighRiskPuerpera(@Valid RiskPatientsQueryRequest patientsQueryRequest,HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return patientFacade.queryHighRisk(patientsQueryRequest, Boolean.TRUE, 1,loginState.getId()); + return patientFacade.queryHighRisk(patientsQueryRequest, Boolean.TRUE, 1, loginState.getId(),"true"); } /** *全部孕妇管理 @@ -104,9 +105,24 @@ public class PuerperaManageController extends BaseController { @TokenRequired public BaseResponse queryAllPuerpera(@Valid RiskPatientsQueryRequest patientsQueryRequest,HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return patientFacade.queryHighRisk(patientsQueryRequest,null,1,loginState.getId()); + return patientFacade.queryHighRisk(patientsQueryRequest,null,1,loginState.getId(),"true"); } + + /** + * 导出孕产妇数据 + * @param patientsQueryRequest + * @param request + * @return + */ + @RequestMapping(value = "/exportData", method = RequestMethod.GET) + @TokenRequired + public void exportAllPuer(@Valid RiskPatientsQueryRequest patientsQueryRequest,HttpServletRequest request,HttpServletResponse response) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + patientFacade.exportAllPuer(patientsQueryRequest,loginState.getId(),response); + } + + /** * 全部产妇 * @@ -117,7 +133,7 @@ public class PuerperaManageController extends BaseController { @TokenRequired public BaseResponse queryAllPatients(@Valid RiskPatientsQueryRequest patientsQueryRequest,HttpServletRequest request){ LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return patientFacade.queryHighRisk(patientsQueryRequest, null, 3,loginState.getId()); + return patientFacade.queryHighRisk(patientsQueryRequest, null, 3,loginState.getId(),"true"); } @RequestMapping(value = "/apatients/enums", method = RequestMethod.GET) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java index 3004f78..6feb49d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java @@ -437,7 +437,8 @@ public class BookbuildingFacade { MessageListRequest smsList = new MessageListRequest(); List messages = new ArrayList<>(); MessageRequest mr = new MessageRequest(); - Date dueDate = DateUtil.addWeek(patient.getLastMenses(),42); + Date dueDate = DateUtil.addDay(patient.getLastMenses(), 7); + dueDate = DateUtil.addMonth(patient.getLastMenses(), 9); String content = StringUtils.replaceEL(patient.getUsername(),dueDate,templateModel.getContent()); mr.setContent("【"+messagePrefix+"】"+content); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java index 0cb34e7..3e641e4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java @@ -8,6 +8,7 @@ import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.Assert; import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.ExcelUtil; import com.lyms.platform.common.utils.JsonUtil; import com.lyms.platform.operate.web.request.*; import com.lyms.platform.operate.web.result.*; @@ -24,9 +25,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Component; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; +import java.util.*; /** * Created by Administrator on 2016/4/22 0022. @@ -196,7 +198,7 @@ public class PatientFacade { * @param type 控制类型 1孕妇 3产妇 * @return */ - public BaseResponse queryHighRisk(RiskPatientsQueryRequest riskPatientsQueryRequest, Boolean isHighRisk, int type, Integer userId) { + public BaseResponse queryHighRisk(RiskPatientsQueryRequest riskPatientsQueryRequest, Boolean isHighRisk, int type, Integer userId,String needPage) { PatientsQuery patientsQuery = new PatientsQuery(); patientsQuery.setPhone(riskPatientsQueryRequest.getPhone()); patientsQuery.setCardNo(riskPatientsQueryRequest.getCardNo()); @@ -246,7 +248,7 @@ public class PatientFacade { buildType.add(2); patientsQuery.setBuildTypeList(buildType); patientsQuery.setHospitalId(autoMatchFacade.getHospitalId(userId)); - patientsQuery.setNeed("1"); + patientsQuery.setNeed(needPage); //查询符合条件的孕妇 List patientses = patientsService.queryPatient1(patientsQuery,"modified"); List data = new ArrayList<>(); @@ -570,4 +572,69 @@ public class PatientFacade { } return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } + + public void exportAllPuer(RiskPatientsQueryRequest patientsQueryRequest,Integer userId, + HttpServletResponse response) { + response.setContentType("application/octet-stream"); + response.setHeader("Content-Disposition", "attachment;fileName=" + "datas.xls"); + try { + BaseListResponse listResponse = null; + List> datas = new ArrayList<>(); + if (patientsQueryRequest.getQueryType() != null) + { + // 0 高危孕妇 1 全部孕妇 2全部产妇 + if (patientsQueryRequest.getQueryType() == 0) + { + listResponse = (BaseListResponse)queryHighRisk(patientsQueryRequest, Boolean.TRUE, 1, userId,"true"); + List list = listResponse.getData(); + for (Object obj : list) + { + Map data = new HashMap<>(); + RiskPatientsResult rp = (RiskPatientsResult)obj; + data.put("name", rp.getName()); + data.put("age",rp.getAge()); + data.put("dueWeek",rp.getDueWeek()); + data.put("rLevel", rp.getrLevel()); + data.put("rFactor", rp.getrFactor()); + data.put("hScore", rp.gethScore()); + data.put("cTimes", rp.getcTime()); + data.put("cHTimes",rp.getcHTimes()); + data.put("cTime",rp.getcTime()); + data.put("dueDate",rp.getDueDate()); + data.put("checkDoctor",rp.getCheckDoctor()); + data.put("lName",rp.getlName()); + data.put("phone",rp.getPhone()); + } + + Map cnames = new HashMap<>(); + cnames.put("name", "姓名"); + cnames.put("age","当前年龄"); + cnames.put("dueWeek","当前孕周"); + cnames.put("rLevel", "高危等级"); + cnames.put("rFactor", "高危风险因素"); + cnames.put("hScore", "高危评分"); + cnames.put("cTimes", "总产检次数"); + cnames.put("cHTimes","本院产检次数"); + cnames.put("cTime","预约产检日期"); + cnames.put("dueDate","预产期"); + cnames.put("checkDoctor","产检医生"); + cnames.put("lName","登记人"); + cnames.put("phone","联系方式"); + + OutputStream out = response.getOutputStream(); + ExcelUtil.toExcel(out, datas, cnames); + } + else if (patientsQueryRequest.getQueryType() == 1) + { + listResponse = (BaseListResponse)queryHighRisk(patientsQueryRequest,null,1,userId,"true"); + } + else if (patientsQueryRequest.getQueryType() == 2) + { + listResponse = (BaseListResponse)queryHighRisk(patientsQueryRequest, null, 3,userId,"true"); + } + } + }catch (IOException e) { + e.printStackTrace(); + } + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java index 700f9d1..5716926 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java @@ -62,6 +62,18 @@ public class RiskPatientsQueryRequest extends BasePageQueryRequest { @FormParam private Integer expVip; + + // 0 高危孕妇 1 全部孕妇 2全部产妇 + private Integer queryType; + + public Integer getQueryType() { + return queryType; + } + + public void setQueryType(Integer queryType) { + this.queryType = queryType; + } + public Integer getEndHScore() { return endHScore; } -- 1.8.3.1