/**
*
* 根据输入值查询出教师信息
* @param sort
* @param page
* @param countPerPage
* @param teacherName 教师名称
* @param teacherWorkUnit 工作单位
* @param teacherState 教师状态
* @param fieldName
* @param fieldId
* @param status
* @return
*/
public PaginationSupport findTeacherList(LinkedHashMap<String, String> sort,int page, int countPerPage,String teacherName,String teacherPosition, String teacherWorkUnit,String fieldName, Integer teacherState,String teaImport,Long fieldId,Integer status,String theme) {
String hql = "select distinct ti from SysTeaTeactherInfo ti " +
" left join ti.sysTeaProfFields pf " +
" left join ti.sysEduCourseInfos ci " +
" where 1=1 ";
// " and ti.teacherName like :teacherName " +
// " and ti.teacherPosition like :teacherPosition " +
// " and ti.teacherWorkUnit like :teacherWorkUnit ";
List<String> pn = new ArrayList<String>();
List pv = new ArrayList();
if (StringUtil.isNotEmpty(teacherName) && !teacherName.trim().equals("")) {
hql+=" and ti.teacherName like :teacherName ";
pn.add("teacherName");
pv.add("%"+teacherName.trim()+"%");
}
if (StringUtil.isNotEmpty(teacherPosition) && !teacherPosition.trim().equals("")) {
hql+=" and ti.teacherPosition like :teacherPosition ";
pn.add("teacherPosition");
pv.add("%"+teacherPosition.trim()+"%");
}
if (StringUtil.isNotEmpty(teacherWorkUnit) && !teacherWorkUnit.trim().equals("")) {
hql+=" and ti.teacherWorkUnit like :teacherWorkUnit ";
pn.add("teacherWorkUnit");
pv.add("%"+teacherWorkUnit.trim()+"%");
}
if (StringUtil.isNotEmpty(theme) && !theme.trim().equals("")) {
hql+=" and ti.courseTheme like :theme ";
pn.add("theme");
pv.add("%"+theme.trim()+"%");
}
if (null!=fieldId) {
hql +=" and concat(',',trim(str(pf.fieldId)),',',pf.fieldFatherStr) like "+"'%,"+fieldId.toString()+",%'";
}
//领域作为条件查询教师
if (null!=fieldName) {
if (!fieldName.trim().equals("")) {
hql+=" and pf.fieldName like "+"'%"+fieldName.trim()+"%'";
}
}
//下拉框中选择的教师状态
if (null!=teacherState) {
hql+=" and ti.teacherState = "+ teacherState +"";
}
//复选框勾选重点教师
if (null!=teaImport) {
hql+=" and ti.teacherImportant = "+ IMPORTANT_TEACHER +"";
}
//点击右边不同教师库,传进来的状态
if (null!=status) {
hql+=" and ti.teacherState = "+ status +"";
}
if(sort!=null && sort.size()>0){
String order = addOrder(sort);
if(order!=null && order!=""){
hql+=" order by "+order;
}
}else{
hql+=" order by ti.teacherPoint desc , ti.updateTime desc";
}
String[] pns = new String[pn.size()];
String[] arr = pn.toArray(pns);
Object[] obj = pv.toArray();
// if (StringUtil.isNotEmpty(theme) && !theme.trim().equals("")) {
// return this.findByHqlOnPage(hql, page, countPerPage,new String[]{"teacherName","teacherPosition","teacherWorkUnit","theme"},new Object[]{"%"+(StringUtil.isEmpty(teacherName)?"":teacherName.trim())+"%","%"+(StringUtil.isEmpty(teacherPosition)?"":teacherPosition.trim())+"%","%"+(StringUtil.isEmpty(teacherWorkUnit)?"":teacherWorkUnit.trim())+"%","%"+(StringUtil.isEmpty(theme)?"":theme.trim())+"%"});
// }else {
// return this.findByHqlOnPage(hql, page, countPerPage,new String[]{"teacherName","teacherPosition","teacherWorkUnit"},new Object[]{"%"+(StringUtil.isEmpty(teacherName)?"":teacherName.trim())+"%","%"+(StringUtil.isEmpty(teacherPosition)?"":teacherPosition.trim())+"%","%"+(StringUtil.isEmpty(teacherWorkUnit)?"":teacherWorkUnit.trim())+"%"});
// }
return this.findByHqlOnPage(hql, page, countPerPage, arr, obj);
}