diff --git a/platform-dal/src/main/java/com/lyms/platform/query/CourseQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/CourseQuery.java index 4f0a0c6..1497dd8 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/CourseQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/CourseQuery.java @@ -118,22 +118,34 @@ public class CourseQuery extends BaseQuery implements IConvertToNativeQuery { condition = condition.and("courseEndTime", courseEndTime, MongoOper.LTE); } - if (null != keyword && null != hospitalIds && hospitalIds.size() > 0) { - MongoCondition con1 = MongoCondition.newInstance("courseSpeaker", keyword, MongoOper.LIKE); - MongoCondition con = MongoCondition.newInstance("courseName", keyword, MongoOper.LIKE); - MongoCondition condition2 = MongoCondition.newInstance("hospitalId", hospitalIds, MongoOper.IN); - condition = condition.orCondition(new MongoCondition[]{con1, con,condition2}); - } - else if (null != keyword) + if (null != keyword) { MongoCondition con1 = MongoCondition.newInstance("courseSpeaker", keyword, MongoOper.LIKE); MongoCondition con = MongoCondition.newInstance("courseName", keyword, MongoOper.LIKE); condition = condition.orCondition(new MongoCondition[]{con1, con}); } - else if (null != hospitalIds && hospitalIds.size() > 0) { + + if (null != hospitalIds && hospitalIds.size() > 0) { condition = condition.and("hospitalId", hospitalIds, MongoOper.IN); } + +// if (null != keyword && null != hospitalIds && hospitalIds.size() > 0) { +// MongoCondition con1 = MongoCondition.newInstance("courseSpeaker", keyword, MongoOper.LIKE); +// MongoCondition con = MongoCondition.newInstance("courseName", keyword, MongoOper.LIKE); +// MongoCondition condition2 = MongoCondition.newInstance("hospitalId", hospitalIds, MongoOper.IN); +// condition = condition.orCondition(new MongoCondition[]{con1, con,condition2}); +// } +// else if (null != keyword) +// { +// MongoCondition con1 = MongoCondition.newInstance("courseSpeaker", keyword, MongoOper.LIKE); +// MongoCondition con = MongoCondition.newInstance("courseName", keyword, MongoOper.LIKE); +// condition = condition.orCondition(new MongoCondition[]{con1, con}); +// } +// else if (null != hospitalIds && hospitalIds.size() > 0) { +// condition = condition.and("hospitalId", hospitalIds, MongoOper.IN); +// } + Criteria c1 = null; if (null != courseTimeStart) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientCourseFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientCourseFacade.java index fe68626..f2a9f5b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientCourseFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientCourseFacade.java @@ -457,10 +457,21 @@ public class PatientCourseFacade { hospitalIdList = Arrays.asList(hospitalIds.split(",")); } - if (StringUtils.isNotEmpty(keyword)) + boolean isHosp = false; + + List conditionHospitalIds = new ArrayList<>(); + if (StringUtils.isNotEmpty(keyword) && CollectionUtils.isNotEmpty(hospitalIdList)) { - List conditionHospitalIds = new ArrayList<>(); + List ids = new ArrayList<>(); + for (String id : hospitalIdList) + { + ids.add(Integer.parseInt(id)); + } + + OrganizationQuery organizationQuery = new OrganizationQuery(); + + organizationQuery.setIdList(ids); organizationQuery.setNeed("true"); organizationQuery.setPage(0); organizationQuery.setLimit(100); @@ -474,11 +485,9 @@ public class PatientCourseFacade { { conditionHospitalIds.add(String.valueOf(org.getId())); } + isHosp = true; } - if (CollectionUtils.isNotEmpty(conditionHospitalIds)) - { - hospitalIdList.retainAll(conditionHospitalIds); - } + } CourseQuery query = new CourseQuery(); @@ -487,8 +496,17 @@ public class PatientCourseFacade { query.setPage(page); query.setLimit(limit); query.setNeed("true"); - query.setHospitalIds(hospitalIdList); - query.setKeyword(keyword); + if (isHosp) + { + query.setHospitalIds(conditionHospitalIds); + } + else + { + query.setHospitalIds(hospitalIdList); + query.setKeyword(keyword); + } + + List courseModels = courseService.queryCourseList(query);