From a6aaea45b82902366977665be2f346b05b9c25c4 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Sun, 14 Aug 2022 09:44:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=A4=E7=99=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/pojo/PatientRegistrationModel.java | 58 +++-- .../query/PatientRegistrationModelQuery.java | 242 ++++++++++----------- .../web/facade/PatientRegistrationFacade.java | 111 +++++----- .../web/request/PatientRegistrationRequest.java | 66 ++++-- .../web/result/PatientRegistrationResult.java | 99 +++------ 5 files changed, 286 insertions(+), 290 deletions(-) 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 index 53e8399..16815c6 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/PatientRegistrationModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/PatientRegistrationModel.java @@ -27,26 +27,30 @@ public class PatientRegistrationModel extends BaseModel { private String phone; //身份证号码 private String cardno; - //是否在我院建档 1是 2 不是 + //是否同意 1是 2 不是 private String type; - //末次月经 - private Date lastMenses; + //1、LDRP(家庭化产房) 2 普通房间(产前)+单人分娩产房+单间(产后) 3 普通房间(产前+产后) + private Integer bedType; + //预约时间 + private Date orderDate; - public String getId() { - return id; - } - public void setId(String id) { - this.id = id; - } - public Integer getYn() { - return yn; - } + public String getId() { + return id; + } - public void setYn(Integer yn) { - this.yn = yn; - } + 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; @@ -88,10 +92,6 @@ public class PatientRegistrationModel extends BaseModel { this.phone = phone; } - public String getType() { - return type; - } - public String getCardno() { return cardno; } @@ -100,15 +100,27 @@ public class PatientRegistrationModel extends BaseModel { this.cardno = cardno; } + public String getType() { + return type; + } + public void setType(String type) { this.type = type; } - public Date getLastMenses() { - return lastMenses; + public Integer getBedType() { + return bedType; + } + + public void setBedType(Integer bedType) { + this.bedType = bedType; + } + + public Date getOrderDate() { + return orderDate; } - public void setLastMenses(Date lastMenses) { - this.lastMenses = lastMenses; + public void setOrderDate(Date orderDate) { + this.orderDate = orderDate; } } \ 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 index 915ba29..d8f7023 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/PatientRegistrationModelQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/PatientRegistrationModelQuery.java @@ -19,8 +19,6 @@ public class PatientRegistrationModelQuery extends BaseQuery implements IConvert private String id; private Integer yn; - @FormParam - @NotEmpty(message = "医院ID不能为空") private String hospitalId; //姓名 private String name; @@ -28,42 +26,106 @@ public class PatientRegistrationModelQuery extends BaseQuery implements IConvert private String phone; //身份证号码 private String cardno; - //是否在我院建档 1是 2 不是 + //是否同意 1是 2 不是 private String type; + //1、LDRP(家庭化产房) 2 普通房间(产前)+单人分娩产房+单间(产后) 3 普通房间(产前+产后) + private Integer bedType; + //查询号 private String queryNo; - //末次月经 - private Date lastMensesStart; - private Date lastMensesEnd; + //预约时间 + private Date orderDateStart; + private Date orderDateEnd; //登记时间 private Date createDateStart; private Date createDateEnd; - private String sort; - public String getQueryNo() { - return queryNo; - } + @Override + public MongoQuery convertToQuery() { + MongoCondition condition = MongoCondition.newInstance(); - public void setQueryNo(String queryNo) { - this.queryNo = queryNo; - } + if (StringUtils.isNotEmpty(name)) { - public Date getCreateDateStart() { - return createDateStart; - } + condition = condition.and("name", name, MongoOper.IS); + } + // 就诊卡号 + if (StringUtils.isNotEmpty(phone)) { - public void setCreateDateStart(Date createDateStart) { - this.createDateStart = createDateStart; + condition = condition.and("phone", phone, MongoOper.IS); + } + // 身份证 + if (StringUtils.isNotEmpty(cardno)) { + + condition = condition.and("cardno", cardno, MongoOper.IS); + } + //是否同意 + if (StringUtils.isNotEmpty(type)) { + + condition = condition.and("type", type, MongoOper.IS); + } + if (bedType != null) { + condition = condition.and("bedType", bedType, MongoOper.IS); + } + Criteria c = null; + // 预约时间 + if (null != orderDateStart) { + if (null != c) { + c = c.and("orderDate").gte(orderDateStart); + } else { + c = Criteria.where("orderDate").gte(orderDateStart); + } + } + if (null != orderDateEnd) { + if (null != c) { + c = c.lte(orderDateEnd); + } else { + c = Criteria.where("orderDate").lte(orderDateEnd); + } + } + // 登记时间 + 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); + MongoCondition con3 = MongoCondition.newInstance("cardno", queryNo, MongoOper.IS); + if (c != null) { + c1.orCondition(new MongoCondition[]{con1, con2, con3}).getCriteria(); + condition.andCondition(c1); + } else { + c = c1.orCondition(new MongoCondition[]{con1, con2,con3}).getCriteria(); + } + } + if (c != null) { + return new MongoCondition(c.andOperator(condition.getCriteria())).toMongoQuery(); + } + + return condition.toMongoQuery(); } - public Date getCreateDateEnd() { - return createDateEnd; + + public Integer getBedType() { + return bedType; } - public void setCreateDateEnd(Date createDateEnd) { - this.createDateEnd = createDateEnd; + public void setBedType(Integer bedType) { + this.bedType = bedType; } public String getId() { @@ -74,14 +136,6 @@ public class PatientRegistrationModelQuery extends BaseQuery implements IConvert this.id = id; } - public String getCardno() { - return cardno; - } - - public void setCardno(String cardno) { - this.cardno = cardno; - } - public Integer getYn() { return yn; } @@ -114,6 +168,14 @@ public class PatientRegistrationModelQuery extends BaseQuery implements IConvert this.phone = phone; } + public String getCardno() { + return cardno; + } + + public void setCardno(String cardno) { + this.cardno = cardno; + } + public String getType() { return type; } @@ -122,117 +184,43 @@ public class PatientRegistrationModelQuery extends BaseQuery implements IConvert this.type = type; } - public Date getLastMensesStart() { - return lastMensesStart; + public String getQueryNo() { + return queryNo; } - public void setLastMensesStart(Date lastMensesStart) { - this.lastMensesStart = lastMensesStart; + public void setQueryNo(String queryNo) { + this.queryNo = queryNo; } - public Date getLastMensesEnd() { - return lastMensesEnd; + public Date getOrderDateStart() { + return orderDateStart; } - public void setLastMensesEnd(Date lastMensesEnd) { - this.lastMensesEnd = lastMensesEnd; + public void setOrderDateStart(Date orderDateStart) { + this.orderDateStart = orderDateStart; } - @Override - public String getSort() { - return sort; + public Date getOrderDateEnd() { + return orderDateEnd; } - @Override - public void setSort(String sort) { - this.sort = sort; + public void setOrderDateEnd(Date orderDateEnd) { + this.orderDateEnd = orderDateEnd; } - @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(cardno)) { - - condition = condition.and("cardno", cardno, 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); - MongoCondition con3 = MongoCondition.newInstance("cardno", queryNo, MongoOper.IS); - if (c != null) { - c1.orCondition(new MongoCondition[]{con1, con2, con3}).getCriteria(); - condition.andCondition(c1); - } else { - c = c1.orCondition(new MongoCondition[]{con1, con2,con3}).getCriteria(); - } - } - if (c != null) { - return new MongoCondition(c.andOperator(condition.getCriteria())).toMongoQuery(); - } + public Date getCreateDateStart() { + return createDateStart; + } - return condition.toMongoQuery(); + public void setCreateDateStart(Date createDateStart) { + this.createDateStart = createDateStart; } + public Date getCreateDateEnd() { + return createDateEnd; + } + public void setCreateDateEnd(Date createDateEnd) { + this.createDateEnd = createDateEnd; + } } \ 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 index 36f4d79..b4ff448 100644 --- 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 @@ -19,9 +19,14 @@ 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.AntenatalExaminationModel; import com.lyms.platform.pojo.PatientRegistrationModel; +import com.lyms.platform.pojo.PersonModel; import com.lyms.platform.query.PatientRegistrationModelQuery; import org.springframework.beans.factory.annotation.Autowired; +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.stereotype.Component; import javax.servlet.http.HttpServletResponse; @@ -51,6 +56,9 @@ public class PatientRegistrationFacade extends BaseServiceImpl { @Autowired private UsersService usersService; + @Autowired + private MongoTemplate mongoTemplate; + /** * 构造保存对象 * @@ -66,7 +74,8 @@ public class PatientRegistrationFacade extends BaseServiceImpl { model.setPhone(request.getPhone()); model.setCardno(request.getCardno()); model.setType(request.getType()); - model.setLastMenses(DateUtil.parseYMD(request.getLastMenses())); + model.setBedType(request.getBedType()); + model.setOrderDate(DateUtil.parseYMD(request.getOrderDate())); return model; } @@ -77,32 +86,23 @@ public class PatientRegistrationFacade extends BaseServiceImpl { * @Author: 武涛涛 */ public synchronized 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)); + PatientRegistrationModel model = getPatientRegistrationModel(request); + + if (StringUtils.isNotEmpty(request.getPid())) + { + PersonModel personModels = mongoTemplate.findOne(Query.query(Criteria.where("id").is(request.getPid())), PersonModel.class); + model.setName(personModels.getName()); + model.setCardno(personModels.getCardNo()); + model.setPhone(personModels.getPhone()); } + + model.setCreateDate(new Date()); + model.setHospitalId("216"); + model = patientRegistrationService.add(model); + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + br.setData(model.getId()); return br; } @@ -152,9 +152,9 @@ public class PatientRegistrationFacade extends BaseServiceImpl { babyPsychologistResult.setCheckDoctor(users.getName()); } }*/ - if (StringUtils.isNotEmpty(model.getHospitalId())) { - result.setHospitalName(CommonsHelper.getHospitalName(model.getHospitalId(), organizationService)); - } +// if (StringUtils.isNotEmpty(model.getHospitalId())) { +// result.setHospitalName(CommonsHelper.getHospitalName(model.getHospitalId(), organizationService)); +// } br.setData(result); br.setErrorcode(ErrorCodeConstants.SUCCESS); br.setErrormsg("成功"); @@ -188,7 +188,6 @@ public class PatientRegistrationFacade extends BaseServiceImpl { public BaseObjectResponse queryPatientRegistrationListOne(PatientRegistrationModelQuery modelQuery) { BaseObjectResponse br = new BaseObjectResponse(); -// String hospitalId = autoMatchFacade.getHospitalId(userId); List results = new ArrayList <>(); try { //单人多条记录 @@ -204,9 +203,9 @@ public class PatientRegistrationFacade extends BaseServiceImpl { PatientRegistrationResult result = new PatientRegistrationResult(); if (patientRegistrationModel != null) { result.convertToResult(patientRegistrationModel); - if (StringUtils.isNotEmpty(patientRegistrationModel.getHospitalId())) { - result.setHospitalName(CommonsHelper.getHospitalName(patientRegistrationModel.getHospitalId(), organizationService)); - } +// if (StringUtils.isNotEmpty(patientRegistrationModel.getHospitalId())) { +// result.setHospitalName(CommonsHelper.getHospitalName(patientRegistrationModel.getHospitalId(), organizationService)); +// } results.add(result); } } @@ -228,35 +227,41 @@ public class PatientRegistrationFacade extends BaseServiceImpl { public BaseListResponse queryPatientRegistrationListAll(PatientRegistrationModelQuery modelQuery) { BaseListResponse br = new BaseListResponse(); -// String hospitalId = autoMatchFacade.getHospitalId(userId); List results = new ArrayList <>(); try { - //单人多条专病记录 List patientRegistrationModels = new ArrayList <>(); modelQuery.setYn(YnEnums.YES.getId()); modelQuery.setHospitalId(modelQuery.getHospitalId()); modelQuery.setSort(null); - if (modelQuery.getLastMensesEnd() != null) { - modelQuery.setLastMensesEnd(DateUtil.getDayLastSecond(modelQuery.getLastMensesEnd())); + modelQuery.setQueryNo(modelQuery.getQueryNo()); + if (modelQuery.getOrderDateStart() != null) { + modelQuery.setOrderDateStart(DateUtil.getDayFirstSecond(modelQuery.getOrderDateStart())); + } + if (modelQuery.getOrderDateEnd() != null) { + modelQuery.setOrderDateEnd(DateUtil.getDayLastSecond(modelQuery.getOrderDateEnd())); + } + + if (modelQuery.getCreateDateStart() != null) { + modelQuery.setCreateDateStart(DateUtil.getDayFirstSecond(modelQuery.getCreateDateStart())); } 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); - } - } + if (CollectionUtils.isNotEmpty(patientRegistrationModels)) + { + for(PatientRegistrationModel patientRegistrationModel : patientRegistrationModels) + { + PatientRegistrationResult result = new PatientRegistrationResult(); + if (patientRegistrationModel != null) { + result.convertToResult(patientRegistrationModel); + results.add(result); + } + } + } } catch (Exception e) { e.printStackTrace(); } @@ -282,8 +287,9 @@ public class PatientRegistrationFacade extends BaseServiceImpl { m.put("name",patientRegistrationResult.getName()); m.put("phone",patientRegistrationResult.getPhone()); m.put("cardno",patientRegistrationResult.getCardno()); - m.put("type",StringUtils.isNotEmpty(patientRegistrationResult.getType()) ? ("1".equals(patientRegistrationResult.getType())?"是":"否" ):"_"); - m.put("lastMenses",patientRegistrationResult.getLastMenses() ); + m.put("type",patientRegistrationResult.getType()); + m.put("bedType",patientRegistrationResult.getBedType()); + m.put("orderDate",patientRegistrationResult.getOrderDate() ); m.put("createDate",patientRegistrationResult.getCreateDate() ); datas.add(m); } @@ -305,8 +311,9 @@ public class PatientRegistrationFacade extends BaseServiceImpl { cnames.put("name", "姓名"); cnames.put("phone", "手机号码"); cnames.put("cardno", "身份证号码"); - cnames.put("type", "是否在我院建档"); - cnames.put("lastMenses", "末次月经"); + cnames.put("type", "是否同意"); + cnames.put("bedType", "床位类型"); + cnames.put("orderDate", "预约时间"); cnames.put("createDate", "登记时间"); } 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 index f49f265..4718357 100644 --- 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 @@ -3,6 +3,8 @@ package com.lyms.platform.operate.web.request; import com.lyms.platform.common.core.annotation.form.FormParam; import org.hibernate.validator.constraints.NotEmpty; +import java.util.Date; + /** * 患者登记 入参类 */ @@ -17,34 +19,36 @@ public class PatientRegistrationRequest { private String hospitalId; private String HospitalName; + private String pid; + /*表单信息*/ //姓名 private String name; //手机号码 - @FormParam - @NotEmpty(message = "手机号吗不能为空") private String phone; //身份证号码 private String cardno; - //是否在我院建档 1是 2 不是 + //是否同意 1是 2 不是 private String type; - //末次月经 - private String lastMenses; + //1、LDRP(家庭化产房) 2 普通房间(产前)+单人分娩产房+单间(产后) 3 普通房间(产前+产后) + private Integer bedType; + //预约时间 + private String orderDate; - public String getId() { - return id; + public String getPid() { + return pid; } - public void setId(String id) { - this.id = id; + public void setPid(String pid) { + this.pid = pid; } - public String getHospitalName() { - return HospitalName; + public String getId() { + return id; } - public void setHospitalName(String hospitalName) { - HospitalName = hospitalName; + public void setId(String id) { + this.id = id; } public Integer getYn() { @@ -75,16 +79,16 @@ public class PatientRegistrationRequest { return hospitalId; } - public String getCardno() { - return cardno; + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; } - public void setCardno(String cardno) { - this.cardno = cardno; + public String getHospitalName() { + return HospitalName; } - public void setHospitalId(String hospitalId) { - this.hospitalId = hospitalId; + public void setHospitalName(String hospitalName) { + HospitalName = hospitalName; } public String getName() { @@ -103,6 +107,14 @@ public class PatientRegistrationRequest { this.phone = phone; } + public String getCardno() { + return cardno; + } + + public void setCardno(String cardno) { + this.cardno = cardno; + } + public String getType() { return type; } @@ -111,11 +123,19 @@ public class PatientRegistrationRequest { this.type = type; } - public String getLastMenses() { - return lastMenses; + public Integer getBedType() { + return bedType; + } + + public void setBedType(Integer bedType) { + this.bedType = bedType; + } + + public String getOrderDate() { + return orderDate; } - public void setLastMenses(String lastMenses) { - this.lastMenses = lastMenses; + public void setOrderDate(String orderDate) { + this.orderDate = orderDate; } } 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 index 553b9d2..c29938e 100644 --- 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 @@ -8,12 +8,7 @@ public class PatientRegistrationResult implements IBasicResultConvert