|
|
@@ -29,8 +29,8 @@ import com.xzjmyk.pm.activity.ui.erp.activity.SubcribeManageActivity;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.Constants;
|
|
|
+import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
|
|
|
-import com.xzjmyk.pm.activity.ui.tool.ThreadPool;
|
|
|
import com.xzjmyk.pm.activity.util.LoadLocalImageUtil;
|
|
|
import com.xzjmyk.pm.activity.util.TimeUtils;
|
|
|
import com.xzjmyk.pm.activity.util.ToastUtil;
|
|
|
@@ -48,7 +48,6 @@ import java.util.Map;
|
|
|
*/
|
|
|
public class SubscriptionActivity extends BaseActivity {
|
|
|
private static final int LOAD_NET = 0x15;
|
|
|
- private int requestCode = 0x01;
|
|
|
private String emCode;
|
|
|
private String baseUrl;
|
|
|
private PullToRefreshListView listView;
|
|
|
@@ -88,14 +87,6 @@ public class SubscriptionActivity extends BaseActivity {
|
|
|
ToastUtil.showToast(ct, message == null ? "" : message);
|
|
|
}
|
|
|
break;
|
|
|
- case RESULT_OK:
|
|
|
- if (adapter == null) {
|
|
|
- adapter = new SubscriptionAdapter();
|
|
|
- listView.getRefreshableView().setAdapter(adapter);
|
|
|
- } else {
|
|
|
- notifyAdapter();
|
|
|
- }
|
|
|
- break;
|
|
|
case Constants.APP_SOCKETIMEOUTEXCEPTION:
|
|
|
ToastUtil.showToast(ct, "系统内部错误");
|
|
|
break;
|
|
|
@@ -133,6 +124,7 @@ public class SubscriptionActivity extends BaseActivity {
|
|
|
super.onBackPressed();
|
|
|
finish();
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
super.onCreate(savedInstanceState);
|
|
|
@@ -156,6 +148,7 @@ public class SubscriptionActivity extends BaseActivity {
|
|
|
calendar.set(Calendar.MINUTE, 0);
|
|
|
calendar.set(Calendar.SECOND, 0);
|
|
|
newlong = calendar.getTimeInMillis();
|
|
|
+ oldTime=newlong;
|
|
|
loadNetData(newlong);//获取当天的网络数据
|
|
|
}
|
|
|
|
|
|
@@ -169,11 +162,17 @@ public class SubscriptionActivity extends BaseActivity {
|
|
|
newlong = oldTime - daylong;
|
|
|
}
|
|
|
oldTime = newlong;
|
|
|
- SubscriptionMessages = SubscriptionDao.getInstance().findByDate(newlong , (daylong + newlong) , emCode);//获取数据库
|
|
|
- if (SubscriptionMessages == null || SubscriptionMessages.size() <= 0) {//数据库中没有数据
|
|
|
+ SubscriptionMessages = SubscriptionDao.getInstance().findByDate(newlong, (daylong + newlong), emCode);//获取数据库
|
|
|
+ if (ListUtils.isEmpty(SubscriptionMessages)) {//数据库中没有数据
|
|
|
loadNetData(newlong);
|
|
|
} else {//数据库中有数据
|
|
|
loadMore();
|
|
|
+ listView.postDelayed(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ listView.onRefreshComplete();
|
|
|
+ }
|
|
|
+ }, 500);
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
@@ -189,83 +188,86 @@ public class SubscriptionActivity extends BaseActivity {
|
|
|
calendar.set(Calendar.MINUTE, 0);
|
|
|
calendar.set(Calendar.SECOND, 0);
|
|
|
newlong = calendar.getTimeInMillis();
|
|
|
- SubscriptionMessages = SubscriptionDao.getInstance().findByDate(newlong , newlong + daylong, emCode);
|
|
|
+ SubscriptionMessages = SubscriptionDao.getInstance().findByDate(newlong, newlong + daylong, emCode);
|
|
|
if (SubscriptionMessages != null && SubscriptionMessages.size() > 0) {//当天数据库有数据
|
|
|
loadMore();
|
|
|
} else {//当天数据库没有数据
|
|
|
loadNetData(newlong);
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
private void refresh() {
|
|
|
- ThreadPool.getThreadPool().addTask(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- SortSubsrciprion sortSubsrciprion = null;
|
|
|
- for (int i = 0; i < SubscriptionMessages.size(); i++) {
|
|
|
- sortSubsrciprion = new SortSubsrciprion();
|
|
|
- sortSubsrciprion.tiem = Long.parseLong(SubscriptionMessages.get(i).getCREATEDATE_());
|
|
|
- sortSubsrciprion.time = TimeUtils.s_long_2_str(sortSubsrciprion.tiem);
|
|
|
- sortSubsrciprion.beans = new ArrayList<>();
|
|
|
- sortSubsrciprion.beans.add(SubscriptionMessages.get(i));
|
|
|
- if (sortSubsrciprions.size() > 0) {
|
|
|
- for (int j = 0; j < sortSubsrciprions.size(); j++) {
|
|
|
- if (sortSubsrciprion.time.equals(sortSubsrciprions.get(j).time)) {//如果相同
|
|
|
- sortSubsrciprions.get(j).beans.add(SubscriptionMessages.get(i));
|
|
|
- break;
|
|
|
- } else if (j == (sortSubsrciprions.size() - 1)) {//如果到最后一个都不相同
|
|
|
- sortSubsrciprions.add(sortSubsrciprion);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
+ SortSubsrciprion sortSubsrciprion = null;
|
|
|
+ for (int i = 0; i < SubscriptionMessages.size(); i++) {
|
|
|
+ sortSubsrciprion = new SortSubsrciprion();
|
|
|
+ sortSubsrciprion.tiem = Long.parseLong(SubscriptionMessages.get(i).getCREATEDATE_());
|
|
|
+ sortSubsrciprion.time = TimeUtils.s_long_2_str(sortSubsrciprion.tiem);
|
|
|
+ sortSubsrciprion.beans = new ArrayList<>();
|
|
|
+ sortSubsrciprion.beans.add(SubscriptionMessages.get(i));
|
|
|
+ if (sortSubsrciprions.size() > 0) {
|
|
|
+ for (int j = 0; j < sortSubsrciprions.size(); j++) {
|
|
|
+ if (sortSubsrciprion.time.equals(sortSubsrciprions.get(j).time)) {//如果相同
|
|
|
+ sortSubsrciprions.get(j).beans.add(SubscriptionMessages.get(i));
|
|
|
+ break;
|
|
|
+ } else if (j == (sortSubsrciprions.size() - 1)) {//如果到最后一个都不相同
|
|
|
sortSubsrciprions.add(sortSubsrciprion);
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
- handler.sendEmptyMessage(RESULT_OK);
|
|
|
+ } else {
|
|
|
+ sortSubsrciprions.add(sortSubsrciprion);
|
|
|
}
|
|
|
- });
|
|
|
+ }
|
|
|
+ doVistOk();
|
|
|
+ }
|
|
|
|
|
|
+ private void doVistOk() {
|
|
|
+ if (adapter == null) {
|
|
|
+ adapter = new SubscriptionAdapter();
|
|
|
+ adapter.setSortSubsrciprions(sortSubsrciprions);
|
|
|
+ listView.getRefreshableView().setAdapter(adapter);
|
|
|
+ } else {
|
|
|
+ notifyAdapter();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void loadMore() {
|
|
|
- ThreadPool.getThreadPool().addTask(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- if (sortSubsrciprions == null)
|
|
|
- sortSubsrciprions = new ArrayList<>();
|
|
|
- ArrayList<SortSubsrciprion> chche = new ArrayList<>();
|
|
|
- SortSubsrciprion sortSubsrciprion = null;
|
|
|
- for (int i = 0; i < SubscriptionMessages.size(); i++) {
|
|
|
- sortSubsrciprion = new SortSubsrciprion();
|
|
|
- sortSubsrciprion.tiem = Long.parseLong(SubscriptionMessages.get(i).getCREATEDATE_());
|
|
|
- sortSubsrciprion.time = TimeUtils.s_long_2_str(sortSubsrciprion.tiem);
|
|
|
- sortSubsrciprion.beans = new ArrayList<>();
|
|
|
- sortSubsrciprion.beans.add(SubscriptionMessages.get(i));
|
|
|
- if (chche.size() > 0) {
|
|
|
- for (int j = 0; j < chche.size(); j++) {
|
|
|
- if (sortSubsrciprion.time.equals(chche.get(j).time)) {//如果相同
|
|
|
- chche.get(j).beans.add(SubscriptionMessages.get(i));
|
|
|
- break;
|
|
|
- } else if (j == (chche.size() - 1)) {//如果到最后一个都不相同
|
|
|
- chche.add(sortSubsrciprion);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
+ if (sortSubsrciprions == null)
|
|
|
+ sortSubsrciprions = new ArrayList<>();
|
|
|
+ ArrayList<SortSubsrciprion> chche = new ArrayList<>();
|
|
|
+ SortSubsrciprion sortSubsrciprion = null;
|
|
|
+ for (int i = 0; i < SubscriptionMessages.size(); i++) {
|
|
|
+ sortSubsrciprion = new SortSubsrciprion();
|
|
|
+ sortSubsrciprion.tiem = Long.parseLong(SubscriptionMessages.get(i).getCREATEDATE_());
|
|
|
+ sortSubsrciprion.time = TimeUtils.s_long_2_str(sortSubsrciprion.tiem);
|
|
|
+ sortSubsrciprion.beans = new ArrayList<>();
|
|
|
+ sortSubsrciprion.beans.add(SubscriptionMessages.get(i));
|
|
|
+ if (chche.size() > 0) {
|
|
|
+ for (int j = 0; j < chche.size(); j++) {
|
|
|
+ if (sortSubsrciprion.time.equals(chche.get(j).time)) {//如果相同
|
|
|
+ chche.get(j).beans.add(SubscriptionMessages.get(i));
|
|
|
+ break;
|
|
|
+ } else if (j == (chche.size() - 1)) {//如果到最后一个都不相同
|
|
|
chche.add(sortSubsrciprion);
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
- sortSubsrciprions.addAll(chche);
|
|
|
- handler.sendEmptyMessage(RESULT_OK);
|
|
|
+ } else {
|
|
|
+ chche.add(sortSubsrciprion);
|
|
|
}
|
|
|
- });
|
|
|
+ }
|
|
|
+ sortSubsrciprions.addAll(chche);
|
|
|
+ doVistOk();
|
|
|
}
|
|
|
|
|
|
private void notifyAdapter() {
|
|
|
if (adapter != null)
|
|
|
- adapter.notifyDataSetChanged();
|
|
|
+ adapter.setSortSubsrciprions(sortSubsrciprions);
|
|
|
+ else {
|
|
|
+ adapter = new SubscriptionAdapter();
|
|
|
+ adapter.setSortSubsrciprions(sortSubsrciprions);
|
|
|
+ listView.setAdapter(adapter);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void setData() {//网络获取数据时候
|
|
|
@@ -288,7 +290,7 @@ public class SubscriptionActivity extends BaseActivity {
|
|
|
}
|
|
|
|
|
|
private void clearDataToDB(long newlong, long date) {
|
|
|
- SubscriptionDao.getInstance().deleteMessage(newlong, date, emCode);
|
|
|
+ SubscriptionDao.getInstance().deleteMessage(newlong, date, emCode);
|
|
|
}
|
|
|
|
|
|
private void saveDataToDB(List<SubscriptionMessage> subscriptionMessages) {
|
|
|
@@ -312,6 +314,7 @@ public class SubscriptionActivity extends BaseActivity {
|
|
|
}).create().show();
|
|
|
}
|
|
|
|
|
|
+ //获取数据
|
|
|
public void loadNetData(long date) {
|
|
|
//获取网络数据
|
|
|
String url = baseUrl + "common/desktop/subs/getSubs.action";
|
|
|
@@ -326,11 +329,22 @@ public class SubscriptionActivity extends BaseActivity {
|
|
|
|
|
|
//外层list
|
|
|
class SubscriptionAdapter extends BaseAdapter {
|
|
|
+ List<SortSubsrciprion> sortSubsrciprions;
|
|
|
+
|
|
|
+ public List<SortSubsrciprion> getSortSubsrciprions() {
|
|
|
+ return sortSubsrciprions;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setSortSubsrciprions(List<SortSubsrciprion> sortSubsrciprions) {
|
|
|
+ this.sortSubsrciprions = sortSubsrciprions;
|
|
|
+ notifyDataSetChanged();
|
|
|
+ }
|
|
|
+
|
|
|
private ListAdapter listAdapter = null;
|
|
|
|
|
|
@Override
|
|
|
public int getCount() {
|
|
|
- return sortSubsrciprions.size();
|
|
|
+ return ListUtils.isEmpty(sortSubsrciprions) ? 0 : sortSubsrciprions.size();
|
|
|
}
|
|
|
|
|
|
@Override
|