package com.jiuqi.njt.ui;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.jiuqi.mobile.nigo.comeclose.bean.LoadOnGetList1;
import com.jiuqi.mobile.nigo.comeclose.bean.NiGoBean;
import com.jiuqi.mobile.nigo.comeclose.bean.base.AdminAreaBean;
import com.jiuqi.mobile.nigo.comeclose.manager.base.ICarModelManager;
import com.jiuqi.mobile.nigo.comeclose.manager.base.SelectAllCarKey;
import com.jiuqi.mobile.nigo.comeclose.ws.client.ClientContext;
import com.jiuqi.njt.R;
import com.jiuqi.njt.data.MyApp;
import com.jiuqi.njt.model.NjBuTie;
import com.jiuqi.njt.util.Constants;
import com.jiuqi.njt.util.DateUtil;
import com.jiuqi.njt.util.TitleBarUtil;
import com.jiuqi.njt.util.UIUtil;
import com.jiuqi.njt.widget.ProgressDialogStyle;
import com.jiuqi.njt.widget.XListView;
import com.jiuqi.njt.widget.XListView.IXListViewListener;
import com.jiuqi.njt.widget.XListView.ListFooteState;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewStub;
import android.view.View.OnClickListener;
import android.widget.BaseAdapter;
import android.widget.TextView;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
public class Btml_SecondList extends Activity implements IXListViewListener {
private MyApp application;
private XListView listView;
private MyAdapter mAdapter;
private AdminAreaBean xzqh;
private long startIndex = 0;
private long totalCount = 0;
private long carCode;
private String name;
private NiGoBean bean;
private boolean isFirst = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
doinit();
}
private void doinit() {
initParam();
initWidgets();
}
private void initParam() {
bean = (NiGoBean) getIntent().getSerializableExtra("bean");
name = ((NjBuTie) bean).getName();
carCode =(null==((NjBuTie) bean).getType()?0: ((NjBuTie) bean).getType().getCode());
xzqh = ((NjBuTie) bean).getAdminAreaBean();
application = (MyApp) getApplicationContext();
}
private void initWidgets() {
setContentView(R.layout.btml_second_list);
ViewStub rlTitleBar = (ViewStub) findViewById(R.id.titleBarStub);
TitleBarUtil.createTitleBar(this, rlTitleBar, "查询结果",
new OnClickListener() {
@Override
public void onClick(View v) {
Btml_SecondList.this.finish();
}
}, "首页", new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub\
Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("index", 0);
intent.setClass(Btml_SecondList.this,
NjtMainActivity.class);
startActivity(intent);
finish();
}
});
listView = (XListView) findViewById(R.id.listView);
listView.setXListViewListener(this);
listView.setPullLoadEnable(true);
View btml_title = findViewById(R.id.btml_title);
btml_title.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent in = new Intent(Btml_SecondList.this,BtmlUtilActivity.class);
in.putExtra("carType", ((NjBuTie)bean).getType());
startActivityForResult(in, Constants.REQUEST_XZQH_CODE);
}
});
// 异步任务查询
new getBuTieMuLuAsyncTask().execute();
}
/**
* 补贴目录查询
*/
private class getBuTieMuLuAsyncTask extends
AsyncTask<Void, Void, LoadOnGetList1<Object[]>> {
Dialog pd = null;
@Override
protected void onPreExecute() {
if (isFirst) {
pd = ProgressDialogStyle.createLoadingDialog(
Btml_SecondList.this, null);
pd.show();
isFirst = false;
}
}
@Override
protected LoadOnGetList1<Object[]> doInBackground(Void... params) {
LoadOnGetList1<Object[]> dataList = null;
try {
ClientContext context = application.getClientContext();
if (null == context) {
context = ClientContext.getClientContext(
Constants.SERVER_URL, Constants.ANONYMOUS,
Constants.ANONYMOUS);
application.setClientContext(context);
}
long code = 0;// 代表查全部
if (null != xzqh) {
code = xzqh.getCode();
}else{
if(!TextUtils.isEmpty(application.getProvinceCode())){
code = Long.parseLong(application.getProvinceCode());
}
}
ICarModelManager manager1 = context
.getManager(ICarModelManager.class);
SelectAllCarKey key = new SelectAllCarKey();
key.setAreaCode(code);
key.setCarCode(carCode);
key.setSize(Constants.PAGE_SIZE);
key.setStartIndex(startIndex);
// key.setName(name);
dataList = manager1.getAllCar(key);
totalCount = dataList.getTotalCount();
startIndex += Constants.PAGE_SIZE;
} catch (Exception e) {
removeDialog(1);
e.printStackTrace();
}
return dataList;
}
@Override
protected void onPostExecute(LoadOnGetList1<Object[]> result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
initUINew(result);
onLoad();
if (null != pd) {
pd.dismiss();
}
}
}
private void onLoad() {
listView.stopRefresh();
listView.stopLoadMore();
listView.setRefreshTime(DateUtil.getTimeStamp(new Date(),
DateUtil.MM_DD_HH_MM_SS));
}
@Override
public void onRefresh() {
startIndex = 0;
toQuery();
}
@Override
public void onLoadMore() {
if (startIndex < totalCount) {
toQuery();
} else {
UIUtil.showMsg(Btml_SecondList.this, "没有更多");
setFootHintText();
onLoad();
}
}
private void toQuery() {
new getBuTieMuLuAsyncTask().execute();
}
public void setFootHintText() {
if (totalCount == 0 ) {
listView.setListFooteState(ListFooteState.noData);
} else if(totalCount % Constants.PAGE_SIZE != 0){
listView.setListFooteState(ListFooteState.noMoreData);
}else {
listView.setListFooteState(ListFooteState.nomal);
}
listView.showNoData();
}
private void initUINew(LoadOnGetList1<Object[]> result) {
// TODO Auto-generated method stub
ArrayList<Object[]> btmlList = new ArrayList<Object[]>();
List<NjBuTie> njBuTieList = new ArrayList<NjBuTie>();
if (null != result) {
btmlList.addAll(result.getList());
for (Object[] list : btmlList) {
NjBuTie njBuTie = new NjBuTie();
try {
njBuTie.setCreateDate();
if (null != list[13]) {
njBuTie.setGuid(list[13].toString());
}
// njBuTie.setDetailedParameters(((NjBuTie)bean).getDetailedParameters());
njBuTie.setDetailedParameters(null == list[17] ? "" : list[17].toString());
njBuTie.setFactoryName(null == list[0] ? "" : list[0]
.toString());
njBuTie.setContactName(null == list[11] ? "" : list[11]
.toString());
njBuTie.setContactPhone(null == list[6] ? "" : list[6]
.toString());
njBuTie.setModelName(null == list[4] ? "" : list[4]
.toString());
njBuTie.setProductName(null == list[3] ? "" : list[3]
.toString());
njBuTie.setAddress(null == list[12] ? "" : list[12]
.toString());
njBuTie.setAddress(null == list[10] ? njBuTie.getAddress()
: njBuTie.getAddress() + " " + list[0].toString());
njBuTie.setSubsidyMoney(null == list[5] ? "" : list[5]
.toString());
njBuTie.setBrandName(null == list[2] ? "" : list[2]
.toString());
njBuTie.setNjDl(null == list[14] ? "" : list[14].toString());
njBuTie.setNjXl(null == list[15] ? "" : list[15].toString());
njBuTie.setNjPm(null == list[16] ? "" : list[16].toString());
njBuTie.setLon(null == list[8] ? 0 : Double.valueOf(list[8]
.toString()));
njBuTie.setLat(null == list[7] ? 0 : Double.valueOf(list[7]
.toString()));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
njBuTieList.add(njBuTie);
}
}
setFootHintText();
mAdapter = new MyAdapter(this, njBuTieList);
listView.setAdapter(mAdapter);
}
private class MyAdapter extends BaseAdapter {
private Context context;
private List<NjBuTie> njBuTieList = new ArrayList<NjBuTie>();
private LayoutInflater flater;
public MyAdapter(Context context, List<NjBuTie> njBuTieList) {
super();
this.context = context;
this.njBuTieList = njBuTieList;
flater = LayoutInflater.from(context);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return njBuTieList.size();
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return njBuTieList.get(arg0);
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (null == convertView) {
holder = new ViewHolder();
convertView = flater.inflate(R.layout.btml_list_second_item,
null);
TextView textTop = (TextView) convertView
.findViewById(R.id.btml_TV1);
TextView textBottomLeft = (TextView) convertView
.findViewById(R.id.btml_TV2);
TextView textBottomLeft1 = (TextView) convertView
.findViewById(R.id.btml_TV3);
holder.tvTitle1 = textTop;
holder.tvTitle2 = textBottomLeft;
holder.tvTitle3 = textBottomLeft1;
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
final NiGoBean _obj;
String title = "";
_obj = njBuTieList.get(position);
title = njBuTieList.get(position).getBrandName();
holder.tvTitle1.setText(title);
holder.tvTitle2.setText(njBuTieList.get(position).getModelName());
holder.tvTitle3.setText(njBuTieList.get(position).getFactoryName());
convertView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, Btml_Detail.class);
intent.putExtra("bean", _obj);
startActivity(intent);
}
});
return convertView;
}
}
class ViewHolder {
public TextView tvTitle1;
public TextView tvTitle2;
public TextView tvTitle3;
}
}