From 9c6586a7abeb39ad20e0890d1b2d570d9e6396ff Mon Sep 17 00:00:00 2001 From: wtt <1872109740@qq.com> Date: Thu, 14 Jan 2021 12:00:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=82=A3=E8=80=85=E7=99=BB=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/biz/dal/IPatientRegistrationDao.java | 55 ++++ .../biz/dal/impl/PatientRegistrationDaoImpl.java | 40 +++ .../biz/service/PatientRegistrationService.java | 97 +++++++ .../java/com/lyms/platform/beans/SerialIdEnum.java | 1 + .../platform/pojo/PatientRegistrationModel.java | 104 +++++++ .../query/PatientRegistrationModelQuery.java | 223 +++++++++++++++ .../controller/PatientRegistrationController.java | 113 ++++++++ .../web/facade/PatientRegistrationFacade.java | 311 +++++++++++++++++++++ .../web/request/PatientRegistrationRequest.java | 111 ++++++++ .../web/result/PatientRegistrationResult.java | 122 ++++++++ 10 files changed, 1177 insertions(+) create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPatientRegistrationDao.java create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientRegistrationDaoImpl.java create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientRegistrationService.java create mode 100644 platform-dal/src/main/java/com/lyms/platform/pojo/PatientRegistrationModel.java create mode 100644 platform-dal/src/main/java/com/lyms/platform/query/PatientRegistrationModelQuery.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientRegistrationController.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientRegistrationFacade.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PatientRegistrationRequest.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PatientRegistrationResult.java diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPatientRegistrationDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPatientRegistrationDao.java new file mode 100644 index 0000000..31ba7f4 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPatientRegistrationDao.java @@ -0,0 +1,55 @@ +package com.lyms.platform.biz.dal; + +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.PatientRegistrationModel; + +import java.util.List; + +/** + * 患者登记 dao + * + * @Author: 武涛涛 + * @Date: 2020/8/12 16:50 + */ +public interface IPatientRegistrationDao { + + /** + * 新增 患者登记 + * + * @param obj + * @Author: 武涛涛 + */ + public PatientRegistrationModel add(PatientRegistrationModel obj); + + /** + * 更新 患者登记 + * @param obj + * @param id + */ + public void update(PatientRegistrationModel obj, String id); + /** + * 获取 患者登记 列表 + * + * @param query + * @Author: 武涛涛 + */ + public List queryList(MongoQuery query); + + /** + * 获取总条数 + * @param mongoQuery + * @return + */ + int queryCount(MongoQuery mongoQuery); + + /** + * 获取单条记录 + * + * @param query + * @Author: 武涛涛 + */ + public PatientRegistrationModel queryById(MongoQuery query); + + + +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientRegistrationDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientRegistrationDaoImpl.java new file mode 100644 index 0000000..6a5a28a --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientRegistrationDaoImpl.java @@ -0,0 +1,40 @@ +package com.lyms.platform.biz.dal.impl; + +import com.lyms.platform.biz.dal.IPatientRegistrationDao; +import com.lyms.platform.common.dao.BaseMongoDAOImpl; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.PatientRegistrationModel; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository("patientRegistrationDao") +public class PatientRegistrationDaoImpl extends BaseMongoDAOImpl implements IPatientRegistrationDao { + + @Override + public PatientRegistrationModel add(PatientRegistrationModel obj) { + return save(obj); + } + + @Override + public void update(PatientRegistrationModel obj, String id) { + update(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery(), obj); + } + + @Override + public List queryList(MongoQuery query) { + return find(query.convertToMongoQuery()); + } + + @Override + public int queryCount(MongoQuery mongoQuery) { + return (int) count(mongoQuery.convertToMongoQuery()); + } + + @Override + public PatientRegistrationModel queryById(MongoQuery query) { + return findOne(query.convertToMongoQuery()); + } +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientRegistrationService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientRegistrationService.java new file mode 100644 index 0000000..53b41b4 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientRegistrationService.java @@ -0,0 +1,97 @@ +package com.lyms.platform.biz.service; + +import com.lyms.platform.biz.dal.IPatientRegistrationDao; +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.pojo.PatientRegistrationModel; +import com.lyms.platform.query.PatientRegistrationModelQuery; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Service; + +import java.util.List; + + +@Service("patientRegistrationService") +public class PatientRegistrationService { + + @Autowired + private IPatientRegistrationDao patientRegistrationDao; + + /** + * 新增 + * @param model + * @Author: 武涛涛 + */ + public PatientRegistrationModel add(PatientRegistrationModel model) { + return patientRegistrationDao.add(model); + + } + + /** + * 更新 + * @param model + * @param id 根据id更新 + * @Author: 武涛涛 + */ + public void update(PatientRegistrationModel model, String id) { + patientRegistrationDao.update(model,id); + } + + /** + * 删除 + * @param id + * @Author: 武涛涛 + */ + public void deleteById(String id) { + PatientRegistrationModel obj = new PatientRegistrationModel(); + obj.setYn(YnEnums.NO.getId()); + obj.setId(id); + patientRegistrationDao.update(obj, id); + } + /** + * 查询单人,所有记录 + * @Author: 武涛涛 + */ + public List queryListOne(PatientRegistrationModelQuery modelQuery) { + MongoQuery query = modelQuery.convertToQuery(); + if (StringUtils.isNotEmpty(modelQuery.getNeed())) { + modelQuery.mysqlBuild(patientRegistrationDao.queryCount(modelQuery.convertToQuery())); + query.start(modelQuery.getOffset()).end(modelQuery.getLimit()); + } + return patientRegistrationDao.queryList( query.addOrder(Sort.Direction.ASC,"checkDate")); + + } + + /** + * 查询全部,所有记录 + * @param babyQuery + * @Author: 武涛涛 + */ + public List queryListAll(PatientRegistrationModelQuery babyQuery) { + MongoQuery query = babyQuery.convertToQuery(); + if (StringUtils.isNotEmpty(babyQuery.getNeed())) { + babyQuery.mysqlBuild(patientRegistrationDao.queryCount(babyQuery.convertToQuery())); + query.start(babyQuery.getOffset()).end(babyQuery.getLimit()); + } + return patientRegistrationDao.queryList(query.addOrder(Sort.Direction.DESC,"createDate")); + } + + /** + * 获取单条记录 + * @param id + * @Author: 武涛涛 + */ + public PatientRegistrationModel queryById(String id) { + PatientRegistrationModelQuery babyQuery = new PatientRegistrationModelQuery(); + babyQuery.setId(id); + MongoQuery query = babyQuery.convertToQuery(); + return patientRegistrationDao.queryById(query.addOrder(Sort.Direction.ASC,"created")); + } + + + + + +} \ No newline at end of file diff --git a/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java b/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java index a59edf0..700b1a2 100644 --- a/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java +++ b/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java @@ -20,6 +20,7 @@ public enum SerialIdEnum { BabyCheckModel("BabyCheckModel", 97531000070L), BabySpecialDiseaseClinicModel("BabySpecialDiseaseClinicModel", -3921222841669886929L), BabyPsychologistModel("BabyPsychologistModel", -2259889579698922924L), + PatientRegistrationModel("PatientRegistrationModel", 3848300584553259979L), BabyNutritionSpecialtyModel("BabyNutritionSpecialtyModel", 3787637966909666630L), BabyHighRiskBabyModel("BabyHighRiskBabyModel", -6200948004986994005L), BreastModel("BreastModel", -6071802354656821905L), diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/PatientRegistrationModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/PatientRegistrationModel.java new file mode 100644 index 0000000..acaa470 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/PatientRegistrationModel.java @@ -0,0 +1,104 @@ +package com.lyms.platform.pojo; + +import com.lyms.platform.beans.SerialIdEnum; +import com.lyms.platform.common.result.BaseModel; +import org.springframework.data.mongodb.core.mapping.Document; +import java.util.Date; + +/** + * 患者登记 实体类 + * @Author: 武涛涛 + */ +@Document(collection = "lyms_patient_registration") +public class PatientRegistrationModel extends BaseModel { + private static final long serialVersionUID = SerialIdEnum.PatientRegistrationModel.getCid(); + + /*基础信息*/ + private String id; + private Integer yn; + private Date createDate; + private Date modifyDate; + private String hospitalId; + + /*表单信息*/ + //姓名 + private String name; + //手机号码 + private String phone; + //是否在我院建档 1是 2 不是 + private String type; + //末次月经 + private Date lastMenses; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + public Date getCreateDate() { + return createDate; + } + + public void setCreateDate(Date createDate) { + this.createDate = createDate; + } + + public Date getModifyDate() { + return modifyDate; + } + + public void setModifyDate(Date modifyDate) { + this.modifyDate = modifyDate; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public Date getLastMenses() { + return lastMenses; + } + + public void setLastMenses(Date lastMenses) { + this.lastMenses = lastMenses; + } +} \ No newline at end of file diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PatientRegistrationModelQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PatientRegistrationModelQuery.java new file mode 100644 index 0000000..7df29dc --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/query/PatientRegistrationModelQuery.java @@ -0,0 +1,223 @@ +package com.lyms.platform.query; + +import com.lyms.platform.common.base.IConvertToNativeQuery; +import com.lyms.platform.common.core.annotation.form.FormParam; +import com.lyms.platform.common.dao.BaseQuery; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.common.utils.StringUtils; +import org.hibernate.validator.constraints.NotEmpty; +import org.springframework.data.mongodb.core.query.Criteria; + +import java.util.Date; + +/** + * 患者登记 查询模型 + */ +public class PatientRegistrationModelQuery extends BaseQuery implements IConvertToNativeQuery { + + private String id; + private Integer yn; + @FormParam + @NotEmpty(message = "医院ID不能为空") + private String hospitalId; + //姓名 + private String name; + //手机号码 + private String phone; + //是否在我院建档 1是 2 不是 + private String type; + + private String queryNo; + //末次月经 + private Date lastMensesStart; + private Date lastMensesEnd; + + //登记时间 + private Date createDateStart; + private Date createDateEnd; + + private String sort; + + public String getQueryNo() { + return queryNo; + } + + public void setQueryNo(String queryNo) { + this.queryNo = queryNo; + } + + public Date getCreateDateStart() { + return createDateStart; + } + + public void setCreateDateStart(Date createDateStart) { + this.createDateStart = createDateStart; + } + + public Date getCreateDateEnd() { + return createDateEnd; + } + + public void setCreateDateEnd(Date createDateEnd) { + this.createDateEnd = createDateEnd; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public Date getLastMensesStart() { + return lastMensesStart; + } + + public void setLastMensesStart(Date lastMensesStart) { + this.lastMensesStart = lastMensesStart; + } + + public Date getLastMensesEnd() { + return lastMensesEnd; + } + + public void setLastMensesEnd(Date lastMensesEnd) { + this.lastMensesEnd = lastMensesEnd; + } + + @Override + public String getSort() { + return sort; + } + + @Override + public void setSort(String sort) { + this.sort = sort; + } + + @Override + public MongoQuery convertToQuery() { + MongoCondition condition = MongoCondition.newInstance(); + + if (StringUtils.isNotEmpty(id)) { + condition = condition.and("id", id, MongoOper.IS); + } + if (null != yn) { + condition = condition.and("yn", yn, MongoOper.IS); + } + + if (StringUtils.isNotEmpty(name)) { + + condition = condition.and("name", name, MongoOper.IS); + } + // 就诊卡号 + if (StringUtils.isNotEmpty(phone)) { + + condition = condition.and("phone", phone, MongoOper.IS); + } + + //检查医生 + if (StringUtils.isNotEmpty(type)) { + + condition = condition.and("type", type, MongoOper.IS); + } + + + + Criteria c = null; + // 末次月经 + if (null != lastMensesStart) { + if (null != c) { + c = c.and("lastMenses").gte(lastMensesStart); + } else { + c = Criteria.where("lastMenses").gte(lastMensesStart); + } + } + if (null != lastMensesEnd) { + if (null != c) { + c = c.lte(lastMensesEnd); + } else { + c = Criteria.where("lastMenses").lte(lastMensesEnd); + } + } + // 登记时间 + if (null != createDateStart) { + if (null != c) { + c = c.and("createDate").gte(createDateStart); + } else { + c = Criteria.where("createDate").gte(createDateStart); + } + } + if (null != createDateEnd) { + if (null != c) { + c = c.lte(createDateEnd); + } else { + c = Criteria.where("createDate").lte(createDateEnd); + } + } + + + // 查询号 + if (StringUtils.isNotEmpty(queryNo)) { + MongoCondition c1 = MongoCondition.newInstance(); + MongoCondition con1 = MongoCondition.newInstance("name", queryNo, MongoOper.LIKE); + MongoCondition con2 = MongoCondition.newInstance("phone", queryNo, MongoOper.IS); + if (c != null) { + c1.orCondition(new MongoCondition[]{con1, con2, }).getCriteria(); + condition.andCondition(c1); + } else { + c = c1.orCondition(new MongoCondition[]{con1, con2}).getCriteria(); + } + } + if (c != null) { + return new MongoCondition(c.andOperator(condition.getCriteria())).toMongoQuery(); + } + + return condition.toMongoQuery(); + } + + +} \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientRegistrationController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientRegistrationController.java new file mode 100644 index 0000000..78ffe95 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientRegistrationController.java @@ -0,0 +1,113 @@ +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.base.LoginContext; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.operate.web.facade.PatientRegistrationFacade; +import com.lyms.platform.operate.web.request.PatientRegistrationRequest; +import com.lyms.platform.query.PatientRegistrationModelQuery; +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.servlet.http.HttpServletResponse; +import javax.validation.Valid; + + +/** + * 患者登记 控制 + */ +@Controller +public class PatientRegistrationController extends BaseController { + + @Autowired + private PatientRegistrationFacade patientRegistrationFacade; + + + /** + * 添加或者修改 + * + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/addOrUpPatientRegistration") + @ResponseBody + public BaseResponse addPatientRegistration(@Valid @RequestBody PatientRegistrationRequest request, HttpServletRequest httpServletRequest) { + if (request != null && !StringUtils.isEmpty(request.getId())) { + BaseResponse baseResponse = patientRegistrationFacade.update(request); + return baseResponse; + } + BaseResponse baseResponse = patientRegistrationFacade.add(request); + return baseResponse; + } + + /** + * 删除 + * @param id + * @return + */ + @RequestMapping(value = "/deletePatientRegistrationById/{id}", method = RequestMethod.DELETE) + @ResponseBody +// @TokenRequired + public BaseResponse deletePatientRegistrationById(@PathVariable("id") String id, HttpServletRequest request) { + patientRegistrationFacade.deleteBabyPsychologistById(id); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + /** + * 查看使用 + * @param id + * @return + */ + @RequestMapping(value = "/queryPatientRegistrationShow/{id}", method = RequestMethod.GET) + @ResponseBody + public BaseResponse queryPatientRegistrationShow(@PathVariable("id") String id) { + return patientRegistrationFacade.queryPatientRegistrationShow(id); + + } + /** + * 编辑使用 + * @param id + * @return + */ + @RequestMapping(value = "/queryPatientRegistrationEdit/{id}", method = RequestMethod.GET) + @ResponseBody + public BaseResponse queryPatientRegistrationEdit(@PathVariable("id") String id) { + return patientRegistrationFacade.queryPatientRegistrationEdit(id); + } + + /** + * 查询单人所有记录 + * @param + */ + @RequestMapping(value = "/queryPatientRegistrationListOne", method = RequestMethod.GET) + @ResponseBody + public BaseResponse queryPatientRegistrationListOne(PatientRegistrationModelQuery modelQuery, HttpServletRequest request) { + return patientRegistrationFacade.queryPatientRegistrationListOne(modelQuery); + } + + /** + * 查询全部所有记录 + * @param + */ + @RequestMapping(value = "/queryPatientRegistrationListAll", method = RequestMethod.GET) + @ResponseBody + public BaseResponse queryPatientRegistrationListAll(@Valid PatientRegistrationModelQuery modelQuery, HttpServletRequest request) { + return patientRegistrationFacade.queryPatientRegistrationListAll(modelQuery); + } + + + /** + * 导出 + * @Author: 武涛涛 + */ + @RequestMapping(value = "/exportPatientRegistration", method = RequestMethod.GET) + public void exportPatientRegistration(@Valid PatientRegistrationModelQuery modelQuery, HttpServletRequest request, HttpServletResponse response) { + patientRegistrationFacade.exportPatientRegistration(modelQuery,response); + } +} \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientRegistrationFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientRegistrationFacade.java new file mode 100644 index 0000000..0612942 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientRegistrationFacade.java @@ -0,0 +1,311 @@ +package com.lyms.platform.operate.web.facade; + +import com.lyms.platform.biz.service.PatientRegistrationService; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.result.BaseListResponse; +import com.lyms.platform.common.result.BaseObjectResponse; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.ExcelUtil; +import com.lyms.platform.common.utils.ExceptionUtils; +import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.operate.web.request.PatientRegistrationRequest; +import com.lyms.platform.operate.web.request.RiskPatientsQueryRequest; +import com.lyms.platform.operate.web.result.PatientRegistrationResult; +import com.lyms.platform.operate.web.service.impl.BaseServiceImpl; +import com.lyms.platform.operate.web.utils.CollectionUtils; +import com.lyms.platform.operate.web.utils.CommonsHelper; +import com.lyms.platform.operate.web.utils.MongoUtil; +import com.lyms.platform.permission.service.OrganizationService; +import com.lyms.platform.permission.service.UsersService; +import com.lyms.platform.pojo.PatientRegistrationModel; +import com.lyms.platform.query.PatientRegistrationModelQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.servlet.http.HttpServletResponse; +import java.io.OutputStream; +import java.util.*; + +/** + * 患者登记 逻辑处理 + * + * @Author: 武涛涛 + */ +@Component +public class PatientRegistrationFacade extends BaseServiceImpl { + + @Autowired + private PatientRegistrationService patientRegistrationService; + + @Autowired + private MongoUtil mongoUtil; + + @Autowired + private AutoMatchFacade autoMatchFacade; + + @Autowired + private OrganizationService organizationService; + + @Autowired + private UsersService usersService; + + /** + * 构造保存对象 + * + * @param request + * @return + */ + private PatientRegistrationModel getPatientRegistrationModel(PatientRegistrationRequest request) { + + PatientRegistrationModel model = new PatientRegistrationModel(); + model.setYn(YnEnums.YES.getId()); + model.setModifyDate(new Date()); + model.setName(request.getName()); + model.setPhone(request.getPhone()); + model.setType(request.getType()); + model.setLastMenses(DateUtil.parseYMD(request.getLastMenses())); + return model; + + } + + /** + * 新增 患者登记 + * @param request + * @Author: 武涛涛 + */ + public BaseResponse add(PatientRegistrationRequest request) { +// String hospitalId = autoMatchFacade.getHospitalId(userId); + List patientRegistrationModels = null; + //判断该手机号存在信息 + if (StringUtils.isNotEmpty(request.getPhone())) { + PatientRegistrationModelQuery modelQuery = new PatientRegistrationModelQuery(); + modelQuery.setYn(YnEnums.YES.getId()); + modelQuery.setHospitalId(request.getHospitalId()); + modelQuery.setPhone(request.getPhone()); + modelQuery.setSort("ASC"); + patientRegistrationModels = patientRegistrationService.queryListOne(modelQuery); + } + BaseObjectResponse br = new BaseObjectResponse(); + if(CollectionUtils.isEmpty(patientRegistrationModels)){ + PatientRegistrationModel model = getPatientRegistrationModel(request); + model.setCreateDate(new Date()); + model.setHospitalId(request.getHospitalId()); + model = patientRegistrationService.add(model); + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + br.setData(model.getId()); + }else { + br.setErrorcode(ErrorCodeConstants.DATA_EXIST); + br.setErrormsg("数据已存在"); + br.setData(patientRegistrationModels.get(0)); + } + return br; + } + + /** + * 更新 患者登记 + * @param request + * @Author: 武涛涛 + */ + public BaseResponse update(PatientRegistrationRequest request) { + //当前登录人医院Id + PatientRegistrationModel model = getPatientRegistrationModel(request); + PatientRegistrationModel models = patientRegistrationService.queryById(request.getId()); + if (models != null && models.getId() != null) { + patientRegistrationService.update(model, request.getId()); + } + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + /** + * 删除 + * @param id + */ + public void deleteBabyPsychologistById(String id) { + //String hospitalId = autoMatchFacade.getHospitalId(userId); + PatientRegistrationModel model = patientRegistrationService.queryById(id); + if (model != null && model.getId() != null) { + patientRegistrationService.deleteById(id); + } + } + + + /** + * 根据专病id,,查看使用 + * + * @Author: 武涛涛 + */ + public BaseObjectResponse queryPatientRegistrationShow(String id) { + + BaseObjectResponse br = new BaseObjectResponse(); + if (StringUtils.isNotEmpty(id)) { + PatientRegistrationModel model = patientRegistrationService.queryById(id); + PatientRegistrationResult result = new PatientRegistrationResult(); + result.convertToResult(model); + /*if (StringUtils.isNotEmpty(model.getCheckDoctor())) { + Users users = usersService.getUsers(NumberUtils.toInt(model.getCheckDoctor())); + if (users != null && StringUtils.isNotEmpty(users.getName())) { + babyPsychologistResult.setCheckDoctor(users.getName()); + } + }*/ + if (StringUtils.isNotEmpty(model.getHospitalId())) { + result.setHospitalName(CommonsHelper.getHospitalName(model.getHospitalId(), organizationService)); + } + br.setData(result); + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + } + return br; + } + + /** + * 根据专病id,编辑使用 + * @Author: 武涛涛 + */ + public BaseObjectResponse queryPatientRegistrationEdit(String id) { + + BaseObjectResponse br = new BaseObjectResponse(); + if (StringUtils.isNotEmpty(id)) { + PatientRegistrationModel model = patientRegistrationService.queryById(id); + PatientRegistrationResult result = new PatientRegistrationResult(); + result.convertToResult(model); + br.setData(result); + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + } + return br; + } + + /** + * 查询单人所有记录 + * getPhone + * @Author: 武涛涛 + */ + public BaseObjectResponse queryPatientRegistrationListOne(PatientRegistrationModelQuery modelQuery) { + + BaseObjectResponse br = new BaseObjectResponse(); +// String hospitalId = autoMatchFacade.getHospitalId(userId); + List results = new ArrayList <>(); + try { + //单人多条记录 + List patientRegistrationModels = new ArrayList <>(); + if (StringUtils.isNotEmpty(modelQuery.getPhone())) { + modelQuery.setYn(YnEnums.YES.getId()); + modelQuery.setHospitalId(modelQuery.getHospitalId()); + modelQuery.setSort("ASC"); + patientRegistrationModels = patientRegistrationService.queryListOne(modelQuery); + } + for (int i = 0; i < patientRegistrationModels.size(); i++) { + PatientRegistrationModel patientRegistrationModel = patientRegistrationModels.get(i); + PatientRegistrationResult result = new PatientRegistrationResult(); + if (patientRegistrationModel != null) { + result.convertToResult(patientRegistrationModel); + if (StringUtils.isNotEmpty(patientRegistrationModel.getHospitalId())) { + result.setHospitalName(CommonsHelper.getHospitalName(patientRegistrationModel.getHospitalId(), organizationService)); + } + results.add(result); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + br.setData(results); + br.setPageInfo(modelQuery.getPageInfo()); + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + return br; + + } + + /** + * 查询全部所有记录 + * @Author: 武涛涛 + */ + public BaseListResponse queryPatientRegistrationListAll(PatientRegistrationModelQuery modelQuery) { + + BaseListResponse br = new BaseListResponse(); +// String hospitalId = autoMatchFacade.getHospitalId(userId); + List results = new ArrayList <>(); + try { + //单人多条专病记录 + List patientRegistrationModels = new ArrayList <>(); + + modelQuery.setNeed("true"); + modelQuery.setYn(YnEnums.YES.getId()); + modelQuery.setHospitalId(modelQuery.getHospitalId()); + modelQuery.setSort(null); + if (modelQuery.getLastMensesEnd() != null) { + modelQuery.setLastMensesEnd(DateUtil.getDayLastSecond(modelQuery.getLastMensesEnd())); + } + if (modelQuery.getCreateDateEnd() != null) { + modelQuery.setCreateDateEnd(DateUtil.getDayLastSecond(modelQuery.getCreateDateEnd())); + } + patientRegistrationModels = patientRegistrationService.queryListAll(modelQuery); + System.out.println(modelQuery.convertToQuery().convertToMongoQuery()); + + for (int i = 0; i < patientRegistrationModels.size(); i++) { + PatientRegistrationModel patientRegistrationModel = patientRegistrationModels.get(i); + PatientRegistrationResult result = new PatientRegistrationResult(); + if (patientRegistrationModel != null) { + result.convertToResult(patientRegistrationModel); + if (StringUtils.isNotEmpty(patientRegistrationModel.getHospitalId())) { + result.setHospitalName(CommonsHelper.getHospitalName(patientRegistrationModel.getHospitalId(), organizationService)); + } + results.add(result); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + br.setData(results); + br.setPageInfo(modelQuery.getPageInfo()); + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + return br; + + } + + public void exportPatientRegistration(PatientRegistrationModelQuery modelQuery, HttpServletResponse response) { + + try { + BaseListResponse listResponse = (BaseListResponse) queryPatientRegistrationListAll(modelQuery); + List list = listResponse.getData(); + List> datas = new ArrayList<>(); + + if (org.apache.commons.collections.CollectionUtils.isNotEmpty(list)) { + for (PatientRegistrationResult patientRegistrationResult : list) { + Map m = new HashMap<>(); + //导出: 姓名 手机号码 是否在我院建档 末次月经 登记时间 + m.put("name",patientRegistrationResult.getName()); + m.put("phone",patientRegistrationResult.getPhone() ); + m.put("type",StringUtils.isNotEmpty(patientRegistrationResult.getType()) ? ("1".equals(patientRegistrationResult.getType())?"是":"否" ):"_"); + m.put("lastMenses",patientRegistrationResult.getLastMenses() ); + m.put("createDate",patientRegistrationResult.getCreateDate() ); + datas.add(m); + } + } + OutputStream out = response.getOutputStream(); + Map cnames = new LinkedHashMap<>(); + cnamesMap(cnames); + response.setContentType("application/octet-stream"); + response.setCharacterEncoding("UTF-8"); + response.setHeader("Content-Disposition", "attachment;fileName=" + "导出.xls"); + ExcelUtil.toExcel(out, datas, cnames); + } catch (Exception e) { + e.printStackTrace(); + ExceptionUtils.catchException(e, "导出异常"); + } + + } + private void cnamesMap(Map cnames) { + cnames.put("name", "姓名"); + cnames.put("phone", "手机号码"); + cnames.put("type", "是否在我院建档"); + cnames.put("lastMenses", "末次月经"); + cnames.put("createDate", "登记时间"); + } + + +} \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PatientRegistrationRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PatientRegistrationRequest.java new file mode 100644 index 0000000..e39e7c6 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PatientRegistrationRequest.java @@ -0,0 +1,111 @@ +package com.lyms.platform.operate.web.request; + +import com.lyms.platform.common.core.annotation.form.FormParam; +import org.hibernate.validator.constraints.NotEmpty; + +/** + * 患者登记 入参类 + */ +public class PatientRegistrationRequest { + /*基础信息*/ + private String id; + private Integer yn; + private String createDate; + private String modifyDate; + @FormParam + @NotEmpty(message = "医院ID不能为空") + private String hospitalId; + private String HospitalName; + + /*表单信息*/ + //姓名 + private String name; + //手机号码 + @FormParam + @NotEmpty(message = "手机号吗不能为空") + private String phone; + //是否在我院建档 1是 2 不是 + private String type; + //末次月经 + private String lastMenses; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getHospitalName() { + return HospitalName; + } + + public void setHospitalName(String hospitalName) { + HospitalName = hospitalName; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + public String getCreateDate() { + return createDate; + } + + public void setCreateDate(String createDate) { + this.createDate = createDate; + } + + public String getModifyDate() { + return modifyDate; + } + + public void setModifyDate(String modifyDate) { + this.modifyDate = modifyDate; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getLastMenses() { + return lastMenses; + } + + public void setLastMenses(String lastMenses) { + this.lastMenses = lastMenses; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PatientRegistrationResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PatientRegistrationResult.java new file mode 100644 index 0000000..319c840 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PatientRegistrationResult.java @@ -0,0 +1,122 @@ +package com.lyms.platform.operate.web.result; + +import com.lyms.platform.common.base.IBasicResultConvert; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.pojo.PatientRegistrationModel; + +public class PatientRegistrationResult implements IBasicResultConvert { + + /*基础信息*/ + private String id; + private Integer yn; + private String createDate; + private String modifyDate; + private String hospitalId; + private String HospitalName; + + /*表单信息*/ + //姓名 + private String name; + //手机号码 + private String phone; + //是否在我院建档 1是 2 不是 + private String type; + //末次月经 + private String lastMenses; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + public String getHospitalName() { + return HospitalName; + } + + public void setHospitalName(String hospitalName) { + HospitalName = hospitalName; + } + + public String getCreateDate() { + return createDate; + } + + public void setCreateDate(String createDate) { + this.createDate = createDate; + } + + public String getModifyDate() { + return modifyDate; + } + + public void setModifyDate(String modifyDate) { + this.modifyDate = modifyDate; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getLastMenses() { + return lastMenses; + } + + public void setLastMenses(String lastMenses) { + this.lastMenses = lastMenses; + } + + @Override + public PatientRegistrationResult convertToResult(PatientRegistrationModel destModel) { + + setYn(destModel.getYn()); + setModifyDate(DateUtil.getYyyyMmDd(destModel.getModifyDate())); + setCreateDate(DateUtil.getYyyyMmDd(destModel.getCreateDate())); + setName(destModel.getName()); + setPhone(destModel.getPhone()); + setType(destModel.getType()); + setLastMenses(DateUtil.getYyyyMmDd(destModel.getLastMenses())); + setHospitalId(destModel.getHospitalId()); + return this; + } + + +} -- 1.8.3.1