Commit 76ebedf37746896d6b6aa6885d8bd9629e56acfe

Authored by wangbo
1 parent 1e535fea25

妊高症查询接口提交

Showing 5 changed files with 203 additions and 12 deletions

platform-dal/src/main/java/com/lyms/platform/pojo/PihParameterModel.java View file @ 76ebedf
... ... @@ -3,6 +3,8 @@
3 3  
4 4 import org.springframework.data.mongodb.core.mapping.Document;
5 5  
  6 +import java.util.Date;
  7 +
6 8 @Document(collection = "lyms_pin_parameter")
7 9 public class PihParameterModel {
8 10  
... ... @@ -34,6 +36,43 @@
34 36 private String pid;//病人id
35 37 private String hospitalId;//医院id
36 38 private String IDCard;//病人身份证号
  39 + private Date created;//创建时间
  40 +
  41 + private Date modified; //修改时间
  42 +
  43 + private String yn;
  44 +
  45 + public String getIDCard() {
  46 + return IDCard;
  47 + }
  48 +
  49 + public void setIDCard(String IDCard) {
  50 + this.IDCard = IDCard;
  51 + }
  52 +
  53 + public Date getCreated() {
  54 + return created;
  55 + }
  56 +
  57 + public void setCreated(Date created) {
  58 + this.created = created;
  59 + }
  60 +
  61 + public Date getModified() {
  62 + return modified;
  63 + }
  64 +
  65 + public void setModified(Date modified) {
  66 + this.modified = modified;
  67 + }
  68 +
  69 + public String getYn() {
  70 + return yn;
  71 + }
  72 +
  73 + public void setYn(String yn) {
  74 + this.yn = yn;
  75 + }
37 76  
38 77 public String getPid() {
39 78 return pid;
platform-dal/src/main/java/com/lyms/platform/query/PihQuery.java View file @ 76ebedf
  1 +package com.lyms.platform.query;
  2 +
  3 +import com.lyms.platform.common.base.IConvertToNativeQuery;
  4 +import com.lyms.platform.common.dao.BaseQuery;
  5 +import com.lyms.platform.common.dao.operator.MongoCondition;
  6 +import com.lyms.platform.common.dao.operator.MongoOper;
  7 +import com.lyms.platform.common.dao.operator.MongoQuery;
  8 +
  9 +import java.util.Date;
  10 +
  11 +public class PihQuery extends BaseQuery implements IConvertToNativeQuery {
  12 + private String id;
  13 +
  14 + private String username;//姓名
  15 +
  16 + private String age;
  17 +
  18 + private String week;
  19 +
  20 + private String riskLevelId;//高危因素等级
  21 +
  22 + private String riskFactorId;//高危因素
  23 +
  24 + private String blood;//血压
  25 +
  26 + private String type;
  27 +
  28 + private Date created;//创建时间
  29 +
  30 + private Date modified; //修改时间
  31 +
  32 + private String hospitalId;//医院id
  33 +
  34 + @Override
  35 + public MongoQuery convertToQuery() {
  36 + MongoCondition condition = MongoCondition.newInstance();
  37 + if (null != hospitalId) {
  38 + condition = condition.and("hospitalId", hospitalId, MongoOper.IS);
  39 + }
  40 + if (null != type) {
  41 + condition = condition.and("type", type, MongoOper.IS);
  42 + }
  43 + return condition.toMongoQuery();
  44 + }
  45 +
  46 +}
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/pihController.java View file @ 76ebedf
1 1 package com.lyms.platform.operate.web.controller;
2 2  
  3 +import com.lyms.platform.common.annotation.TokenRequired;
3 4 import com.lyms.platform.common.base.BaseController;
  5 +import com.lyms.platform.common.base.LoginContext;
4 6 import com.lyms.platform.common.result.BaseResponse;
  7 +import com.lyms.platform.common.result.RespBuilder;
  8 +import com.lyms.platform.common.utils.StringUtils;
5 9 import com.lyms.platform.operate.web.service.PihService;
6 10 import com.lyms.platform.pojo.PihParameterModel;
7 11 import org.springframework.beans.factory.annotation.Autowired;
8 12 import org.springframework.stereotype.Controller;
9   -import org.springframework.web.bind.annotation.RequestBody;
  13 +import org.springframework.util.Assert;
10 14 import org.springframework.web.bind.annotation.RequestMapping;
11 15 import org.springframework.web.bind.annotation.RequestMethod;
12 16 import org.springframework.web.bind.annotation.ResponseBody;
13 17  
14   -import javax.validation.Valid;
  18 +import javax.servlet.http.HttpServletRequest;
15 19  
16 20  
17 21 @Controller
18 22  
19 23  
20 24  
21 25  
... ... @@ -24,24 +28,31 @@
24 28  
25 29 @ResponseBody
26 30 @RequestMapping(value = "/add", method = RequestMethod.POST)
27   - public void addPih(@Valid @RequestBody PihParameterModel parameterModel) {
  31 + public void addPih(PihParameterModel parameterModel) {
28 32 pihService.addPih(parameterModel);
29 33 }
30 34  
31 35  
32 36 @RequestMapping(value = "/query", method = RequestMethod.GET)
33 37 @ResponseBody
34   - public BaseResponse queryAllPih() {
35   -
36   -
37   - return null;
  38 + @TokenRequired
  39 + public BaseResponse queryAllPih(String key, Integer age, Integer weekEnd, Integer weekStart, String type, String no, Integer page, Integer limit, HttpServletRequest request) {
  40 + return pihService.queyAll(key, weekStart, weekEnd, age, type, no, page, limit, getUserId(request));
38 41 }
39 42  
40 43 @ResponseBody
41   - @RequestMapping(value = "/queyrInfo", method = RequestMethod.GET)
  44 + @RequestMapping(value = "/queryInfo", method = RequestMethod.GET)
42 45 public BaseResponse query(String cardNo) {
43   - return pihService.queryInfo(cardNo);
  46 + if (StringUtils.isNotEmpty(cardNo)) {
  47 + return pihService.queryInfo(cardNo);
  48 + }
  49 + return RespBuilder.buildSuccess("请输入查询条件!");
44 50 }
45 51  
  52 + protected Integer getUserId(HttpServletRequest request) {
  53 + LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
  54 + Assert.notNull(loginState, "未登录");
  55 + return loginState.getId();
  56 + }
46 57 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/PihService.java View file @ 76ebedf
... ... @@ -7,5 +7,8 @@
7 7 public void addPih(PihParameterModel parameterModel);
8 8  
9 9 public BaseResponse queryInfo(String cardNo);
  10 +
  11 + public BaseResponse queyAll(String key, Integer weekStart, Integer weekEnd, Integer age, String type, String no, Integer page, Integer limit, Integer userId);
  12 +
10 13 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PihServiceImpl.java View file @ 76ebedf
1 1 package com.lyms.platform.operate.web.service.impl;
2 2  
  3 +import com.alibaba.druid.proxy.jdbc.JdbcParameter;
  4 +import com.lyms.platform.biz.service.CommonService;
3 5 import com.lyms.platform.common.result.BaseResponse;
  6 +import com.lyms.platform.common.result.PageResult;
4 7 import com.lyms.platform.common.result.RespBuilder;
  8 +import com.lyms.platform.common.utils.DateUtil;
  9 +import com.lyms.platform.common.utils.StringUtils;
  10 +import com.lyms.platform.operate.web.facade.OrganizationGroupsFacade;
5 11 import com.lyms.platform.operate.web.service.PihService;
  12 +import com.lyms.platform.operate.web.utils.MongoUtil;
6 13 import com.lyms.platform.pojo.Patients;
7 14 import com.lyms.platform.pojo.PihParameterModel;
8 15 import org.springframework.beans.factory.annotation.Autowired;
  16 +import org.springframework.data.domain.Sort;
9 17 import org.springframework.data.mongodb.core.MongoTemplate;
10 18 import org.springframework.data.mongodb.core.query.Criteria;
11 19 import org.springframework.data.mongodb.core.query.Query;
12 20 import org.springframework.stereotype.Service;
13 21  
14   -import java.util.HashMap;
15   -import java.util.Map;
  22 +import java.util.*;
16 23  
17 24 @Service
18 25 public class PihServiceImpl extends BaseServiceImpl implements PihService {
19 26  
20 27  
... ... @@ -20,10 +27,20 @@
20 27 @Autowired
21 28 private MongoTemplate mongoTemplate;
22 29  
  30 + @Autowired
  31 + private OrganizationGroupsFacade groupsFacade;
  32 +
  33 + @Autowired
  34 + private CommonService commonService;
  35 +
  36 + @Autowired
  37 + private MongoUtil mongoUtil;
  38 +
23 39 @Override
24 40 public void addPih(PihParameterModel parameterModel) {
  41 + parameterModel.setYn("1");
  42 + parameterModel.setCreated(new Date());
25 43 mongoTemplate.save(parameterModel);
26   -
27 44 }
28 45  
29 46 @Override
... ... @@ -40,6 +57,81 @@
40 57 return RespBuilder.buildSuccess(map);
41 58 }
42 59 return RespBuilder.buildSuccess("没有此人信息");
  60 + }
  61 +
  62 + @Override
  63 + public BaseResponse queyAll(String key, Integer weekStart, Integer weekEnd, Integer age, String type, String vcCardNo, Integer page, Integer limit, Integer userId) {
  64 + boolean flag = false;
  65 + List<String> hospital = groupsFacade.findGroupHospital(userId, false);
  66 + Criteria criteria = Criteria.where("yn").is("1").and("hospitalId").in(hospital);
  67 + Criteria pCriteria = Criteria.where("yn").is(1).and("hospitalId").in(hospital);
  68 + if (org.apache.commons.lang.StringUtils.isNotBlank(key)) {
  69 + pCriteria.orOperator(Criteria.where("phone").regex(key), Criteria.where("username").regex(key), Criteria.where("vcCardNo").regex(key));
  70 + flag = true;
  71 + }
  72 + if (weekStart != null && weekEnd != null) {
  73 + Date start = DateUtil.getWeekStart(weekEnd);
  74 + Date end = DateUtil.getWeekEnd(weekStart);
  75 + pCriteria.and("lastMenses").gt(start).lte(end);
  76 + flag = true;
  77 + }
  78 + if (age != null) {
  79 + Date start = DateUtil.getBeforeAge(age);
  80 + Date end = DateUtil.getBeforeAge(age + 1);
  81 + pCriteria.and("birth").gt(end).lte(start);
  82 + flag = true;
  83 + }
  84 + if (StringUtils.isNotEmpty(type)) {
  85 + criteria.and("parameterResult").is(type);
  86 + }
  87 + if (flag) {
  88 + List<Patients> pihParameter = mongoTemplate.find(Query.query(pCriteria), Patients.class);
  89 + List<String> ids = new ArrayList<>();
  90 + if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(pihParameter)) {
  91 + for (Patients pih : pihParameter) {
  92 + ids.add(pih.getId());
  93 + }
  94 + }
  95 + criteria.and("pid").in(ids);
  96 + }
  97 + PageResult pageResult = findMongoPage(PihParameterModel.class, new Query(criteria).with(new Sort(Sort.Direction.DESC, "modified")), page, limit);
  98 + List<PihParameterModel> pihParameterModelList = (List<PihParameterModel>) pageResult.getGrid();
  99 + List<Map<String, Object>> restList = new ArrayList<>();
  100 + for (PihParameterModel pihParameterModel : pihParameterModelList) {
  101 + Map<String, Object> map = new HashMap();
  102 + Patients patients = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(pihParameterModel.getPid())), Patients.class);
  103 + if (null != patients) {
  104 + map.put("id", pihParameterModel.getId());
  105 + map.put("username", patients.getUsername());
  106 + map.put("age", patients.getAge());
  107 + map.put("week", DateUtil.getWeekDesc(patients.getLastMenses(), new Date()));
  108 + map.put("riskLevel", commonService.findRiskLevel(patients.getRiskLevelId()));
  109 + String rFactor = commonService.resloveFactor(patients.getRiskFactorId());
  110 + if (patients.getoRiskFactor() != null && !"null".equals(patients.getoRiskFactor())) {
  111 + if (StringUtils.isNotEmpty(rFactor)) {
  112 + rFactor += "," + patients.getoRiskFactor();
  113 + } else {
  114 + rFactor = patients.getoRiskFactor();
  115 + }
  116 + }
  117 + map.put("riskFactor", rFactor); // 高危因素
  118 + }
  119 + map.put("blood", pihParameterModel.getSsyBT() + "/" + pihParameterModel.getSzyBT() + "mmHg");
  120 + if (StringUtils.isNotEmpty(pihParameterModel.getParameterResult()))
  121 +
  122 + if (pihParameterModel.getParameterResult().equals("1")) {
  123 + map.put("type", "阴性");
  124 + } else if (pihParameterModel.getParameterResult().equals("2")) {
  125 + map.put("type", "阳性");
  126 + } else if (pihParameterModel.getParameterResult().equals("3")) {
  127 + map.put("type", "可疑");
  128 + }
  129 + map.put("time", DateUtil.getyyyy_MM_dd(pihParameterModel.getCreated()));
  130 +
  131 + restList.add(map);
  132 + }
  133 + pageResult.setGrid(restList);
  134 + return RespBuilder.buildSuccess(pageResult);
43 135 }
44 136  
45 137 }