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);
}
}
}
}