Commit 20740765e7659cbff49cd49dae570f65baae8f5e
1 parent
3d94de6960
Exists in
master
and in
6 other branches
妇女模块
Showing 1 changed file with 94 additions and 0 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RemoteController.java
View file @
2074076
| ... | ... | @@ -35,6 +35,7 @@ |
| 35 | 35 | import javax.servlet.http.HttpServletRequest; |
| 36 | 36 | import javax.servlet.http.HttpServletResponse; |
| 37 | 37 | import java.io.IOException; |
| 38 | +import java.io.OutputStream; | |
| 38 | 39 | import java.io.UnsupportedEncodingException; |
| 39 | 40 | import java.net.URLEncoder; |
| 40 | 41 | import java.util.*; |
| ... | ... | @@ -324,6 +325,99 @@ |
| 324 | 325 | query.skip(param.getOffset()).limit(param.getLimit()); |
| 325 | 326 | List<WomanArchive> list = mongoTemplate.find(query,WomanArchive.class); |
| 326 | 327 | return new BaseListResponse().setData(list).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(param.getPageInfo()); |
| 328 | + } | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + @ResponseBody | |
| 334 | + @RequestMapping(value = "/exportWomanBookArchiveList",method = RequestMethod.GET) | |
| 335 | + @TokenRequired | |
| 336 | + public void getWomanBookArchiveList(HttpServletRequest request, | |
| 337 | + HttpServletResponse response, | |
| 338 | + @JsonAlias WomanBookArchiveRequest param) { | |
| 339 | + String hospitalId = autoMatchFacade.getHospitalId(getUserId(request)); | |
| 340 | + Query query = new Query(); | |
| 341 | + | |
| 342 | + String createTime = param.getCreateTime(); | |
| 343 | + if (StringUtils.isNotEmpty(createTime)) { | |
| 344 | + String[] arrs = createTime.split(" - "); | |
| 345 | + | |
| 346 | + Date start = DateUtil.parseYMD(arrs[0]); | |
| 347 | + Date end = DateUtil.parseYMD(arrs[1]); | |
| 348 | + end = DateUtil.getDayLastSecond(end); | |
| 349 | + query.addCriteria(Criteria.where("created").gte(start).lte(end)); | |
| 350 | + } | |
| 351 | + | |
| 352 | + if(param.getType() != null) | |
| 353 | + { | |
| 354 | + query.addCriteria(Criteria.where("data.type").is(param.getType())); | |
| 355 | + } | |
| 356 | + | |
| 357 | + if(param.getCardNo() != null) | |
| 358 | + { | |
| 359 | + query.addCriteria(Criteria.where("cardNo").is(param.getCardNo())); | |
| 360 | + | |
| 361 | + } | |
| 362 | + query.addCriteria(Criteria.where("hospitalId").is(hospitalId)); | |
| 363 | + query.with(new Sort(Sort.Direction.DESC, "created")); | |
| 364 | + List<WomanArchive> list = mongoTemplate.find(query,WomanArchive.class); | |
| 365 | + List<Map<String,Object>> datas = new ArrayList<>(); | |
| 366 | + if (CollectionUtils.isNotEmpty(list)) | |
| 367 | + { | |
| 368 | + for (WomanArchive womanArchive : list) | |
| 369 | + { | |
| 370 | + Map<String,Object> data = new HashMap<>(); | |
| 371 | + data.put("name",womanArchive.getData().get("username")); | |
| 372 | + data.put("sex","1".equals(String.valueOf(womanArchive.getData().get("sex"))) ? "男" : "女" ); | |
| 373 | + data.put("age",DateUtil.getAge2(DateUtil.parseYMD(String.valueOf(womanArchive.getData().get("birthday"))),new Date())); | |
| 374 | + data.put("cardNo",womanArchive.getCardNo()); | |
| 375 | + data.put("phone",womanArchive.getData().get("phone")); | |
| 376 | + String type = String.valueOf(womanArchive.getData().get("type")); | |
| 377 | + String typeStr = ""; | |
| 378 | + //1 婚检 2 孕前优生 3 婚检孕前优生 4 两癌筛查 5 叶酸发放 | |
| 379 | + if ("1".equals(type)) | |
| 380 | + { | |
| 381 | + typeStr ="婚检"; | |
| 382 | + } | |
| 383 | + else if ("2".equals(type)) | |
| 384 | + { | |
| 385 | + typeStr ="孕前优生"; | |
| 386 | + } | |
| 387 | + else if ("3".equals(type)) | |
| 388 | + { | |
| 389 | + typeStr ="婚检孕前优生"; | |
| 390 | + } | |
| 391 | + else if ("4".equals(type)) | |
| 392 | + { | |
| 393 | + typeStr ="两癌筛查"; | |
| 394 | + } | |
| 395 | + else if ("5".equals(type)) | |
| 396 | + { | |
| 397 | + typeStr ="叶酸发放"; | |
| 398 | + } | |
| 399 | + data.put("type",typeStr); | |
| 400 | + data.put("created",DateUtil.getyyyy_MM_dd(womanArchive.getCreated())); | |
| 401 | + } | |
| 402 | + } | |
| 403 | + OutputStream out = null; | |
| 404 | + try { | |
| 405 | + out = response.getOutputStream(); | |
| 406 | + Map <String, String> cnames = new LinkedHashMap <>(); | |
| 407 | + cnames.put("name", "姓名"); | |
| 408 | + cnames.put("sex", "性别"); | |
| 409 | + cnames.put("age", "年龄"); | |
| 410 | + cnames.put("cardNo", "身份证号"); | |
| 411 | + cnames.put("phone", "手机号"); | |
| 412 | + cnames.put("type", "检查类型"); | |
| 413 | + cnames.put("created", "登记日期"); | |
| 414 | + response.setContentType("application/octet-stream"); | |
| 415 | + response.setCharacterEncoding("UTF-8"); | |
| 416 | + response.setHeader("Content-Disposition", "attachment;fileName=" + "预约建档管理.xls"); | |
| 417 | + ExcelUtil.toExcel(out, datas, cnames); | |
| 418 | + } catch (IOException e) { | |
| 419 | + e.printStackTrace(); | |
| 420 | + } | |
| 327 | 421 | } |
| 328 | 422 | |
| 329 | 423 |