高章伟
2023-03-03 d8dc84a3d56df839895f1c417a4d9cbee763d262
force-app/main/default/classes/Dealer_enquiryController.cls
@@ -74,8 +74,6 @@
        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('', '--无--'));
@@ -243,7 +241,6 @@
            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) {
@@ -253,114 +250,137 @@
                                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();
                }
@@ -428,7 +448,6 @@
    }
    //检索条件:数据字段1,数据字段2,数据字段3均满足进入此方法 判断多种情况
    private String makeTextSql(String textOpts, String equalOpts, String numtext) {
        String soql = '';
        if (!String.isBlank(textOpts)) {
            //寻找检索条件包含‘ ’ 空格的多重检索条件
@@ -442,24 +461,14 @@
                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(',')) {
@@ -485,17 +494,14 @@
            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 + '%\'';
@@ -514,7 +520,6 @@
    }
    //检索条件:数据字段1,数据字段2,数据字段3均满足,并且进入makeTextSql()之后,内含数据字段包含多种时进入此方法。
    @TestVisible private String makeTextSqlStr(String textOpts, String equalOpts, String val) {
        String soql = '';
        if (!String.isBlank(textOpts)) {
            String tmpVal = val;
@@ -525,7 +530,6 @@
                    } else if (equalOpts == 'notcontains') {
                        soql += ' ( NOT ' + textOpts + '  LIKE  \'%' + val + '%\' ) ' ;
                    }
                } else if (equalOpts == '=' || equalOpts == '<>') {
                    if (equalOpts == '=') {
                        soql += ' AND ' + textOpts + ' = ' + val ;
@@ -537,7 +541,6 @@
                soql = ' AND ' + textOpts;
                if (equalOpts == '=') {
                    soql += ' = ' + tmpVal;
                } else if (equalOpts == '<>') {
                    soql += ' <> ' + tmpVal;
                } else if (equalOpts == 'contains') {