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;
}
页面结果:
GreenDao-自定义SQL查询-拼接多个查询条件-AndroidStudio的更多相关文章
- Mysql 拼接字段查询语句和join查询拼接和时间查询
个人平时记录的,有点乱 1.修改时间字段,如果时间字段的类型是date或者是datetime类型的 update 表名 set 时间字段 = DATE_FORMAT(NOW(),'%Y-%m-%d % ...
- sql like 拼接字符串模糊查询
这种分割的值大家常用,如果要用like 来查询包含2,这个值的数据有哪些,这个怎么查? like '%2%' ????,这是不行的如果是 44,125,687 同样可以查出来,那么就想到通配符, l ...
- ASPNETCOREAPI 跨域处理 SQL 语句拼接 多条件分页查询 ASPNET CORE 核心 通过依赖注入(注入服务)
ASPNETCOREAPI 跨域处理 AspNetCoreApi 跨域处理 如果咱们有处理过MV5 跨域问题这个问题也不大. (1)为什么会出现跨域问题: 浏览器安全限制了前端脚本跨站点的访问资源, ...
- phpcmsv9自定义sql语句查询模型实现
在phpcmsv9中,自定义sql语句查询可不太好实现,传入sql语句查询很容易被内部转入生成一系列莫名其妙的sql语句,比如最佳前缀等等,直接造成sql语句查询错误,在此也提供两种解决办法,1修改底 ...
- ASP.NET实现列表页连接查询 拼接sql语句 绑定grivdView
ASP.NET实现列表页连接查询 拼接sql语句 如图效果: 基本需求:1.当页面第一次加载的时候默认查询一个月时间(或者说是登陆者所属权限的所有数据)的数据绑定到gridView 2.添加查询条件时 ...
- Oracle,Mysql ,SQL Server 三大数据库带参数的模糊查询, 拼接查询条件问题
最近项目开发一直在不断切换数据库,有时候一条sql 要同时考虑多种数据库中的兼容问题 , 先总结一条模糊查询拼接查询条件的问题,后续追加总结. 目前使用 mybatis: 1. Oracle 中使 ...
- Sql动态查询拼接字符串的优化
Sql动态查询拼接字符串的优化 最原始的 直接写:string sql="select * from TestTables where 1=1";... 这样的代码效率很低的,这样 ...
- 多条件搜索问题 -sql拼接与参数化查询
来源:传智播客 免费开发视频. 问题:根据书名或出版社或作者查询书籍信息. using System; using System.Collections.Generic问题; using Syste ...
- Thinkphp查询 1.查询方式 2.表达式查询 3.快捷查询 4.区间查询 5.组合查询 6.统计查询 7.动态查询 8.SQL 查询
1.使用字符串作为条件查询 $user = M('User'); var_dump($user->where('id=1 AND user="蜡笔小新"')->sele ...
随机推荐
- jquery的ajax,请求JSON数据。
第一个页面:1.htm <!DOCTYPE html> <html> <head> <title></title> <script t ...
- ThinkCentre进入BIOS,设置intel virtualization technology
VMware安装提示cpu虚拟化intel virtualization technology ThinkCentre重启长按F1 按enter,开启intel virtualization tech ...
- leetcode1023
class Solution(object): def getGroup(self,que): group = list() temp = '' for i in range(len(que)): c ...
- CSS3 过渡动画
实现如下效果:当鼠标移动到图片上是图片有类似于放大镜放大的效果 transition : CSS属性 时间 当transition中监测的css属性发生变化时,会触发动画 .img_box img{ ...
- Oracle创建表及管理表
转自:https://www.linuxidc.com/Linux/2018-05/152566.htm 1. Oracle表的创建及管理 创建表包括三个要素,表名,列名,数据类型.每个表都有对应 ...
- VC中链接错误,提示string重定义
VC链接错误,说是string已经有了实现了,只要 rebuild 一下好了. Linking...LINK : warning LNK4075: ignoring '/EDITANDCONTINUE ...
- PHP5 的五种常用模式
PHP5 的五种常用模式. 工厂模式 最初在设计模式 一书中,许多设计模式都鼓励使用松散耦合.要理解这个概念,让我们最好谈一下许多开发人员从事大型系统的艰苦历程.在更改一个代码片段时,就会发生问题,系 ...
- 深度学习原理与框架-卷积网络细节-图像分类与图像位置回归任务 1.模型加载 2.串接新的全连接层 3.使用SGD梯度对参数更新 4.模型结果测试 5.各个模型效果对比
对于图像的目标检测任务:通常分为目标的类别检测和目标的位置检测 目标的类别检测使用的指标:准确率, 预测的结果是类别值,即cat 目标的位置检测使用的指标:欧式距离,预测的结果是(x, y, w, h ...
- Redis-Desktop-Manager的下载与使用
redis可视化工具 参考 https://blog.csdn.net/Future_LL/article/details/84591057
- YCSB性能测试工具使用(转)
在网上查In-Memory NoSQL性能测试的资料时,偶然间发现了这个性能测试工具YCSB,全称为“Yahoo! Cloud Serving Benchmark”.它内置了对常见NoSQL数据库和数 ...