package com.jqyd.son;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.jqyd.adapter.MyAdapter;
import com.jqyd.manager.R;
import com.jqyd.shareInterface.Optdb_interfce;
import com.jqyd.shareInterface.Optsharepre_interface;
import com.jqyd.shareInterface.UpdataToServer;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;
public class Rzcx extends Activity implements OnClickListener {
private EditText rzsj;
private Button cx;
private ListView logList;
private Calendar c;
private MyAdapter adapter;
private ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
private ArrayList<Bundle> listBundle = new ArrayList<Bundle>();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.rzcx);
rzsj = (EditText) this.findViewById(R.id.rzsj);
cx = (Button) this.findViewById(R.id.cx);
logList = (ListView) this.findViewById(R.id.logList);
rzsj.setOnClickListener(this);
cx.setOnClickListener(this);
init();
}
//初始化
public void init(){
c = Calendar.getInstance();
//业务时间默认当天
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String mDateTime1 = formatter.format(date);
rzsj.setText(mDateTime1);
}
//设置界面显示
public void setShow(){
adapter=new MyAdapter(list, this);
logList.setAdapter(adapter);
logList.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
Bundle bundle = listBundle.get(position);
//查询过后,立刻向服务器端发送更新审批状态请求
if(bundle.getString("ismark").equals("0")){
UpdataToServer server = new UpdataToServer(Rzcx.this);
JSONObject object = new JSONObject();
try {
object.put("rid", bundle.getString("rid"));
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
server.dataToServer("GXSP", object);
server.closeSqlite3Db();
}
Intent intent =new Intent();
intent.putExtra("moduleName", "rzcx");
intent.putExtras(bundle);
intent.setClass(Rzcx.this, Info.class);
startActivity(intent);
}
});
}
/**
* 查询服务
*/
public String cxFromDb(){
list.clear();
listBundle.clear();
String mgs = "";
String date = rzsj.getText().toString();
JSONObject object = new JSONObject();
Optsharepre_interface share_obj = new Optsharepre_interface(Rzcx.this);
try {
object.put("cosim", share_obj.getDataFromPres("COSIM"));
object.put("regsim", share_obj.getDataFromPres("REGSIM"));
object.put("cxrq", date);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String result = new UpdataToServer(Rzcx.this).searchFromServer("RZCX", object);
if(!result.equals("") && !result.equals("-1") && !result.equals("500")){
JSONObject obj = null;
try {
obj = new JSONObject(result);
} catch (JSONException e3) {
// TODO Auto-generated catch block
e3.printStackTrace();
}
try {
JSONObject jg = (JSONObject) obj.get("cxjg");
if(jg.getString("result").equals("0")){//有数据
HashMap<String,String> map = null;
Bundle bundle = null;
JSONArray cxnrs = (JSONArray) obj.get("cxnr");
for(int i=0;i<cxnrs.length();i++){
try {
JSONObject obj_rz = (JSONObject) cxnrs.get(i);
bundle = new Bundle();
bundle.putString("rid", obj_rz.getString("rid"));
bundle.putString("ywrq", obj_rz.getString("ywrq"));
bundle.putString("addtime", obj_rz.getString("addtime"));
bundle.putString("gzcg", obj_rz.getString("gzcg"));
bundle.putString("gzlx", obj_rz.getString("gzlx"));
bundle.putString("gznr", obj_rz.getString("gznr"));
bundle.putString("gzsc", obj_rz.getString("gzsc"));
bundle.putString("gzyj", obj_rz.getString("gzyj"));
bundle.putString("ismark", obj_rz.getString("ismark"));
listBundle.add(bundle);
String addtime = obj_rz.getString("addtime");
addtime = addtime.split("-")[1]+"/"+addtime.split("-")[2];
map = new HashMap<String,String>();
map.put("textView1", addtime.substring(0,addtime.length()-2));
map.put("textView2", obj_rz.getString("gznr"));
list.add(map);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
mgs = "0";//成功获得数据
}else{
mgs = jg.getString("detail");
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else if(result.equals("-1")){
mgs = "抱歉,网络连接失败!";
}else{
mgs = "查询失败,请联系你的管理员!";
}
return mgs;
}
/**
* 处理线程
*/
class CxThread extends Thread implements Runnable{
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
Looper.prepare();
Message msg =new Message();
msg.what = 1;
myHander.sendMessage(msg);
Message msg2 =new Message();
String result = cxFromDb();
Bundle bunlde = new Bundle();
if(result.equals("0")){//网络连接失败
msg2.what = 2;
}else{
msg2.what = 3;
bunlde.putString("msg", result);
}
msg2.setData(bunlde);
myHander.sendMessage(msg2);
Looper.loop();
}
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v == rzsj){
getDate();
}else if(v == cx){
new CxThread().start();
}
}
//弹出日期框
public void getDate() {
new DatePickerDialog(Rzcx.this,
new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker arg0, int year, int month,
int date) {
// TODO Auto-generated method stub
String m = "";
String d = "";
if ((month + 1) < 10) {
m = "0" + (month + 1);
} else {
m = (month + 1) + "";
}
if (date < 10) {
d = "0" + date;
} else {
d = date + "";
}
String time = year + "-" + m + "-" + d;
rzsj.setText(time);
}
}, c.get(Calendar.YEAR), c.get(Calendar.MONTH),
c.get(Calendar.DAY_OF_MONTH)).show();
}
Handler myHander = new Handler(){
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
switch(msg.what){
case 1:
showDialog(1);
break;
case 2:
removeDialog(1);
setShow();
break;
case 3:
removeDialog(1);
Bundle bundle = msg.getData();
showToast(bundle.getString("msg"));
setShow();
break;
}
}
};
/**
* 结果显示
* @param message
*/
public void showToast(String message){
new AlertDialog.Builder(Rzcx.this)
.setTitle("提示")
.setMessage(message)
.setPositiveButton("确定", null)
.show();
}
@Override
protected Dialog onCreateDialog(int id) {
// TODO Auto-generated method stub
ProgressDialog dialog = new ProgressDialog(Rzcx.this);
dialog.setIndeterminate(true);
dialog.setCancelable(false);
switch(id){
case 1:
dialog.setMessage("正在查询,请稍候……");
break;
case 2:
break;
case 3:
break;
}
return dialog;
}
}