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 ...
随机推荐
- 25.安装配置phantomjs
1.官网下载windows版本:http://phantomjs.org/download.html2.下载完解压,将PhantomJS可执行文件配置到环境变量里.比如: 将 E:\Soft\soft ...
- nopcommerce 常用属性验证
Decimal可空:[UIHint("DecimalNullable")] datetime可空: [UIHint("DateTimeNullable")] i ...
- Mybatis学习2传统dao开发
传统dao开发 在mybati基础上 dao和daoimpl 1.工厂工具类 获得SqlSessionFactory SqlSessionFactoryUtil.java package util; ...
- Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
转自:http://blog.csdn.net/lmj623565791/article/details/38377229 ,本文出自[张鸿洋的博客] 很多人面试肯定都被问到过,请问Android中的 ...
- maven项目里的mapper不被加载,解析
出现这个错误是因为maven加载配置文件是从resource里加载的,所以要配置一下
- PHP单点登陆
本文主要介绍了利用webservice,session,cookie技术,来进行通用的单点登录系统的分析与设计.具体实现语言为PHP.单点 登录,英文名为Single Sign On,简称为 SSO, ...
- matplot读取文本文件画图
# -*- coding: utf-8 -*- """ Created on Fri Sep 7 18:38:35 2018 @author: manuel " ...
- APP-8.2-Postman应用
用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具.今天给大家介绍的这款网页调试工具不仅可以 ...
- Leetcode 题解 Longest Substring Without Repeating Characters_需要重做
最长的没有重复的字符串. 这个题其实不难.但是我第二次做了,硬是把它做出了难的感觉... 变量命名要合理.可读性强.
- docker之container
转自:https://www.cnblogs.com/jsonhc/p/7760144.html 运行一个container的本身就是开启一个具有独立namespace的进程 进程有自己的网络,文件系 ...