|
|
@@ -2,7 +2,6 @@ package com.xzjmyk.pm.activity.ui.erp.presenter;
|
|
|
|
|
|
import android.app.Activity;
|
|
|
import android.content.Intent;
|
|
|
-import android.os.Looper;
|
|
|
import android.support.annotation.NonNull;
|
|
|
import android.support.annotation.Nullable;
|
|
|
import android.text.Editable;
|
|
|
@@ -11,26 +10,25 @@ import android.util.Log;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.common.LogUtil;
|
|
|
+import com.common.data.ListUtils;
|
|
|
import com.common.data.StringUtil;
|
|
|
import com.common.thread.ThreadPool;
|
|
|
+import com.core.base.BaseActivity;
|
|
|
+import com.core.dao.DBManager;
|
|
|
+import com.core.model.EmployeesEntity;
|
|
|
+import com.core.net.http.http.OAHttpHelper;
|
|
|
import com.xzjmyk.pm.activity.R;
|
|
|
import com.xzjmyk.pm.activity.bean.oa.SelectEmUser;
|
|
|
import com.xzjmyk.pm.activity.sortlist.BaseComparator;
|
|
|
import com.xzjmyk.pm.activity.sortlist.BaseSortModel;
|
|
|
import com.xzjmyk.pm.activity.sortlist.PingYinUtil;
|
|
|
-import com.core.base.BaseActivity;
|
|
|
-import com.core.dao.DBManager;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.db.dao.ContactsDao;
|
|
|
-import com.core.model.EmployeesEntity;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.entity.SelectCollisionTurnBean;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.model.contacts.ContactsModel;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.presenter.imp.ISelectActiveView;
|
|
|
-import com.xzjmyk.pm.activity.util.oa.CommonUtil;
|
|
|
-import com.common.data.ListUtils;
|
|
|
import com.xzjmyk.pm.activity.util.oa.CommonInterface;
|
|
|
+import com.xzjmyk.pm.activity.util.oa.CommonUtil;
|
|
|
import com.xzjmyk.pm.activity.util.oa.CompanyHandlerInfoUtil;
|
|
|
-import com.core.net.http.http.OAHttpHelper;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Collections;
|
|
|
@@ -50,7 +48,7 @@ public class SelectCollisionPresenter {
|
|
|
public SelectCollisionPresenter(ISelectActiveView iSelectActiveView) {
|
|
|
if (iSelectActiveView == null) new NullPointerException("iSelectActiveView is Null");
|
|
|
this.iSelectActiveView = iSelectActiveView;
|
|
|
- this.mActivity= (Activity) iSelectActiveView;
|
|
|
+ this.mActivity = (Activity) iSelectActiveView;
|
|
|
}
|
|
|
|
|
|
public void start(SelectCollisionTurnBean selectBean) {
|
|
|
@@ -68,15 +66,14 @@ public class SelectCollisionPresenter {
|
|
|
if (!StringUtil.isEmpty(selectBean.getSureText()))
|
|
|
iSelectActiveView.showSureText(selectBean.getSureText());
|
|
|
if (ListUtils.isEmpty(selects)) {
|
|
|
- if(selectBean.getTitle().equals(StringUtil.getMessage(R.string.select_share_friend))){//分享好友
|
|
|
+ if (selectBean.getTitle().equals(StringUtil.getMessage(R.string.select_share_friend))) {//分享好友
|
|
|
//企业架构+UU好友
|
|
|
loadShareFriendInThread();
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
//企业架构
|
|
|
loadDataInThread();
|
|
|
}
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
setUser2Sort(selects, true);
|
|
|
}
|
|
|
}
|
|
|
@@ -150,19 +147,19 @@ public class SelectCollisionPresenter {
|
|
|
}
|
|
|
return chche;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- private void loadShareFriendInThread(){
|
|
|
+
|
|
|
+
|
|
|
+ private void loadShareFriendInThread() {
|
|
|
iSelectActiveView.showLoading();
|
|
|
ThreadPool.getThreadPool().addTask(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
- List<ContactsModel> models= ContactsDao.getInstance().findByShare();
|
|
|
- if (!ListUtils.isEmpty(models)){
|
|
|
- handlerLoadShareData(models);
|
|
|
- }else{
|
|
|
- //联网加载
|
|
|
- }
|
|
|
+ List<ContactsModel> models = ContactsDao.getInstance().findByShare();
|
|
|
+ if (!ListUtils.isEmpty(models)) {
|
|
|
+ handlerLoadShareData(models);
|
|
|
+ } else {
|
|
|
+ //联网加载
|
|
|
+ }
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
@@ -174,20 +171,18 @@ public class SelectCollisionPresenter {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
try {
|
|
|
- LogUtil.d("Presenter","是否是主綫程:"+isMainThread());
|
|
|
final List<EmployeesEntity> employees = getEmListByDB();
|
|
|
OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
- ThreadPool.getThreadPool().addTask(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- LogUtil.d("Presenter","是否是主綫程:"+isMainThread());
|
|
|
- if (ListUtils.isEmpty(employees))
|
|
|
- loadDataByNet();
|
|
|
- else handlerLoadData(employees);
|
|
|
- }
|
|
|
- });
|
|
|
+ ThreadPool.getThreadPool().addTask(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ if (ListUtils.isEmpty(employees))
|
|
|
+ loadDataByNet();
|
|
|
+ else handlerLoadData(employees);
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
});
|
|
|
} catch (Exception e) {
|
|
|
@@ -233,27 +228,22 @@ public class SelectCollisionPresenter {
|
|
|
iSelectActiveView.showToast(message, R.color.load_warning);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- private void handlerLoadShareData(List<ContactsModel> employees){
|
|
|
+
|
|
|
+ private void handlerLoadShareData(List<ContactsModel> employees) {
|
|
|
if (ListUtils.isEmpty(employees)) return;//TODO 请求下来时候数据为空
|
|
|
List<SelectEmUser> users = new ArrayList<>();
|
|
|
SelectEmUser user = null;
|
|
|
for (ContactsModel e : employees) {
|
|
|
user = new SelectEmUser();
|
|
|
- //user.setDefaultorid(e.getEm_defaultorid());
|
|
|
- // user.setDepart(e.getEM_DEPART());
|
|
|
user.setEmName(e.getName());
|
|
|
user.setImId(Integer.valueOf(e.getImid()));
|
|
|
- // user.setEmCode(e.getEM_CODE());
|
|
|
- // user.setPosition(e.getEM_POSITION());
|
|
|
- // user.setEmId(e.getEM_ID());
|
|
|
users.add(user);
|
|
|
}
|
|
|
setUser2Sort(users, false);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
private void handlerLoadData(List<EmployeesEntity> employees) {
|
|
|
-
|
|
|
+
|
|
|
if (ListUtils.isEmpty(employees)) return;//TODO 请求下来时候数据为空
|
|
|
SelectEmUser user = null;
|
|
|
List<SelectEmUser> users = new ArrayList<>();
|
|
|
@@ -270,9 +260,11 @@ public class SelectCollisionPresenter {
|
|
|
}
|
|
|
setUser2Sort(users, false);
|
|
|
}
|
|
|
+
|
|
|
int numSelect;
|
|
|
+
|
|
|
private void setUser2Sort(List<SelectEmUser> list, boolean isClickAll) {
|
|
|
- numSelect = 0;
|
|
|
+ numSelect = 0;
|
|
|
for (SelectEmUser e : list) {
|
|
|
BaseSortModel<SelectEmUser> mode = new BaseSortModel<>();
|
|
|
if (isSelected(isClickAll, selectBean.getSelectCode(), e.getEmCode())) {
|
|
|
@@ -292,21 +284,21 @@ public class SelectCollisionPresenter {
|
|
|
if (!selectBean.getTitle().equals(mActivity.getString(R.string.select_share_friend))) {
|
|
|
Collections.sort(allList, mBaseComparator);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
//计算全部数据完成
|
|
|
- OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- iSelectActiveView.dimssLoading();
|
|
|
- iSelectActiveView.showNumber(numSelect);
|
|
|
- iSelectActiveView.isAllClicked(numSelect == allList.size());
|
|
|
- iSelectActiveView.showModel(allList);
|
|
|
- }
|
|
|
- });
|
|
|
+ OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ iSelectActiveView.dimssLoading();
|
|
|
+ iSelectActiveView.showNumber(numSelect);
|
|
|
+ iSelectActiveView.isAllClicked(numSelect == allList.size());
|
|
|
+ iSelectActiveView.showModel(allList);
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
private boolean isSelected(boolean isClickAll, String SelectCode, String emCode) {
|
|
|
- return !isClickAll && !StringUtil.isEmpty(SelectCode) && StringUtil.isInclude(SelectCode , emCode);
|
|
|
+ return !isClickAll && !StringUtil.isEmpty(SelectCode) && StringUtil.isInclude(SelectCode, emCode);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -343,7 +335,5 @@ public class SelectCollisionPresenter {
|
|
|
return StringUtil.isEmpty(str) ? "" : str;
|
|
|
}
|
|
|
|
|
|
- public boolean isMainThread() {
|
|
|
- return Looper.getMainLooper().getThread() == Thread.currentThread();
|
|
|
- }
|
|
|
+
|
|
|
}
|