Commit ff3a6226eb52ed0307a8aabb1479ad5842b7d96e

Authored by wangbo
1 parent 13767c11a3

临时建档列表接口添加

Showing 6 changed files with 402 additions and 0 deletions

platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITemporaryUserDao.java View file @ ff3a622
  1 +package com.lyms.platform.biz.dal;
  2 +
  3 +import com.lyms.platform.pojo.TemporaryUserModel;
  4 +import org.springframework.data.mongodb.core.query.Query;
  5 +
  6 +public interface ITemporaryUserDao {
  7 + void updateTemporaryBlood(Query query, TemporaryUserModel userModel);
  8 +}
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/TemporaryUserDaoImpl.java View file @ ff3a622
  1 +package com.lyms.platform.biz.dal.impl;
  2 +
  3 +import com.lyms.platform.biz.dal.ITemporaryUserDao;
  4 +import com.lyms.platform.common.dao.BaseMongoDAOImpl;
  5 +import com.lyms.platform.pojo.TemporaryUserModel;
  6 +import org.springframework.data.mongodb.core.query.Query;
  7 +import org.springframework.stereotype.Repository;
  8 +
  9 +@Repository("temporaryUserDao")
  10 +public class TemporaryUserDaoImpl extends BaseMongoDAOImpl<TemporaryUserModel> implements ITemporaryUserDao {
  11 + @Override
  12 + public void updateTemporaryBlood(Query query, TemporaryUserModel userModel) {
  13 + update(query, userModel);
  14 + }
  15 +}
platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryUserModel.java View file @ ff3a622
  1 +package com.lyms.platform.pojo;
  2 +
  3 +import com.lyms.platform.common.result.BaseModel;
  4 +import org.springframework.data.mongodb.core.mapping.Document;
  5 +
  6 +import java.util.Date;
  7 +import java.util.List;
  8 +
  9 +@Document(collection = "lyms_temporary_user")
  10 +public class TemporaryUserModel extends BaseModel {
  11 + private String id;
  12 +
  13 + private String userName;
  14 +
  15 + private Date birth;
  16 +
  17 + private String phone;
  18 +
  19 + private Date lastMenses;
  20 + // 孕前体重
  21 + private String beforeWeight;
  22 + // 孕前身高
  23 + private String beforeHeight;
  24 + // 当前体重
  25 + private String nowWeight;
  26 +
  27 + private String cardID;
  28 +
  29 + private Date created;
  30 +
  31 + private Date modified;
  32 + //记录次数
  33 + private Integer number;
  34 + //高危因素
  35 + private List riskFactorId;
  36 + // 其他高危
  37 + private String highriskDesc;
  38 + //高危补充说明
  39 + private List otherRisk;
  40 + // 前囟 单胎/双胎/多胎
  41 + private String bregmatic;
  42 + //高危因素等级
  43 + private String riskLevelId;
  44 +
  45 + private String yn;
  46 +
  47 + private String hospitalId;
  48 +
  49 + public String getHospitalId() {
  50 + return hospitalId;
  51 + }
  52 +
  53 + public void setHospitalId(String hospitalId) {
  54 + this.hospitalId = hospitalId;
  55 + }
  56 +
  57 + public String getYn() {
  58 + return yn;
  59 + }
  60 +
  61 + public void setYn(String yn) {
  62 + this.yn = yn;
  63 + }
  64 +
  65 + public String getId() {
  66 + return id;
  67 + }
  68 +
  69 + public void setId(String id) {
  70 + this.id = id;
  71 + }
  72 +
  73 + public String getUserName() {
  74 + return userName;
  75 + }
  76 +
  77 + public void setUserName(String userName) {
  78 + this.userName = userName;
  79 + }
  80 +
  81 + public Date getBirth() {
  82 + return birth;
  83 + }
  84 +
  85 + public void setBirth(Date birth) {
  86 + this.birth = birth;
  87 + }
  88 +
  89 + public String getPhone() {
  90 + return phone;
  91 + }
  92 +
  93 + public void setPhone(String phone) {
  94 + this.phone = phone;
  95 + }
  96 +
  97 + public Date getLastMenses() {
  98 + return lastMenses;
  99 + }
  100 +
  101 + public void setLastMenses(Date lastMenses) {
  102 + this.lastMenses = lastMenses;
  103 + }
  104 +
  105 + public String getBeforeWeight() {
  106 + return beforeWeight;
  107 + }
  108 +
  109 + public void setBeforeWeight(String beforeWeight) {
  110 + this.beforeWeight = beforeWeight;
  111 + }
  112 +
  113 + public String getBeforeHeight() {
  114 + return beforeHeight;
  115 + }
  116 +
  117 + public void setBeforeHeight(String beforeHeight) {
  118 + this.beforeHeight = beforeHeight;
  119 + }
  120 +
  121 + public String getNowWeight() {
  122 + return nowWeight;
  123 + }
  124 +
  125 + public void setNowWeight(String nowWeight) {
  126 + this.nowWeight = nowWeight;
  127 + }
  128 +
  129 + public String getCardID() {
  130 + return cardID;
  131 + }
  132 +
  133 + public void setCardID(String cardID) {
  134 + this.cardID = cardID;
  135 + }
  136 +
  137 + public Date getCreated() {
  138 + return created;
  139 + }
  140 +
  141 + public void setCreated(Date created) {
  142 + this.created = created;
  143 + }
  144 +
  145 + public Date getModified() {
  146 + return modified;
  147 + }
  148 +
  149 + public void setModified(Date modified) {
  150 + this.modified = modified;
  151 + }
  152 +
  153 + public Integer getNumber() {
  154 + return number;
  155 + }
  156 +
  157 + public void setNumber(Integer number) {
  158 + this.number = number;
  159 + }
  160 +
  161 + public List getRiskFactorId() {
  162 + return riskFactorId;
  163 + }
  164 +
  165 + public void setRiskFactorId(List riskFactorId) {
  166 + this.riskFactorId = riskFactorId;
  167 + }
  168 +
  169 + public String getHighriskDesc() {
  170 + return highriskDesc;
  171 + }
  172 +
  173 + public void setHighriskDesc(String highriskDesc) {
  174 + this.highriskDesc = highriskDesc;
  175 + }
  176 +
  177 + public List getOtherRisk() {
  178 + return otherRisk;
  179 + }
  180 +
  181 + public void setOtherRisk(List otherRisk) {
  182 + this.otherRisk = otherRisk;
  183 + }
  184 +
  185 + public String getBregmatic() {
  186 + return bregmatic;
  187 + }
  188 +
  189 + public void setBregmatic(String bregmatic) {
  190 + this.bregmatic = bregmatic;
  191 + }
  192 +
  193 + public String getRiskLevelId() {
  194 + return riskLevelId;
  195 + }
  196 +
  197 + public void setRiskLevelId(String riskLevelId) {
  198 + this.riskLevelId = riskLevelId;
  199 + }
  200 +}
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryUserController.java View file @ ff3a622
  1 +package com.lyms.platform.operate.web.controller;
  2 +
  3 +
  4 +import com.lyms.platform.common.annotation.TokenRequired;
  5 +import com.lyms.platform.common.base.BaseController;
  6 +import com.lyms.platform.common.enums.PihEnums;
  7 +import com.lyms.platform.common.result.BaseResponse;
  8 +import com.lyms.platform.operate.web.service.ITemporaryUserService;
  9 +import com.lyms.platform.pojo.TemporaryUserModel;
  10 +import org.springframework.beans.factory.annotation.Autowired;
  11 +import org.springframework.stereotype.Controller;
  12 +import org.springframework.web.bind.annotation.*;
  13 +
  14 +import javax.servlet.http.HttpServletRequest;
  15 +import javax.validation.Valid;
  16 +
  17 +@Controller
  18 +@RequestMapping(value = "/temporary")
  19 +public class TemporaryUserController extends BaseController {
  20 +
  21 + @Autowired
  22 + private ITemporaryUserService temporaryUserService;
  23 +
  24 +
  25 + @ResponseBody
  26 + @RequestMapping(value = "/addAndUpdate", method = RequestMethod.POST)
  27 + @TokenRequired
  28 + public BaseResponse addAndUpdate(@Valid @RequestBody TemporaryUserModel temporaryUser, HttpServletRequest request) {
  29 + return temporaryUserService.addAndUpdate(temporaryUser, getUserId(request));
  30 +
  31 + }
  32 +
  33 + @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
  34 + @TokenRequired
  35 + @ResponseBody
  36 + public BaseResponse deleteBloodSugar(@RequestParam(value = "id") String id) {
  37 + return temporaryUserService.deleteTemporaryUser(id);
  38 + }
  39 +
  40 + @RequestMapping(value = "/queryAll", method = RequestMethod.GET)
  41 + @TokenRequired
  42 + @ResponseBody
  43 + public BaseResponse queryAll(String key, Integer age, Integer currentWeekStart, Integer currentWeekEnd, Integer page, Integer limit, HttpServletRequest request) {
  44 + return temporaryUserService.queryAll(key, age, currentWeekStart, currentWeekEnd, page, limit, getUserId(request));
  45 + }
  46 +}
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITemporaryUserService.java View file @ ff3a622
  1 +package com.lyms.platform.operate.web.service;
  2 +
  3 +import com.lyms.platform.common.result.BaseResponse;
  4 +import com.lyms.platform.pojo.TemporaryUserModel;
  5 +
  6 +public interface ITemporaryUserService extends IBaseService {
  7 +
  8 +
  9 + BaseResponse addAndUpdate(TemporaryUserModel temporaryUser, Integer id);
  10 +
  11 + BaseResponse deleteTemporaryUser(String id);
  12 +
  13 + BaseResponse queryAll(String key, Integer age, Integer stateWeek, Integer endWeek, Integer page, Integer limit, Integer userId);
  14 +}
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryUserServiceImpl.java View file @ ff3a622
  1 +package com.lyms.platform.operate.web.service.impl;
  2 +
  3 +import com.lyms.platform.biz.dal.ITemporaryUserDao;
  4 +import com.lyms.platform.biz.service.BasicConfigService;
  5 +import com.lyms.platform.common.constants.ErrorCodeConstants;
  6 +import com.lyms.platform.common.result.BaseObjectResponse;
  7 +import com.lyms.platform.common.result.BaseResponse;
  8 +import com.lyms.platform.common.result.PageResult;
  9 +import com.lyms.platform.common.result.RespBuilder;
  10 +import com.lyms.platform.common.utils.DateUtil;
  11 +import com.lyms.platform.common.utils.JsonUtil;
  12 +import com.lyms.platform.operate.web.facade.AutoMatchFacade;
  13 +import com.lyms.platform.operate.web.facade.OrganizationGroupsFacade;
  14 +import com.lyms.platform.operate.web.service.ITemporaryUserService;
  15 +import com.lyms.platform.pojo.BasicConfig;
  16 +import com.lyms.platform.pojo.TemporaryBloodSugar;
  17 +import com.lyms.platform.pojo.TemporaryUserModel;
  18 +import com.mongodb.WriteResult;
  19 +import org.apache.commons.collections.CollectionUtils;
  20 +import org.springframework.beans.factory.annotation.Autowired;
  21 +import org.springframework.data.domain.Sort;
  22 +import org.springframework.data.mongodb.core.MongoTemplate;
  23 +import org.springframework.data.mongodb.core.query.Criteria;
  24 +import org.springframework.data.mongodb.core.query.Query;
  25 +import org.springframework.data.mongodb.core.query.Update;
  26 +import org.springframework.stereotype.Service;
  27 +
  28 +import java.util.ArrayList;
  29 +import java.util.Date;
  30 +import java.util.List;
  31 +
  32 +@Service
  33 +public class TemporaryUserServiceImpl extends BaseServiceImpl implements ITemporaryUserService {
  34 + @Autowired
  35 + private MongoTemplate mongoTemplate;
  36 +
  37 + @Autowired
  38 + private ITemporaryUserDao temporaryUserDao;
  39 + @Autowired
  40 + private BasicConfigService basicConfigService;
  41 +
  42 + @Autowired
  43 + private AutoMatchFacade autoMatchFacade;
  44 +
  45 + @Autowired
  46 + private OrganizationGroupsFacade groupsFacade;
  47 +
  48 + @Override
  49 + public BaseResponse addAndUpdate(TemporaryUserModel temporaryUser, Integer userId) {
  50 + if (null != temporaryUser.getId()) {
  51 + temporaryUserDao.updateTemporaryBlood(Query.query(Criteria.where("_id").is(temporaryUser.getId())), temporaryUser);
  52 + temporaryUser.setModified(new Date());
  53 + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("修改成功");
  54 + }
  55 + temporaryUser.setCreated(new Date());
  56 + List<String> riskLevelIdList = new ArrayList<>();
  57 + if (CollectionUtils.isNotEmpty(temporaryUser.getRiskFactorId())) {
  58 + List<String> riskFactor = temporaryUser.getRiskFactorId();
  59 + for (String risk : riskFactor) {
  60 + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(risk);
  61 + riskLevelIdList.add(basicConfig.getParentId());
  62 + }
  63 + }
  64 + temporaryUser.setYn("1");
  65 + temporaryUser.setRiskLevelId(JsonUtil.array2JsonString(riskLevelIdList));
  66 + String hospitalId = autoMatchFacade.getHospitalId(userId);
  67 + temporaryUser.setHospitalId(hospitalId);
  68 + mongoTemplate.save(temporaryUser);
  69 + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("添加成功");
  70 + }
  71 +
  72 + @Override
  73 + public BaseResponse deleteTemporaryUser(String id) {
  74 + WriteResult s = mongoTemplate.updateFirst(Query.query(Criteria.where("_id").is(id)), Update.update("yn", "0"), TemporaryUserModel.class);
  75 + if (s.getN() >= 1) {
  76 + return RespBuilder.buildSuccess();
  77 + }
  78 + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("请选择一条记录");
  79 + }
  80 +
  81 + @Override
  82 + public BaseResponse queryAll(String key, Integer age, Integer stateWeek, Integer endWeek, Integer page, Integer limit, Integer userId) {
  83 + boolean flag = false;
  84 + List<String> hospital = groupsFacade.findGroupHospital(userId, false);
  85 + Criteria criteria = Criteria.where("yn").ne(0).and("hospitalId").in(hospital);
  86 + Criteria pCriteria = Criteria.where("yn").ne(0).and("hospitalId").in(hospital);
  87 + if (org.apache.commons.lang.StringUtils.isNotBlank(key)) {
  88 + pCriteria.orOperator(Criteria.where("phone").regex(key), Criteria.where("userName").regex(key));
  89 + flag = true;
  90 + }
  91 + if (stateWeek != null && endWeek != null) {
  92 + Date start = DateUtil.getWeekStart(endWeek);
  93 + Date end = DateUtil.getWeekEnd(stateWeek);
  94 + pCriteria.and("lastMenses").gt(start).lte(end);
  95 + flag = true;
  96 + }
  97 + if (age != null) {
  98 + Date start = DateUtil.getBeforeAge(age);
  99 + Date end = DateUtil.getBeforeAge(age + 1);
  100 + pCriteria.and("birth").gt(end).lte(start);
  101 + flag = true;
  102 + }
  103 + if (flag) {
  104 + List<TemporaryUserModel> patients = mongoTemplate.find(Query.query(pCriteria), TemporaryUserModel.class);
  105 + List<String> ids = new ArrayList<>();
  106 + if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(patients)) {
  107 + for (TemporaryUserModel patient : patients) {
  108 + ids.add(patient.getId());
  109 + }
  110 + }
  111 + criteria.and("_id").in(ids);
  112 + }
  113 + PageResult pageResult = findMongoPage(TemporaryUserModel.class, new Query(criteria).with(new Sort(Sort.Direction.DESC, "modified")), page, limit);
  114 + List<TemporaryUserModel> bloodSugars = (List<TemporaryUserModel>) pageResult.getGrid();
  115 +
  116 + pageResult.setGrid(bloodSugars);
  117 + return RespBuilder.buildSuccess(pageResult);
  118 + }
  119 +}