|
|
@@ -7,6 +7,7 @@ import android.content.Intent;
|
|
|
import android.content.IntentFilter;
|
|
|
import android.os.Bundle;
|
|
|
import android.os.Handler;
|
|
|
+import android.os.Message;
|
|
|
import android.text.Editable;
|
|
|
import android.text.TextUtils;
|
|
|
import android.text.TextWatcher;
|
|
|
@@ -48,7 +49,10 @@ import com.sk.weichat.ui.erp.activity.NewsTwoActivity;
|
|
|
import com.sk.weichat.ui.erp.activity.NoticesActivity;
|
|
|
import com.sk.weichat.ui.erp.activity.ScheduleActivity;
|
|
|
import com.sk.weichat.ui.erp.activity.TaskActivity;
|
|
|
+import com.sk.weichat.ui.erp.model.AllProcess;
|
|
|
import com.sk.weichat.ui.erp.util.CommonUtil;
|
|
|
+import com.sk.weichat.ui.erp.util.Constants;
|
|
|
+import com.sk.weichat.ui.erp.util.FlexJsonUtil;
|
|
|
import com.sk.weichat.ui.erp.util.ViewUtil;
|
|
|
import com.sk.weichat.util.HtmlUtils;
|
|
|
import com.sk.weichat.util.ProgressDialogUtil;
|
|
|
@@ -66,7 +70,9 @@ import com.sk.weichat.volley.StringJsonObjectRequest;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
+import java.util.LinkedHashMap;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* @desc:消息列表
|
|
|
@@ -84,6 +90,7 @@ public class MessageFragment extends EasyFragment {
|
|
|
private NearlyMessageAdapter mAdapter;
|
|
|
private Handler mHandler = new Handler();
|
|
|
private boolean isRefeshed;
|
|
|
+ //界面更新广播
|
|
|
private BroadcastReceiver mUpdateReceiver = new BroadcastReceiver() {
|
|
|
@Override
|
|
|
public void onReceive(Context context, Intent intent) {
|
|
|
@@ -177,7 +184,7 @@ public class MessageFragment extends EasyFragment {
|
|
|
mPullToRefreshListView.setOnRefreshListener(new OnRefreshListener<SlideListView>() {
|
|
|
@Override
|
|
|
public void onRefresh(PullToRefreshBase<SlideListView> refreshView) {
|
|
|
- upDataFriend();
|
|
|
+ //upDataFriend();
|
|
|
loadData();
|
|
|
}
|
|
|
});
|
|
|
@@ -189,27 +196,20 @@ public class MessageFragment extends EasyFragment {
|
|
|
if (friend.getRoomFlag() == 0) {
|
|
|
if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友消息
|
|
|
startActivity(new Intent(getActivity(), NewFriendActivity.class));
|
|
|
- }
|
|
|
- else if (friend.getUserId().equals(Friend.ID_ERP_PROCESS)){//待办事宜
|
|
|
+ } else if (friend.getUserId().equals(Friend.ID_ERP_PROCESS)) {//待办事宜
|
|
|
//ViewUtil.ShowMessageFDialogAutoDismiss(getActivity(),"待审批流程",2000);
|
|
|
startActivity(new Intent(getActivity(), ScheduleActivity.class));
|
|
|
- }
|
|
|
- else if(friend.getUserId().equals(Friend.ID_ERP_TASK)){//我的任务
|
|
|
+ } else if (friend.getUserId().equals(Friend.ID_ERP_TASK)) {//我的任务
|
|
|
startActivity(new Intent(getActivity(), TaskActivity.class));
|
|
|
- }
|
|
|
- else if(friend.getUserId().equals(Friend.ID_ERP_ZHIHUI)){//我的知会
|
|
|
+ } else if (friend.getUserId().equals(Friend.ID_ERP_ZHIHUI)) {//我的知会
|
|
|
startActivity(new Intent(getActivity(), InformActivity.class));
|
|
|
- }
|
|
|
- else if(friend.getUserId().equals(Friend.ID_ERP_NEWS)){//新闻
|
|
|
- startActivity(new Intent(getActivity(),NewsTwoActivity.class));
|
|
|
- }
|
|
|
- else if(friend.getUserId().equals(Friend.ID_ERP_NOTICE)){//通知
|
|
|
- startActivity(new Intent(getActivity(), NoticesActivity.class).putExtra("type",1));
|
|
|
- }
|
|
|
- else if(friend.getUserId().equals(Friend.ID_ERP_GONGGAO)){//公告
|
|
|
- startActivity(new Intent(getActivity(), NoticesActivity.class).putExtra("type",0));
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else if (friend.getUserId().equals(Friend.ID_ERP_NEWS)) {//新闻
|
|
|
+ startActivity(new Intent(getActivity(), NewsTwoActivity.class));
|
|
|
+ } else if (friend.getUserId().equals(Friend.ID_ERP_NOTICE)) {//通知
|
|
|
+ startActivity(new Intent(getActivity(), NoticesActivity.class).putExtra("type", 1));
|
|
|
+ } else if (friend.getUserId().equals(Friend.ID_ERP_GONGGAO)) {//公告
|
|
|
+ startActivity(new Intent(getActivity(), NoticesActivity.class).putExtra("type", 0));
|
|
|
+ } else {
|
|
|
Intent intent = new Intent(getActivity(), ChatActivity.class);
|
|
|
intent.putExtra(ChatActivity.FRIEND, friend);
|
|
|
startActivity(intent);
|
|
|
@@ -315,6 +315,7 @@ public class MessageFragment extends EasyFragment {
|
|
|
}
|
|
|
}).start();
|
|
|
|
|
|
+ //loadERPMsgNum(getActivity());//另外的线程网络请求
|
|
|
}
|
|
|
|
|
|
private final void setSortCondition(BaseSortModel<Friend> mode) {
|
|
|
@@ -406,6 +407,10 @@ public class MessageFragment extends EasyFragment {
|
|
|
getActivity().sendBroadcast(mIntent);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
public class NearlyMessageAdapter extends SlideBaseAdapter {
|
|
|
|
|
|
public NearlyMessageAdapter(Context context) {
|
|
|
@@ -553,4 +558,81 @@ public class MessageFragment extends EasyFragment {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public Map<String,Object> getErpMsgNums(Message msg){
|
|
|
+ Map<String,Object> numMap=new HashMap<String,Object>();
|
|
|
+ String reString=msg.getData().getString("result");
|
|
|
+ if (reString != null && !reString.equals("500")) {
|
|
|
+ Map<String, Object> results = FlexJsonUtil.fromJson(reString);
|
|
|
+ if (results.get("allProcess") != null) {
|
|
|
+ List<AllProcess> allProcesses = new ArrayList<AllProcess>();
|
|
|
+ try {
|
|
|
+ allProcesses = FlexJsonUtil.fromJsonArray(
|
|
|
+ FlexJsonUtil.toJson(results.get("allProcess")),
|
|
|
+ AllProcess.class);
|
|
|
+ } catch (Exception e) {}
|
|
|
+ int task_num = 0, pagin_num = 0, daiban_num = 0;
|
|
|
+ for (int i = 0; i < allProcesses.size(); i++) {
|
|
|
+ if (allProcesses.get(i).getTypecode().contains("task")) {
|
|
|
+ task_num++;
|
|
|
+ } else if (allProcesses.get(i).getTypecode()
|
|
|
+ .contains("pagingrelease")) {
|
|
|
+ pagin_num++;
|
|
|
+ } else {
|
|
|
+ daiban_num++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ String owerId= MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
+ //clear
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_PROCESS);
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_TASK);
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_ZHIHUI);
|
|
|
+ //update
|
|
|
+ FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_PROCESS, daiban_num);
|
|
|
+ FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_TASK, task_num);
|
|
|
+ FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_ZHIHUI, pagin_num);
|
|
|
+ //MsgBroadcast.broadcastMsgNumUpdate(MyApplication.getInstance(), true, 1);
|
|
|
+ return numMap;
|
|
|
+ } else {
|
|
|
+ String owerId= MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_PROCESS);
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_TASK);
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_ZHIHUI);
|
|
|
+ return numMap;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ String owerId= MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_PROCESS);
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_TASK);
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_ZHIHUI);
|
|
|
+ return numMap;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public void loadERPMsgNum(Context ct){
|
|
|
+ String url= Constants.getAppBaseUrl(ct)+"mobile/getallprocess.action";
|
|
|
+ Map<String, Object> param=new HashMap<String, Object>();
|
|
|
+ param.put("employeeCode", CommonUtil.getSharedPreferences(ct, "erp_username"));
|
|
|
+ param.put("currentMaster", CommonUtil.getSharedPreferences(ct, "erp_master"));
|
|
|
+ param.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
+ LinkedHashMap<String , Object> headers=new LinkedHashMap<>();
|
|
|
+ headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
+ com.sk.weichat.ui.erp.net.ViewUtil.httpSendRequest(ct, url, param, handler, headers, load_success_erpMsgNum, null, null, "get");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private final int load_success_erpMsgNum=5;
|
|
|
+ private Handler handler=new Handler(){
|
|
|
+ @Override
|
|
|
+ public void handleMessage(Message msg) {
|
|
|
+ switch (msg.what){
|
|
|
+ case load_success_erpMsgNum:
|
|
|
+ getErpMsgNums(msg);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
}
|