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