package com.txsc.supplier.fragment;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import lib.view.ViewUtils;
import lib.view.annotation.ViewInject;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.TextView;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import com.txsc.supplier.NetFragment;
import com.txsc.supplier.R;
import com.txsc.supplier.activity.Order_ListAty;
import com.txsc.supplier.activity.Order_SeachAty;
import com.txsc.supplier.adapter.Order_ListAdapter;
import com.txsc.supplier.bean.NetResultArrayBean;
import com.txsc.supplier.bean.SearchTermBean;
import com.txsc.supplier.bean.NetResultArrayBean.StatusBean;
import com.txsc.supplier.bean.OrderListBean;
import com.txsc.supplier.constant.Url;
import com.txsc.supplier.utils.JsonUtils;
import com.txsc.supplier.utils.LogUtils;
import com.txsc.supplier.utils.MD5;
import com.txsc.supplier.utils.SPUtils;
import com.txsc.supplier.utils.TextUtils;
import com.txsc.supplier.utils.ToastUtil;
/**
* 采购信息列表
*
* @author linshao
*
* @data 2015年3月11日 下午4:09:30
*
*/
public class Order_Fragment extends NetFragment {
@ViewInject(R.id.p2_list_purchase_frag)
private PullToRefreshListView listView;
@ViewInject(R.id.p2_text_order_type)
private TextView tv_Type;
private Order_ListAdapter adapter;
private List<OrderListBean> list;
private int nowPage, totalPage;
private String uid;
private StatusBean stateBean;
private SearchTermBean bean;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.p1_main_order_frag_layout, null);
ViewUtils.inject(this, v);
uid = SPUtils.getUid(getActivity());
list = new ArrayList<OrderListBean>();
adapter = new Order_ListAdapter(getActivity(), list);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Intent intent = new Intent(getActivity(), Order_ListAty.class);
intent.putExtra("TDealID", list.get(arg2 - 1).getTDealID());
startActivity(intent);
}
});
HashMap<String, String> params = new HashMap<String, String>();
params.put("TUserID", uid);
params.put("port_password", MD5.getMD5ofStr(Url.Key + uid));
dialog.setMessage("正在请求,请稍候...");
asynNet(Url.Order_List2, params, 0);
listView.setOnRefreshListener(new OnRefreshListener<ListView>() {
@Override
public void onRefresh(PullToRefreshBase<ListView> refreshView) {
listView.postDelayed(new Runnable() {
@Override
public void run() {
listView.onRefreshComplete();
if (listView.isHeaderShown()) {// 刷新
HashMap<String, String> params = new HashMap<String, String>();
params.put("TUserID", uid);
params.put("port_password",
MD5.getMD5ofStr(Url.Key + uid));
initNetData(params);
dialog.setMessage("正在刷新,请稍候...");
asynNet(Url.Order_List2, params, 1);
} else {// 加载
if (nowPage == 0) {
return;
}
if (nowPage == totalPage) {
ToastUtil.show(getActivity(), "已经是最后一页", 500);
return;
}
HashMap<String, String> params = new HashMap<String, String>();
params.put("TUserID", uid);
params.put("port_password",
MD5.getMD5ofStr(Url.Key + uid));
params.put("page", String.valueOf(nowPage + 1));
initNetData(params);
asynNet(Url.Order_List2, params, 2);
}
}
}, 0);
}
});
tv_Type.setOnClickListener(this);
return v;
}
@Override
public void success(String result, int tag) {
NetResultArrayBean reArrayBean = JsonUtils.parseArrayNetResult(result);
stateBean = reArrayBean.getStatus();
nowPage = reArrayBean.getPageinfo().getThispage();
totalPage = reArrayBean.getPageinfo().getAllpage();
if (stateBean.getCode() == 200) {
List<OrderListBean> lists = JsonUtils.parseOrderList(reArrayBean
.getBackinfo().toString());
if (tag == 0) {// 进入加载
adapter.clearData();
} else if (tag == 1) {// 刷新
adapter.clearData();
ToastUtil.show(getActivity(), "刷新完成", 500);
} else if (tag == 2) {// 加载
ToastUtil.show(getActivity(), "加载完成", 500);
}
adapter.addData(lists);
adapter.notifyDataSetChanged();
} else {
ToastUtil.show(getActivity(), stateBean.getMessage(), 500);
}
}
@Override
public void onclick(View v) {
if (v == tv_Type) {
Intent intent = new Intent(getActivity(), Order_SeachAty.class);
startActivityForResult(intent, 0);
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0 && resultCode == 2) {
bean = (SearchTermBean) data.getSerializableExtra("SearchTermBean");
LogUtils.log(bean.toString());
HashMap<String, String> params = new HashMap<String, String>();
params.put("TUserID", uid);
params.put("port_password", MD5.getMD5ofStr(Url.Key + uid));
initNetData(params);
dialog.setMessage("正在请求,请稍候...");
asynNet(Url.Order_List2, params, 0);
}
}
private void initNetData(HashMap<String, String> params) {
if (bean == null) {
return;
}
if (!TextUtils.isBlank(bean.getOperateTimeStart())) {
params.put("OperateTimeStart", bean.getOperateTimeStart());
}
if (!TextUtils.isBlank(bean.getOperateTimeEnd())) {
params.put("OperateTimeEnd", bean.getOperateTimeEnd());
}
if (!TextUtils.isBlank(bean.getDealSN())) {
params.put("DealSN", bean.getDealSN());
}
if (bean.getStatusSale() != -2) {
params.put("StatusSale", String.valueOf(bean.getStatusSale()));
}
if (bean.getIsPay() != -2) {
params.put("IsPay", String.valueOf(bean.getIsPay()));
}
if (bean.getPayType() != -2) {
params.put("PayType", String.valueOf(bean.getPayType()));
}
}
}