GreenDao 自定义SQL查询-拼接多个查询条件-Android

本文介绍了一个复杂的筛选器实现方案,该方案使用Java编程语言,并针对不同的条件进行数据库查询。通过构造动态SQL语句来实现多维度的数据筛选,包括车间、班组、工具状态等多个属性。
/右滑菜单筛选
    public List<ExcelBean> filter(String sap
            , Boolean jidianWorkShop//机电车间
            , Boolean dianqiWorkShop//电气车间
            , Boolean cba
            , Boolean cb6A
            , Boolean cb_urban_rail_traction
            , Boolean cb_standard_traction
            , Boolean cb_internet_product
            , Boolean cb_power_module
            , Boolean cb_test_team_1
            , Boolean cb_test_team_2
            , Boolean cb_a
            , Boolean cb_b
            , Boolean cb_c
            , Boolean cb_d
            , String et_tool_name
            , Boolean cb_ok
            , Boolean cb_no
            , Boolean cb_ok_dianjian
            , Boolean cb_no_dianjian
            , Boolean cb_ok_verification
            , Boolean cb_no_verification
            , Boolean cb_ok_check
            , Boolean cb_no_check
            , Boolean cb_disable_archiving
            , Boolean cb_enable
            , Boolean cb_scrapped
            , Boolean cb_repair) {
        try {

            List<ExcelBean> beanList = new ArrayList<ExcelBean>();
            //请求参数
            ArrayList<String> strParamLt = new ArrayList<String>();

            String queryString =
                    "SELECT DISTINCT *  FROM " + ExcelBeanDao.TABLENAME + " where 1==1 ";

            if (!TextUtils.isEmpty(sap)) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.SAP.columnName + " =  ?";
                strParamLt.add(sap);
            }

            if (jidianWorkShop) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.Workshop.columnName + " =  ?";
//                strParamLt.add("机电车间");
                strParamLt.add(App.getInstance().getString(R.string.str_jidian_workshop));
            }

            if (dianqiWorkShop) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.Workshop.columnName + " =  ?";
//                strParamLt.add("电气车间");
                strParamLt.add(App.getInstance().getString(R.string.str_dianqi_workshop));
            }

            if (cba) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.Team.columnName + " =  ?";
//                strParamLt.add("CBA产品班组");
                strParamLt.add(App.getInstance().getString(R.string.str_cba));
            }

            if (cb6A) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.Team.columnName + " =  ?";
//                strParamLt.add("6A班组");
                strParamLt.add(App.getInstance().getString(R.string.str_6A));
            }

            if (cb_urban_rail_traction) {
                queryString = queryString + " and " + ExcelBeanDao.Propert
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值