| | |
| | | textOpts.add(new SelectOption('Agency_Hospital__r.Hospital__r.Salesdepartment_HP__c', '销售本部')); |
| | | textOpts.add(new SelectOption('Agency_Hospital__r.Hospital__r.State_Master__r.Name', '省')); |
| | | textOpts.add(new SelectOption('Agency_Hospital__r.Hospital__r.City_Master__r.Name', '市')); |
| | | |
| | | |
| | | //日期字段下拉列表 |
| | | timeOpts = new List<SelectOption>(); |
| | | timeOpts.add(new SelectOption('', '--无--')); |
| | |
| | | String newNumtext = numtext.trim(); |
| | | String str = makeTextSql(numtext1, numtext2, newNumtext); |
| | | soql += str; |
| | | System.debug('++++++++++++++++++++++++++++'+soql); |
| | | } |
| | | if (!String.isBlank(timetext1)) { |
| | | if (tmpAO != null && tmpAO.MaxActivityDate__c != null && tmpBo != null) { |
| | |
| | | tmpAO.MaxActivityDate__c.month() + '-' + tmpAO.MaxActivityDate__c.day() + |
| | | ' AND ' + timetext1 + '<=' + tmpBO.MaxActivityDate__c.year() + '-' + |
| | | tmpBO.MaxActivityDate__c.month() + '-' + tmpBO.MaxActivityDate__c.day(); |
| | | } else if (tmpBO.MaxActivityDate__c.month() >= 10 && tmpBO.MaxActivityDate__c.day() < 10) { |
| | | } |
| | | else if(tmpBO.MaxActivityDate__c.month() >= 10 && tmpBO.MaxActivityDate__c.day() < 10){ |
| | | soql += ' AND ' + timetext1 + '>=' + tmpAO.MaxActivityDate__c.year() + '-' + |
| | | tmpAO.MaxActivityDate__c.month() + '-' + tmpAO.MaxActivityDate__c.day() + |
| | | ' AND ' + timetext1 + '<=' + tmpBO.MaxActivityDate__c.year() + '-' + |
| | | tmpBO.MaxActivityDate__c.month() + '-0' + tmpBO.MaxActivityDate__c.day(); |
| | | } else if (tmpBO.MaxActivityDate__c.month() < 10 && tmpBO.MaxActivityDate__c.day() >= 10) { |
| | | } |
| | | else if(tmpBO.MaxActivityDate__c.month() < 10 && tmpBO.MaxActivityDate__c.day() >= 10){ |
| | | soql += ' AND ' + timetext1 + '>=' + tmpAO.MaxActivityDate__c.year() + '-' + |
| | | tmpAO.MaxActivityDate__c.month() + '-' + tmpAO.MaxActivityDate__c.day() + |
| | | ' AND ' + timetext1 + '<=' + tmpBO.MaxActivityDate__c.year() + '-0' + |
| | | tmpBO.MaxActivityDate__c.month() + '-' + tmpBO.MaxActivityDate__c.day(); |
| | | } else if (tmpBO.MaxActivityDate__c.month() < 10 && tmpBO.MaxActivityDate__c.day() < 10) { |
| | | } |
| | | else if(tmpBO.MaxActivityDate__c.month() < 10 && tmpBO.MaxActivityDate__c.day() < 10){ |
| | | soql += ' AND ' + timetext1 + '>=' + tmpAO.MaxActivityDate__c.year() + '-' + |
| | | tmpAO.MaxActivityDate__c.month() + '-' + tmpAO.MaxActivityDate__c.day() + |
| | | ' AND ' + timetext1 + '<=' + tmpBO.MaxActivityDate__c.year() + '-0' + |
| | | tmpBO.MaxActivityDate__c.month() + '-0' + tmpBO.MaxActivityDate__c.day(); |
| | | } |
| | | } else if (tmpAO.MaxActivityDate__c.month() >= 10 && tmpAO.MaxActivityDate__c.day() < 10) { |
| | | } |
| | | else if(tmpAO.MaxActivityDate__c.month() >= 10 && tmpAO.MaxActivityDate__c.day() < 10){ |
| | | if (tmpBO.MaxActivityDate__c.month() >= 10 && tmpBO.MaxActivityDate__c.day() >= 10) { |
| | | soql += ' AND ' + timetext1 + '>=' + tmpAO.MaxActivityDate__c.year() + '-' + |
| | | tmpAO.MaxActivityDate__c.month() + '-0' + tmpAO.MaxActivityDate__c.day() + |
| | | ' AND ' + timetext1 + '<=' + tmpBO.MaxActivityDate__c.year() + '-' + |
| | | tmpBO.MaxActivityDate__c.month() + '-' + tmpBO.MaxActivityDate__c.day(); |
| | | } else if (tmpBO.MaxActivityDate__c.month() >= 10 && tmpBO.MaxActivityDate__c.day() < 10) { |
| | | } |
| | | else if(tmpBO.MaxActivityDate__c.month() >= 10 && tmpBO.MaxActivityDate__c.day() < 10){ |
| | | soql += ' AND ' + timetext1 + '>=' + tmpAO.MaxActivityDate__c.year() + '-' + |
| | | tmpAO.MaxActivityDate__c.month() + '-0' + tmpAO.MaxActivityDate__c.day() + |
| | | ' AND ' + timetext1 + '<=' + tmpBO.MaxActivityDate__c.year() + '-' + |
| | | tmpBO.MaxActivityDate__c.month() + '-0' + tmpBO.MaxActivityDate__c.day(); |
| | | } else if (tmpBO.MaxActivityDate__c.month() < 10 && tmpBO.MaxActivityDate__c.day() >= 10) { |
| | | } |
| | | else if(tmpBO.MaxActivityDate__c.month() < 10 && tmpBO.MaxActivityDate__c.day() >= 10){ |
| | | soql += ' AND ' + timetext1 + '>=' + tmpAO.MaxActivityDate__c.year() + '-' + |
| | | tmpAO.MaxActivityDate__c.month() + '-0' + tmpAO.MaxActivityDate__c.day() + |
| | | ' AND ' + timetext1 + '<=' + tmpBO.MaxActivityDate__c.year() + '-0' + |
| | | tmpBO.MaxActivityDate__c.month() + '-' + tmpBO.MaxActivityDate__c.day(); |
| | | } else if (tmpBO.MaxActivityDate__c.month() < 10 && tmpBO.MaxActivityDate__c.day() < 10) { |
| | | } |
| | | else if(tmpBO.MaxActivityDate__c.month() < 10 && tmpBO.MaxActivityDate__c.day() < 10){ |
| | | soql += ' AND ' + timetext1 + '>=' + tmpAO.MaxActivityDate__c.year() + '-' + |
| | | tmpAO.MaxActivityDate__c.month() + '-0' + tmpAO.MaxActivityDate__c.day() + |
| | | ' AND ' + timetext1 + '<=' + tmpBO.MaxActivityDate__c.year() + '-0' + |
| | | tmpBO.MaxActivityDate__c.month() + '-0' + tmpBO.MaxActivityDate__c.day(); |
| | | } |
| | | } else if (tmpAO.MaxActivityDate__c.month() < 10 && tmpAO.MaxActivityDate__c.day() >= 10) { |
| | | } |
| | | else if(tmpAO.MaxActivityDate__c.month() < 10 && tmpAO.MaxActivityDate__c.day() >= 10){ |
| | | if (tmpBO.MaxActivityDate__c.month() >= 10 && tmpBO.MaxActivityDate__c.day() >= 10) { |
| | | soql += ' AND ' + timetext1 + '>=' + tmpAO.MaxActivityDate__c.year() + '-0' + |
| | | tmpAO.MaxActivityDate__c.month() + '-' + tmpAO.MaxActivityDate__c.day() + |
| | | ' AND ' + timetext1 + '<=' + tmpBO.MaxActivityDate__c.year() + '-' + |
| | | tmpBO.MaxActivityDate__c.month() + '-' + tmpBO.MaxActivityDate__c.day(); |
| | | } else if (tmpBO.MaxActivityDate__c.month() >= 10 && tmpBO.MaxActivityDate__c.day() < 10) { |
| | | } |
| | | else if(tmpBO.MaxActivityDate__c.month() >= 10 && tmpBO.MaxActivityDate__c.day() < 10){ |
| | | soql += ' AND ' + timetext1 + '>=' + tmpAO.MaxActivityDate__c.year() + '-0' + |
| | | tmpAO.MaxActivityDate__c.month() + '-' + tmpAO.MaxActivityDate__c.day() + |
| | | ' AND ' + timetext1 + '<=' + tmpBO.MaxActivityDate__c.year() + '-' + |
| | | tmpBO.MaxActivityDate__c.month() + '-0' + tmpBO.MaxActivityDate__c.day(); |
| | | } else if (tmpBO.MaxActivityDate__c.month() < 10 && tmpBO.MaxActivityDate__c.day() >= 10) { |
| | | } |
| | | else if(tmpBO.MaxActivityDate__c.month() < 10 && tmpBO.MaxActivityDate__c.day() >= 10){ |
| | | soql += ' AND ' + timetext1 + '>=' + tmpAO.MaxActivityDate__c.year() + '-0' + |
| | | tmpAO.MaxActivityDate__c.month() + '-' + tmpAO.MaxActivityDate__c.day() + |
| | | ' AND ' + timetext1 + '<=' + tmpBO.MaxActivityDate__c.year() + '-0' + |
| | | tmpBO.MaxActivityDate__c.month() + '-' + tmpBO.MaxActivityDate__c.day(); |
| | | } else if (tmpBO.MaxActivityDate__c.month() < 10 && tmpBO.MaxActivityDate__c.day() < 10) { |
| | | } |
| | | else if(tmpBO.MaxActivityDate__c.month() < 10 && tmpBO.MaxActivityDate__c.day() < 10){ |
| | | soql += ' AND ' + timetext1 + '>=' + tmpAO.MaxActivityDate__c.year() + '-0' + |
| | | tmpAO.MaxActivityDate__c.month() + '-' + tmpAO.MaxActivityDate__c.day() + |
| | | ' AND ' + timetext1 + '<=' + tmpBO.MaxActivityDate__c.year() + '-0' + |
| | | tmpBO.MaxActivityDate__c.month() + '-0' + tmpBO.MaxActivityDate__c.day(); |
| | | } |
| | | } else if (tmpAO.MaxActivityDate__c.month() < 10 && tmpAO.MaxActivityDate__c.day() < 10) { |
| | | } |
| | | else if(tmpAO.MaxActivityDate__c.month() < 10 && tmpAO.MaxActivityDate__c.day() < 10){ |
| | | if (tmpBO.MaxActivityDate__c.month() >= 10 && tmpBO.MaxActivityDate__c.day() >= 10) { |
| | | soql += ' AND ' + timetext1 + '>=' + tmpAO.MaxActivityDate__c.year() + '-0' + |
| | | tmpAO.MaxActivityDate__c.month() + '-0' + tmpAO.MaxActivityDate__c.day() + |
| | | ' AND ' + timetext1 + '<=' + tmpBO.MaxActivityDate__c.year() + '-' + |
| | | tmpBO.MaxActivityDate__c.month() + '-' + tmpBO.MaxActivityDate__c.day(); |
| | | } else if (tmpBO.MaxActivityDate__c.month() >= 10 && tmpBO.MaxActivityDate__c.day() < 10) { |
| | | } |
| | | else if(tmpBO.MaxActivityDate__c.month() >= 10 && tmpBO.MaxActivityDate__c.day() < 10){ |
| | | soql += ' AND ' + timetext1 + '>=' + tmpAO.MaxActivityDate__c.year() + '-0' + |
| | | tmpAO.MaxActivityDate__c.month() + '-0' + tmpAO.MaxActivityDate__c.day() + |
| | | ' AND ' + timetext1 + '<=' + tmpBO.MaxActivityDate__c.year() + '-' + |
| | | tmpBO.MaxActivityDate__c.month() + '-0' + tmpBO.MaxActivityDate__c.day(); |
| | | } else if (tmpBO.MaxActivityDate__c.month() < 10 && tmpBO.MaxActivityDate__c.day() >= 10) { |
| | | } |
| | | else if(tmpBO.MaxActivityDate__c.month() < 10 && tmpBO.MaxActivityDate__c.day() >= 10){ |
| | | soql += ' AND ' + timetext1 + '>=' + tmpAO.MaxActivityDate__c.year() + '-0' + |
| | | tmpAO.MaxActivityDate__c.month() + '-0' + tmpAO.MaxActivityDate__c.day() + |
| | | ' AND ' + timetext1 + '<=' + tmpBO.MaxActivityDate__c.year() + '-0' + |
| | | tmpBO.MaxActivityDate__c.month() + '-' + tmpBO.MaxActivityDate__c.day(); |
| | | } else if (tmpBO.MaxActivityDate__c.month() < 10 && tmpBO.MaxActivityDate__c.day() < 10) { |
| | | } |
| | | else if(tmpBO.MaxActivityDate__c.month() < 10 && tmpBO.MaxActivityDate__c.day() < 10){ |
| | | soql += ' AND ' + timetext1 + '>=' + tmpAO.MaxActivityDate__c.year() + '-0' + |
| | | tmpAO.MaxActivityDate__c.month() + '-0' + tmpAO.MaxActivityDate__c.day() + |
| | | ' AND ' + timetext1 + '<=' + tmpBO.MaxActivityDate__c.year() + '-0' + |
| | | tmpBO.MaxActivityDate__c.month() + '-0' + tmpBO.MaxActivityDate__c.day(); |
| | | } |
| | | } |
| | | } else if (tmpAO != null && tmpAO.MaxActivityDate__c == null && tmpBo == null) { |
| | | } |
| | | else if(tmpAO != null && tmpAO.MaxActivityDate__c == null && tmpBo == null){ |
| | | if (tmpAO.MaxActivityDate__c.month() >= 10 && tmpAO.MaxActivityDate__c.day() >= 10 ) { |
| | | soql += ' AND ' + timetext1 + '>=' + tmpAO.MaxActivityDate__c.year() + '-' + |
| | | tmpAO.MaxActivityDate__c.month() + '-' + tmpAO.MaxActivityDate__c.day(); |
| | | } else if (tmpAO.MaxActivityDate__c.month() >= 10 && tmpAO.MaxActivityDate__c.day() < 10) { |
| | | } |
| | | else if(tmpAO.MaxActivityDate__c.month() >= 10 && tmpAO.MaxActivityDate__c.day() < 10){ |
| | | soql += ' AND ' + timetext1 + '>=' + tmpAO.MaxActivityDate__c.year() + '-' + |
| | | tmpAO.MaxActivityDate__c.month() + '-0' + tmpAO.MaxActivityDate__c.day(); |
| | | } else if (tmpAO.MaxActivityDate__c.month() < 10 && tmpAO.MaxActivityDate__c.day() >= 10) { |
| | | } |
| | | else if(tmpAO.MaxActivityDate__c.month() < 10 && tmpAO.MaxActivityDate__c.day() >= 10){ |
| | | soql += ' AND ' + timetext1 + '>=' + tmpAO.MaxActivityDate__c.year() + '-0' + |
| | | tmpAO.MaxActivityDate__c.month() + '-' + tmpAO.MaxActivityDate__c.day(); |
| | | } else if (tmpAO.MaxActivityDate__c.month() < 10 && tmpAO.MaxActivityDate__c.day() < 10) { |
| | | } |
| | | else if(tmpAO.MaxActivityDate__c.month() < 10 && tmpAO.MaxActivityDate__c.day() < 10){ |
| | | soql += ' AND ' + timetext1 + '>=' + tmpAO.MaxActivityDate__c.year() + '-0' + |
| | | tmpAO.MaxActivityDate__c.month() + '-0' + tmpAO.MaxActivityDate__c.day(); |
| | | } |
| | | } else if (tmpAO == null && tmpAO.MaxActivityDate__c == null && tmpBo != null) { |
| | | } |
| | | else if(tmpAO == null && tmpAO.MaxActivityDate__c == null && tmpBo != null){ |
| | | if (tmpBo.MaxActivityDate__c.month() >= 10 && tmpBo.MaxActivityDate__c.day() >= 10 ) { |
| | | soql += ' AND ' + timetext1 + '<=' + tmpBo.MaxActivityDate__c.year() + '-' + |
| | | tmpBo.MaxActivityDate__c.month() + '-' + tmpBo.MaxActivityDate__c.day(); |
| | | } else if (tmpBo.MaxActivityDate__c.month() >= 10 && tmpBo.MaxActivityDate__c.day() < 10) { |
| | | } |
| | | else if(tmpBo.MaxActivityDate__c.month() >= 10 && tmpBo.MaxActivityDate__c.day() < 10){ |
| | | soql += ' AND ' + timetext1 + '<=' + tmpBo.MaxActivityDate__c.year() + '-' + |
| | | tmpBo.MaxActivityDate__c.month() + '-0' + tmpBo.MaxActivityDate__c.day(); |
| | | } else if (tmpBo.MaxActivityDate__c.month() < 10 && tmpBo.MaxActivityDate__c.day() >= 10) { |
| | | } |
| | | else if(tmpBo.MaxActivityDate__c.month() < 10 && tmpBo.MaxActivityDate__c.day() >= 10){ |
| | | soql += ' AND ' + timetext1 + '<=' + tmpBo.MaxActivityDate__c.year() + '-0' + |
| | | tmpBo.MaxActivityDate__c.month() + '-' + tmpBo.MaxActivityDate__c.day(); |
| | | } else if (tmpBo.MaxActivityDate__c.month() < 10 && tmpBo.MaxActivityDate__c.day() < 10) { |
| | | } |
| | | else if(tmpBo.MaxActivityDate__c.month() < 10 && tmpBo.MaxActivityDate__c.day() < 10){ |
| | | soql += ' AND ' + timetext1 + '<=' + tmpBo.MaxActivityDate__c.year() + '-0' + |
| | | tmpBo.MaxActivityDate__c.month() + '-0' + tmpBo.MaxActivityDate__c.day(); |
| | | } |
| | |
| | | } |
| | | //检索条件:数据字段1,数据字段2,数据字段3均满足进入此方法 判断多种情况 |
| | | private String makeTextSql(String textOpts, String equalOpts, String numtext) { |
| | | |
| | | String soql = ''; |
| | | if (!String.isBlank(textOpts)) { |
| | | //寻找检索条件包含‘ ’ 空格的多重检索条件 |
| | |
| | | for (Integer icount = 0; icount < vals.size(); icount++) { |
| | | |
| | | String val = vals[icount]; |
| | | if (equalOpts == 'contains') { |
| | | cSql = this.makeTextSqlStr(textOpts, equalOpts, val); |
| | | system.debug(cSql); |
| | | soql += cSql; |
| | | |
| | | if (icount < vals.size() - 1) { |
| | | soql += ' OR '; |
| | | } |
| | | } else if (equalOpts == 'notcontains') { |
| | | cSql = this.makeTextSqlStr(textOpts, equalOpts, val); |
| | | soql += cSql; |
| | | if (icount < vals.size() - 1) { |
| | | soql += ' AND '; |
| | | } |
| | | } |
| | | |
| | | } |
| | | soql += ')'; |
| | | |
| | | } |
| | | //寻找检索条件包含‘,’ 逗号的多重检索条件 |
| | | else if ((equalOpts == '=' || equalOpts == '<>') && numtext.contains(',')) { |
| | |
| | | else if (equalOpts.equals('contains') || equalOpts.equals('notcontains')) { |
| | | if (equalOpts.equals('contains')) { |
| | | soql += ' AND ' + textOpts + ' LIKE \'%' + numtext + '%\''; |
| | | |
| | | } else if (equalOpts.equals('notcontains')) { |
| | | soql += ' AND ( NOT ' + textOpts + ' LIKE \'%' + numtext + '%\' ) '; |
| | | |
| | | } |
| | | } |
| | | //检索连接符为等于以及不等于 |
| | | else if (equalOpts == '=' || equalOpts == '<>') { |
| | | soql += 'AND ' + textOpts + equalOpts + '\'' + numtext + '\''; |
| | | } |
| | | |
| | | //起始字符 |
| | | else if (equalOpts == 'starts with') { |
| | | soql += 'AND ' + textOpts + ' LIKE \'' + numtext + '%\''; |
| | |
| | | } |
| | | //检索条件:数据字段1,数据字段2,数据字段3均满足,并且进入makeTextSql()之后,内含数据字段包含多种时进入此方法。 |
| | | @TestVisible private String makeTextSqlStr(String textOpts, String equalOpts, String val) { |
| | | |
| | | String soql = ''; |
| | | if (!String.isBlank(textOpts)) { |
| | | String tmpVal = val; |
| | |
| | | } else if (equalOpts == 'notcontains') { |
| | | soql += ' ( NOT ' + textOpts + ' LIKE \'%' + val + '%\' ) ' ; |
| | | } |
| | | |
| | | } else if (equalOpts == '=' || equalOpts == '<>') { |
| | | if (equalOpts == '=') { |
| | | soql += ' AND ' + textOpts + ' = ' + val ; |
| | |
| | | soql = ' AND ' + textOpts; |
| | | if (equalOpts == '=') { |
| | | soql += ' = ' + tmpVal; |
| | | |
| | | } else if (equalOpts == '<>') { |
| | | soql += ' <> ' + tmpVal; |
| | | } else if (equalOpts == 'contains') { |