//获取本地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的更多相关文章

  1. Mysql 拼接字段查询语句和join查询拼接和时间查询

    个人平时记录的,有点乱 1.修改时间字段,如果时间字段的类型是date或者是datetime类型的 update 表名 set 时间字段 = DATE_FORMAT(NOW(),'%Y-%m-%d % ...

  2. sql like 拼接字符串模糊查询

    这种分割的值大家常用,如果要用like 来查询包含2,这个值的数据有哪些,这个怎么查? like '%2%'  ????,这是不行的如果是 44,125,687 同样可以查出来,那么就想到通配符, l ...

  3. ASPNETCOREAPI 跨域处理 SQL 语句拼接 多条件分页查询 ASPNET CORE 核心 通过依赖注入(注入服务)

    ASPNETCOREAPI 跨域处理 AspNetCoreApi 跨域处理 如果咱们有处理过MV5 跨域问题这个问题也不大. (1)为什么会出现跨域问题:  浏览器安全限制了前端脚本跨站点的访问资源, ...

  4. phpcmsv9自定义sql语句查询模型实现

    在phpcmsv9中,自定义sql语句查询可不太好实现,传入sql语句查询很容易被内部转入生成一系列莫名其妙的sql语句,比如最佳前缀等等,直接造成sql语句查询错误,在此也提供两种解决办法,1修改底 ...

  5. ASP.NET实现列表页连接查询 拼接sql语句 绑定grivdView

    ASP.NET实现列表页连接查询 拼接sql语句 如图效果: 基本需求:1.当页面第一次加载的时候默认查询一个月时间(或者说是登陆者所属权限的所有数据)的数据绑定到gridView 2.添加查询条件时 ...

  6. Oracle,Mysql ,SQL Server 三大数据库带参数的模糊查询, 拼接查询条件问题

    最近项目开发一直在不断切换数据库,有时候一条sql 要同时考虑多种数据库中的兼容问题 , 先总结一条模糊查询拼接查询条件的问题,后续追加总结. 目前使用   mybatis: 1. Oracle 中使 ...

  7. Sql动态查询拼接字符串的优化

    Sql动态查询拼接字符串的优化 最原始的 直接写:string sql="select * from TestTables where 1=1";... 这样的代码效率很低的,这样 ...

  8. 多条件搜索问题 -sql拼接与参数化查询

    来源:传智播客  免费开发视频. 问题:根据书名或出版社或作者查询书籍信息. using System; using System.Collections.Generic问题; using Syste ...

  9. Thinkphp查询 1.查询方式 2.表达式查询 3.快捷查询 4.区间查询 5.组合查询 6.统计查询 7.动态查询 8.SQL 查询

    1.使用字符串作为条件查询 $user = M('User'); var_dump($user->where('id=1 AND user="蜡笔小新"')->sele ...

随机推荐

  1. python中len 小练习:获取并输出集合中的索引及对应元素

    len()用来获取长度.字节等数值 1 a = ["hello", "world", "dlrb"] 2 b = len(a) 3 for ...

  2. CentOS7 安装 Mongodb 与 NodeJs 主要心得

    一.mongodb 1.安装 由于使用yum源下载安装总是超时,所以选择了tarball方式安装. 官方安装方法链接,https://docs.mongodb.com/manual/tutorial/ ...

  3. js/jquery this 坑

    重要:js onclick() 函数中,取不到this !!! 错误的写法: function test(){ $(this).parent().addClass('active') } 正确的写法是 ...

  4. 基于Redis的Spring cache 缓存介绍

    目录 Cache API及默认提供的实现 demo 依赖包安装 定义实体类.服务类和相关配置文件 Cache注解 启用Cache注解 @CachePut @CacheEvict @Cacheable ...

  5. jeecg好用吗,看看大家的评价

    大家都会有个疑问,jeecg好用吗? 看看大家的评价

  6. Python conda 入门

    https://blog.csdn.net/yimingsilence/article/details/79388205 查看版本 conda --version 列出所有的Python环境 cond ...

  7. es6初级之解构----之一

    1. 访问对象属性 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  8. 浅谈分布式消息技术 Kafka(转)

    一只神秘的程序猿. Kafka的基本介绍 Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可 ...

  9. openresty(完整版)Lua拦截请求与响应信息日志收集及基于cjson和redis动态路径以及Prometheus监控(转)

    直接上文件 nginx.conf #运行用户和组,缺省为nobody,若改为别的用户和组,则需要先创建用户和组 #user wls81 wls; #开启进程数,一般与CPU核数等同 worker_pr ...

  10. Java面试题_简答题

    作为一个大三在校生,很快就要去实习了,但总感觉自己连一个刚入门的菜鸟都不如,哎.发现自己连那个程序员的门槛都还没进,有点小伤心,不过伤心没用,努力向前才是我们现在应该做的事情. 下面是我之前在学校所从 ...