zoukankan      html  css  js  c++  java
  • GreenDao-自定义SQL查询-拼接多个查询条件-AndroidStudio

      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     }

    页面结果:

  • 相关阅读:
    怎么写好组件
    你所不知道的 URL
    响应式Web设计 – 布局
    ajax请求总是不成功?浏览器的同源策略和跨域问题详解
    滑屏 H5 开发实践九问
    UVALive
    [CQOI2018] 破解D-H协议
    [CQOI2018] 解锁屏幕
    HDU
    CodeChef
  • 原文地址:https://www.cnblogs.com/YangBinChina/p/8658367.html
Copyright © 2011-2022 走看看