package com.jiuqi.njt.son;
import java.util.ArrayList;
import com.jiuqi.mobile.nigo.comeclose.bean.base.KindsOfSupplyAndDemandBean;
import com.jiuqi.mobile.nigo.comeclose.exception.LoginException;
import com.jiuqi.mobile.nigo.comeclose.manager.base.IKindsOfSupplyAndDemandManager;
import com.jiuqi.mobile.nigo.comeclose.ws.client.ClientContext;
import com.jiuqi.njt.R;
import com.jiuqi.njt.adapter.TreeViewAdapterNew;
import com.jiuqi.njt.data.MyApp;
import com.jiuqi.njt.model.UserTreeElement;
import com.jiuqi.njt.util.Constants;
import com.jiuqi.njt.util.TitleBarUtil;
import com.jiuqi.njt.widget.ProgressDialogStyle;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewStub;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;
import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
public class GxlbActivity extends Activity {
private ListView gxlb_listView;
/*
* 实现获取农资供应商供销类别获取
*/
private MyApp application;
// /显示的数量
private ArrayList<UserTreeElement> showUserCount = new ArrayList<UserTreeElement>();
// /总的节点数
private ArrayList<UserTreeElement> allUserlist = new ArrayList<UserTreeElement>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gxlb);
inItUi();
inItData();
}
private void inItUi() {
// TODO Auto-generated method stub
gxlb_listView = (ListView) findViewById(R.id.gxlb_listView);
ViewStub rlTitleBar = (ViewStub)findViewById(R.id.titleBarStub);
TitleBarUtil.createTitleBar(this, rlTitleBar, "供销类别", Constants.BTN_BACK_TEXT, new OnClickListener(){
@Override
public void onClick(View v){
finish();
}
}, "确定", new OnClickListener(){
@Override
public void onClick(View v){
String result ="";
ArrayList<UserTreeElement> elementsList = getAllCheckData();
for (UserTreeElement userTreeElement : elementsList) {
result += userTreeElement.getOutlineTitle()+",";
Log.e("选中的内容", userTreeElement.getOutlineTitle());
}
Intent in = new Intent();
// in.setClass(getApplicationContext(), PerfectSupplierInformation.class);
in.putExtra("type", result);
setResult(RESULT_OK, in);
finish();
}
});
}
private void inItData() {
application = (MyApp) getApplicationContext();
new GetGxlbTask().execute();
}
class GetGxlbTask extends AsyncTask<Void, Void, String> {
Dialog pd = null;
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
pd = ProgressDialogStyle.createLoadingDialog(GxlbActivity.this,
null);
pd.show();
super.onPreExecute();
}
@Override
protected String doInBackground(Void... params) {
// TODO Auto-generated method stub
ClientContext context = application.getClientContext();
try {
if (null == context) {
context = ClientContext.getClientContext(
Constants.SERVER_URL, Constants.ANONYMOUS,
Constants.ANONYMOUS);
application.setClientContext(context);
}
IKindsOfSupplyAndDemandManager dManager = context
.getManager(IKindsOfSupplyAndDemandManager.class);
getGxlbData(dManager, 0);
return null;
} catch (LoginException e) {
// TODO Auto-generated catch block
if (null != pd) {
pd.dismiss();
}
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
if (null != pd) {
pd.dismiss();
}
TreeViewAdapterNew treeViewAdapter = new TreeViewAdapterNew(
GxlbActivity.this, showUserCount, allUserlist);
gxlb_listView.setAdapter(treeViewAdapter);
gxlb_listView.setItemsCanFocus(false);
gxlb_listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
gxlb_listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
}
});
super.onPostExecute(result);
}
};
private void getGxlbData(IKindsOfSupplyAndDemandManager dManager, long code) {
// 初始化数据
showUserCount.clear();
allUserlist.clear();
if (dManager.getChildren(code) != null) {
KindsOfSupplyAndDemandBean[] aa = dManager.getChildren(code);
for (KindsOfSupplyAndDemandBean firstBean : aa) {
UserTreeElement parentElement = new UserTreeElement(
firstBean.getGuid(), firstBean.getName(), false, true,
"00", 0, false, "", "", false);
showUserCount.add(parentElement);
KindsOfSupplyAndDemandBean[] secendList = dManager
.getChildren(firstBean.getCode());
for (KindsOfSupplyAndDemandBean secendBean : secendList) {
UserTreeElement treeElements = new UserTreeElement(
secendBean.getGuid(), secendBean.getName(), true,
true, firstBean.getGuid(), 1, false, "", "", false);
allUserlist.add(treeElements);
KindsOfSupplyAndDemandBean[] thirdList = dManager
.getChildren(secendBean.getCode());
for (KindsOfSupplyAndDemandBean thirdBean : thirdList) {
UserTreeElement userEle = new UserTreeElement(
thirdBean.getGuid(), thirdBean.getName(), true,
false, secendBean.getGuid(), 2, false, "", "",
false);
allUserlist.add(userEle);
}
}
}
}
}
private ArrayList<UserTreeElement> getAllCheckData() {
ArrayList<UserTreeElement> Checklines = new ArrayList<UserTreeElement>();
if (null != allUserlist) {
for (UserTreeElement pdfOutlineElement : allUserlist) {
if (pdfOutlineElement.isChecked()
&& !pdfOutlineElement.isMhasChild()) {
Checklines.add(pdfOutlineElement);
}
}
}
return Checklines;
}
}