Commit 20740765e7659cbff49cd49dae570f65baae8f5e

Authored by liquanyu
1 parent 3d94de6960

妇女模块

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