|
@@ -17,14 +17,15 @@ import com.xzjmyk.pm.activity.sortlist.PingYinUtil;
|
|
|
import com.xzjmyk.pm.activity.ui.base.BaseActivity;
|
|
import com.xzjmyk.pm.activity.ui.base.BaseActivity;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
|
|
import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.entity.EmployeesEntity;
|
|
import com.xzjmyk.pm.activity.ui.erp.entity.EmployeesEntity;
|
|
|
|
|
+import com.xzjmyk.pm.activity.ui.erp.entity.SelectCollisionTurnBean;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.presenter.imp.ISelectActiveView;
|
|
import com.xzjmyk.pm.activity.ui.erp.presenter.imp.ISelectActiveView;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
|
|
import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
|
|
import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
|
|
|
|
|
+import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
|
|
import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.oa.CommonInterface;
|
|
import com.xzjmyk.pm.activity.ui.erp.util.oa.CommonInterface;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.oa.CompanyHandlerInfoUtil;
|
|
import com.xzjmyk.pm.activity.ui.erp.util.oa.CompanyHandlerInfoUtil;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.oa.HttpHandler;
|
|
import com.xzjmyk.pm.activity.ui.erp.util.oa.HttpHandler;
|
|
|
-import com.xzjmyk.pm.activity.ui.erp.util.oa.OAConfig;
|
|
|
|
|
import com.xzjmyk.pm.activity.ui.tool.ThreadPool;
|
|
import com.xzjmyk.pm.activity.ui.tool.ThreadPool;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
@@ -39,41 +40,30 @@ public class SelectCollisionPresenter {
|
|
|
private ISelectActiveView iSelectActiveView;
|
|
private ISelectActiveView iSelectActiveView;
|
|
|
private List<BaseSortModel<SelectEmUser>> allList;
|
|
private List<BaseSortModel<SelectEmUser>> allList;
|
|
|
private BaseComparator<SelectEmUser> mBaseComparator;
|
|
private BaseComparator<SelectEmUser> mBaseComparator;
|
|
|
- private String selectName;
|
|
|
|
|
|
|
|
|
|
- private boolean backClicked;//确定时候是否返回选中的,如果不是,就是返回不选中的
|
|
|
|
|
|
|
+ private SelectCollisionTurnBean selectBean;
|
|
|
|
|
|
|
|
public SelectCollisionPresenter(ISelectActiveView iSelectActiveView) {
|
|
public SelectCollisionPresenter(ISelectActiveView iSelectActiveView) {
|
|
|
if (iSelectActiveView == null) new NullPointerException("iSelectActiveView is Null");
|
|
if (iSelectActiveView == null) new NullPointerException("iSelectActiveView is Null");
|
|
|
this.iSelectActiveView = iSelectActiveView;
|
|
this.iSelectActiveView = iSelectActiveView;
|
|
|
-
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /**
|
|
|
|
|
- * type
|
|
|
|
|
- * 1.点击选择人员进来,(1.没有选过人 2.选过人了)
|
|
|
|
|
- * 2.选择冲突部门
|
|
|
|
|
- * 3.选择冲突员工
|
|
|
|
|
- *
|
|
|
|
|
- * @param intent
|
|
|
|
|
- */
|
|
|
|
|
- public void start(Intent intent) {
|
|
|
|
|
|
|
+
|
|
|
|
|
+ public void start(SelectCollisionTurnBean selectBean) {
|
|
|
|
|
+ if (selectBean == null) {
|
|
|
|
|
+ LogUtil.i("selectBean == null");
|
|
|
|
|
+ new NullPointerException("Intent cannot be Null");
|
|
|
|
|
+ }
|
|
|
|
|
+ this.selectBean = selectBean;
|
|
|
allList = new ArrayList<>();
|
|
allList = new ArrayList<>();
|
|
|
mBaseComparator = new BaseComparator<>();
|
|
mBaseComparator = new BaseComparator<>();
|
|
|
- if (intent == null) {
|
|
|
|
|
- //TODO 当专递过来的内容为空的
|
|
|
|
|
- } else {
|
|
|
|
|
- initdata(intent);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ initdata();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private void initdata(Intent intent) {
|
|
|
|
|
- List<SelectEmUser> selects = intent.getParcelableArrayListExtra(OAConfig.ARRAY_DATA);
|
|
|
|
|
- selectName = intent.getStringExtra(OAConfig.STRING_DATA);
|
|
|
|
|
- String sureText = intent.getStringExtra("SureText");
|
|
|
|
|
- backClicked = intent.getBooleanExtra("backClicked", true);
|
|
|
|
|
- if (!StringUtils.isEmpty(sureText))
|
|
|
|
|
- iSelectActiveView.showSureText(sureText);
|
|
|
|
|
|
|
+ private void initdata() {
|
|
|
|
|
+ List<SelectEmUser> selects = selectBean.getSelectList();
|
|
|
|
|
+ if (!StringUtils.isEmpty(selectBean.getSureText()))
|
|
|
|
|
+ iSelectActiveView.showSureText(selectBean.getSureText());
|
|
|
if (ListUtils.isEmpty(selects))
|
|
if (ListUtils.isEmpty(selects))
|
|
|
loadDataInThread();
|
|
loadDataInThread();
|
|
|
else
|
|
else
|
|
@@ -118,7 +108,7 @@ public class SelectCollisionPresenter {
|
|
|
iSelectActiveView.showToast("数据为空,没有可选择人员", R.color.load_error);
|
|
iSelectActiveView.showToast("数据为空,没有可选择人员", R.color.load_error);
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
- ArrayList<SelectEmUser> chche = backClicked ? getClickNumber() : getNoClickNumber();
|
|
|
|
|
|
|
+ ArrayList<SelectEmUser> chche = selectBean.isReBackSelect() ? getClickNumber() : getNoClickNumber();
|
|
|
Intent intent = new Intent();
|
|
Intent intent = new Intent();
|
|
|
if (chche instanceof ArrayList)
|
|
if (chche instanceof ArrayList)
|
|
|
intent.putParcelableArrayListExtra("data", chche);
|
|
intent.putParcelableArrayListExtra("data", chche);
|
|
@@ -227,16 +217,13 @@ public class SelectCollisionPresenter {
|
|
|
setUser2Sort(users, false);
|
|
setUser2Sort(users, false);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
private void setUser2Sort(List<SelectEmUser> list, boolean isClickAll) {
|
|
private void setUser2Sort(List<SelectEmUser> list, boolean isClickAll) {
|
|
|
int numSelect = 0;
|
|
int numSelect = 0;
|
|
|
for (SelectEmUser e : list) {
|
|
for (SelectEmUser e : list) {
|
|
|
BaseSortModel<SelectEmUser> mode = new BaseSortModel<>();
|
|
BaseSortModel<SelectEmUser> mode = new BaseSortModel<>();
|
|
|
- if (!isClickAll && !StringUtils.isEmpty(selectName)) {
|
|
|
|
|
- if (StringUtils.isEmpty(e.getEmName()) && StringUtils.isInclude(selectName, e.getEmName())) {
|
|
|
|
|
- numSelect++;
|
|
|
|
|
- mode.setClick(true);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if (isSelected(isClickAll, selectBean.getSelectCode(), e.getEmCode())) {
|
|
|
|
|
+ numSelect++;
|
|
|
|
|
+ mode.setClick(true);
|
|
|
} else {
|
|
} else {
|
|
|
mode.setClick(isClickAll);
|
|
mode.setClick(isClickAll);
|
|
|
if (isClickAll) numSelect++;
|
|
if (isClickAll) numSelect++;
|
|
@@ -253,6 +240,10 @@ public class SelectCollisionPresenter {
|
|
|
iSelectActiveView.showModel(allList);
|
|
iSelectActiveView.showModel(allList);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private boolean isSelected(boolean isClickAll, String SelectCode, String emCode) {
|
|
|
|
|
+ return !isClickAll && !StringUtils.isEmpty(SelectCode) && StringUtils.isInclude("," + SelectCode + ",", "," + emCode + ",");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 对特定成员进行排序
|
|
* 对特定成员进行排序
|
|
|
*
|
|
*
|