xinyb
2023-09-25 44e86566db5ae0f691c55f97d25fb1f54a65e508
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
//多功能查询
function multifunctional(valueis, colis, jqcz,f) {// 一般like查找,jqcz勾上则=
    var sqlReturn = "";
    var value = document.getElementById(valueis).value;
    var cols = document.getElementById(colis).value;
    var colss = null;
    var dts = null;   //每个字段的数据类型
    var temp = null;  //临时数组,用于保存参数分割后的字段和字段对应的数据类型
    if (cols != null) {
        if(cols.indexOf("|") >=0)
        {
            temp = cols.split("|");
            colss = temp[0].split(";");
            dts = temp[1].split(";");
        }else{
            colss = cols.split(";");
        }
    }
    //if(dts != null){    //如果是查询全部,清空条件输入框
        //document.getElementById(valueis).value = "";
        //value = "";
//    }
    var gou = document.getElementById(jqcz).value;
    var fuhao = (gou == "1") ? " = " : " "+f+" ";
    var val = (gou == "1") ? value : "@~" + value + "@~";
    for (i = 0; i < colss.length; i++) {
        if(dts != null){     //查询全部
            if(dts[i] == "money" || dts[i] == "int"){
                continue;
            }else{
                sqlReturn += colss[i] + fuhao + " \'" + val + "\' or ";
            }
        }else{    //单个查询
            temp = (document.getElementById('dataType').value).split("|");    //得到所有字段和所有字段对应的数据类型
            var colss1 = temp[0].split(";");
            dts = temp[1].split(";");
            var index = 0;
            for(var j = 0;j<colss1.length;j++){   //查询下拉列表选中字段在所有字段中的下标
                if(colss[i] == colss1[j]){        
                    index = j;
                    break;
                }
            }
            if(dts[index] == "money" || dts[index] == "int"){    //得到字段数据类型判断是否为Money或者Int类型
                if(value == null || value == ""){    //判断查询的值是否为空
                    sqlReturn += colss[i] + " is null or ";
                }else{
                    sqlReturn += colss[i] +" = "+  value +  " or ";
                }
            }else{    //其他数据类型
                sqlReturn += colss[i] + fuhao + " \'" + val + "\' or ";
            }
        }
//        sqlReturn += colss[i] + fuhao + " \'" + value + "\' or ";
    }
    if (colss == "") {
        sqlReturn = "";
    } else {
        sqlReturn = sqlReturn.substring(0, sqlReturn.length - 3);
        //alert(sqlReturn);
    }    
    return sqlReturn;
}
// 复选框
function getCheck(id,f) {
    var sqlStr = "";
    var idCheck = id + "CheckBox";
    if (document.getElementById(idCheck).checked) {
        sqlStr = id + " "+f+" \'" + document.getElementById(idCheck).value + "\'";
        // alert(sqlStr);
    }
    return sqlStr;
}
// 单选按钮
function getRadio(id,f) {
    var rads = document.getElementsByName(id+"Radio");
    var sqlStr = "";
    for (i = 0; i < rads.length; i++) {
        if (rads[i].checked) {
            document.getElementById(id).value=rads[i].value;
            sqlStr = id + " "+f+" " + rads[i].value;
            // alert(sqlStr);
        }
    }
    return sqlStr;
}
// 日期之间
function getBetweenDate(date, bengin, end) {
    var sqlStr = "";
    var ben = document.getElementById(bengin).value;
    var en = document.getElementById(end).value;
    if (ben != "" && en != "") {
        sqlStr = date + "  between \'" + ben + "\' and \'" + en + "\' ";
        // alert(sqlStr);
    }
    return sqlStr;
}
// 下拉,有可能逗号分隔
function getSelect(col, fuhao) {
    var sqlStr = "";
    var vStr = document.getElementById(col).value;
    if (vStr != "" && vStr != 'null') {
      sqlStr = getSql(col,vStr,fuhao);
    }
//    if (vStr != "") {
//        var vStrs = vStr.split(",");
//        vStr = "";
//        for (i = 0; i < vStrs.length; i++) {
//            vStr += "'" + vStrs[i] + "',";
//        }
//        vStr = vStr.substring(0, vStr.length - 1);
//        sqlStr = col + " " + fuhao + " (" + vStr + ") ";
//        // alert(sqlStr);
//    }
    return sqlStr;
}
// 复选框,多选。 1.控件name 2.符合
function getCheckList(id,idCheck, f) {
    var checks = document.getElementsByName(idCheck);
    var sqlStr = "";
    for (i = 0; i < checks.length; i++) {
        if (checks[i].checked) {
            sqlStr += id + " " + f + " " + checks[i].value + " or ";
        }
    }
// alert(sqlStr);
    sqlStr = sqlStr.substring(0, sqlStr.length - 3);
    return sqlStr;
}
// 输入文本 1.控件id 2.符合
function getText(id, f) {
    var sqlStr = "";
    var value = document.getElementById(id).value;
    if (value != "") {
        sqlStr += id + " " + f + " (\'" + value +"\')";
    }
    // alert(sqlStr);
    return sqlStr;
}
 
 
function getSql(id,valStr,f){
    var Str="";
    switch(f){
    case "=":
    case "in":
        Str = " isnull(\'"+valStr+"\',\'\') = \'\' or "+id+" "+ f +" ( select list from getinstr(\'"+valStr+"\'))"
        break;
    case "like":
    case "not like"://为使用
        Str=" isnull(\'"+valStr+"\',\'\') = \'\' or "+id+" "+ f +" '@~"+valStr+"@~' ";
        break;
    default :
        break;
    }
    return Str;
}
 
 
function getqx(ReaderUsercodes,ReaderOrganizations,ReaderRoles){
    var str="( isnull(ReaderUsercodes,'') =  '' and isnull(ReaderOrganizations,'') =  '' and isnull(ReaderRoles , '' )  =  '' ) ";
    var shuZu=ReaderUsercodes.split(',');
    var strHui=getStr('ReaderUsercodes',shuZu);
    if(strHui!=""){
        str +=" or "+strHui;        
    }
    shuZu=ReaderOrganizations.split(',');
    strHui=getStr('ReaderOrganizations',shuZu);
    if(strHui!=""){
        str +=" or "+strHui;        
    }
    shuZu=ReaderRoles.split(',');
    strHui=getStr('ReaderRoles',shuZu);
    parent.rot=shuZu;
    if(strHui!=""){
        str +=" or "+strHui;        
    }
    return getKuoHao(str);
}
 
function getStr(col,shuZhu){
    var str="isnull("+col+",'') <>  '' and ";
    var strAdd="";
    for(var i=0;i<shuZhu.length;i++){
        if(shuZhu[i]!=""){
            strAdd +=" ("+col+" like   '@~,"+shuZhu[i]+",@~') or";
        }
    }
    if(strAdd!=""){
        strAdd=strAdd.substring(0, strAdd.length - 2);
        strAdd=getKuoHao(strAdd);
    }else{//没有就不判断了
        str="";
    }
    str += strAdd;
    str=getKuoHao(str);
    return str;
}
 
function getKuoHao(str){ 
    if(str!=""){
        str="( "+str+" )";
    }
    return str;
}