package com.jiuqi.njt.son;
import java.lang.reflect.UndeclaredThrowableException;
import java.util.ArrayList;
import java.util.List;
import com.jqyd.android.module.lbs.util.CheckState_interface;
import com.jiuqi.mobile.nigo.comeclose.bean.base.AdminAreaBean;
import com.jiuqi.mobile.nigo.comeclose.bean.base.DataDictionaryBean;
import com.jiuqi.mobile.nigo.comeclose.exception.LoginException;
import com.jiuqi.mobile.nigo.comeclose.manager.base.IDataDictionaryManager;
import com.jiuqi.mobile.nigo.comeclose.ws.client.ClientContext;
import com.jiuqi.njt.R;
import com.jiuqi.njt.data.MyApp;
import com.jiuqi.njt.ui.AbstractNjtActivity01;
import com.jiuqi.njt.ui.SearchResultActivityReceiveParams;
import com.jiuqi.njt.util.Constants;
import com.jiuqi.njt.util.TitleBarUtil;
import com.jiuqi.njt.util.UIUtil;
import com.jiuqi.njt.widget.ProgressDialogStyle;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Dialog;
import android.content.Intent;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.ViewStub;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.AdapterView.OnItemSelectedListener;
public class ServiceAgencies extends AbstractNjtActivity01 implements
OnClickListener {
private EditText etName;
private Button btnProvince;
private Button btnQuery;
private Spinner dl_spinner;
private int index = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new GetMessage().execute();
}
@Override
protected void doinit() {
// Log.v(Constants.TAG, "JobsQueryActivity doinit()");
initWidgets();
initParam();
initListeners();
initUI();
}
@Override
protected void initParam() {
// Log.v(Constants.TAG, "JobsQueryActivity initParam()");
application = (MyApp) getApplication();
if(!TextUtils.isEmpty(application.getProvince())){
btnProvince.setText(application.getProvince());
}
}
@Override
protected void initWidgets() {
// TODO Auto-generated method stub
setContentView(R.layout.service_agencies);
ViewStub rlTitleBar = (ViewStub) findViewById(R.id.titleBarStub);
TitleBarUtil.createTitleBar(this, rlTitleBar, "服务机构查询",
new OnClickListener() {
@Override
public void onClick(View v) {
ServiceAgencies.this.finish();
}
});
etName = (EditText) findViewById(R.id.etName);
btnProvince = (Button) findViewById(R.id.btnProvince);
btnQuery = (Button) findViewById(R.id.btnQuery);
dl_spinner = (Spinner) findViewById(R.id.spinner_dl); // 加油站资质:
}
@Override
protected void initListeners() {
btnProvince.setOnClickListener(this);
btnQuery.setOnClickListener(this);
dl_spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
index = arg2;
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == Constants.REQUEST_XZQH_CODE) {
if (resultCode == RESULT_OK) {
AdminAreaBean xzqh = (AdminAreaBean) data
.getSerializableExtra(Constants.PARAM_XZQH);
Log.v(Constants.TAG, xzqh.toString());
this.xzqh = xzqh;
btnProvince.setText(xzqh.getFullName());
}
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnProvince:
UIUtil.requestXzqh(this, xzqh);
break;
case R.id.btnQuery:
if (UIUtil.isFastDoubleClick()) {
return;
}
if (true) {
if (new CheckState_interface(ServiceAgencies.this)
.checkConnection()) {
doQuery();
} else {
UIUtil.showMsg(ServiceAgencies.this,
Constants.NETWORK_STATE_ERROR);
}
}
break;
default:
break;
}
}
private void doQuery() {
CharSequence etNameText = etName.getText();
Intent intent = new Intent(this,
SearchResultActivityReceiveParams.class);
intent.putExtra(Constants.PARAM_ID, 3);
intent.putExtra(Constants.PARAM_NAME, etNameText.toString());
intent.putExtra(Constants.PARAM_XZQH, xzqh);
intent.putExtra("flag", "service");
intent.putExtra("type", index + 1);
intent.putExtra("from","ServiceAgencies");
startActivity(intent);
}
class GetMessage extends AsyncTask<Void, Void, DataDictionaryBean[]> {
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
myshowDialog(1);
}
@Override
protected DataDictionaryBean[] doInBackground(Void... params) {
// TODO Auto-generated method stub
DataDictionaryBean[] stringBeans;
try {
ClientContext context = application.getClientContext();
if (!application.getIsLogin()) {
context = null;
}
if (null == context) {
context = ClientContext.getClientContext(
Constants.SERVER_URL, Constants.ANONYMOUS,
Constants.ANONYMOUS);
application.setClientContext(context);
}
IDataDictionaryManager dmanager = context
.getManager(IDataDictionaryManager.class);
stringBeans = dmanager.get(90002);
return stringBeans;
} catch (LoginException e) {
// TODO Auto-generated catch block
myremoveDialog(1);
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
if (e instanceof UndeclaredThrowableException) {
e.getCause().getMessage();
}
myremoveDialog(1);
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(DataDictionaryBean[] result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
myremoveDialog(1);
try {
if (null != result) {
List<String> typeList = new ArrayList<String>();
for (DataDictionaryBean bean : result) {
Log.e("2222222222", bean.getName().getClass()
.toString());
typeList.add(bean.getName());
}
initSpinner(typeList, dl_spinner);
} else {
UIUtil.showMsg(ServiceAgencies.this, "获取信息失败");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
private void initSpinner(List<String> dataList, Spinner spinner) {
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, dataList);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
adapter.notifyDataSetChanged();
spinner.setAdapter(adapter);
}
Dialog pd;
private void myshowDialog(int i) {
if (i == 1) {
pd = ProgressDialogStyle.createLoadingDialog(this, "正在加载数据...");
pd.show();
} else if (i == 2) {
pd = ProgressDialogStyle.createLoadingDialog(this, "正在提交数据...");
pd.show();
}
}
private void myremoveDialog(int i) {
if (i == 1) {
if (pd != null) {
pd.dismiss();
}
} else if (i == 2) {
if (pd != null) {
pd.dismiss();
}
}
}
}