diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java index f612c58..b1aad9d 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java @@ -62,14 +62,50 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery{ * 身份证号码 */ private String cardNo; - - + + /** + * 生日 + */ + private Date birthStart; + + /** + * 生日 + */ + private Date birthEnd; + + public Date getBirthEnd() { + return birthEnd; + } + + public void setBirthEnd(Date birthEnd) { + this.birthEnd = birthEnd; + } + + public Date getBirthStart() { + return birthStart; + } + + public void setBirthStart(Date birthStart) { + this.birthStart = birthStart; + } + /** * 是否有效 */ private int yn=-1; - - + /** + * 1:孕妇,2:儿童 + */ + private int type=-1; + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } + public String getCardNo() { return cardNo; } @@ -162,6 +198,9 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery{ if(-1!=yn){ condition=condition.and("yn", yn, MongoOper.IS); } + if(-1!=type){ + condition=condition.and("yn", type, MongoOper.IS); + } /*if(null!=dueDateStart){ // condition= condition.elemMatch("dueDate",MongoCondition.newInstance("$lte", dueDateStart, MongoOper.IS).and("$gte", dueDateEnd, MongoOper.IS)); // condition=condition.and("dueDate", dueDateStart, MongoOper.GTE).and("dueDate", dueDateEnd, MongoOper.LTE); @@ -186,7 +225,23 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery{ if (isAddStart) { return new MongoCondition(c.andOperator(condition.getCriteria())).toMongoQuery(); } - + boolean isAddStart1 = Boolean.FALSE; + if (null != birthStart) { + c = Criteria.where("birth").gte(birthStart); + isAddStart = Boolean.TRUE; + } + + if (null != birthEnd) { + if (isAddStart1) { + c = c.lte(birthEnd); + } else { + c = Criteria.where("birth").lte(birthEnd); + } + isAddStart1 = Boolean.TRUE; + } + if (isAddStart ||isAddStart1) { + return new MongoCondition(c.andOperator(condition.getCriteria())).toMongoQuery(); + } return condition.toMongoQuery(); } public String getId() { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyManagerFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyManagerFacade.java index 78a7cc9..5b5db04 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyManagerFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyManagerFacade.java @@ -3,8 +3,13 @@ package com.lyms.platform.operate.web.facade; import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Map; +import com.lyms.platform.biz.service.CommunityConfigService; import com.lyms.platform.biz.service.PatientsService; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.JsonUtil; +import com.lyms.platform.pojo.CommunityConfig; import com.lyms.platform.pojo.Patients; import com.lyms.platform.query.PatientsQuery; import org.apache.commons.collections.CollectionUtils; @@ -33,6 +38,8 @@ public class BabyManagerFacade { private PuerperaService puerperaService; @Autowired private PatientsService patientsService; + @Autowired + private CommunityConfigService communityConfigService; @Autowired private BabyService babyService; @@ -45,6 +52,29 @@ public class BabyManagerFacade { */ public BaseListResponse findBabyList(BabyManagerQueryRequest babyManagerRequest) { + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setType(2); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setBirthEnd(babyManagerRequest.getdEnd()); + patientsQuery.setBirthStart(babyManagerRequest.getdStart()); + patientsQuery.setVisitstatus(babyManagerRequest.getVisitstatus()); + patientsQuery.setPage(babyManagerRequest.getPage()); + patientsQuery.setLimit(babyManagerRequest.getLimit()); + + if (StringUtils.isNotEmpty(babyManagerRequest.getKeyword())) { + patientsQuery.setKeyword(babyManagerRequest.getKeyword()); + } + List patientsList = patientsService.queryPatient(patientsQuery); + + List data =new ArrayList(); + + if(CollectionUtils.isNotEmpty(patientsList)){ + for(Patients patients:patientsList){ + data.add(buildResult(patients)); + } + } + +/* BabyModelQuery babyQuery = new BabyModelQuery(); babyQuery.setBirthEnd(babyManagerRequest.getdEnd()); babyQuery.setBirthStart(babyManagerRequest.getdStart()); @@ -55,15 +85,17 @@ public class BabyManagerFacade { List data = new ArrayList(); // 根据关键字先查询产妇信息 if (StringUtils.isNotEmpty(babyManagerRequest.getKeyword())) { - PuerperaModelQuery puerperaQuery = new PuerperaModelQuery(); - puerperaQuery.setKeyword(babyManagerRequest.getKeyword()); + *//* PuerperaModelQuery puerperaQuery = new PuerperaModelQuery(); + puerperaQuery.setKeyword(babyManagerRequest.getKeyword());*//* PatientsQuery patientsQuery = new PatientsQuery(); patientsQuery.setKeyword(babyManagerRequest.getKeyword()); + patientsQuery.setType(2); + patientsQuery.setYn(YnEnums.YES.getId()); // 符合关键字的产妇列表 // List puerList = puerperaService.queryPuerpera(puerperaQuery); List puerList = patientsService.queryPatient(patientsQuery); if (CollectionUtils.isNotEmpty(puerList)) { - /* for (PuerperaModel model : puerList) { + *//* for (PuerperaModel model : puerList) { babyQuery.setParentId(model.getId()); List babies = babyService.queryBabyWithQuery(babyQuery); if (CollectionUtils.isNotEmpty(babies)) { @@ -71,7 +103,7 @@ public class BabyManagerFacade { data.add(buildResult(baby, model)); } } - }*/ + }*//* for(Patients model : puerList) { babyQuery.setParentId(model.getId()); @@ -88,10 +120,10 @@ public class BabyManagerFacade { List babies = babyService.queryBabyWithQuery(babyQuery); if (CollectionUtils.isNotEmpty(babies)) { for (BabyModel baby : babies) { - data.add(buildResult(baby,/* puerperaService.findOnePuerperaById(baby.getParentId())*/patientsService.findOnePatientById(baby.getParentId()))); + data.add(buildResult(baby,*//* puerperaService.findOnePuerperaById(baby.getParentId())*//*patientsService.findOnePatientById(baby.getParentId()))); } } - } + }*/ return new BaseListResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(data); } @@ -104,10 +136,10 @@ public class BabyManagerFacade { * @return 返回结果 */ public BaseResponse deleteOneBabyById(String id) { - BabyModel obj = new BabyModel(); + Patients obj = new Patients(); obj.setYn(YnEnums.NO.getId()); obj.setId(id); - babyService.updateOneBaby(obj, id); + patientsService.updatePatient(obj); return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } @@ -156,4 +188,41 @@ public class BabyManagerFacade { babyResult.setCommunity(StringUtils.isEmpty(puerModel.getCommunityId()) ? "" : puerModel.getCommunityId()); return babyResult; } + public BabyResult buildResult(Patients patients){ + BabyResult babyResult = new BabyResult(); + String addr = ""; + if (StringUtils.isNotEmpty(patients.getAddress())) { + try { + Map map = JsonUtil.str2Obj(patients.getAddress(), Map.class); + addr = map.get("d").toString(); + } catch (Exception e) { + addr = ""; + } + } + babyResult.setAddress(addr); + + babyResult.setCommunityId(StringUtils.isEmpty(patients.getCommunityId()) ? "" : patients.getCommunityId()); + String comm="未分配"; + if(StringUtils.isNotEmpty(patients.getCommunityId())){ + CommunityConfig communityConfig = communityConfigService.queryAreaById(patients.getCommunityId()); + if(null!=communityConfig){ + comm= communityConfig.getName(); + } + } + String gender= "未知"; + if(null!=patients.getGender()){ + if("1".equals(patients.getGender()+"")){ + gender="男"; + }else { + gender="女"; + } + } + babyResult.setBirth(DateUtil.getyyyy_MM_dd(patients.getBirth())); + babyResult.setSex(gender); + babyResult.setCommunity(comm); + babyResult.setMotherName("母亲名字"); + babyResult.setMotherPhone(patients.getPhone()); + babyResult.setId(patients.getId()); + return babyResult; + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java index c986008..bc612d2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java @@ -82,6 +82,7 @@ public class PatientFacade { puerperaQuery.setVisitstatus(managerRequest.getVisitstatus()); puerperaQuery.setNeed("1"); puerperaQuery.setYn(YnEnums.YES.getId()); + puerperaQuery.setType(1); // 调用service查询 List puerperaList = patientsService.queryPatient(puerperaQuery); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabyResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabyResult.java index 918acaf..3680698 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabyResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabyResult.java @@ -36,6 +36,16 @@ public class BabyResult { private String address; private String community; + private String + communityId; + + public String getCommunityId() { + return communityId; + } + + public void setCommunityId(String communityId) { + this.communityId = communityId; + } private String visit;