package com.jqyd.son; import java.util.ArrayList; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import com.jqyd.app.MyApp; import com.jqyd.manager.R; import com.jqyd.manager.TabTitle; import com.jqyd.model.EmpsModule; 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.Dialog; import android.app.ProgressDialog; import android.content.DialogInterface; 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.Button; import android.widget.EditText; import android.widget.ImageView; public class Fbxx extends Activity implements OnClickListener { private MyApp myApp; private Button add; private EditText sjr; private EditText content; private Button send; private Button back; private EditText title; private ArrayList<String> lxrTels = new ArrayList<String>(); private ArrayList<String> lxrTelAndNames = new ArrayList<String>(); Optsharepre_interface obj_share = null; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); myApp = (MyApp) this.getApplication(); if(myApp.getModuleName().equals("ywtz")){ setContentView(R.layout.ywtz); back = (Button) this.findViewById(R.id.back); title = (EditText) this.findViewById(R.id.xxbt); back.setOnClickListener(this); }else{ setContentView(R.layout.fbxx); } add = (Button) this.findViewById(R.id.add); sjr = (EditText) this.findViewById(R.id.sjr); content = (EditText) this.findViewById(R.id.content); send = (Button) this.findViewById(R.id.send); add.setOnClickListener(this); send.setOnClickListener(this); obj_share = new Optsharepre_interface(Fbxx.this); initEnter(); } /** * 判断是否二次进入当前界面 */ public void initEnter(){ if(myApp.getIsInit() == 1){//二次进入 lxrTels = myApp.getLxrTel(); lxrTelAndNames = myApp.getLxrTelAndName(); String showLxrs = ""; for(int i=0;i<lxrTelAndNames.size();i++){ showLxrs+=lxrTelAndNames.get(i)+","; } if(showLxrs.length()>0){ showLxrs = showLxrs.substring(0, showLxrs.length()-1); } if(!sjr.getText().toString().equals("")){ showLxrs = sjr.getText().toString()+","+showLxrs; } sjr.setText(showLxrs); }else{ sjr.setText(""); } } @Override public void onClick(View v) { // TODO Auto-generated method stub if(v == add){ if(myApp.getModuleName().equals("ywtz")){ myApp.setModuleName("ywtz_lxr"); }else if(myApp.getModuleName().equals("dxqf")){ myApp.setModuleName("sms_lxr"); } if(!sjr.getText().toString().equals("")){ myApp.setLxrTel(lxrTels); myApp.setLxrTelAndName(lxrTelAndNames); } startActivity(new Intent().setClass(Fbxx.this, TabTitle.class)); finish(); }else if(v == send){ String sjrStr = sjr.getText().toString(); String contentStr = content.getText().toString(); if(sjrStr.equals("") || contentStr.equals("")){ warnTell(); }else{ sjrStr = ""; for(int i=0;i<lxrTels.size();i++){ sjrStr+=lxrTels.get(i)+","; } sjrStr = sjrStr.substring(0, sjrStr.length()-1); new FbxxThread(sjrStr,contentStr).start(); } }else if(v == back){ finish(); } } /** * 发送业务通知 * @return */ public String sendYwtzToServer(String content){ Optdb_interfce db = new Optdb_interfce(Fbxx.this); JSONArray objList = new JSONArray(); for(int i=0;i<lxrTels.size();i++){ ArrayList<Object> ls = db.searchEmps("EMPS", lxrTels.get(i)); EmpsModule emp = (EmpsModule) ls.get(0); JSONObject emp_obj = new JSONObject(); try { emp_obj.put("guid", emp.getGuid()); emp_obj.put("xm", emp.getXm()); emp_obj.put("dwhm", emp.getDwhm()); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } objList.put(emp_obj); } db.close_SqlDb(); JSONObject object = new JSONObject(); try { object.put("guid", obj_share.getDataFromPres("GGUID")); object.put("zguid", obj_share.getDataFromPres("GUID")); object.put("content", content); object.put("title", title.getText().toString()); object.put("emps", objList); object.put("khlb", myApp.getVersion()); } catch (JSONException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } // 请求服务器 String result = new UpdataToServer(Fbxx.this).dataToServer("YWTZ", object); return result; } /** * 发送短信 * @param sjr * @param content * @return */ public String sendSmsToServer(String sjr,String content){ JSONObject object = new JSONObject(); try { object.put("sjr", sjr); object.put("content", content); object.put("cosim", obj_share.getDataFromPres("COSIM")); object.put("regsim", obj_share.getDataFromPres("REGSIM")); object.put("cpmc", obj_share.getDataFromPres("CPMC")); object.put("ywmc", obj_share.getDataFromPres("YWMC")); object.put("kflx", obj_share.getDataFromPres("KFLX")); } catch (JSONException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } // 请求服务器 String result = new UpdataToServer(Fbxx.this).dataToServer("SMS", object); return result; } /** * 发布信息上传线程 * @author Administrator * */ class FbxxThread extends Thread { private String sjr; private String content; public FbxxThread(String sjr,String content) { this.sjr = sjr; this.content = content; } @Override public void run() { // TODO Auto-generated method stub super.run(); Looper.prepare(); Message message = new Message(); message.what = 1; myHander.sendMessage(message); Message message2 = new Message(); message2.what = 2; Bundle bundle = new Bundle(); String result = "500"; if(myApp.getModuleName().equals("ywtz")){ result = sendYwtzToServer(content); }else if(myApp.getModuleName().equals("dxqf")){ result = sendSmsToServer(sjr,content); } if (result != null && !result.equals("-1") && !result.equals("500")) { try { JSONObject obj = new JSONObject(result); String res = obj.getString("result"); if (res.equals("0")) { if(myApp.getModuleName().equals("ywtz")){ bundle.putString("msg", "上传成功"); }else{ bundle.putString("msg", "短信发送成功"); } } else { String errMsg = obj.getString("detail"); bundle.putString("msg", errMsg); } } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } }else if(result.equals("-1")){ bundle.putString("msg", "抱歉,网络连接失败!"); }else{ bundle.putString("msg", "上报失败,请联系你的管理员!"); } message2.setData(bundle); myHander.sendMessage(message2); Looper.loop(); } } 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); Bundle data = msg.getData(); String message = data.getString("msg"); showToast(message); break; } } }; /** * 清空历史数据 */ public void cheanHisdatas(){ sjr.setText(""); content.setText(""); if(myApp.getModuleName().equals("ywtz")){ title.setText(""); } } /** * 警告提示 */ public void warnTell(){ new AlertDialog.Builder(Fbxx.this).setTitle("警告").setMessage("请将信息填写完整!") .setPositiveButton("确定", null).show(); } /** * 结果显示 * * @param message */ public void showToast(final String message) { new AlertDialog.Builder(Fbxx.this).setTitle("提示").setMessage(message) .setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { if(message.contains("成功")){ cheanHisdatas(); } } }).show(); } @Override protected Dialog onCreateDialog(int id) { // TODO Auto-generated method stub ProgressDialog dialog = new ProgressDialog(Fbxx.this); dialog.setIndeterminate(true); dialog.setCancelable(false); switch (id) { case 1: dialog.setMessage("正在上传,请稍候……"); break; } return dialog; } }