GreenDao-自定义SQL查询-AndroidStudio

时间:2023-03-09 06:35:34
GreenDao-自定义SQL查询-AndroidStudio
     /**
* 功能:员工查询
* 方法参数:
* strEmpIdOrEmpName:员工ID 或者 员工名称
* strQueryType:员工查询类型 "0": "员工编号"; "1": "员工名称"
* strOrgId:当前所在组织
* strQualifType:资格条件
* strTicketType:票型
*/
public static List<EmployeeTableBean> getEmployeeInfo(String strEmpIdOrEmpName, String strEmployeeQueryType,
String strOrgId, String strQualifyType, String strTicketType) { List<EmployeeTableBean> lResutEmployeeTableBeanLt = new ArrayList<EmployeeTableBean>(); //拼接sql
String queryString = "SELECT DISTINCT * FROM " + EmployeeTableBeanDao.TABLENAME + " where 1==1 AND "+
EmployeeTableBeanDao.Properties.ORG_ID.columnName + " = ? AND " +
EmployeeTableBeanDao.Properties.QUALIF_TYPE.columnName + " = ? AND " +
EmployeeTableBeanDao.Properties.TICKET_TYPE.columnName + " = ? " ; //如果输入查询条件--员工编号
if (strEmployeeQueryType.equals(EmployeeQueryType.EMP_ID.getTypeId())) {
queryString = queryString + " and "
+ EmployeeTableBeanDao.Properties.EMP_ID.columnName + " like '%" + strEmpIdOrEmpName + "%' ";
//如果输入查询条件--员工名称
}else if (strEmployeeQueryType.equals(EmployeeQueryType.EMP_NAME.getTypeId())){
queryString = queryString + " and "
+ EmployeeTableBeanDao.Properties.EMP_NAME.columnName + " like '%" + strEmpIdOrEmpName + "%' ";
} queryString = queryString + " and "+
EmployeeTableBeanDao.Properties.EMP_ID.columnName + " IN ( SELECT " +
DigitalSignatureTableBeanDao.Properties.PERSON_ID.columnName + " FROM " +
DigitalSignatureTableBeanDao.TABLENAME + " ) "; String [] strsParam=new String[3];
strsParam[0] = strOrgId;
strsParam[1] = strQualifyType;
strsParam[2] = strTicketType; Cursor cursor = getDaoSession().getEmployeeTableBeanDao().getDatabase().rawQuery(queryString, strsParam); int intEMP_NAMEIndex = cursor.getColumnIndex(EmployeeTableBeanDao.Properties.EMP_NAME.columnName);
int intEMP_IDIndex = cursor.getColumnIndex(EmployeeTableBeanDao.Properties.EMP_ID.columnName);
int intQUALIF_TYPE_NAMEIndex = cursor.getColumnIndex(EmployeeTableBeanDao.Properties.QUALIF_TYPE_NAME.columnName);
int intTICKET_TYPE_NAMEIndex = cursor.getColumnIndex(EmployeeTableBeanDao.Properties.TICKET_TYPE_NAME.columnName); while (cursor.moveToNext()) {
EmployeeTableBean lEmployeeTableBean = new EmployeeTableBean();
lEmployeeTableBean.setEMP_NAME(cursor.getString(intEMP_NAMEIndex));
lEmployeeTableBean.setEMP_ID(cursor.getString(intEMP_IDIndex));
lEmployeeTableBean.setQUALIF_TYPE_NAME(cursor.getString(intQUALIF_TYPE_NAMEIndex));
lEmployeeTableBean.setTICKET_TYPE_NAME(cursor.getString(intTICKET_TYPE_NAMEIndex));
lResutEmployeeTableBeanLt.add(lEmployeeTableBean);
}
return lResutEmployeeTableBeanLt;
}

查询结果如下

GreenDao-自定义SQL查询-AndroidStudio