diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/DiseaseTypeEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/DiseaseTypeEnums.java new file mode 100644 index 0000000..52d5b75 --- /dev/null +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/DiseaseTypeEnums.java @@ -0,0 +1,53 @@ +package com.lyms.platform.common.enums; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @auther yangfei + * @createTime 2017年11月06日 16时37分 + * @discription + */ +public enum DiseaseTypeEnums { + YIGAN("yg","乙肝"), + BINGGAN("bg","丙肝"), + MEIDU("md","梅毒"); + + private DiseaseTypeEnums(String id, String name){ + this.name=name; + this.id =id; + + } + private String name; + private String id; + + public String getId() { + return id; + } + + public String getName() { + return name; + } + public static String getTitleById(String id){ + for(DiseaseTypeEnums enums:values()){ + if(id != null && id==enums.getId()){ + return enums.getName(); + } + } + return null; + } + + public static List> getDiseaseTypeList() + { + List> list = new ArrayList<>(); + for(DiseaseTypeEnums s : DiseaseTypeEnums.values()) { + Map map = new HashMap<>(); + map.put("id", String.valueOf(s.getId())); + map.put("name", s.getName()); + list.add(map); + } + return list; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java index 5cdb214..616a6c3 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java @@ -4,6 +4,7 @@ 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.enums.DiseaseTypeEnums; import com.lyms.platform.common.enums.ServiceStatusEnums; import com.lyms.platform.common.enums.ServiceTypeEnums; import com.lyms.platform.common.result.BaseListResponse; @@ -185,6 +186,10 @@ public class PuerperaManageController extends BaseController { List serviceType = ServiceTypeEnums.getServiceTypeList(); map.put("serviceType", serviceType); + //疾病类型 + List diseaseType = DiseaseTypeEnums.getDiseaseTypeList(); + map.put("diseaseType", diseaseType); + //服务状态 List serviceStatus = ServiceStatusEnums.getServiceStatusList(); map.put("serviceStatus", serviceStatus); 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 85f3beb..ba15fa1 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 @@ -2,6 +2,8 @@ package com.lyms.platform.operate.web.facade; import com.lyms.platform.biz.service.*; import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; import com.lyms.platform.common.enums.*; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; @@ -234,15 +236,11 @@ public class PatientFacade { patientsQuery.setType(type); //add lqy 高危孕产妇统计需求 - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getType())) - { - if ("2".equals(riskPatientsQueryRequest.getType())) - { + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getType())) { + if ("2".equals(riskPatientsQueryRequest.getType())) { //1孕妇 patientsQuery.setType(1); - } - else if ("3".equals(riskPatientsQueryRequest.getType())) - { + } else if ("3".equals(riskPatientsQueryRequest.getType())) { //3产妇 patientsQuery.setType(3); } @@ -253,14 +251,12 @@ public class PatientFacade { patientsQuery.sethScoreStart(riskPatientsQueryRequest.getStrtHScore()); patientsQuery.sethScoreEnd(riskPatientsQueryRequest.getEndHScore()); + //高危统计中的自定义高危 - if ("otherRiskId".equals(riskPatientsQueryRequest.getrFacotr())) - { + if ("otherRiskId".equals(riskPatientsQueryRequest.getrFacotr())) { patientsQuery.setoRiskFactor("true"); - } - else - { - patientsQuery.setrFactorList(com.lyms.platform.common.utils.StringUtils.covertToList(riskPatientsQueryRequest.getrFacotr(),String.class)); + } else { + patientsQuery.setrFactorList(com.lyms.platform.common.utils.StringUtils.covertToList(riskPatientsQueryRequest.getrFacotr(), String.class)); } Date currentDate = DateUtil.formatDate(new Date()); @@ -433,6 +429,35 @@ public class PatientFacade { } patientsQuery.setHospitalList(hospitalList); + //根据疾病进行查询 + if (StringUtils.isNotEmpty(riskPatientsQueryRequest.getDiseaseType())) { + MongoCondition criteria = new MongoCondition("hospitalId", hospitalList, MongoOper.IN); + //乙肝查询 + if (StringUtils.contains(riskPatientsQueryRequest.getDiseaseType(), DiseaseTypeEnums.YIGAN.getId())) { + criteria.andCondition(new MongoCondition("ygbmky", true, MongoOper.EXISTS) + .orCondition(new MongoCondition("ygbmkt", true, MongoOper.EXISTS)) + .orCondition(new MongoCondition("ygeky", true, MongoOper.EXISTS)) + .orCondition(new MongoCondition("ygekt", true, MongoOper.EXISTS)) + .orCondition(new MongoCondition("yghxkt", true, MongoOper.EXISTS)) + ); + } + //丙肝查询 + if (StringUtils.contains(riskPatientsQueryRequest.getDiseaseType(), DiseaseTypeEnums.BINGGAN.getId())) { + criteria.andCondition(new MongoCondition("bg", true, MongoOper.EXISTS)); + } + //梅毒查询 + if (StringUtils.contains(riskPatientsQueryRequest.getDiseaseType(), DiseaseTypeEnums.MEIDU.getId())) { + criteria.andCondition(new MongoCondition("syjg", true, MongoOper.EXISTS) + .orCondition(new MongoCondition("hivkt", true, MongoOper.EXISTS)) + ); + } + List antExChuModels = antExService.queryAntExChu(criteria.toMongoQuery()); + List pIds = new ArrayList<>(); + for(AntExChuModel antChu : antExChuModels){ + pIds.add(antChu.getParentId()); + } + patientsQuery.setpIds(pIds); + } fmHospitalList.addAll(hospitalList); @@ -457,20 +482,15 @@ public class PatientFacade { } fmHospitalList.retainAll(orgId); } - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getFmHospital())) - { + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getFmHospital())) { patientsQuery.setFmHospital(riskPatientsQueryRequest.getFmHospital()); - } - else - { - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getFprovinceId())) - { + } else { + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getFprovinceId())) { patientsQuery.setFmHospitalList(fmHospitalList); } } - } else { patientsQuery.setFmHospital(riskPatientsQueryRequest.getFmHospital()); @@ -505,15 +525,13 @@ public class PatientFacade { patientsQuery.setPostViewTimesStart(riskPatientsQueryRequest.getPostViewTimesStart()); patientsQuery.setPostViewTimesEnd(riskPatientsQueryRequest.getPostViewTimesEnd()); - if (riskPatientsQueryRequest.getPostViewDaysStart() != null) - { - Date start = DateUtil.addDay(new Date(),-riskPatientsQueryRequest.getPostViewDaysStart()); + if (riskPatientsQueryRequest.getPostViewDaysStart() != null) { + Date start = DateUtil.addDay(new Date(), -riskPatientsQueryRequest.getPostViewDaysStart()); patientsQuery.setFmDateEnd(start); } - if (riskPatientsQueryRequest.getPostViewDaysEnd() != null) - { - Date end = DateUtil.addDay(new Date(),-riskPatientsQueryRequest.getPostViewDaysEnd()-1); + if (riskPatientsQueryRequest.getPostViewDaysEnd() != null) { + Date end = DateUtil.addDay(new Date(), -riskPatientsQueryRequest.getPostViewDaysEnd() - 1); patientsQuery.setFmDateStart(end); } @@ -529,37 +547,31 @@ public class PatientFacade { } - if (riskPatientsQueryRequest.getFmWeekStart() != null) - { - int start = org.apache.commons.lang.math.NumberUtils.toInt(riskPatientsQueryRequest.getFmWeekStart(), 0)*7; + if (riskPatientsQueryRequest.getFmWeekStart() != null) { + int start = org.apache.commons.lang.math.NumberUtils.toInt(riskPatientsQueryRequest.getFmWeekStart(), 0) * 7; patientsQuery.setFmWeekStart(start); } - if (riskPatientsQueryRequest.getFmWeekEnd() != null) - { - int end = org.apache.commons.lang.math.NumberUtils.toInt(riskPatientsQueryRequest.getFmWeekEnd(), 0)+1; - end = end * 7 - 1; + if (riskPatientsQueryRequest.getFmWeekEnd() != null) { + int end = org.apache.commons.lang.math.NumberUtils.toInt(riskPatientsQueryRequest.getFmWeekEnd(), 0) + 1; + end = end * 7 - 1; patientsQuery.setFmWeekEnd(end); } - if (riskPatientsQueryRequest.getFmStartAge() != null) - { + if (riskPatientsQueryRequest.getFmStartAge() != null) { patientsQuery.setFmAgeStart(riskPatientsQueryRequest.getFmStartAge()); } - if (riskPatientsQueryRequest.getFmEndAge() != null) - { + if (riskPatientsQueryRequest.getFmEndAge() != null) { patientsQuery.setFmAgeEnd(riskPatientsQueryRequest.getFmEndAge()); } //建档孕周 - if (riskPatientsQueryRequest.getBuildWeekStart() != null) - { - patientsQuery.setBuildDaysStart(riskPatientsQueryRequest.getBuildWeekStart()*7); + if (riskPatientsQueryRequest.getBuildWeekStart() != null) { + patientsQuery.setBuildDaysStart(riskPatientsQueryRequest.getBuildWeekStart() * 7); } - if (riskPatientsQueryRequest.getBuildWeekEnd() != null) - { + if (riskPatientsQueryRequest.getBuildWeekEnd() != null) { patientsQuery.setBuildDaysEnd((riskPatientsQueryRequest.getBuildWeekEnd() + 1) * 7 - 1); } @@ -747,7 +759,7 @@ public class PatientFacade { return response; } - com.lyms.platform.beans.MessageListRequest smsList = new com.lyms.platform.beans.MessageListRequest(); + com.lyms.platform.beans.MessageListRequest smsList = new com.lyms.platform.beans.MessageListRequest(); List messages = new ArrayList<>(); List sendModels = new ArrayList<>(); if (CollectionUtils.isNotEmpty(patientGuideSmsRequest.getIds())) { @@ -766,7 +778,7 @@ public class PatientFacade { com.lyms.platform.beans.MessageRequest mr = new com.lyms.platform.beans.MessageRequest(); - String content = patientGuideSmsRequest.getSmsContent(); + String content = patientGuideSmsRequest.getSmsContent(); mr.setFirst("【" + messagePrefix + "】" + content); mr.setObjType(ServiceObjEnums.YUNOBJ.getId()); @@ -780,8 +792,7 @@ public class PatientFacade { mr.setPatientId(patient.getId()); String doctorName = ""; - if (dbuser != null) - { + if (dbuser != null) { doctorName = dbuser.getName(); } @@ -801,14 +812,11 @@ public class PatientFacade { smsList.setTypeId(ProjectTypeEnums.YNXT.getId()); smsList.setMessages(messages); //调用发送接口 - if ("4".equals(HIS_VERSION)) - { + if ("4".equals(HIS_VERSION)) { //秦皇岛 //保存到同步表中 syncDataService.savePostMsg(JsonUtil.obj2JsonString(smsList), messages.get(0).getHospitalId()); - } - else - { + } else { //保存到短信中心 线上 MessageCenterService.saveMsgCenter(smsList); } @@ -931,7 +939,7 @@ public class PatientFacade { cnames.put("lName", "登记人"); cnames.put("serviceType", "服务类型"); cnames.put("serviceStatus", "服务状态"); - }else if(patientsQueryRequest.getQueryType() == 3){ + } else if (patientsQueryRequest.getQueryType() == 3) { listResponse = (BaseListResponse) queryHighRisk(patientsQueryRequest, null, 3, userId, null, Boolean.FALSE); List list = listResponse.getData(); for (Object obj : list) { @@ -984,14 +992,12 @@ public class PatientFacade { PatientsQuery patientsQuery = new PatientsQuery(); - if (patientManagerRequest.getBuildWeekStart() != null) - { - patientsQuery.setBuildDaysStart(patientManagerRequest.getBuildWeekStart()*7); + if (patientManagerRequest.getBuildWeekStart() != null) { + patientsQuery.setBuildDaysStart(patientManagerRequest.getBuildWeekStart() * 7); } - if (patientManagerRequest.getBuildWeekEnd() != null) - { - patientsQuery.setBuildDaysEnd((patientManagerRequest.getBuildWeekEnd()+1) * 7 - 1); + if (patientManagerRequest.getBuildWeekEnd() != null) { + patientsQuery.setBuildDaysEnd((patientManagerRequest.getBuildWeekEnd() + 1) * 7 - 1); } patientsQuery.setYn(YnEnums.YES.getId()); @@ -1064,16 +1070,12 @@ public class PatientFacade { patientManagerQueryModel.setBuildWeek(dueWeek); String bookbuildingDoctor = ""; - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(patients.getBookbuildingDoctor())) - { + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(patients.getBookbuildingDoctor())) { Users user = usersService.getUsers(Integer.valueOf(patients.getBookbuildingDoctor())); - if (user != null) - { + if (user != null) { bookbuildingDoctor = user.getName(); - } - else - { - System.out.println(patients.getId()+";no user bookbuildingDoctor"+patients.getBookbuildingDoctor()); + } else { + System.out.println(patients.getId() + ";no user bookbuildingDoctor" + patients.getBookbuildingDoctor()); } } @@ -1115,15 +1117,15 @@ public class PatientFacade { } catch (Exception e) { } Patients p = mongoTemplate.findById(patientBaseResult.getId(), Patients.class); - if(p != null) { + if (p != null) { AntExChuModel chuModel = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(p.getPid()).and("yn").ne("0")).with(new Sort(Sort.Direction.DESC, "created")), AntExChuModel.class); - if(chuModel != null) { + if (chuModel != null) { patientBaseResult.setHeight(StringUtils.isNotEmpty(chuModel.getHeight()) ? chuModel.getHeight() : ""); patientBaseResult.setWeight(StringUtils.isNotEmpty(chuModel.getWeight()) ? chuModel.getWeight() : ""); } } PatientWeight pw = mongoTemplate.findOne(Query.query(Criteria.where("patientId").is(patientBaseResult.getId())), PatientWeight.class); - if(pw != null) { + if (pw != null) { patientBaseResult.setPwId(pw.getId()); } return new BaseObjectResponse().setData(patientBaseResult).setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java index 3311dae..721dede 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java @@ -122,6 +122,9 @@ public class RiskPatientsQueryRequest extends BasePageQueryRequest { //建档人 private String buildUserId; + //疾病类型:"yg","乙肝" "bg","丙肝" "md","梅毒" + private String diseaseType; + //产检医生 private String lastCheckDoctorId; @@ -144,6 +147,14 @@ public class RiskPatientsQueryRequest extends BasePageQueryRequest { private String notEnable; + public String getDiseaseType() { + return diseaseType; + } + + public void setDiseaseType(String diseaseType) { + this.diseaseType = diseaseType; + } + public String getNotEnable() { return notEnable; }