From 414b0e836425b8cf88484f82d4ce5ac745ed5877 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Mon, 26 Jul 2021 14:03:20 +0800 Subject: [PATCH] update --- .../com/lyms/hospitalapi/lhxfy/LhxfyService.java | 2 +- .../controller/PremaritalCheckupController.java | 16 ++- .../web/facade/PremaritalCheckupFacade.java | 107 ++++++++++++++++++++- 3 files changed, 119 insertions(+), 6 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/LhxfyService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/LhxfyService.java index 50c4c06..da9c15b 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/LhxfyService.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/LhxfyService.java @@ -98,7 +98,7 @@ public class LhxfyService { public void autoInLis() { Query query = new Query(); - Date start = DateUtil.addDay(new Date(),-3); + Date start = DateUtil.addDay(new Date(),-8); query.addCriteria(Criteria.where("fillDate").gte(start)); List preEugenicsBaseModels = mongoTemplate.find(query, PreEugenicsBaseModel.class); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PremaritalCheckupController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PremaritalCheckupController.java index 9c7451f..e7b3649 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PremaritalCheckupController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PremaritalCheckupController.java @@ -61,7 +61,7 @@ public class PremaritalCheckupController extends BaseController{ LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return premaritalCheckupFacade.addPremaritalCheckupSign(addRequest , loginState.getId()); + return premaritalCheckupFacade.addPremaritalCheckupSign(addRequest, loginState.getId()); } @@ -157,7 +157,19 @@ public class PremaritalCheckupController extends BaseController{ HttpServletRequest request) { //获取当前登录用户ID LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - premaritalCheckupFacade.premaritalCheckupExport(queryRequest,loginState.getId(),response); + premaritalCheckupFacade.premaritalCheckupExport(queryRequest, loginState.getId(), response); + } + + + @RequestMapping(value = "/lhxpremaritalCheckupExport", method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public void lhxpremaritalCheckupExport(@Valid PremaritalCheckupQueryRequest queryRequest, + HttpServletResponse response, + HttpServletRequest request) { + //获取当前登录用户ID + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + premaritalCheckupFacade.lhxpremaritalCheckupExport(queryRequest,loginState.getId(),response); } /** diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java index e09eae6..f8be352 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java @@ -1145,11 +1145,112 @@ public class PremaritalCheckupFacade { } + + + public void lhxpremaritalCheckupExport(PremaritalCheckupQueryRequest request, Integer userId, + HttpServletResponse response) { + OutputStream out = null; + List> list = new ArrayList<>(); + String hospital = autoMatchFacade.getHospitalId(userId); + try { + PremaritalCheckupQuery query = new PremaritalCheckupQuery(); + query.setPage(request.getPage()); + query.setLimit(request.getLimit()); + query.setNeed("y"); + query.setYn(YnEnums.YES.getId()); + query.setYiXueYiJian(request.getYiXueYiJian()); + if (StringUtils.isNotEmpty(request.getPremaritalUpTime())) { + String[] dates = request.getPremaritalUpTime().split(" - "); + query.setPremaritalUpTimeStart(DateUtil.parseYMD(dates[0])); + if (dates.length >= 2) { + Date date = DateUtil.parseYMD(dates[1]); + if (null != date) { + long d = date.getTime() + 86398000; + date = new Date(d); + } + query.setPremaritalUpTimeEnd(date); + } + } + query.setHospitalId(hospital); + List data = premaritalCheckupService.queryPremaritalCheckup(query); + if (CollectionUtils.isNotEmpty(data)) { + lhxfyExport(out, list, data, response); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void lhxfyExport(OutputStream out, List> list, List data, HttpServletResponse response) { + if (CollectionUtils.isNotEmpty(data)) { + try { + for (PremaritalCheckup checkup : data) { + Map map = new HashMap<>(); + String username = ""; + String phone = ""; + Integer age = null; + String certificateNum = ""; + String residence = ""; + String blNum = ""; + //1 婚检 2 孕前优生 3 婚检孕前优生 + Integer type = null; + String sex = null; + if (StringUtils.isNotEmpty(checkup.getParentId())) { + ResidentsArchiveModel archiveModel = residentsArchiveService.getResident(checkup.getParentId()); + if (archiveModel != null && archiveModel.getYn() == YnEnums.YES.getId()) { + username = archiveModel.getUsername(); + phone = archiveModel.getPhone(); + blNum = archiveModel.getBlNum(); + type = archiveModel.getType(); + sex = archiveModel.getSex(); + certificateNum = archiveModel.getCertificateNum(); + residence = CommonsHelper.getResidence(archiveModel.getProvinceId(), archiveModel.getCityId(), + archiveModel.getAreaId(), archiveModel.getStreetId(), archiveModel.getAddress(), basicConfigService); + if (archiveModel.getBirthday() != null) { + age = DateUtil.getAge(archiveModel.getBirthday()); + } + } + } + + map.put("username", username); + map.put("certificateNum", certificateNum); + map.put("phone", phone); + map.put("sex", FunvCommonUtil.getBaseicConfigByid(sex, basicConfigService)); + map.put("cxNum", checkup.getCxNum()); + map.put("blNum", blNum); + map.put("type", type == null ? "" : (type == 1 ? "婚检" : (type == 2 ? "孕前优生" : "婚检孕前优生"))); + map.put("age", age); + map.put("residence", residence); + list.add(map); + + } + out = response.getOutputStream(); + Map cnames = new LinkedHashMap<>(); + + cnames.put("username", "姓名"); + cnames.put("age", "年龄"); + cnames.put("certificateNum", "身份证号"); + cnames.put("phone", "联系方式"); + cnames.put("sex", "性别"); + cnames.put("cxNum", "采血编号"); + cnames.put("blNum", "病历号"); + cnames.put("type", "检查类型"); + cnames.put("residence", "居住地址"); + + response.setContentType("application/octet-stream"); + response.setCharacterEncoding("UTF-8"); + response.setHeader("Content-Disposition", "attachment;fileName=" + "huanjian.xls"); + ExcelUtil.toExcel(out, list, cnames); + + } catch (Exception e) { + e.printStackTrace(); + } + } + } + //导出女性婚前检查 public void womenExport(OutputStream out, List> list, List data, HttpServletResponse response) { - int one = 1; - int two = 2; - int three = 3; + if (CollectionUtils.isNotEmpty(data)) { try { for (PremaritalCheckup checkup : data) { -- 1.8.3.1