浏览代码

打包测试发布版本

Bitliker 9 年之前
父节点
当前提交
c584291912

+ 1 - 1
WeiChat/build.gradle

@@ -118,6 +118,7 @@ dependencies {
     //    compile fileTree(include: ['*.jar'], dir: 'libs')
     compile files('libs/Msc.jar')
     compile project(':library')
+    compile files('libs/zhy_treeview.jar')
     compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'
     compile 'com.android.support:support-v4:22.2.1'
     compile 'com.android.support:appcompat-v7:22.2.1'
@@ -134,5 +135,4 @@ dependencies {
     androidTestCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
     debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5'
     releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
-    compile files('libs/zhy_treeview.jar')
 }

+ 160 - 149
WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/message/XmppMessage.java

@@ -5,154 +5,165 @@ import com.j256.ormlite.field.DatabaseField;
 
 public abstract class XmppMessage {
 
-	/** 消息类型:系统广播消息 */
-	public static final int TYPE_800 = 800;// 系统广播
-	public static final int TYPE_801 = 801;// 活动报名
-	public static final int TYPE_802 = 802;// 奖励促销
-	/** 消息类型:群聊提示消息 */
-	public static final int TYPE_900 = 900;// 已进群
-	public static final int TYPE_901 = 901;// 已退群
-	// /** 消息类型:面试中心消息 */
-	// public static final int TYPE_70 = 70;// 新面试
-	// public static final int TYPE_71 = 71;// 笔试成绩
-	// public static final int TYPE_72 = 72;// 静态面试成绩
-	// public static final int TYPE_73 = 73;// 动态面试成绩
-	/** 消息类型:商务圈消息 */
-	public static final int TYPE_600 = 600;// 新评论
-	public static final int TYPE_601 = 601;// 新礼物
-	public static final int TYPE_602 = 602;// 新赞
-	public static final int TYPE_603 = 603;// 新公共消息
-	/** 消息类型:新朋友消息 */
-	public static final int TYPE_SAYHELLO = 500;// 打招呼
-	public static final int TYPE_PASS = 501;// 同意加好友
-	public static final int TYPE_FEEDBACK = 502;// 回话
-	public static final int TYPE_NEWSEE = 503;// 新关注
-	public static final int TYPE_DELSEE = 504;// 删除关注
-	public static final int TYPE_DELALL = 505;// 彻底删除
-	public static final int TYPE_RECOMMEND = 506;// 新推荐好友
-	public static final int TYPE_BLACK = 507;// 黑名单
-	public static final int TYPE_FRIEND = 508;// 直接成为好友
-	/** 消息类型:正在输入消息 */
-	public static final int TYPE_ENTERING = 400;// 正在输入消息
-	// //////////////////////////////以上均为广播消息的类型///////////////////////////////
-
-	// //////////////////////////////以下为在聊天界面显示的类型///////////////////////////////
-	public static final int TYPE_TEXT = 1;// 文字
-	public static final int TYPE_IMAGE = 2;// 图片
-	public static final int TYPE_VOICE = 3;// 语音
-	public static final int TYPE_LOCATION = 4;// 位置
-	public static final int TYPE_GIF = 5;// gif
-	public static final int TYPE_VIDEO = 6;// 视频
-	public static final int TYPE_SIP_AUDIO = 7;// 音频
-	public static final int TYPE_CARD = 8;// 名片
-	public static final int TYPE_FILE = 9;//文件
-	public static final int TYPE_TIP = 10;// 自己添加的消息类型,代表系统的提示
-
-	// 面试者收到的职位、初试、面试推送类型
-	public static final int TYPE_201 = 201;// 收到招聘方同意申请,进入初试
-	public static final int TYPE_202 = 202;// 收到招聘方通过初试,进入面试
-	public static final int TYPE_203 = 203;// 收到招聘方未通过初试
-	public static final int TYPE_204 = 204;// 收到招聘方面试邀请(后台发送的)
-	public static final int TYPE_205 = 205;// 收到招聘方重设的面试时间
-	public static final int TYPE_206 = 206;// 收到招聘方通过面试
-	public static final int TYPE_207 = 207;// 收到招聘方未通过面试
-	public static final int TYPE_208 = 208;// 收到招聘方物理删除面试(暂时无此推送)
-	public static final int TYPE_209 = 209;// 收到招聘方物理删除初始(暂时无此推送)
-	public static final int TYPE_210 = 210;// 申请通过,直接面试
-	public static final int TYPE_211 = 211;// 申请通过,直接线下复试
-	public static final int TYPE_212 = 212;// 初试通过,直接线下复试
-	// 自定义的模拟推送
-	public static final int TYPE_299 = 299;// 自己模拟的面试从未开始到进行中
-
-	// 招聘者收到的职位、初试、面试推送类型
-	public static final int TYPE_300 = 300;// 收到应聘方应聘申请
-	public static final int TYPE_301 = 301;// 收到应聘方交卷
-	public static final int TYPE_302 = 302;// 收到应聘方拒绝初试
-	public static final int TYPE_303 = 303;// 收到应聘方确定面试时间
-	public static final int TYPE_304 = 304;// 收到应聘方拒绝面试
-	public static final int TYPE_305 = 305;// 收到另一HR暂停职位
-	public static final int TYPE_306 = 306;// 收到另一HR恢复职位(无用)
-	public static final int TYPE_307 = 307;// 收到另一HR取消职位
-	public static final int TYPE_308 = 308;// 收到另一HR删除职位(无用)
-	// 自定义的模拟推送
-	public static final int TYPE_398 = 398;// 自己模拟的面试未开始推送
-	public static final int TYPE_399 = 399;// 自己模拟的初试待交卷推送
-	// 群聊推送
-	public static final int TYPE_CHANGE_NICK_NAME = 901;// 修改昵称
-	public static final int TYPE_CHANGE_ROOM_NAME = 902;// 修改房间名
-	public static final int TYPE_DELETE_ROOM = 903;// 删除房间
-	public static final int TYPE_DELETE_MEMBER = 904;// 删除成员
-	public static final int TYPE_NEW_NOTICE = 905;// 新公告
-	public static final int TYPE_GAG = 906;// 禁言
-	public static final int NEW_MEMBER = 907;//增加新成员
-
-	@DatabaseField(canBeNull = false)
-	protected String packetId;// 消息包的Id
-
-	/* 网络传输字段 */
-	@DatabaseField(canBeNull = false)
-	protected int type;// 消息的类型
-
-	@DatabaseField(canBeNull = false)
-	protected int timeSend;// 发送时间,秒级别的,为点击发送按钮,开始发送的时间
-
-	@DatabaseField
-	protected boolean isMySend = true;// 是否是由我自己发送,代替toUserId,toUserId废弃不用,默认值true,代表是我发送的
-
-	public boolean isMySend() {
-		return isMySend;
-	}
-
-	public void setMySend(boolean isMySend) {
-		this.isMySend = isMySend;
-	}
-
-	public int getType() {
-		return type;
-	}
-
-	public void setType(int type) {
-		this.type = type;
-	}
-
-	public int getTimeSend() {
-		return timeSend;
-	}
-
-	public void setTimeSend(int timeSend) {
-		this.timeSend = timeSend;
-	}
-
-	public String getPacketId() {
-		return packetId;
-	}
-
-	public void setPacketId(String packetId) {
-		this.packetId = packetId;
-	}
-
-	protected String getStringValueFromJSONObject(JSONObject jObject, String key) {
-		String value = "";
-		try {
-			value = jObject.getString(key);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		if (value == null) {
-			value = "";
-		}
-		return value;
-	}
-
-	protected int getIntValueFromJSONObject(JSONObject jObject, String key) {
-		int value = 0;
-		try {
-			value = jObject.getIntValue(key);
-		} catch (Exception e) {
-			e.printStackTrace();
-			value = 0;
-		}
-		return value;
-	}
+    /**
+     * 消息类型:系统广播消息
+     */
+    public static final int TYPE_800 = 800;// 系统广播
+    public static final int TYPE_801 = 801;// 活动报名
+    public static final int TYPE_802 = 802;// 奖励促销
+    /**
+     * 消息类型:群聊提示消息
+     */
+    public static final int TYPE_900 = 900;// 已进群
+    public static final int TYPE_901 = 901;// 已退群
+    // /** 消息类型:面试中心消息 */
+    // public static final int TYPE_70 = 70;// 新面试
+    // public static final int TYPE_71 = 71;// 笔试成绩
+    // public static final int TYPE_72 = 72;// 静态面试成绩
+    // public static final int TYPE_73 = 73;// 动态面试成绩
+    /**
+     * 消息类型:商务圈消息
+     */
+    public static final int TYPE_600 = 600;// 新评论
+    public static final int TYPE_601 = 601;// 新礼物
+    public static final int TYPE_602 = 602;// 新赞
+    public static final int TYPE_603 = 603;// 新公共消息
+    /**
+     * 消息类型:新朋友消息
+     */
+    public static final int TYPE_SAYHELLO = 500;// 打招呼
+    public static final int TYPE_PASS = 501;// 同意加好友
+    public static final int TYPE_FEEDBACK = 502;// 回话
+    public static final int TYPE_NEWSEE = 503;// 新关注
+    public static final int TYPE_DELSEE = 504;// 删除关注
+    public static final int TYPE_DELALL = 505;// 彻底删除
+    public static final int TYPE_RECOMMEND = 506;// 新推荐好友
+    public static final int TYPE_BLACK = 507;// 黑名单
+    public static final int TYPE_FRIEND = 508;// 直接成为好友
+    /**
+     * 消息类型:正在输入消息
+     */
+    public static final int TYPE_ENTERING = 400;// 正在输入消息
+    // //////////////////////////////以上均为广播消息的类型///////////////////////////////
+
+    // //////////////////////////////以下为在聊天界面显示的类型///////////////////////////////
+    public static final int TYPE_TEXT = 1;// 文字
+    public static final int TYPE_IMAGE = 2;// 图片
+    public static final int TYPE_VOICE = 3;// 语音
+    public static final int TYPE_LOCATION = 4;// 位置
+    public static final int TYPE_GIF = 5;// gif
+    public static final int TYPE_VIDEO = 6;// 视频
+    public static final int TYPE_SIP_AUDIO = 7;// 音频
+    public static final int TYPE_CARD = 8;// 名片
+    public static final int TYPE_FILE = 9;//文件
+    public static final int TYPE_TIP = 10;// 自己添加的消息类型,代表系统的提示
+    public static final int TYPE_ERP = 11;// 消息知会
+
+    // 面试者收到的职位、初试、面试推送类型
+    public static final int TYPE_201 = 201;// 收到招聘方同意申请,进入初试
+    public static final int TYPE_202 = 202;// 收到招聘方通过初试,进入面试
+    public static final int TYPE_203 = 203;// 收到招聘方未通过初试
+    public static final int TYPE_204 = 204;// 收到招聘方面试邀请(后台发送的)
+    public static final int TYPE_205 = 205;// 收到招聘方重设的面试时间
+    public static final int TYPE_206 = 206;// 收到招聘方通过面试
+    public static final int TYPE_207 = 207;// 收到招聘方未通过面试
+    public static final int TYPE_208 = 208;// 收到招聘方物理删除面试(暂时无此推送)
+    public static final int TYPE_209 = 209;// 收到招聘方物理删除初始(暂时无此推送)
+    public static final int TYPE_210 = 210;// 申请通过,直接面试
+    public static final int TYPE_211 = 211;// 申请通过,直接线下复试
+    public static final int TYPE_212 = 212;// 初试通过,直接线下复试
+    // 自定义的模拟推送
+    public static final int TYPE_299 = 299;// 自己模拟的面试从未开始到进行中
+
+    // 招聘者收到的职位、初试、面试推送类型
+    public static final int TYPE_300 = 300;// 收到应聘方应聘申请
+    public static final int TYPE_301 = 301;// 收到应聘方交卷
+    public static final int TYPE_302 = 302;// 收到应聘方拒绝初试
+    public static final int TYPE_303 = 303;// 收到应聘方确定面试时间
+    public static final int TYPE_304 = 304;// 收到应聘方拒绝面试
+    public static final int TYPE_305 = 305;// 收到另一HR暂停职位
+    public static final int TYPE_306 = 306;// 收到另一HR恢复职位(无用)
+    public static final int TYPE_307 = 307;// 收到另一HR取消职位
+    public static final int TYPE_308 = 308;// 收到另一HR删除职位(无用)
+    // 自定义的模拟推送
+    public static final int TYPE_398 = 398;// 自己模拟的面试未开始推送
+    public static final int TYPE_399 = 399;// 自己模拟的初试待交卷推送
+    // 群聊推送
+    public static final int TYPE_CHANGE_NICK_NAME = 901;// 修改昵称
+    public static final int TYPE_CHANGE_ROOM_NAME = 902;// 修改房间名
+    public static final int TYPE_DELETE_ROOM = 903;// 删除房间
+    public static final int TYPE_DELETE_MEMBER = 904;// 删除成员
+    public static final int TYPE_NEW_NOTICE = 905;// 新公告
+    public static final int TYPE_GAG = 906;// 禁言
+    public static final int NEW_MEMBER = 907;//增加新成员
+
+    @DatabaseField(canBeNull = false)
+    protected String packetId;// 消息包的Id
+
+    /* 网络传输字段 */
+    @DatabaseField(canBeNull = false)
+    protected int type;// 消息的类型
+
+    @DatabaseField(canBeNull = false)
+    protected int timeSend;// 发送时间,秒级别的,为点击发送按钮,开始发送的时间
+
+    @DatabaseField
+    protected boolean isMySend = true;// 是否是由我自己发送,代替toUserId,toUserId废弃不用,默认值true,代表是我发送的
+
+    public boolean isMySend() {
+        return isMySend;
+    }
+
+    public void setMySend(boolean isMySend) {
+        this.isMySend = isMySend;
+    }
+
+    public int getType() {
+        return type;
+    }
+
+    public void setType(int type) {
+        this.type = type;
+    }
+
+    public int getTimeSend() {
+        return timeSend;
+    }
+
+    public void setTimeSend(int timeSend) {
+        this.timeSend = timeSend;
+    }
+
+    public String getPacketId() {
+        return packetId;
+    }
+
+    public void setPacketId(String packetId) {
+        this.packetId = packetId;
+    }
+
+    protected String getStringValueFromJSONObject(JSONObject jObject, String key) {
+        String value = "";
+        try {
+            value = jObject.getString(key);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        if (value == null) {
+            value = "";
+        }
+        return value;
+    }
+
+    protected int getIntValueFromJSONObject(JSONObject jObject, String key) {
+        int value = 0;
+        try {
+            value = jObject.getIntValue(key);
+        } catch (Exception e) {
+            e.printStackTrace();
+            value = 0;
+        }
+        return value;
+    }
 
 }

+ 23 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/SelectCollisionActivity.java

@@ -7,20 +7,22 @@ import android.widget.AdapterView;
 import android.widget.CheckBox;
 import android.widget.CompoundButton;
 import android.widget.ListView;
+import android.widget.RelativeLayout;
 import android.widget.TextView;
 
 import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.bean.oa.SelectEmUser;
 import com.xzjmyk.pm.activity.sortlist.BaseSortModel;
 import com.xzjmyk.pm.activity.sortlist.SideBar;
 import com.xzjmyk.pm.activity.ui.erp.adapter.oa.SelectActiveAdapter;
 import com.xzjmyk.pm.activity.ui.erp.entity.EditChangeListener;
-import com.xzjmyk.pm.activity.bean.oa.SelectEmUser;
 import com.xzjmyk.pm.activity.ui.erp.presenter.SelectActivePresenter;
 import com.xzjmyk.pm.activity.ui.erp.presenter.imp.ISelectActiveView;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
+import com.xzjmyk.pm.activity.ui.erp.view.EmptyLayout;
 import com.xzjmyk.pm.activity.view.ClearEditText;
 
 import java.util.List;
@@ -28,6 +30,8 @@ import java.util.List;
 public class SelectCollisionActivity extends OABaseActivity implements ISelectActiveView {
     @ViewInject(R.id.recyclerview)
     private ListView listView;
+    @ViewInject(R.id.select_rl)
+    private RelativeLayout select_rl;
     @ViewInject(R.id.search_edit)
     private ClearEditText search_edit;
     @ViewInject(R.id.sidebar)
@@ -45,6 +49,8 @@ public class SelectCollisionActivity extends OABaseActivity implements ISelectAc
     private int allSelect = 0;
     private boolean isClickCb = true;
 
+    private EmptyLayout emptyLayout;
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -55,6 +61,11 @@ public class SelectCollisionActivity extends OABaseActivity implements ISelectAc
     }
 
     private void initView() {
+        emptyLayout = new EmptyLayout(ct, listView);
+        emptyLayout.setShowLoadingButton(false);
+        emptyLayout.setShowEmptyButton(false);
+        emptyLayout.setShowErrorButton(false);
+        emptyLayout.setEmptyViewRes(R.layout.view_empty);
         sidebar.setTextView(text_dialog);
         presenter = new SelectActivePresenter(this);
         if (getIntent() != null) {
@@ -102,7 +113,7 @@ public class SelectCollisionActivity extends OABaseActivity implements ISelectAc
             @Override
             public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                 if (isClickCb) {
-                    presenter.changeChecked(b);
+                    presenter.changeChecked(b,adapter.getListData());
                     all_sure_cb.setText(b ? "取消全选" : "全选");
                 } else isClickCb = true;
             }
@@ -126,6 +137,7 @@ public class SelectCollisionActivity extends OABaseActivity implements ISelectAc
 
     @Override
     public void showModel(List<BaseSortModel<SelectEmUser>> models) {
+
         if (adapter == null) {
             adapter = new SelectActiveAdapter();
             adapter.setListData(models);
@@ -134,6 +146,14 @@ public class SelectCollisionActivity extends OABaseActivity implements ISelectAc
             adapter.setListData(models);
             adapter.notifyDataSetChanged();
         }
+        if (ListUtils.isEmpty(models)) {
+            emptyLayout.showEmpty();
+            sidebar.setVisibility(View.GONE);
+            select_rl.setVisibility(View.GONE);
+        } else {
+            sidebar.setVisibility(View.VISIBLE);
+            select_rl.setVisibility(View.VISIBLE);
+        }
     }
 
 
@@ -178,7 +198,7 @@ public class SelectCollisionActivity extends OABaseActivity implements ISelectAc
             isClickCb = false;
             all_sure_cb.setChecked(false);
             all_sure_cb.setText("全选");
-        } else if (isClicked && !all_sure_cb.isChecked()&&!ListUtils.isEmpty(adapter.getListData())&&allSelect==adapter.getListData().size()) {
+        } else if (isClicked && !all_sure_cb.isChecked() && !ListUtils.isEmpty(adapter.getListData()) && allSelect == adapter.getListData().size()) {
             isClickCb = false;
             all_sure_cb.setChecked(true);
             all_sure_cb.setText("取消全选");

+ 5 - 6
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/SelectActivePresenter.java

@@ -77,15 +77,14 @@ public class SelectActivePresenter implements HttpHandler.OnResultListener {
     }
 
 
-    public void changeChecked(boolean b) {
-        if (ListUtils.isEmpty(allList)) {
+    public void changeChecked(boolean b, List<BaseSortModel<SelectEmUser>> listData) {
+        if (ListUtils.isEmpty(listData)) {
             //TODO
         } else {
-            for (int i = 0; i < allList.size(); i++) {
-                allList.get(i).setClick(b);
+            for (int i = 0; i < listData.size(); i++) {
+                listData.get(i).setClick(b);
             }
-
-            iSelectActiveView.showModel(allList);
+            iSelectActiveView.showModel(listData);
             ArrayList<SelectEmUser> chche = getClickNumber();
             iSelectActiveView.showNumber(chche.size());
         }

+ 93 - 8
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MessageFragment.java

@@ -24,6 +24,7 @@ import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.android.volley.Response.ErrorListener;
 import com.android.volley.VolleyError;
 import com.handmark.pulltorefresh.library.PullToRefreshBase;
@@ -70,6 +71,7 @@ import com.xzjmyk.pm.activity.ui.erp.util.FlexJsonUtil;
 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.ObjectUtils;
+import com.xzjmyk.pm.activity.ui.erp.util.auto.HttpHandler;
 import com.xzjmyk.pm.activity.ui.message.uas.B2bMsgActivity;
 import com.xzjmyk.pm.activity.ui.tool.ThreadPool;
 import com.xzjmyk.pm.activity.util.HtmlUtils;
@@ -77,6 +79,7 @@ import com.xzjmyk.pm.activity.util.StringUtils;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.util.ToastUtil;
 import com.xzjmyk.pm.activity.util.ViewHolder;
+import com.xzjmyk.pm.activity.util.WorkHandlerUtil;
 import com.xzjmyk.pm.activity.view.ClearEditText;
 import com.xzjmyk.pm.activity.view.DrawableCenterTextView;
 import com.xzjmyk.pm.activity.view.PullToRefreshSlideListView;
@@ -85,6 +88,8 @@ import com.xzjmyk.pm.activity.volley.Result;
 import com.xzjmyk.pm.activity.volley.StringJsonArrayRequest;
 
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -286,6 +291,12 @@ public class MessageFragment extends EasyFragment implements RecognizerDialogLis
                 if (friend == null) {
                     return;
                 }
+                if (friend.getType() == XmppMessage.TYPE_ERP) {
+                    //消息
+                    //TODO 调转到制定界面
+                    turn2ERp(friend);
+                    return;
+                }
                 if (friend.getRoomFlag() == 0) {
                     if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友消息
                         startActivity(new Intent(mActivity, NewFriendActivity.class));
@@ -318,6 +329,17 @@ public class MessageFragment extends EasyFragment implements RecognizerDialogLis
         });
     }
 
+    /**
+     * 调转到对应ERP相关知会里面去
+     *
+     * @param friend
+     */
+    private void turn2ERp(Friend friend) {
+        String description = friend.getDescription();
+        if (StringUtils.isEmpty(description)) return;
+
+    }
+
     public void setNetNoticeVisiable(boolean visiable) {
         if (mNetTextView != null) {
             if (visiable) {
@@ -398,10 +420,9 @@ public class MessageFragment extends EasyFragment implements RecognizerDialogLis
     };
 
 
-    //by gongpm 刷新数据提取方法
     private void refreshUI() {
         if (!AppConfig.COMPANY) return;
-        loadData();
+        loadDataByErp();
         FriendDao.getInstance().markUserMessageRead(
                 MyApplication.getInstance().mLoginUser.getUserId(),
                 Friend.ID_ERP_ZHIHUI);
@@ -467,12 +488,74 @@ public class MessageFragment extends EasyFragment implements RecognizerDialogLis
         }
     }
 
+    private void loadDataByErp() {
+        mOriginalFriendList.clear();
+        mFriendList.clear();
+        Map<String, Object> param = new HashMap<>();
+        param.put("emcode", CommonUtil.getSharedPreferences(ct, "erp_username"));
+        HttpHandler.getInstance().loadERPByNet(0x11, "mobile/queryEmNews.action", param, null, new HttpHandler.OnResultListener() {
+            @Override
+            public void result(int what, boolean isJSON, String message, Bundle bundle) {
+                if (!isJSON) return;
+                JSONObject object = JSON.parseObject(message);
+                //TODO 获取到消息的总数
+                int allCount = WorkHandlerUtil.getIntByJson(object, "allCount");
+                if (!object.containsKey("listdata")) return;
+                JSONArray array = object.getJSONArray("listdata");
+                handlerNewsFormErp(array);
+                loadDataByIm();
+            }
+
+            @Override
+            public void error(int what, int statuCode, String message, Bundle bundle) {
+
+            }
+        });
+    }
+
+    private Comparator<BaseSortModel<Friend>> erpComparator = null;
+
+    private void handlerNewsFormErp(JSONArray array) {
+        if (ListUtils.isEmpty(array)) {
+            //TODO  为空数据情况下
+            return;
+        }
+        List<BaseSortModel<Friend>> erpFriend = new ArrayList<>();
+        JSONObject object = null;
+        Friend friend = null;
+        for (int i = 0; i < array.size(); i++) {
+            object = array.getJSONObject(i);
+            friend = new Friend();
+            friend.setNickName(object.getString("title"));
+            friend.setContent(object.getString("lastMessage"));
+            friend.setTimeSend(10000000);
+            friend.setType(XmppMessage.TYPE_ERP);
+            friend.setDescription(object.getString("type"));
+            BaseSortModel<Friend> mode = new BaseSortModel<>();
+            mode.setBean(friend);
+            setSortCondition(mode);
+            erpFriend.add(mode);
+        }
+        if (erpComparator == null) {
+            erpComparator = new Comparator<BaseSortModel<Friend>>() {
+                public int compare(BaseSortModel<Friend> s1, BaseSortModel<Friend> s2) {
+                    return (s1.getBean().getTimeSend() - s2.getBean().getTimeSend());
+                }
+            };
+        }
+        Collections.sort(erpFriend, erpComparator);
+        mFriendList.addAll(0, erpFriend);
+        mOriginalFriendList.addAll(0, erpFriend);
+        mAdapter.notifyDataSetChanged();
+    }
+
     /**
      * 请求加载新的筛选条件的数据
      * <p/>
      * 是下拉刷新,还是上拉加载
      */
-    private void loadData() {
+    private void loadDataByIm() {
+        //TODO im部分
         new Thread(new Runnable() {
             @Override
             public void run() {
@@ -487,12 +570,10 @@ public class MessageFragment extends EasyFragment implements RecognizerDialogLis
                 mHandler.postDelayed(new Runnable() {
                     @Override
                     public void run() {
-                        mOriginalFriendList.clear();
-                        mFriendList.clear();
                         String filter = mClearEditText.getText().toString().trim().toUpperCase();
                         if (friends != null && friends.size() > 0) {
                             for (int i = 0; i < friends.size(); i++) {
-                                BaseSortModel<Friend> mode = new BaseSortModel<Friend>();
+                                BaseSortModel<Friend> mode = new BaseSortModel<>();
                                 mode.setBean(friends.get(i));
                                 setSortCondition(mode);
                                 mOriginalFriendList.add(mode);
@@ -594,16 +675,21 @@ public class MessageFragment extends EasyFragment implements RecognizerDialogLis
             if (convertView == null) {
                 convertView = createConvertView(position);
             }
+            //头像
             ImageView avatar_img = ViewHolder.get(convertView, R.id.avatar_img);
+            //数目
             TextView num_tv = ViewHolder.get(convertView, R.id.num_tv);
+            //名字
             TextView nick_name_tv = ViewHolder.get(convertView, R.id.nick_name_tv);
+            //内容
             TextView content_tv = ViewHolder.get(convertView, R.id.content_tv);
+            //时间
             TextView time_tv = ViewHolder.get(convertView, R.id.time_tv);
+            //删除按钮
             TextView delete_tv = ViewHolder.get(convertView, R.id.delete_tv);
             final Friend friend = mFriendList.get(position).getBean();
             avatar_img.setBackgroundResource(R.color.transparent);
             if (friend.getRoomFlag() == 0) {// 这是单个人
-
                 if (isRefeshed) {
                     AvatarHelper.getInstance().display(friend.getUserId(), avatar_img, false, true);//每次刷新都会去删除此人缓存
                     isRefeshed = false;
@@ -622,7 +708,6 @@ public class MessageFragment extends EasyFragment implements RecognizerDialogLis
             time_tv.setText(TimeUtils.getFriendlyTimeDesc(mActivity, friend.getTimeSend()));
 
             CharSequence content = "";
-            Log.i("gongpengming", "getStatus" + friend.getStatus());
             if (friend.getType() == XmppMessage.TYPE_TEXT) {
                 String s = StringUtils.replaceSpecialChar(friend.getContent());
                 content = HtmlUtils.transform200SpanString(s.replaceAll("\n", "\r\n"), true);

+ 27 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/NewMessageFragment.java

@@ -0,0 +1,27 @@
+package com.xzjmyk.pm.activity.ui.message;
+
+
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.ui.base.EasyFragment;
+
+/**
+ * A simple {@link Fragment} subclass.
+ */
+public class NewMessageFragment extends EasyFragment {
+
+
+    @Override
+    protected int inflateLayoutId() {
+        return R.layout.fragment_new_message;
+    }
+
+    @Override
+    protected void onCreateView(Bundle savedInstanceState, boolean createView) {
+        if (createView) {
+
+        }
+    }
+}

+ 1 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/util/WorkHandlerUtil.java

@@ -3,12 +3,9 @@ package com.xzjmyk.pm.activity.util;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baidu.mapapi.model.LatLng;
-import com.xzjmyk.pm.activity.AppConfig;
-import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.db.dao.WorkLocationDao;
 import com.xzjmyk.pm.activity.ui.erp.model.oa.WorkLocationModel;
 import com.xzjmyk.pm.activity.ui.erp.model.oa.WorkModel;
-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.OACheckUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
@@ -382,7 +379,7 @@ public class WorkHandlerUtil {
         }
     }
 
-    private static int getIntByJson(JSONObject object, String key) {
+    public static int getIntByJson(JSONObject object, String key) {
         if (object.containsKey(key))
             return object.getIntValue(key);
         else return 0;

+ 0 - 8
WeiChat/src/main/res/layout/activity_select_active.xml

@@ -53,14 +53,6 @@
         android:layout_above="@id/include_tag"
         android:layout_below="@+id/seach_top" />
 
-    <!--<android.support.v7.widget.RecyclerView-->
-        <!--android:id="@+id/recyclerview"-->
-        <!--android:layout_width="match_parent"-->
-        <!--android:layout_height="match_parent"-->
-        <!--android:layout_above="@id/include_tag"-->
-        <!--android:layout_below="@+id/seach_top" />-->
-
-
     <TextView
         android:id="@+id/text_dialog"
         android:layout_width="80.0dip"

+ 75 - 0
WeiChat/src/main/res/layout/fragment_new_message.xml

@@ -0,0 +1,75 @@
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:slide="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="#ebe9e9"
+    android:orientation="vertical">
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="48dp"
+        android:background="@drawable/bg_bar"
+        android:orientation="horizontal"
+        android:paddingBottom="5dp"
+        android:paddingLeft="15dp"
+        android:paddingRight="15dp"
+        android:paddingTop="5dp">
+
+        <com.xzjmyk.pm.activity.view.ClearEditText
+            android:id="@+id/search_edit"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_centerVertical="true"
+            android:background="@drawable/search_input"
+            android:drawableLeft="@drawable/search"
+            android:drawableRight="@drawable/search_clear"
+            android:hint="@string/search"
+            android:textColor="@color/dark_grey"
+            android:textColorHint="@color/grey"
+            android:textSize="15sp" />
+
+        <ImageView
+            android:id="@+id/voice_search_iv"
+            android:layout_width="20dp"
+            android:layout_height="20dp"
+            android:layout_alignParentRight="true"
+            android:layout_alignRight="@+id/search_edit"
+            android:layout_marginRight="25dp"
+            android:layout_marginTop="8dp"
+            android:background="@drawable/btn_yuyin_nor"
+            android:visibility="visible" />
+    </RelativeLayout>
+
+    <com.xzjmyk.pm.activity.view.DrawableCenterTextView
+        android:id="@+id/message_net_set"
+        android:layout_width="match_parent"
+        android:layout_height="35dp"
+        android:background="#fcd8d8"
+        android:drawableLeft="@drawable/ic_net_noticce"
+        android:drawablePadding="10dp"
+        android:gravity="center_vertical"
+        android:text="当前网络不可用,请检查您的网络设置"
+        android:textColor="@color/black"
+        android:visibility="gone" />
+
+    <com.xzjmyk.pm.activity.view.PullToRefreshListView
+        android:id="@+id/pull_refresh_list"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="#ebe9e9"
+        android:hardwareAccelerated="false"
+        android:layerType="software"
+        app:ptrAnimationStyle="flip"
+        app:ptrDrawableEnd="@drawable/default_ptr_rotate"
+        app:ptrDrawableStart="@drawable/default_ptr_flip"
+        app:ptrHeaderTextColor="@color/black"
+        app:ptrOverScroll="false"
+        app:ptrScrollingWhileRefreshingEnabled="true"
+        app:ptrShowIndicator="false"
+        slide:slideAnimationTime="200"
+        slide:slideLeftAction="scroll"
+        slide:slideMode="right"
+        slide:slideRightAction="scroll" />
+
+</LinearLayout>

+ 3 - 0
WeiChat/src/main/res/values/strings.xml

@@ -623,4 +623,7 @@
     <string name="title_activity_process_msg">ProcessMsgActivity</string>
     <string name="title_activity_select_calendar">按时间请假</string>
 
+    <!-- TODO: Remove or change this placeholder text -->
+    <string name="hello_blank_fragment">Hello blank fragment</string>
+
 </resources>