package com.jiuqi.njt.ui; import java.util.ArrayList; import java.util.List; import android.app.Dialog; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.view.ViewStub; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; import com.jqyd.android.module.lbs.util.CheckState_interface; import com.jiuqi.mobile.nigo.comeclose.bean.app.msg.SmsMassBean; import com.jiuqi.mobile.nigo.comeclose.bean.client.CooperAndGroupBean; import com.jiuqi.mobile.nigo.comeclose.bean.client.Single; import com.jiuqi.mobile.nigo.comeclose.manager.app.ISmsMassManager; 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.OptsharepreInterface; import com.jiuqi.njt.model.UserTreeElement; import com.jiuqi.njt.util.Constants; import com.jiuqi.njt.util.TitleBarUtil; import com.jiuqi.njt.util.UIUtil; import com.jiuqi.njt.widget.ProgressDialogStyle; /** * 农机调度 * @author Maliangya * */ public class NjddActivity extends AbstractNjtActivity02 implements OnClickListener { private Button sure; private Button textDesc; private Button findkey; private ListView listview; private EditText smsinfo; private EditText find; private TreeViewAdapterNew treeViewAdapter = null; public ViewStub rlTitleBar; private NjddTask njddTask; // /显示的数量 private ArrayList<UserTreeElement> showUserCount = new ArrayList<UserTreeElement>(); // /总的节点数 private ArrayList<UserTreeElement> allUserlist = new ArrayList<UserTreeElement>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } protected void initWidgets() { setContentView(R.layout.expandlist); initTitleBar(); find = (EditText) this.findViewById(R.id.find); findkey = (Button) this.findViewById(R.id.findkey); sure = (Button) this.findViewById(R.id.sure); textDesc = (Button) this.findViewById(R.id.textDesc); listview = (ListView) this.findViewById(R.id.userlist); smsinfo = (EditText)this.findViewById(R.id.smsinfo); } protected void initTitleBar() { rlTitleBar = (ViewStub) findViewById(R.id.titleBarStub); TitleBarUtil.createTitleBar(this, rlTitleBar, "农机调度", new OnClickListener() { @Override public void onClick(View v) { NjddActivity.this.finish(); } }); } protected void initListeners() { findkey.setOnClickListener(this); sure.setOnClickListener(this); textDesc.setOnClickListener(this); } protected void initUI() { sure.setText("发送短信"); sure.setBackgroundResource(R.drawable.btn_bottom_big_green); UIUtil.showView(smsinfo); UIUtil.hideView(textDesc); } @Override protected void onQueryComplete() { initListview(); } protected void doQuery(){ findKey = find.getText().toString(); getUserTask = new GetUserTask(); getUserTask.execute(); } @Override public void onClick(View v) { Intent intent; switch (v.getId()) { case R.id.findkey: ///一个对象不能重用,so每次都要重新new啊!! if(UIUtil.isFastDoubleClick()){ return; } doQuery(); break; case R.id.sure: queryLocation(); break; default: break; } } private void queryLocation(){ if(UIUtil.isFastDoubleClick()){ return; } if(TextUtils.isEmpty(smsinfo.getText().toString().trim())){ UIUtil.showMsg(NjddActivity.this, "短信内容不能为空"); return; } //获取选择的目标用户 clearSimList(simlist); List<UserTreeElement> userEleList = getAllCheckData(); for (UserTreeElement userTreeElement : userEleList) { simlist.add(userTreeElement.getSim()); } if(simlist.size()>0){ if(new CheckState_interface(NjddActivity.this).checkConnection()){ njddTask = new NjddTask(); njddTask.execute(); }else{ UIUtil.showMsg(NjddActivity.this, Constants.NETWORK_STATE_ERROR); } }else{ UIUtil.showMsg(NjddActivity.this, "请选择查询对象"); } } private void initListview(){ initialData(); treeViewAdapter = new TreeViewAdapterNew(this, showUserCount ,allUserlist); listview.setAdapter(treeViewAdapter); listview.setItemsCanFocus(false); listview.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); listview.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { } }); } private void initialData() { if (null != parent) { //初始化数据 showUserCount.clear(); allUserlist.clear(); List<CooperAndGroupBean> cooperAndGroups = parent.getChildren(); UserTreeElement parentElement = new UserTreeElement(parent.getParent().getGuid(), parent.getParent().getName(), false, true , "00", 0, false,"","",parent.getParent().getIsCooper()==1?true:false); showUserCount.add(parentElement); for (int i = 0; i < cooperAndGroups.size(); i++) { CooperAndGroupBean bean = cooperAndGroups.get(i); Single singleGroup = bean.getParent(); // String id, String outlineTitle,boolean mhasParent, boolean mhasChild, String parent, int level,boolean expanded if (singleGroup.getIsCooper() == 1) { UserTreeElement treeElements = new UserTreeElement(singleGroup.getGuid(), singleGroup.getName(), false, bean.getChildren()!=null&&bean.getChildren().size()>0, parent.getParent().getGuid(), 1, false,"","",true); allUserlist.add(treeElements); List<CooperAndGroupBean> s = bean.getChildren(); for (CooperAndGroupBean b : s) { UserTreeElement userEle= new UserTreeElement(b.getParent().getGuid(),b.getParent().getName(), true, false, singleGroup.getGuid(), 2, false,b.getParent().getSim(),b.getParent().isActive()?"":"(未激活)",parent.getParent().getIsCooper()==1?true:false); allUserlist.add(userEle); } }else{ UserTreeElement treeElements = new UserTreeElement(singleGroup.getGuid(), singleGroup.getName(), false, bean.getChildren()!=null&&bean.getChildren().size()>0, parent.getParent().getGuid(), 1, false,singleGroup.getSim(),singleGroup.isActive()?"":"(未激活)",false); allUserlist.add(treeElements); } } } } 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; } // 位置查询请求 private class NjddTask extends AsyncTask<Void, Void, String> { Dialog pd = null; protected void onPreExecute() { pd = ProgressDialogStyle .createLoadingDialog(NjddActivity.this,"短信发送中"); pd.show(); } protected String doInBackground(Void... params) { String msg = "";//结果 try { ClientContext context = application.getClientContext(); SmsMassBean bean = new SmsMassBean(context.getUser()); bean.setSendMsg(smsinfo.getText().toString().trim()); bean.setFlag(0); if(simlist!=null && simlist.size()>0){ bean.setToMobileNumbers(simlist.toArray(new String[simlist.size()])); } if(application.getIsLogin()){ ISmsMassManager manager = context.getManager(ISmsMassManager.class); manager.send(bean); msg = "发送成功"; }else { msg = "请先登录"; } } catch (Exception e) { msg = "发送失败"; e.printStackTrace(); } return msg; } protected void onCancelled() { super.onCancelled(); } protected void onPostExecute(String result) { pd.dismiss(); if(!TextUtils.isEmpty(result.trim())){ UIUtil.showMsg(NjddActivity.this, result); } } } }