Browse Source

Merge branch 'master' of http://114.215.100.48:3000/ipu/android-share.git

huangbo 9 years ago
parent
commit
4c5c3420b8

+ 108 - 22
display-server/web/biz/js/plugin/database.js

1
require(["domReady!","mobile", "util"], function(doc,Mobile) {
1
require(["domReady!","mobile", "util"], function(doc,Mobile) {
2
	new iScroll("content");
2
	var dbName = "display";
3
	var dbName = "display";
3
	var tableName = "student";
4
	var tableName = "student";
4
	//建表语句
5
	//建表语句
15
	});
16
	});
16
	//查询数据
17
	//查询数据
17
	$("#select").tap(function() {
18
	$("#select").tap(function() {
18
		var columns = new Wade.DataMap();//查询字段
19
		columns.put("stu_name", "");
20
		columns.put("stu_age", "");
21
		columns.put("stu_sex", "");
19
		var columns=new Array(); //查询字段 可以是个空的数组,也可是是null,这是默认查询字段是*,即全部
20
		columns[0]="stu_name";
21
		columns[1]="stu_age";
22
		columns[2]="stu_sex";
22
		
23
		
23
		var conds = new Wade.DataMap();	//查询条件
24
		conds.put("STU_SEX", "F");
24
		var conds = new Wade.DataMap();	//查询条件 可以是个空的DataMap(),也可以是null
25
		conds.put("stu_age", "19"); //注意:拼装的条件只能是等于,如:stu_age=19,而不能是stu_age>19
25
		
26
		
26
		WadeMobile.select(dbName, tableName, columns, conds, function(obj){			//查询所有符合条件
27
		WadeMobile.select(dbName, tableName, columns, conds, function(obj){			//查询所有符合条件
27
		//WadeMobile.selectFirst(dbName, tableName, columns, conds, function(obj){	//查询第一条
28
			var result = JSON.parse(obj); //解析成JSON
28
			var result = JSON.parse(obj); //解析成JSON
29
			var childObjStr = "";		  //子元素
29
			var childObjStr = "";		  //子元素
30
			$("#tbody").children("tr").remove();//删除表格内容
30
			$("#tbody").children("tr").remove();//删除表格内容
31
			
32
			for(var i = 0, length = result.length; i < length; i++){
31
			for(var i = 0; i < result.length; i++){
33
				childObjStr += "<tr>";
32
				childObjStr += "<tr>";
34
				var stuItem = result[i];
33
				var stuItem = result[i];
35
				
36
				//因为从后台取到得值进过hash散列,所以需要通过“查询列”取对应字段值
37
				for(var x = 0, column = columns.keys, len = column.length; x < len; x++){
38
					var columnVal = stuItem[column[x]];//获取字段值
39
					
40
					if(typeof(columnVal) != "undefined")//过滤查询字段中冗余字段(表中不存在的字段)
34
				var columnVal;
35
				for(var j=0; j<columns.length; j++){
36
					columnVal = stuItem[columns[j]];//获取字段值
37
					if(typeof(columnVal) != "undefined"){//过滤查询字段中冗余字段(表中不存在的字段)
41
						childObjStr += "<td>" + columnVal + "</td>";
38
						childObjStr += "<td>" + columnVal + "</td>";
39
					}
42
				}
40
				}
43
				childObjStr += "</tr>";
41
				childObjStr += "</tr>";
44
			}
42
			}
47
		});
45
		});
48
	});
46
	});
49
	
47
	
48
	//查询第一条数据
49
	$("#selectFirst").tap(function() {
50
		var columns=new Array(); //查询字段 可以是个空的数组,也可是是null,这是默认查询字段是*,即全部
51
		columns[0]="stu_name";
52
		columns[1]="stu_age";
53
		columns[2]="stu_sex";
54
		
55
		var conds = new Wade.DataMap();	//查询条件 可以是个空的DataMap(),也可以是null
56
		conds.put("stu_age", "19"); //注意:拼装的条件只能是等于,如:stu_age=19,而不能是stu_age>19
57
		
58
		WadeMobile.selectFirst(dbName, tableName, columns, conds, function(obj){	//查询第一条
59
			var result = JSON.parse(obj); //解析成JSON
60
			var childObjStr = "";		  //子元素
61
			$("#tbody").children("tr").remove();//删除表格内容
62
			childObjStr += "<tr>";
63
			var columnVal;
64
			for(var j=0; j<columns.length; j++){
65
				columnVal = result[columns[j]];//获取字段值
66
				if(typeof(columnVal) != "undefined"){//过滤查询字段中冗余字段(表中不存在的字段)
67
					childObjStr += "<td>" + columnVal + "</td>";
68
				}
69
			}
70
			childObjStr += "</tr>";
71
			//将子元素节点添加到表格中
72
			$("#tbody").append($(childObjStr));
73
		});
74
	});
75
	
76
	//查询数据  selectExecSQL
77
	$("#selectExecSQL").tap(function() {
78
		var sql = "select * from " + tableName + " where stu_name=? and stu_age=? and stu_sex=?";
79
		var selectionArgs=new Array(); //查询字段 可以是个空的数组,也可是是null,这是默认查询字段是*,即全部
80
		selectionArgs[0]="JACK1";
81
		selectionArgs[1]="19";
82
		selectionArgs[2]="10";
83
		
84
		WadeMobile.execSQL(dbName, sql, selectionArgs, function(obj){			//查询所有符合条件
85
			var result = JSON.parse(obj); //解析成JSON
86
			var childObjStr = "";		  //子元素
87
			$("#tbody").children("tr").remove();//删除表格内容
88
			for(var i = 0; i < result.length; i++){
89
				childObjStr += "<tr>";
90
				var name = "<td>" + result[i].stu_name + "</td>";
91
				var age = "<td>" + result[i].stu_age + "</td>";
92
				var sex = "<td>" + result[i].stu_sex + "</td>";
93
				childObjStr += name + age + sex + "</tr>";
94
			}
95
			//将子元素节点添加到表格中
96
			$("#tbody").append($(childObjStr));
97
		});
98
	});
99
	
50
	//增加数据
100
	//增加数据
51
	var insertSql = "INSERT INTO " + tableName + " (stu_no, stu_name, stu_age, stu_sex) VALUES (:VSTU_NO, :VSTU_NAME, :VSTU_AGE, :VSTU_SEX)";
101
	/*var insertSql = "INSERT INTO " + tableName + " (stu_no, stu_name, stu_age, stu_sex) VALUES ('2015003','JACK3','10','F')";
52
	insertSql = transform(insertSql);
102
	insertSql = transform(insertSql);
53
	$("#insert").tap(function() {
103
	$("#insert").tap(function() {
54
		var param = new Wade.DataMap();
104
		var param = new Wade.DataMap();
57
		param.put("STU_AGE", "19");
107
		param.put("STU_AGE", "19");
58
		param.put("STU_SEX", "F");
108
		param.put("STU_SEX", "F");
59
		
109
		
60
		Mobile.execSQL(dbName, insertSql, param, function(result){
110
		Mobile.execSQL(dbName, insertSql, null, function(result){
111
			alert(result);
112
		});
113
	});*/
114
	
115
	//新增数据
116
	$("#insert").tap(function() {
117
		var param = new Wade.DataMap();
118
		param.put("STU_NO", "2015004");
119
		param.put("STU_NAME", "JACK4");
120
		param.put("STU_AGE", "19");
121
		param.put("STU_SEX", "M");
122
		Mobile.insert(dbName, tableName, param, function(result){
61
			alert(result);
123
			alert(result);
62
		});
124
		});
63
	});
125
	});
64
	
126
	
65
	//修改数据
127
	//修改数据
66
	var updateSql = "UPDATE " + tableName + " SET stu_name = :VSTU_NAME, stu_age = :VSTU_AGE WHERE stu_no = :VSTU_NO";
128
	/*var updateSql = "UPDATE " + tableName + " SET stu_name = :VSTU_NAME, stu_age = :VSTU_AGE WHERE stu_no = :VSTU_NO";
67
	updateSql = transform(updateSql);
129
	updateSql = transform(updateSql);
68
	
69
	$("#update").tap(function() {
130
	$("#update").tap(function() {
70
		var param = new Wade.DataMap();
131
		var param = new Wade.DataMap();
71
		param.put("STU_NAME", "Dave");
132
		param.put("STU_NAME", "Dave");
75
		Mobile.execSQL(dbName, updateSql, param, function(result){
136
		Mobile.execSQL(dbName, updateSql, param, function(result){
76
			alert(result);
137
			alert(result);
77
		});
138
		});
139
	});*/
140
	
141
	//修改数据
142
	$("#update").tap(function() {
143
		var param = new Wade.DataMap();
144
		param.put("STU_NAME", "Dave");
145
		
146
		var conds = new Wade.DataMap();
147
		conds.put("STU_NO", "2015004");
148
		
149
		Mobile.update(dbName, tableName, param, conds, function(result){
150
			alert(result);
151
		});
78
	});
152
	});
79
	//删除数据
153
	
154
	/*//删除数据
80
	var delteSql = "DELETE FROM " + tableName + " WHERE stu_no = 2015001";
155
	var delteSql = "DELETE FROM " + tableName + " WHERE stu_no = 2015001";
81
	delteSql = transform(delteSql);
156
	delteSql = transform(delteSql);
82
	
157
	
86
		Mobile.delete(dbName, delteSql, param, function(result){
161
		Mobile.delete(dbName, delteSql, param, function(result){
87
			alert(result);
162
			alert(result);
88
		});
163
		});
164
	});*/
165
	
166
	//删除数据
167
	$("#delete").tap(function() {
168
		var param = new Wade.DataMap();
169
		param.put("STU_NO", "2015004");
170
		
171
		Mobile.delete(dbName, tableName, param, function(result){
172
			alert(result);
173
		});
89
	});
174
	});
175
	
90
	//删除表格
176
	//删除表格
91
	var dropSql = "DROP TABLE " + tableName ;
177
	var dropSql = "DROP TABLE " + tableName ;
92
	$("#drop").tap(function() {
178
	$("#drop").tap(function() {
98
	
184
	
99
	//特殊符号过滤
185
	//特殊符号过滤
100
	function transform(sql){
186
	function transform(sql){
101
	
102
		return sql.replace(/=/g, ":3D").replace(/\?/g ,":3F").replace(/,/g, ":9A");
187
		return sql;
188
//		return sql.replace(/=/g, ":3D").replace(/\?/g ,":3F").replace(/,/g, ":9A");
103
	};
189
	};
104
});
190
});

+ 32 - 5
display-server/web/res/js/mobile/expand-mobile.js

194
				//将日志输出至LogCat控制台(异步)
194
				//将日志输出至LogCat控制台(异步)
195
				execute("logCat",[msg,title],err);
195
				execute("logCat",[msg,title],err);
196
			},execSQL:function(dbName,sql,bindArgs,callback,err){
196
			},execSQL:function(dbName,sql,bindArgs,callback,err){
197
				if(bindArgs==undefined){
198
					bindArgs = new Array();
199
				}
197
				storageCallback("execSQL",callback);
200
				storageCallback("execSQL",callback);
198
				execute("execSQL",[dbName,sql,bindArgs],err);
201
				execute("execSQL",[dbName,sql,bindArgs],err);
199
			},insert:function(dbName,table,datas,callback,err){
202
			},insert:function(dbName,table,datas,callback,err){
203
				if(datas==undefined){
204
					datas = new Wade.DataMap();
205
				}
200
				storageCallback("insert",callback);
206
				storageCallback("insert",callback);
201
				execute("insert",[dbName,table,datas],err);
207
				execute("insert",[dbName,table,datas.toString()],err);
202
			},delete:function(dbName,table,datas,callback,err){
208
			},delete:function(dbName,table,datas,callback,err){
209
				if(datas==undefined){
210
					datas = new Wade.DataMap();
211
				}
203
				storageCallback("delete",callback);
212
				storageCallback("delete",callback);
204
				execute("delete",[dbName,table,datas],err);
213
				execute("delete",[dbName,table,datas.toString()],err);
205
			},update:function(dbName,table,datas,conds,callback,err){
214
			},update:function(dbName,table,datas,conds,callback,err){
215
				if(datas==undefined){
216
					datas = new Wade.DataMap();
217
				}
218
				if(conds==undefined){
219
					conds = new Wade.DataMap();
220
				}
206
				storageCallback("update",callback);
221
				storageCallback("update",callback);
207
				execute("update",[dbName,table,datas,conds],err);
222
				execute("update",[dbName,table,datas.toString(),conds.toString()],err);
208
			},select:function(dbName,table,columns,conds,callback,err){
223
			},select:function(dbName,table,columns,conds,callback,err){
224
				if(columns==undefined){
225
					columns = new Array();
226
				}
227
				if(conds==undefined){
228
					conds = new Wade.DataMap();
229
				}
209
				storageCallback("select",callback);
230
				storageCallback("select",callback);
210
				execute("select",[dbName,table,columns,conds],err);
231
				execute("select",[dbName,table,columns,conds.toString()],err);
211
			},selectFirst:function(dbName,table,columns,conds,callback,err){
232
			},selectFirst:function(dbName,table,columns,conds,callback,err){
233
				if(columns==undefined){
234
					columns = new Array();
235
				}
236
				if(conds==undefined){
237
					conds = new Wade.DataMap();
238
				}
212
				storageCallback("selectFirst",callback);
239
				storageCallback("selectFirst",callback);
213
				execute("selectFirst",[dbName,table,columns,conds],err);
240
				execute("selectFirst",[dbName,table,columns,conds.toString()],err);
214
			},registerForPush:function(account,callback,err){
241
			},registerForPush:function(account,callback,err){
215
				storageCallback("registerForPush",callback);
242
				storageCallback("registerForPush",callback);
216
				execute("registerForPush",[account],err);
243
				execute("registerForPush",[account],err);

+ 12 - 0
display-server/web/template/webapp/plugin/Database.html

83
					<div class="fn fn-2" id="select">查</div>
83
					<div class="fn fn-2" id="select">查</div>
84
				</div>
84
				</div>
85
			</li>
85
			</li>
86
			<li id="progressBar">
87
				<div class="content">
88
					<div class="main">一条数据</div>
89
					<div class="fn fn-2" id="selectFirst">查</div>
90
				</div>
91
			</li>
92
			<li id="progressBar">
93
				<div class="content">
94
					<div class="main">查询execSQL数据</div>
95
					<div class="fn fn-2" id="selectExecSQL">查</div>
96
				</div>
97
			</li>
86
		</ul>
98
		</ul>
87
	</div>
99
	</div>
88
</div>
100
</div>

+ 1 - 1
ipu-server/web/biz/js/BusinessStep1.js

4
	});
4
	});
5
	$("#opening4g").click(function(){
5
	$("#opening4g").click(function(){
6
		if( confirm("确定办理此业务吗?") ){
6
		if( confirm("确定办理此业务吗?") ){
7
			WadeMobile.sms("10086","我是中国人",1);
7
			WadeMobile.sms("10086","我是中国人",true);
8
			Mobile.tip("短信正在发送……(注意,这是测试短信,不会产生任何费用)");
8
			Mobile.tip("短信正在发送……(注意,这是测试短信,不会产生任何费用)");
9
			Mobile.loadingStart("等待中……","稍等");
9
			Mobile.loadingStart("等待中……","稍等");
10
			setTimeout(function(){
10
			setTimeout(function(){

+ 71 - 26
wade-mobile-func/src/com/wade/mobile/func/MobileDB.java

1
package com.wade.mobile.func;
1
package com.wade.mobile.func;
2

2

3
import org.json.JSONArray;
3
import org.json.JSONArray;
4
import org.json.JSONException;
4

5

5
import com.ailk.common.data.IData;
6
import com.ailk.common.data.IData;
6
import com.ailk.common.data.IDataset;
7
import com.ailk.common.data.IDataset;
7
import com.ailk.common.data.impl.DataMap;
8
import com.ailk.common.data.impl.DataMap;
9
import com.google.zxing.common.StringUtils;
10
import com.litesuits.http.data.Json;
8
import com.wade.mobile.common.db.BasicDao;
11
import com.wade.mobile.common.db.BasicDao;
9
import com.wade.mobile.common.db.DBHelper;
12
import com.wade.mobile.common.db.DBHelper;
10
import com.wade.mobile.frame.IWadeMobile;
13
import com.wade.mobile.frame.IWadeMobile;
11
import com.wade.mobile.frame.plugin.Plugin;
14
import com.wade.mobile.frame.plugin.Plugin;
15
import com.wade.mobile.util.StringUtil;
12

16

13
public class MobileDB extends Plugin {
17
public class MobileDB extends Plugin {
14
	private static final String MESSAGE_SEPARATOR = "\\|\\|";
18
	private static final String MESSAGE_SEPARATOR = "\\|\\|";
23
	public void execSQL(JSONArray param) throws Exception {
27
	public void execSQL(JSONArray param) throws Exception {
24
		String dbName = param.getString(0);
28
		String dbName = param.getString(0);
25
		String sql = param.getString(1);
29
		String sql = param.getString(1);
26
		String bindArgs = param.getString(2);
27
		if(isNull(bindArgs)){
28
			execSQL(dbName, sql, null);
29
		}else{
30
			execSQL(dbName, sql, bindArgs.split(MESSAGE_SEPARATOR));
31
		}
30
		
31
		String bindArgs[];
32
        JSONArray jsonArray = param.getJSONArray(2);
33
        if (jsonArray == null || jsonArray.length() <= 0) {
34
            bindArgs = null;
35
        }
36
        else {
37
            bindArgs = this.jsonArrayToStringArrayUtil(jsonArray);
38
        }
39
		execSQL(dbName, sql, bindArgs);
32
	}
40
	}
33
	
41
	
34
	public void execSQL(String dbName,String sql,Object[] bindArgs) throws Exception {
42
	public void execSQL(String dbName,String sql,Object[] bindArgs) throws Exception {
113
		}
121
		}
114
	}
122
	}
115
	
123
	
116
	/**
117
	 * 查询操作
118
	 */
124
    /**
125
     * @Title: select
126
     * @Description: 查询操作
127
     * @author 程文斌
128
     * @param param
129
     * @throws Exception
130
     * @throws
131
     */
119
	public void select(JSONArray param) throws Exception {
132
	public void select(JSONArray param) throws Exception {
120
		String dbName = param.getString(0);
133
		String dbName = param.getString(0);
121
		String table = param.getString(1);
134
		String table = param.getString(1);
122
		//String columns[] = param.getString(2).split(MESSAGE_SEPARATOR);
123
		String columns[] = {"stu_name", "stu_age", "stu_sex"};
124
		String conds = param.getString(3);
125
		conds = null;
126
		if(isNull(conds)){
127
			conds = "{\"1\":1}"; //条件1=1
135
		String columns[];
136
		JSONArray jsonArray = param.getJSONArray(2);
137
		if (jsonArray == null || jsonArray.length() <= 0) {
138
		    columns = new String[] { "*" };
128
		}
139
		}
129
		select(dbName, table, columns, new DataMap(conds));
140
		else {
141
		    columns = this.jsonArrayToStringArrayUtil(jsonArray);
142
		}
143
		String conds = param.getString(3);
144
		this.select(dbName, table, columns, new DataMap(conds));
130
	}
145
	}
131
	
146
	
147
    /**
148
     * @Title: jsonArrayToStringArrayUtil
149
     * @Description: JsonArray转化String[]格式
150
     * @author 程文斌
151
     * @param jsonArray
152
     * @return
153
     * @throws JSONException
154
     * @throws
155
     */
156
	public String[] jsonArrayToStringArrayUtil(JSONArray jsonArray) throws JSONException {
157
        String[] result = new String[jsonArray.length()];
158
        for (int i = 0; i < jsonArray.length(); i++) {
159
            result[i] = jsonArray.getString(i);
160
        }
161
        return result;
162
	}
163
	
164
    /**
165
     * @Title: select
166
     * @Description: 查询操作实现
167
     * @author 程文斌
168
     * @param dbName
169
     * @param table
170
     * @param columns
171
     * @param conds
172
     * @throws Exception
173
     * @throws
174
     */
132
	public void select(String dbName,String table,String columns[],IData conds) throws Exception {
175
	public void select(String dbName,String table,String columns[],IData conds) throws Exception {
133
		BasicDao dao = new BasicDao(context, dbName);
176
		BasicDao dao = new BasicDao(context, dbName);
134
		try{
177
		try{
140
	}
183
	}
141
	
184
	
142
	/**
185
	/**
143
	 * 查询第一行
144
	 */
186
	* @Title: selectFirst
187
	* @Description: 查询第一行
188
	* @author 程文斌
189
	* @param param
190
	* @throws Exception
191
	* @throws
192
	*/
145
	public void selectFirst(JSONArray param) throws Exception {
193
	public void selectFirst(JSONArray param) throws Exception {
146
		String dbName = param.getString(0);
147
		String table = param.getString(1);
148
		String columns[] = param.getString(2).split(MESSAGE_SEPARATOR);
149
		String conds = param.getString(3);
150
		if(isNull(conds)){
151
			conds = "{\"1\":1}"; //条件1=1
152
		}
153
		selectFirst(dbName, table, columns, new DataMap(conds));
194
	    String dbName = param.getString(0);
195
        String table = param.getString(1);
196
        String columns[] = this.jsonArrayToStringArrayUtil(param.getJSONArray(2));
197
        String conds = param.getString(3);
198
        this.selectFirst(dbName, table, columns, new DataMap(conds));
154
	}
199
	}
155
	
200
	
156
	/*public void selectFirst(String dbName,String sql,String selectionArgs[]) throws Exception {
201
	/*public void selectFirst(String dbName,String sql,String selectionArgs[]) throws Exception {