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; } }