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

/右滑菜单筛选
    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.Properties.Team.columnName + " =  ?";
//                strParamLt.add("城轨牵引班组");
                strParamLt.add(App.getInstance().getString(R.string.str_urban_rail_traction));
            }

            if (cb_standard_traction) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.Team.columnName + " =  ?";
//                strParamLt.add("标动牵引班组");
                strParamLt.add(App.getInstance().getString(R.string.str_standard_traction));
            }

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

            if (cb_power_module) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.Team.columnName + " =  ?";
                strParamLt.add(App.getInstance().getString(R.string.str_power_module));
            }

            if (cb_test_team_1) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.Team.columnName + " =  ?";
                strParamLt.add(App.getInstance().getString(R.string.str_test_team_1));
            }

            if (cb_test_team_2) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.Team.columnName + " =  ?";
                strParamLt.add(App.getInstance().getString(R.string.str_test_team_2));
            }

            if (cb_a) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.ToolingGrade.columnName + " =  ?";
                strParamLt.add("A");
            }

            if (cb_b) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.ToolingGrade.columnName + " =  ?";
                strParamLt.add("B");
            }

            if (cb_c) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.ToolingGrade.columnName + " =  ?";
                strParamLt.add("C");
            }

            if (cb_d) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.ToolingGrade.columnName + " =  ?";
                strParamLt.add("D");
            }

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

            if (cb_ok) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.ToolingStatus.columnName + " =  ?";
                strParamLt.add(App.getInstance().getString(R.string.str_qualified));
            }

            if (cb_no) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.ToolingStatus.columnName + " =  ?";
                strParamLt.add(App.getInstance().getString(R.string.str_unqualified));
            }

            if (cb_ok_dianjian) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.DianCheckStatus.columnName + " =  ?";
                strParamLt.add(App.getInstance().getString(R.string.str_ok_dianjian));
            }

            if (cb_no_dianjian) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.DianCheckStatus.columnName + " =  ?";
                strParamLt.add(App.getInstance().getString(R.string.str_no_dianjian));
            }

            if (cb_ok_verification) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.VerificationStatus.columnName + " =  ?";
                strParamLt.add(App.getInstance().getString(R.string.str_ok_verification));
            }

            if (cb_no_verification) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.VerificationStatus.columnName + " =  ?";
                strParamLt.add(App.getInstance().getString(R.string.str_no_verification));
            }

            if (cb_ok_check) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.CheckStatus.columnName + " =  ?";
                strParamLt.add(App.getInstance().getString(R.string.str_ok_check));
            }

            if (cb_no_check) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.CheckStatus.columnName + " =  ?";
                strParamLt.add(App.getInstance().getString(R.string.str_no_check));
            }

            if (cb_disable_archiving) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.DisposalStatus.columnName + " =  ?";
                strParamLt.add(App.getInstance().getString(R.string.str_disable_archiving));
            }

            if (cb_enable) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.DisposalStatus.columnName + " =  ?";
                strParamLt.add(App.getInstance().getString(R.string.str_enable));
            }

            if (cb_scrapped) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.DisposalStatus.columnName + " =  ?";
                strParamLt.add(App.getInstance().getString(R.string.str_scrapped));
            }

            if (cb_repair) {
                queryString = queryString + " and " + ExcelBeanDao.Properties.DisposalStatus.columnName + " =  ?";
                strParamLt.add(App.getInstance().getString(R.string.str_repair));
            }

            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 = mDaoSession.getExcelBeanDao().getDatabase().rawQuery(queryString, strs);
            int sapIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.SAP.columnName);
            int noIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.No.columnName);
            int sequenceNumberIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.SequenceNumber.columnName);
            int toolGroupIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.ToolingGroup.columnName);
            int toolingCodeIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.ToolingCode.columnName);
            int toolingNameIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.ToolingName.columnName);
            int drawingNumberIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.DrawingNumber.columnName);
            int toolingGradeIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.ToolingGrade.columnName);
            int toolingStatusIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.ToolingStatus.columnName);
            int verificationTimeIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.VerificationTime.columnName);
            int verificationStatusIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.VerificationStatus.columnName);
            int verificationFileIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.VerificationFile.columnName);
            int checkTimeIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.CheckTime.columnName);
            int checkStatusIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.CheckStatus.columnName);
            int checkFileIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.CheckFile.columnName);
            int disposalTimeIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.DisposalTime.columnName);
            int disposalStatusIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.DisposalStatus.columnName);
            int disposalFileIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.DisposalFile.columnName);
            int inspectionTimeIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.InspectionTime.columnName);
            int dianCheckStatusIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.DianCheckStatus.columnName);
            int dianCheckFileIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.DianCheckFile.columnName);
            int informationCardIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.InformationCard.columnName);
            int informationCardFileIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.InformationCardFile.columnName);
            int workshopIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.Workshop.columnName);
            int teamIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.Team.columnName);
            int fileCreatTimeIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.FileCreatTime.columnName);
            int isOpenIndex = cursor.getColumnIndex(ExcelBeanDao.Properties.IsOpen.columnName);

            while (cursor.moveToNext()) {
                ExcelBean bean = new ExcelBean();
                bean.setSAP(cursor.getString(sapIndex));
                bean.setNo(cursor.getString(noIndex));
                bean.setSequenceNumber(cursor.getString(sequenceNumberIndex));
                bean.setToolingGroup(cursor.getString(toolGroupIndex));
                bean.setToolingCode(cursor.getString(toolingCodeIndex));
                bean.setToolingName(cursor.getString(toolingNameIndex));
                bean.setDrawingNumber(cursor.getString(drawingNumberIndex));
                bean.setToolingGrade(cursor.getString(toolingGradeIndex));
                bean.setToolingStatus(cursor.getString(toolingStatusIndex));
                bean.setVerificationTime(cursor.getString(verificationTimeIndex));
                bean.setVerificationStatus(cursor.getString(verificationStatusIndex));
                bean.setVerificationFile(cursor.getString(verificationFileIndex));
                bean.setCheckTime(cursor.getString(checkTimeIndex));
                bean.setCheckStatus(cursor.getString(checkStatusIndex));
                bean.setCheckFile(cursor.getString(checkFileIndex));
                bean.setDisposalTime(cursor.getString(disposalTimeIndex));
                bean.setDisposalStatus(cursor.getString(disposalStatusIndex));
                bean.setDisposalFile(cursor.getString(disposalFileIndex));
                bean.setInspectionTime(cursor.getString(inspectionTimeIndex));
                bean.setDianCheckStatus(cursor.getString(dianCheckStatusIndex));
                bean.setDianCheckFile(cursor.getString(dianCheckFileIndex));
                bean.setInformationCard(cursor.getString(informationCardIndex));
                bean.setInformationCardFile(cursor.getString(informationCardFileIndex));
                bean.setWorkshop(cursor.getString(workshopIndex));
                bean.setTeam(cursor.getString(teamIndex));
                bean.setFileCreatTime(cursor.getString(fileCreatTimeIndex));
                bean.setIsOpen(cursor.getString(isOpenIndex));

                Log.e("moveToNext",new Gson().toJson(bean));
                beanList.add(bean);

            }

            return beanList;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值