package cn.com.basic.face.service;
|
|
import org.xutils.http.RequestParams;
|
import org.xutils.x;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import cn.com.basic.face.discern.common.BaseCommonCallBack;
|
import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
|
import cn.com.basic.face.fragment.SurveillanceFragment;
|
import cn.com.basic.face.util.AppApi;
|
import cn.com.basic.face.util.Constant;
|
|
public class SurveillanceMng {
|
|
private static SurveillanceMng instance = new SurveillanceMng();
|
|
public static SurveillanceMng getInstance() {
|
return instance;
|
}
|
|
public void findSupervisoryBottomList(final boolean isVisit) {
|
|
RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.SURVEILLANCE_QUERY);
|
// params.addBodyParameter(VisitorQueryCondition.FieldNames.notCompanyId, BaseApplication.getInstance().getPlace().getCompanyId());
|
x.http().post(params, new BaseCommonCallBack() {
|
public void success() {
|
List<SurveillanceQueryItem> list = getList(SurveillanceQueryItem.class);
|
if (isVisit) {
|
int i = 0;
|
for (SurveillanceQueryItem item : list) {
|
if (i % 5 == 0) {
|
item.setType(Constant.Supervisory.VISIT_REGISTER_ITEM_TYPE);
|
} else {
|
item.setType(Constant.Supervisory.VISIT_CHECK_IN_ITEM_TYPE);
|
}
|
i++;
|
}
|
|
List<SurveillanceQueryItem> doubleList = new ArrayList<SurveillanceQueryItem>();
|
fillBlank(list, doubleList);
|
|
SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visit_list_view().show(doubleList, true);
|
} else {
|
SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_attendance_list_view().show(list, true);
|
}
|
}
|
});
|
|
}
|
|
private void fillBlank(List<SurveillanceQueryItem> list, List<SurveillanceQueryItem> doubleList) {
|
List<SurveillanceQueryItem> registerList = new ArrayList<SurveillanceQueryItem>();
|
List<SurveillanceQueryItem> checkInList = new ArrayList<SurveillanceQueryItem>();
|
|
for (SurveillanceQueryItem item : list) {
|
if (item.getType() == Constant.Supervisory.VISIT_REGISTER_ITEM_TYPE) {
|
registerList.add(item);
|
}
|
if (item.getType() == Constant.Supervisory.VISIT_CHECK_IN_ITEM_TYPE) {
|
checkInList.add(item);
|
}
|
}
|
|
List<SurveillanceQueryItem> blenderList = new ArrayList<SurveillanceQueryItem>();
|
|
int i = 0, m = 0, n = 0;
|
for (i = 0; i < registerList.size() + checkInList.size(); i++) {
|
SurveillanceQueryItem item;
|
if (i % 2 == 0 && m < registerList.size()) {
|
item = registerList.get(m);
|
m++;
|
} else {
|
item = checkInList.get(n);
|
n++;
|
}
|
blenderList.add(item);
|
}
|
|
for (SurveillanceQueryItem item : blenderList) {
|
if (doubleList.size() % 2 == 0 && item.getType() != Constant.Supervisory.VISIT_REGISTER_ITEM_TYPE) {
|
doubleList.add(getBlankItem());
|
}
|
if (doubleList.size() % 2 != 0 && item.getType() != Constant.Supervisory.VISIT_CHECK_IN_ITEM_TYPE) {
|
doubleList.add(getBlankItem());
|
}
|
doubleList.add(item);
|
}
|
}
|
|
private SurveillanceQueryItem getBlankItem() {
|
SurveillanceQueryItem blankItem = new SurveillanceQueryItem();
|
blankItem.setType(Constant.Supervisory.VISIT_BLANK_ITEM_TYPE);
|
return blankItem;
|
}
|
|
}
|