1. //获取本地Pad(离线工作票列表)
  2. public static List<WTDetailTableBean> getPadWTList(String token,
  3. String userId,
  4. String org,
  5. String dept,
  6. String strClass,
  7. String ticketNo,
  8. String type,
  9. String status,
  10. String isEvaluated,
  11. String exceedTimeLimit,
  12. String error,
  13. String workLeader,
  14. String signatory,
  15. String content,
  16. String createTimeLimit,
  17. String year,
  18. String workLeaderOpenTime,//工作负责人签字时间从
  19. String workLeaderCloseTime,//工作负责人签字时间到
  20. String allowEndOpenTime,
  21. String allowEndCloseTime,
  22. String page_number,
  23. String each_page){
  24.  
  25. List<WTDetailTableBean> lWTDetailTableBeanLt = new ArrayList<WTDetailTableBean>();
  26.  
  27. //请求参数
  28. ArrayList<String> strParamLt = new ArrayList<String>();
  29.  
  30. String queryString =
  31. "SELECT DISTINCT * FROM " + WTDetailTableBeanDao.TABLENAME + " where 1==1 ";
  32. //组织
  33. if (!CommonUtil.isNull(org)){
  34. queryString = queryString + " and "
  35. + WTDetailTableBeanDao.Properties.ORG_ID.columnName + " = ?";
  36. strParamLt.add(org);
  37. }
  38. //部门
  39. if (!CommonUtil.isNull(dept)){
  40. queryString = queryString + " and "
  41. + WTDetailTableBeanDao.Properties.UNIT_ID.columnName + " = ?";
  42. strParamLt.add(dept);
  43. }
  44. //班组
  45. if (!CommonUtil.isNull(strClass)){
  46. queryString = queryString + " and "
  47. + WTDetailTableBeanDao.Properties.CLASS_ID.columnName + " = ?";
  48. strParamLt.add(strClass);
  49. }
  50. //票号
  51. if (!CommonUtil.isNull(ticketNo)){
  52. queryString = queryString + " and "
  53. + WTDetailTableBeanDao.Properties.TICKET_NO.columnName + " like '%" + ticketNo + "%' ";
  54. }
  55.  
  56. //状态
  57. if (!CommonUtil.isNull(status)){
  58. queryString = queryString + " and "
  59. + WTDetailTableBeanDao.Properties.STATUS.columnName + " = ?";
  60. strParamLt.add(status);
  61. }
  62.  
  63. //工作负责人
  64. if (!CommonUtil.isNull(workLeader)){
  65. queryString = queryString + " and "
  66. + WTDetailTableBeanDao.Properties.WORK_RESPONSOR_NAME.columnName + " like '%" + workLeader + "%' ";
  67. }
  68.  
  69. //签字人
  70. if (!CommonUtil.isNull(signatory)){
  71. queryString = queryString + " and "
  72. + WTDetailTableBeanDao.Properties.WORK_SIGN_FIRST_NAME.columnName + " like '%" + signatory + "%' ";
  73.  
  74. queryString = queryString + " or "
  75. + WTDetailTableBeanDao.Properties.WORK_SIGN_SECOND_NAME.columnName + " like '%" + signatory + "%' ";
  76.  
  77. }
  78.  
  79. //工作内容
  80. if (!CommonUtil.isNull(content)){
  81. queryString = queryString + " and "
  82. + WTDetailTableBeanDao.Properties.WORK_RESPONSOR_JOB.columnName + " like '%" + content + "%' ";
  83. }
  84.  
  85. //工作负责人签字时间从 和 工作负责人签字时间到 都不为空
  86. if (!CommonUtil.isNull(workLeaderOpenTime) && !CommonUtil.isNull(workLeaderCloseTime)){
  87. queryString = queryString + " and "
  88. + WTDetailTableBeanDao.Properties.WORK_SIGN_THRID_DATE.columnName + " BETWEEN '" + workLeaderOpenTime + "' AND '" + workLeaderCloseTime + "' ";
  89. //工作负责人签字时间从 不为空 和 工作负责人签字时间到 为空
  90. }else if (!CommonUtil.isNull(workLeaderOpenTime) && CommonUtil.isNull(workLeaderCloseTime)){
  91. queryString = queryString + " and "
  92. + WTDetailTableBeanDao.Properties.WORK_SIGN_THRID_DATE.columnName + " BETWEEN '" + workLeaderOpenTime + "' AND '" + CommonUtil.getCurrentTime() + "' ";
  93. //工作负责人签字时间从 为空 和 工作负责人签字时间到 不为空
  94. }else if (!CommonUtil.isNull(workLeaderOpenTime) && CommonUtil.isNull(workLeaderCloseTime)){
  95. queryString = queryString + " and "
  96. + WTDetailTableBeanDao.Properties.WORK_SIGN_THRID_DATE.columnName + " BETWEEN '2000-01-01 00:00:00' AND '" + workLeaderCloseTime + "' ";
  97. }
  98.  
  99. Object [] objs=strParamLt.toArray();
  100. String [] strs=new String[objs.length];
  101. for(int i=0;i<objs.length;i++){
  102. strs[i]=objs[i].toString();
  103. }
  104.  
  105. Cursor cursor = getDaoSession().getWTDetailTableBeanDao().getDatabase().rawQuery(queryString, strs);
  106.  
  107. int intTicketIdIndex = cursor.getColumnIndex(WTDetailTableBeanDao.Properties.TICKET_ID.columnName);
  108. int intTicketNoIndex = cursor.getColumnIndex(WTDetailTableBeanDao.Properties.TICKET_NO.columnName);
  109. int intTicketTypeIndex = cursor.getColumnIndex(WTDetailTableBeanDao.Properties.TICKET_TYPE.columnName);
  110. int intStatusIndex = cursor.getColumnIndex(WTDetailTableBeanDao.Properties.STATUS.columnName);
  111. int intWorkResponsorJobIndex = cursor.getColumnIndex(WTDetailTableBeanDao.Properties.WORK_RESPONSOR_JOB.columnName);
  112. int intWorkSignThridDateIndex = cursor.getColumnIndex(WTDetailTableBeanDao.Properties.WORK_SIGN_THRID_DATE.columnName);
  113.  
  114. while (cursor.moveToNext()) {
  115. WTDetailTableBean lWTDetailTableBean = new WTDetailTableBean();
  116. lWTDetailTableBean.setTICKET_ID(cursor.getString(intTicketIdIndex));
  117. lWTDetailTableBean.setTICKET_NO(cursor.getString(intTicketNoIndex));
  118. lWTDetailTableBean.setTICKET_TYPE(cursor.getString(intTicketTypeIndex));
  119. lWTDetailTableBean.setSTATUS(cursor.getString(intStatusIndex));
  120. lWTDetailTableBean.setWORK_RESPONSOR_JOB(cursor.getString(intWorkResponsorJobIndex));
  121. lWTDetailTableBean.setWORK_SIGN_THRID_DATE(cursor.getString(intWorkSignThridDateIndex));
  122.  
  123. lWTDetailTableBeanLt.add(lWTDetailTableBean);
  124.  
  125. }
  126. return lWTDetailTableBeanLt;
  127. }

页面结果:

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. 25.安装配置phantomjs

    1.官网下载windows版本:http://phantomjs.org/download.html2.下载完解压,将PhantomJS可执行文件配置到环境变量里.比如: 将 E:\Soft\soft ...

  2. nopcommerce 常用属性验证

    Decimal可空:[UIHint("DecimalNullable")] datetime可空: [UIHint("DateTimeNullable")] i ...

  3. Mybatis学习2传统dao开发

    传统dao开发 在mybati基础上 dao和daoimpl 1.工厂工具类 获得SqlSessionFactory SqlSessionFactoryUtil.java package util; ...

  4. Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系

    转自:http://blog.csdn.net/lmj623565791/article/details/38377229 ,本文出自[张鸿洋的博客] 很多人面试肯定都被问到过,请问Android中的 ...

  5. maven项目里的mapper不被加载,解析

    出现这个错误是因为maven加载配置文件是从resource里加载的,所以要配置一下

  6. PHP单点登陆

    本文主要介绍了利用webservice,session,cookie技术,来进行通用的单点登录系统的分析与设计.具体实现语言为PHP.单点 登录,英文名为Single Sign On,简称为 SSO, ...

  7. matplot读取文本文件画图

    # -*- coding: utf-8 -*- """ Created on Fri Sep 7 18:38:35 2018 @author: manuel " ...

  8. APP-8.2-Postman应用

    用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具.今天给大家介绍的这款网页调试工具不仅可以 ...

  9. Leetcode 题解 Longest Substring Without Repeating Characters_需要重做

    最长的没有重复的字符串. 这个题其实不难.但是我第二次做了,硬是把它做出了难的感觉... 变量命名要合理.可读性强.

  10. docker之container

    转自:https://www.cnblogs.com/jsonhc/p/7760144.html 运行一个container的本身就是开启一个具有独立namespace的进程 进程有自己的网络,文件系 ...