
正文
GreenDao-自定义SQL查询-拼接多个查询条件-AndroidStudio
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
//获取本地Pad(离线工作票列表)
public static List<WTDetailTableBean> getPadWTList(String token,
String userId,
String org,
String dept,
String strClass,
String ticketNo,
String type,
String status,
String isEvaluated,
String exceedTimeLimit,
String error,
String workLeader,
String signatory,
String content,
String createTimeLimit,
String year,
String workLeaderOpenTime,//工作负责人签字时间从
String workLeaderCloseTime,//工作负责人签字时间到
String allowEndOpenTime,
String allowEndCloseTime,
String page_number,
String each_page){ List<WTDetailTableBean> lWTDetailTableBeanLt = new ArrayList<WTDetailTableBean>(); //请求参数
ArrayList<String> strParamLt = new ArrayList<String>(); String queryString =
"SELECT DISTINCT * FROM " + WTDetailTableBeanDao.TABLENAME + " where 1==1 ";
//组织
if (!CommonUtil.isNull(org)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.ORG_ID.columnName + " = ?";
strParamLt.add(org);
}
//部门
if (!CommonUtil.isNull(dept)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.UNIT_ID.columnName + " = ?";
strParamLt.add(dept);
}
//班组
if (!CommonUtil.isNull(strClass)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.CLASS_ID.columnName + " = ?";
strParamLt.add(strClass);
}
//票号
if (!CommonUtil.isNull(ticketNo)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.TICKET_NO.columnName + " like '%" + ticketNo + "%' ";
} //状态
if (!CommonUtil.isNull(status)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.STATUS.columnName + " = ?";
strParamLt.add(status);
} //工作负责人
if (!CommonUtil.isNull(workLeader)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.WORK_RESPONSOR_NAME.columnName + " like '%" + workLeader + "%' ";
} //签字人
if (!CommonUtil.isNull(signatory)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.WORK_SIGN_FIRST_NAME.columnName + " like '%" + signatory + "%' "; queryString = queryString + " or "
+ WTDetailTableBeanDao.Properties.WORK_SIGN_SECOND_NAME.columnName + " like '%" + signatory + "%' "; } //工作内容
if (!CommonUtil.isNull(content)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.WORK_RESPONSOR_JOB.columnName + " like '%" + content + "%' ";
} //工作负责人签字时间从 和 工作负责人签字时间到 都不为空
if (!CommonUtil.isNull(workLeaderOpenTime) && !CommonUtil.isNull(workLeaderCloseTime)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.WORK_SIGN_THRID_DATE.columnName + " BETWEEN '" + workLeaderOpenTime + "' AND '" + workLeaderCloseTime + "' ";
//工作负责人签字时间从 不为空 和 工作负责人签字时间到 为空
}else if (!CommonUtil.isNull(workLeaderOpenTime) && CommonUtil.isNull(workLeaderCloseTime)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.WORK_SIGN_THRID_DATE.columnName + " BETWEEN '" + workLeaderOpenTime + "' AND '" + CommonUtil.getCurrentTime() + "' ";
//工作负责人签字时间从 为空 和 工作负责人签字时间到 不为空
}else if (!CommonUtil.isNull(workLeaderOpenTime) && CommonUtil.isNull(workLeaderCloseTime)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.WORK_SIGN_THRID_DATE.columnName + " BETWEEN '2000-01-01 00:00:00' AND '" + workLeaderCloseTime + "' ";
} Object [] objs=strParamLt.toArray();
String [] strs=new String[objs.length];
for(int i=0;i<objs.length;i++){
strs[i]=objs[i].toString();
} Cursor cursor = getDaoSession().getWTDetailTableBeanDao().getDatabase().rawQuery(queryString, strs); int intTicketIdIndex = cursor.getColumnIndex(WTDetailTableBeanDao.Properties.TICKET_ID.columnName);
int intTicketNoIndex = cursor.getColumnIndex(WTDetailTableBeanDao.Properties.TICKET_NO.columnName);
int intTicketTypeIndex = cursor.getColumnIndex(WTDetailTableBeanDao.Properties.TICKET_TYPE.columnName);
int intStatusIndex = cursor.getColumnIndex(WTDetailTableBeanDao.Properties.STATUS.columnName);
int intWorkResponsorJobIndex = cursor.getColumnIndex(WTDetailTableBeanDao.Properties.WORK_RESPONSOR_JOB.columnName);
int intWorkSignThridDateIndex = cursor.getColumnIndex(WTDetailTableBeanDao.Properties.WORK_SIGN_THRID_DATE.columnName); while (cursor.moveToNext()) {
WTDetailTableBean lWTDetailTableBean = new WTDetailTableBean();
lWTDetailTableBean.setTICKET_ID(cursor.getString(intTicketIdIndex));
lWTDetailTableBean.setTICKET_NO(cursor.getString(intTicketNoIndex));
lWTDetailTableBean.setTICKET_TYPE(cursor.getString(intTicketTypeIndex));
lWTDetailTableBean.setSTATUS(cursor.getString(intStatusIndex));
lWTDetailTableBean.setWORK_RESPONSOR_JOB(cursor.getString(intWorkResponsorJobIndex));
lWTDetailTableBean.setWORK_SIGN_THRID_DATE(cursor.getString(intWorkSignThridDateIndex)); lWTDetailTableBeanLt.add(lWTDetailTableBean); }
return lWTDetailTableBeanLt;
}
页面结果:






