package com.jiuqi.njt.ui;
import java.util.ArrayList;
import java.util.List;
import com.jiuqi.mobile.nigo.comeclose.bean.app.coop.CooperativeGroupBean;
import com.jiuqi.mobile.nigo.comeclose.bean.base.GroupTypeEnum;
import com.jiuqi.mobile.nigo.comeclose.bean.base.InnerManagementBean;
import com.jiuqi.mobile.nigo.comeclose.bean.base.UserBean;
import com.jiuqi.mobile.nigo.comeclose.bean.master.DriverBean;
import com.jiuqi.mobile.nigo.comeclose.exception.LoginException;
import com.jiuqi.mobile.nigo.comeclose.manager.base.IInnerManagementManager;
import com.jiuqi.mobile.nigo.comeclose.manager.master.ICooperativeGroupManager;
import com.jiuqi.mobile.nigo.comeclose.ws.client.ClientContext;
import com.jiuqi.njt.data.CheckStateInterface;
import com.jiuqi.njt.data.MyApp;
import com.jiuqi.njt.util.Constants;
import com.jiuqi.njt.util.UIUtil;
import com.jiuqi.njt.util.login.AutoLoginUtil;
import com.jiuqi.njt.widget.ProgressDialogStyle;
import android.app.Activity;
import android.app.Dialog;
import android.os.AsyncTask;
import android.os.Bundle;
public class AbstractNjtActivity03 extends Activity{
MyApp application;
protected UserBean user;
protected GetUserTask getUserTask = null;
List<DriverBean> userlist = null;// 可查询的用户列表
ArrayList<String> simlist = null; // 目标用户手机号
protected List<InnerManagementBean> parentwfz;
List<CooperativeGroupBean> parentfz;
protected List<InnerManagementBean> parent;
private boolean login;
public String name = "";//员工名称
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
doinit();
}
protected void onQueryComplete() {
}
protected void doinit() {
initParam();
initWidgets();
initListeners();
initUI();
initQuery();
}
private void initQuery() {
if(new CheckStateInterface(AbstractNjtActivity03.this).checkConnection()){
getUserTask = new GetUserTask();
getUserTask.execute();
}else{
UIUtil.showMsg(AbstractNjtActivity03.this, Constants.NETWORK_STATE_ERROR);
}
}
protected void initUI() {
}
protected void initListeners() {
}
protected void initWidgets() {
}
protected void initParam() {
application = (MyApp) getApplication();
}
// 人员列表查询
public class GetUserTask extends AsyncTask<Void, Void, String> {
Dialog pd = null;
protected void onPreExecute() {
pd = ProgressDialogStyle.createLoadingDialog(AbstractNjtActivity03.this, "正在获取用户列表");
pd.show();
}
protected String doInBackground(Void... params) {
String msg = "";
try {
if (application.getIsLogin()) {
ClientContext context = application.getClientContext();
IInnerManagementManager manager = context.getManager(IInnerManagementManager.class);
ICooperativeGroupManager groupManager = context.getManager(ICooperativeGroupManager.class);
user = context.getUser();
String sql = groupManager.getAllGroupSql(user.getGuid());
if(user.getAccount().equals(Constants.ANONYMOUS)){
throw new LoginException("您的登录信息已过期,请重新登录!");
}
// 获取未分组,未分组是sql = 机构guid
// guid 机构guid 登录用户guid .
parentwfz = new ArrayList<InnerManagementBean>();
parentwfz = manager.queryInnerBySql("".equals(sql)?"":("not in ("+sql+")"),user.getGuid(),1,name);
parentfz = new ArrayList<CooperativeGroupBean>();
//TODO 待测试
parentfz = groupManager.get(user.getGuid(),GroupTypeEnum.CooperFile.getCode());
parent = new ArrayList<InnerManagementBean>();
parent = getInnerMaBeansFromCooGroupBean(parentfz);
} else {
msg = "请先登录";
}
} catch (Exception e) {
msg = "用户列表信息获取异常";
// login = new AutoLoginUtil(AbstractNjtActivity03.this, e).getNewSession();
e.printStackTrace();
}
return msg;
}
protected void onCancelled() {
super.onCancelled();
}
protected void onPostExecute(String result) {
pd.dismiss();
if (!"".equals(result)) {
UIUtil.showMsg(AbstractNjtActivity03.this, result);
}else{
// 查询成功后,初始化列表数据
onQueryComplete();
}
// if(login){
// login =false;
// new GetUserTask().execute();
// }
}
}
protected void clearSimList(List<String> list){
if(list == null ){
simlist= new ArrayList<String>();
}else{
simlist.clear();
}
}
/**
* 分组转化成未分组
* @param list
* @return
*/
private List<InnerManagementBean> getInnerMaBeansFromCooGroupBean(List<CooperativeGroupBean> list)
{
InnerManagementBean iBean ;
List<InnerManagementBean> iList = new ArrayList<InnerManagementBean>();
if (list == null || list.size() < 1) {
return iList;
}else {
for (int i = 0; i < list.size(); i++) {
iBean = new InnerManagementBean();
iBean.setUserName(list.get(i).getName());
iBean.setCreateDate(list.get(i).getCreateDate());
iBean.setGuid(list.get(i).getGuid());
iBean.setOrgGuid(list.get(i).getCooperativeGuid());
iBean.setLevel(1);
iList.add(iBean);
}
return iList;
}
}
}