From ff3a6226eb52ed0307a8aabb1479ad5842b7d96e Mon Sep 17 00:00:00 2001 From: wangbo <184677810@qq.com> Date: Fri, 26 Apr 2019 14:18:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E5=BB=BA=E6=A1=A3=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=8E=A5=E5=8F=A3=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lyms/platform/biz/dal/ITemporaryUserDao.java | 8 + .../biz/dal/impl/TemporaryUserDaoImpl.java | 15 ++ .../com/lyms/platform/pojo/TemporaryUserModel.java | 200 +++++++++++++++++++++ .../web/controller/TemporaryUserController.java | 46 +++++ .../operate/web/service/ITemporaryUserService.java | 14 ++ .../web/service/impl/TemporaryUserServiceImpl.java | 119 ++++++++++++ 6 files changed, 402 insertions(+) create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITemporaryUserDao.java create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/TemporaryUserDaoImpl.java create mode 100644 platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryUserModel.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryUserController.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITemporaryUserService.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryUserServiceImpl.java diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITemporaryUserDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITemporaryUserDao.java new file mode 100644 index 0000000..d25f1c7 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITemporaryUserDao.java @@ -0,0 +1,8 @@ +package com.lyms.platform.biz.dal; + +import com.lyms.platform.pojo.TemporaryUserModel; +import org.springframework.data.mongodb.core.query.Query; + +public interface ITemporaryUserDao { + void updateTemporaryBlood(Query query, TemporaryUserModel userModel); +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/TemporaryUserDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/TemporaryUserDaoImpl.java new file mode 100644 index 0000000..6b89820 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/TemporaryUserDaoImpl.java @@ -0,0 +1,15 @@ +package com.lyms.platform.biz.dal.impl; + +import com.lyms.platform.biz.dal.ITemporaryUserDao; +import com.lyms.platform.common.dao.BaseMongoDAOImpl; +import com.lyms.platform.pojo.TemporaryUserModel; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.stereotype.Repository; + +@Repository("temporaryUserDao") +public class TemporaryUserDaoImpl extends BaseMongoDAOImpl implements ITemporaryUserDao { + @Override + public void updateTemporaryBlood(Query query, TemporaryUserModel userModel) { + update(query, userModel); + } +} diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryUserModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryUserModel.java new file mode 100644 index 0000000..b4cc1db --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryUserModel.java @@ -0,0 +1,200 @@ +package com.lyms.platform.pojo; + +import com.lyms.platform.common.result.BaseModel; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.Date; +import java.util.List; + +@Document(collection = "lyms_temporary_user") +public class TemporaryUserModel extends BaseModel { + private String id; + + private String userName; + + private Date birth; + + private String phone; + + private Date lastMenses; + // 孕前体重 + private String beforeWeight; + // 孕前身高 + private String beforeHeight; + // 当前体重 + private String nowWeight; + + private String cardID; + + private Date created; + + private Date modified; + //记录次数 + private Integer number; + //高危因素 + private List riskFactorId; + // 其他高危 + private String highriskDesc; + //高危补充说明 + private List otherRisk; + // 前囟 单胎/双胎/多胎 + private String bregmatic; + //高危因素等级 + private String riskLevelId; + + private String yn; + + private String hospitalId; + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getYn() { + return yn; + } + + public void setYn(String yn) { + this.yn = yn; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public Date getBirth() { + return birth; + } + + public void setBirth(Date birth) { + this.birth = birth; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public Date getLastMenses() { + return lastMenses; + } + + public void setLastMenses(Date lastMenses) { + this.lastMenses = lastMenses; + } + + public String getBeforeWeight() { + return beforeWeight; + } + + public void setBeforeWeight(String beforeWeight) { + this.beforeWeight = beforeWeight; + } + + public String getBeforeHeight() { + return beforeHeight; + } + + public void setBeforeHeight(String beforeHeight) { + this.beforeHeight = beforeHeight; + } + + public String getNowWeight() { + return nowWeight; + } + + public void setNowWeight(String nowWeight) { + this.nowWeight = nowWeight; + } + + public String getCardID() { + return cardID; + } + + public void setCardID(String cardID) { + this.cardID = cardID; + } + + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } + + public Date getModified() { + return modified; + } + + public void setModified(Date modified) { + this.modified = modified; + } + + public Integer getNumber() { + return number; + } + + public void setNumber(Integer number) { + this.number = number; + } + + public List getRiskFactorId() { + return riskFactorId; + } + + public void setRiskFactorId(List riskFactorId) { + this.riskFactorId = riskFactorId; + } + + public String getHighriskDesc() { + return highriskDesc; + } + + public void setHighriskDesc(String highriskDesc) { + this.highriskDesc = highriskDesc; + } + + public List getOtherRisk() { + return otherRisk; + } + + public void setOtherRisk(List otherRisk) { + this.otherRisk = otherRisk; + } + + public String getBregmatic() { + return bregmatic; + } + + public void setBregmatic(String bregmatic) { + this.bregmatic = bregmatic; + } + + public String getRiskLevelId() { + return riskLevelId; + } + + public void setRiskLevelId(String riskLevelId) { + this.riskLevelId = riskLevelId; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryUserController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryUserController.java new file mode 100644 index 0000000..6eeda68 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TemporaryUserController.java @@ -0,0 +1,46 @@ +package com.lyms.platform.operate.web.controller; + + +import com.lyms.platform.common.annotation.TokenRequired; +import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.enums.PihEnums; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.operate.web.service.ITemporaryUserService; +import com.lyms.platform.pojo.TemporaryUserModel; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; + +@Controller +@RequestMapping(value = "/temporary") +public class TemporaryUserController extends BaseController { + + @Autowired + private ITemporaryUserService temporaryUserService; + + + @ResponseBody + @RequestMapping(value = "/addAndUpdate", method = RequestMethod.POST) + @TokenRequired + public BaseResponse addAndUpdate(@Valid @RequestBody TemporaryUserModel temporaryUser, HttpServletRequest request) { + return temporaryUserService.addAndUpdate(temporaryUser, getUserId(request)); + + } + + @RequestMapping(value = "/delete", method = RequestMethod.DELETE) + @TokenRequired + @ResponseBody + public BaseResponse deleteBloodSugar(@RequestParam(value = "id") String id) { + return temporaryUserService.deleteTemporaryUser(id); + } + + @RequestMapping(value = "/queryAll", method = RequestMethod.GET) + @TokenRequired + @ResponseBody + public BaseResponse queryAll(String key, Integer age, Integer currentWeekStart, Integer currentWeekEnd, Integer page, Integer limit, HttpServletRequest request) { + return temporaryUserService.queryAll(key, age, currentWeekStart, currentWeekEnd, page, limit, getUserId(request)); + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITemporaryUserService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITemporaryUserService.java new file mode 100644 index 0000000..2cf1348 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITemporaryUserService.java @@ -0,0 +1,14 @@ +package com.lyms.platform.operate.web.service; + +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.pojo.TemporaryUserModel; + +public interface ITemporaryUserService extends IBaseService { + + + BaseResponse addAndUpdate(TemporaryUserModel temporaryUser, Integer id); + + BaseResponse deleteTemporaryUser(String id); + + BaseResponse queryAll(String key, Integer age, Integer stateWeek, Integer endWeek, Integer page, Integer limit, Integer userId); +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryUserServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryUserServiceImpl.java new file mode 100644 index 0000000..c4afad5 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryUserServiceImpl.java @@ -0,0 +1,119 @@ +package com.lyms.platform.operate.web.service.impl; + +import com.lyms.platform.biz.dal.ITemporaryUserDao; +import com.lyms.platform.biz.service.BasicConfigService; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.result.BaseObjectResponse; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.result.PageResult; +import com.lyms.platform.common.result.RespBuilder; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.JsonUtil; +import com.lyms.platform.operate.web.facade.AutoMatchFacade; +import com.lyms.platform.operate.web.facade.OrganizationGroupsFacade; +import com.lyms.platform.operate.web.service.ITemporaryUserService; +import com.lyms.platform.pojo.BasicConfig; +import com.lyms.platform.pojo.TemporaryBloodSugar; +import com.lyms.platform.pojo.TemporaryUserModel; +import com.mongodb.WriteResult; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.data.mongodb.core.query.Update; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@Service +public class TemporaryUserServiceImpl extends BaseServiceImpl implements ITemporaryUserService { + @Autowired + private MongoTemplate mongoTemplate; + + @Autowired + private ITemporaryUserDao temporaryUserDao; + @Autowired + private BasicConfigService basicConfigService; + + @Autowired + private AutoMatchFacade autoMatchFacade; + + @Autowired + private OrganizationGroupsFacade groupsFacade; + + @Override + public BaseResponse addAndUpdate(TemporaryUserModel temporaryUser, Integer userId) { + if (null != temporaryUser.getId()) { + temporaryUserDao.updateTemporaryBlood(Query.query(Criteria.where("_id").is(temporaryUser.getId())), temporaryUser); + temporaryUser.setModified(new Date()); + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("修改成功"); + } + temporaryUser.setCreated(new Date()); + List riskLevelIdList = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(temporaryUser.getRiskFactorId())) { + List riskFactor = temporaryUser.getRiskFactorId(); + for (String risk : riskFactor) { + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(risk); + riskLevelIdList.add(basicConfig.getParentId()); + } + } + temporaryUser.setYn("1"); + temporaryUser.setRiskLevelId(JsonUtil.array2JsonString(riskLevelIdList)); + String hospitalId = autoMatchFacade.getHospitalId(userId); + temporaryUser.setHospitalId(hospitalId); + mongoTemplate.save(temporaryUser); + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("添加成功"); + } + + @Override + public BaseResponse deleteTemporaryUser(String id) { + WriteResult s = mongoTemplate.updateFirst(Query.query(Criteria.where("_id").is(id)), Update.update("yn", "0"), TemporaryUserModel.class); + if (s.getN() >= 1) { + return RespBuilder.buildSuccess(); + } + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("请选择一条记录"); + } + + @Override + public BaseResponse queryAll(String key, Integer age, Integer stateWeek, Integer endWeek, Integer page, Integer limit, Integer userId) { + boolean flag = false; + List hospital = groupsFacade.findGroupHospital(userId, false); + Criteria criteria = Criteria.where("yn").ne(0).and("hospitalId").in(hospital); + Criteria pCriteria = Criteria.where("yn").ne(0).and("hospitalId").in(hospital); + if (org.apache.commons.lang.StringUtils.isNotBlank(key)) { + pCriteria.orOperator(Criteria.where("phone").regex(key), Criteria.where("userName").regex(key)); + flag = true; + } + if (stateWeek != null && endWeek != null) { + Date start = DateUtil.getWeekStart(endWeek); + Date end = DateUtil.getWeekEnd(stateWeek); + pCriteria.and("lastMenses").gt(start).lte(end); + flag = true; + } + if (age != null) { + Date start = DateUtil.getBeforeAge(age); + Date end = DateUtil.getBeforeAge(age + 1); + pCriteria.and("birth").gt(end).lte(start); + flag = true; + } + if (flag) { + List patients = mongoTemplate.find(Query.query(pCriteria), TemporaryUserModel.class); + List ids = new ArrayList<>(); + if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(patients)) { + for (TemporaryUserModel patient : patients) { + ids.add(patient.getId()); + } + } + criteria.and("_id").in(ids); + } + PageResult pageResult = findMongoPage(TemporaryUserModel.class, new Query(criteria).with(new Sort(Sort.Direction.DESC, "modified")), page, limit); + List bloodSugars = (List) pageResult.getGrid(); + + pageResult.setGrid(bloodSugars); + return RespBuilder.buildSuccess(pageResult); + } +} -- 1.8.3.1