Bitliker 9 years ago
parent
commit
301e8668e7

+ 289 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/db/dao/MessageDao.java

@@ -1,12 +1,28 @@
 package com.xzjmyk.pm.activity.db.dao;
 
+import android.content.ContentValues;
+import android.database.Cursor;
+import android.database.sqlite.SQLiteDatabase;
+
+import com.xzjmyk.pm.activity.MyApplication;
+import com.xzjmyk.pm.activity.ui.erp.db.DBOpenHelper;
+import com.xzjmyk.pm.activity.ui.erp.model.MessageModel;
+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.StringUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * Created by Bitliker on 2017/3/2.
  */
 
 public class MessageDao {
-    private final String TABLE_NAME="em_erpnews";
+    private DBOpenHelper helper = null;
+    private final String TABLE_NAME = "em_erpnews";
     private static MessageDao instance;
+
     public static MessageDao getInstance() {
         if (instance == null) {
             synchronized (MessageDao.class) {
@@ -17,14 +33,285 @@ public class MessageDao {
     }
 
     private MessageDao() {
+        helper = new DBOpenHelper(MyApplication.getInstance());
     }
 
+    /**
+     * 事务创建或是更新,注意 如果该id已经存在,就更新,更新时候不更新状态,要到upStatus更新状态
+     *
+     * @param models
+     * @return
+     */
+    public boolean createOrinstart(List<MessageModel> models) {
+        if (ListUtils.isEmpty(models)) return false;
+        SQLiteDatabase db = null;
+        long i = 0;
+        try {
+            String master = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_master");
+            String emcode = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_username");
+            if (StringUtils.isEmpty(master) || StringUtils.isEmpty(emcode)) return false;
+            db = helper.getWritableDatabase();
+            db.beginTransaction();
+            ContentValues values = null;
+            //对象为空或是拜访时间没有情况下不插入数据库
+            for (MessageModel m : models) {
+                values = getValues(m, master, emcode);
+                i = db.insert(TABLE_NAME, null, values);
+                if (i == -1) {//如果插入不成功,就是数据库中有该条数据
+                    String where = "master=? and emcode=? and id=?";
+                    String[] whereArgs = {master, emcode, String.valueOf(m.getId())};
+                    values.remove("isReaded");//不更新状态
+                    i = db.update(TABLE_NAME, values, where, whereArgs);
+                }
+            }
+            db.setTransactionSuccessful();
+            db.endTransaction();
+        } catch (android.database.SQLException e) {
+        } catch (Exception e) {
+        } finally {
+            if (db != null)
+                db.close();
+            return i > 0;
+        }
+    }
 
+    /**
+     * 注意 如果该id已经存在,就更新,更新时候不更新状态,要到upStatus更新状态
+     *
+     * @param model
+     * @return
+     */
+    public boolean createOrinstart(MessageModel model) {
+        if (model == null) return false;
+        SQLiteDatabase db = null;
+        long i = 0;
+        try {
+            String master = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_master");
+            String emcode = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_username");
+            if (StringUtils.isEmpty(master) || StringUtils.isEmpty(emcode)) return false;
+            db = helper.getWritableDatabase();
+
+            ContentValues values = getValues(model, master, emcode);
+            //对象为空或是拜访时间没有情况下不插入数据库
+            i = db.insert(TABLE_NAME, null, values);
+            if (i == -1) {//如果插入不成功,就是数据库中有该条数据
+                String where = "master=? and emcode=? and id=? ";
+                String[] whereArgs = {master, emcode, String.valueOf(model.getId())};
+                values.remove("isReaded");//不更新状态
+                i = db.update(TABLE_NAME, values, where, whereArgs);
+            }
+        } catch (Exception e) {
+        } finally {
+            if (db != null)
+                db.close();
+            return i > 0;
+        }
+    }
 
-    private void createOrinstart(){
+    /**
+     * 修改状态
+     *
+     * @param models
+     * @param isReaded
+     * @return
+     */
+    public boolean upStatus(List<MessageModel> models, boolean isReaded) {
+        if (ListUtils.isEmpty(models)) return false;
+        SQLiteDatabase db = null;
+        long i = 0;
+        try {
+            String master = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_master");
+            String emcode = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_username");
+            if (StringUtils.isEmpty(master) || StringUtils.isEmpty(emcode)) return false;
+            db = helper.getWritableDatabase();
+            ContentValues values;
+            String where = "master=? and emcode=? and id=?";
+            for (MessageModel m : models) {
+                values = new ContentValues();
+                values.put("isReaded", isReaded ? 1 : 0);
+                String[] whereArgs = {master, emcode, String.valueOf(m.getId())};
+                i = db.update(TABLE_NAME, values, where, whereArgs);
+            }
+        } catch (Exception e) {
 
+        } finally {
+            if (db != null)
+                db.close();
+            return i > 0;
+        }
+    }
 
+    /**
+     * 修改单个
+     *
+     * @param id       消息id
+     * @param isReaded
+     * @return
+     */
+    public boolean upStatus(int id, boolean isReaded) {
+        SQLiteDatabase db = null;
+        long i = 0;
+        try {
+            String master = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_master");
+            String emcode = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_username");
+            if (StringUtils.isEmpty(master) || StringUtils.isEmpty(emcode)) return false;
+            db = helper.getWritableDatabase();
+            ContentValues values = new ContentValues();
+            values.put("isReaded", isReaded ? 1 : 0);
+            String where = "master=? and emcode=? and id=? ";
+            String[] whereArgs = {master, emcode, String.valueOf(id)};
+            i = db.update(TABLE_NAME, values, where, whereArgs);
+        } catch (Exception e) {
+        } finally {
+            if (db != null)
+                db.close();
+            return i > 0;
+        }
+    }
 
+    /**
+     * 通过类型修改状态为已读未读
+     *
+     * @param type     类型
+     * @param isReaded 是否阅读
+     * @return
+     */
+    public boolean upStatusByType(String type, boolean isReaded) {
+        if (StringUtils.isEmpty(type)) return false;
+        SQLiteDatabase db = null;
+        long i = 0;
+        try {
+            String master = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_master");
+            String emcode = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_username");
+            if (StringUtils.isEmpty(master) || StringUtils.isEmpty(emcode)) return false;
+            db = helper.getWritableDatabase();
+            ContentValues values = new ContentValues();
+            values.put("isReaded", isReaded ? 1 : 0);
+            String where = "master=? and emcode=? and type=?";
+            String[] whereArgs = {master, emcode, type};
+            i = db.update(TABLE_NAME, values, where, whereArgs);
+        } catch (Exception e) {
+        } finally {
+            if (db != null)
+                db.close();
+            return i > 0;
+        }
     }
 
+
+    /**
+     * 获取第一层数据
+     *
+     * @return
+     */
+    public List<MessageModel> queryFirstFloor() {
+        SQLiteDatabase db = null;
+        List<MessageModel> messageModels = null;
+        try {
+            String master = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_master");
+            String emcode = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_username");
+            if (StringUtils.isEmpty(master) || StringUtils.isEmpty(emcode)) return messageModels;
+            db = helper.getReadableDatabase();
+            String[] columns = {"id", "count", "title", "subTitle", "time", "type", "isReaded"};
+            String selection = "hierarchy=?";
+            String[] selectArgs = {String.valueOf(0)};
+            Cursor c = db.query(TABLE_NAME, columns, selection, selectArgs, null, null, null);
+            messageModels = getMessage(c, 0);
+            c.close();
+        } catch (Exception e) {
+        } finally {
+            if (db != null)
+                db.close();
+            return messageModels;
+        }
+    }
+
+    /**
+     * 获取第二层数据 ,通过类型
+     *
+     * @return
+     */
+    public List<MessageModel> queryByType(String type) {
+        SQLiteDatabase db = null;
+        int hierarchy = 1;
+        List<MessageModel> messageModels = null;
+        try {
+            String master = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_master");
+            String emcode = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_username");
+            if (StringUtils.isEmpty(master) || StringUtils.isEmpty(emcode)) return messageModels;
+            db = helper.getReadableDatabase();
+            String[] columns = {"id", "count", "title", "subTitle", "time", "type", "isReaded"};
+            String selection = "type=? and hierarchy=?";
+            String[] selectArgs = {type, String.valueOf(hierarchy)};
+            Cursor c = db.query(TABLE_NAME, columns, selection, selectArgs, null, null, null);
+            messageModels = getMessage(c, hierarchy);
+            c.close();
+        } catch (Exception e) {
+        } finally {
+            if (db != null)
+                db.close();
+            return messageModels;
+        }
+    }
+
+    /**
+     * 删除整个类型的数据,包括第一第二层
+     * @param type
+     * @return
+     */
+    public boolean deleteBytype(String type) {
+        if (StringUtils.isEmpty(type)) return false;
+        SQLiteDatabase db = null;
+        long i = 0;
+        try {
+            String master = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_master");
+            String emcode = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_username");
+            if (StringUtils.isEmpty(master) || StringUtils.isEmpty(emcode)) return false;
+            db = helper.getWritableDatabase();
+            String where = "master=? and emcode=? and type=?";
+            String[] whereArgs = {master, emcode, type};
+            i = db.delete(TABLE_NAME, where, whereArgs);
+        } catch (Exception e) {
+        } finally {
+            if (db != null)
+                db.close();
+            return i > 0;
+        }
+
+    }
+
+
+    private List<MessageModel> getMessage(Cursor c, int hierarchy) {
+        List<MessageModel> messageModels = new ArrayList<>();
+        MessageModel model;
+        while (c.moveToNext()) {
+            int id = c.getInt(c.getColumnIndex("id"));
+            int count = c.getInt(c.getColumnIndex("count"));
+            String title = c.getString(c.getColumnIndex("title"));
+            String subTitle = c.getString(c.getColumnIndex("subTitle"));
+            String time = c.getString(c.getColumnIndex("time"));
+            String type = c.getString(c.getColumnIndex("type"));
+            int isReaded = c.getInt(c.getColumnIndex("isReaded"));
+            model = new MessageModel(id, hierarchy, count, title, subTitle, time, type, isReaded == 1);
+            messageModels.add(model);
+        }
+        return messageModels;
+    }
+
+    private ContentValues getValues(MessageModel m, String master, String emcode) {
+        ContentValues values = new ContentValues();
+        values.put("id", m.getId());
+        values.put("master", master);
+        values.put("emcode", emcode);
+        values.put("count", m.getCount());
+        values.put("isReaded", m.isReaded() ? 1 : 0);
+        values.put("type", m.getType());
+        values.put("time", m.getTime());
+        values.put("title", m.getTitle());
+        values.put("subTitle", m.getSubTitle());
+        values.put("hierarchy", m.getHierarchy());
+        return values;
+    }
+
+
 }

+ 14 - 14
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/MainActivity.java

@@ -53,7 +53,7 @@ import com.xzjmyk.pm.activity.ui.find.MyFriendFragment;
 import com.xzjmyk.pm.activity.ui.groupchat.GroupChatFragment;
 import com.xzjmyk.pm.activity.ui.me.MeFragment;
 import com.xzjmyk.pm.activity.ui.me.ScreenListener;
-import com.xzjmyk.pm.activity.ui.message.NewMessageFragment;
+import com.xzjmyk.pm.activity.ui.message.MessageFragment;
 import com.xzjmyk.pm.activity.util.Constants;
 import com.xzjmyk.pm.activity.util.PreferenceUtils;
 import com.xzjmyk.pm.activity.view.DivideRadioGroup;
@@ -111,7 +111,7 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
      * @注释:主界面Fragment
      */
     private Fragment mLastFragment;
-    private NewMessageFragment mMessageFragment;
+    private MessageFragment mMessageFragment;
     private MyFriendFragment mMyFriendFragment;//我的朋友---相互关注,单项关注,房间
     private WorksFragment mWorksFragment;//工作
     private GroupChatFragment mGroupChatFragment;//群聊
@@ -186,19 +186,19 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
         public void onCheckedChanged(DivideRadioGroup group, int checkedId) {
             if (checkedId == R.id.main_tab_one) {
                 if (mMessageFragment == null) {
-                    mMessageFragment = new NewMessageFragment();
+                    mMessageFragment = new MessageFragment();
                 }
                 //TODO 红点问题
-//                mMessageFragment.setOnRefreshRedUI(new MessageFragment.OnRefreshUIListener() {
-//                    @Override
-//                    public void updata(int num) {
-//                        //当首页有更新,mainactivity跟着更新页面
-//                        mMsgUnReadNum = mMsgUnReadNum - oldERPNum > 0 ? (mMsgUnReadNum - oldERPNum) : 0;
-//                        mMsgUnReadNum = mMsgUnReadNum + num;
-//                        oldERPNum = num;
-//                        updateMsgUnReadTv();
-//                    }
-//                });
+                mMessageFragment.setOnRefreshRedUI(new MessageFragment.OnRefreshUIListener() {
+                    @Override
+                    public void updata(int num) {
+                        //当首页有更新,mainactivity跟着更新页面
+                        mMsgUnReadNum = mMsgUnReadNum - oldERPNum > 0 ? (mMsgUnReadNum - oldERPNum) : 0;
+                        mMsgUnReadNum = mMsgUnReadNum + num;
+                        oldERPNum = num;
+                        updateMsgUnReadTv();
+                    }
+                });
                 changeFragment(mMessageFragment, TAG_MESSAGE);//消息
                 updateMessageTitle();
             } else if (checkedId == R.id.main_tab_two) {
@@ -657,7 +657,7 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
 
     private void restoreState(Bundle savedInstanceState) {
         mLastFragment = getSupportFragmentManager().findFragmentById(R.id.main_content);
-        mMessageFragment = (NewMessageFragment) getSupportFragmentManager().findFragmentByTag(TAG_MESSAGE);
+        mMessageFragment = (MessageFragment) getSupportFragmentManager().findFragmentByTag(TAG_MESSAGE);
         mMyFriendFragment = (MyFriendFragment) getSupportFragmentManager().findFragmentByTag(TAG_MY);
         mWorksFragment = (WorksFragment) getSupportFragmentManager().findFragmentByTag(TAG_NEARBY);
         mGroupChatFragment = (GroupChatFragment) getSupportFragmentManager().findFragmentByTag(TAG_GROUP_CHAT);

+ 10 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/AddFlihtsActivity.java

@@ -164,12 +164,20 @@ public class AddFlihtsActivity extends OABaseActivity implements IAddFlihtsView,
     @Override
     public void updateDepartment(String department) {
         Log.i("gongpengming", "department=" + department);
-        department_tv.setText(StringUtils.isEmpty(department) ? "" : department);
+        String showName="";
+        if (!StringUtils.isEmpty(department)){
+            showName=department.replaceAll("\'","");
+        }
+        department_tv.setText(showName);
     }
 
     @Override
     public void updateMunber(String munber) {
-        munber_tv.setText(StringUtils.isEmpty(munber) ? "" : munber);
+        String showName="";
+        if (!StringUtils.isEmpty(munber)){
+            showName=munber.replaceAll("\'","");
+        }
+        munber_tv.setText(showName);
 
     }
 

+ 5 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/MissionActivity.java

@@ -63,9 +63,13 @@ public class MissionActivity extends OABaseActivity implements View.OnClickListe
     private int flag;
     private boolean adminStatus;
     private boolean locationOk = true;
+
+    private long time = System.currentTimeMillis();
     private BroadcastReceiver receiver = new BroadcastReceiver() {
         @Override
         public void onReceive(Context context, Intent intent) {
+            if (System.currentTimeMillis() - time < (3 * 60 * 1000)) return;
+            time = System.currentTimeMillis();
             locationOk = MyApplication.getInstance().getBdLocationHelper().locationOk();
             //TODO 发布版本先关闭
             if (locationOk && adapter != null && !ListUtils.isEmpty(adapter.getModels())) {
@@ -87,7 +91,7 @@ public class MissionActivity extends OABaseActivity implements View.OnClickListe
         ViewUtils.inject(this);
         IntentFilter filter = new IntentFilter();
         filter.addAction(BdLocationHelper.UPLOCATION_ACTION);
-        LocalBroadcastManager.getInstance(ct).registerReceiver(receiver,filter);
+        LocalBroadcastManager.getInstance(ct).registerReceiver(receiver, filter);
         initView();
         initEvent();
     }

+ 2 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/db/DBOpenHelper.java

@@ -13,8 +13,8 @@ import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
  * @注释:建立数据库
  */
 public class DBOpenHelper extends SQLiteOpenHelper {
-
-    private static final int DATABASE_VERSION = 67;//数据库版本号(每添加一个表要增加版本号)
+    //TODO  上一个发布版本是67
+    private static final int DATABASE_VERSION = 68;//数据库版本号(每添加一个表要增加版本号)
     public static String dataBaseName = "erp.db";//数据库名称
     public Context context;
 

+ 38 - 26
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/model/MessageModel.java

@@ -4,40 +4,60 @@ import android.os.Parcel;
 import android.os.Parcelable;
 
 /**
- *消息数据库实体类
+ * 消息数据库实体类
  * Created by Bitliker on 2017/3/2.
  */
 
 public class MessageModel implements Parcelable {
     private int id;
+    private int hierarchy;//层级
     private int count;
     private String title;
     private String subTitle;
     private String time;
     private String type;
-    private String readTime;
+    private boolean isReaded;
 
-    public MessageModel( ) {
+    public MessageModel() {
     }
 
-    public MessageModel(int id, int count, String title, String subTitle, String time, String type, String readTime) {
+    public MessageModel(int id, int hierarchy, int count, String title, String subTitle, String time, String type, boolean isReaded) {
         this.id = id;
+        this.hierarchy = hierarchy;
         this.count = count;
         this.title = title;
         this.subTitle = subTitle;
         this.time = time;
         this.type = type;
-        this.readTime = readTime;
+        this.isReaded = isReaded;
     }
 
     protected MessageModel(Parcel in) {
         id = in.readInt();
+        hierarchy = in.readInt();
         count = in.readInt();
         title = in.readString();
         subTitle = in.readString();
         time = in.readString();
         type = in.readString();
-        readTime = in.readString();
+        isReaded = in.readByte() != 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeInt(id);
+        dest.writeInt(hierarchy);
+        dest.writeInt(count);
+        dest.writeString(title);
+        dest.writeString(subTitle);
+        dest.writeString(time);
+        dest.writeString(type);
+        dest.writeByte((byte) (isReaded ? 1 : 0));
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
     }
 
     public static final Creator<MessageModel> CREATOR = new Creator<MessageModel>() {
@@ -52,22 +72,6 @@ public class MessageModel implements Parcelable {
         }
     };
 
-    @Override
-    public int describeContents() {
-        return 0;
-    }
-
-    @Override
-    public void writeToParcel(Parcel dest, int flags) {
-        dest.writeInt(id);
-        dest.writeInt(count);
-        dest.writeString(title);
-        dest.writeString(subTitle);
-        dest.writeString(time);
-        dest.writeString(type);
-        dest.writeString(readTime);
-    }
-
     public int getId() {
         return id;
     }
@@ -76,6 +80,14 @@ public class MessageModel implements Parcelable {
         this.id = id;
     }
 
+    public int getHierarchy() {
+        return hierarchy;
+    }
+
+    public void setHierarchy(int hierarchy) {
+        this.hierarchy = hierarchy;
+    }
+
     public int getCount() {
         return count;
     }
@@ -116,11 +128,11 @@ public class MessageModel implements Parcelable {
         this.type = type;
     }
 
-    public String getReadTime() {
-        return readTime;
+    public boolean isReaded() {
+        return isReaded;
     }
 
-    public void setReadTime(String readTime) {
-        this.readTime = readTime;
+    public void setReaded(boolean readed) {
+        isReaded = readed;
     }
 }

+ 26 - 9
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/AddFlihtsPresenter.java

@@ -123,6 +123,7 @@ public class AddFlihtsPresenter implements HttpHandler.OnResultListener {
             return;
         }
         //start 人员数据
+
         EmployeesModel employeesModel = model.getEmployeesModel();
         String employeesName;
         String employeesCode;
@@ -140,8 +141,8 @@ public class AddFlihtsPresenter implements HttpHandler.OnResultListener {
             employeesCode = "";
         }
         formStore.put("wd_pcount", conuInDefaultor + employNumber);
-        formStore.put("wd_emcode", employeesCode);
-        formStore.put("wd_man", employeesName);
+        formStore.put("wd_emcode", getNameOrCodeAdd(employeesCode));
+        formStore.put("wd_man", getNameOrCodeAdd(employeesName));
         //end 人员数据
 
         //处理部门数据
@@ -155,8 +156,8 @@ public class AddFlihtsPresenter implements HttpHandler.OnResultListener {
             hrorgsName = "";
             hrorgsCode = "";
         }
-        formStore.put("wd_defaultorcode", hrorgsCode);
-        formStore.put("wd_defaultor", hrorgsName);
+        formStore.put("wd_defaultorcode", getNameOrCodeAdd(hrorgsCode));
+        formStore.put("wd_defaultor", getNameOrCodeAdd(hrorgsName));
         //end 部门
         param.put("formStore", StringUtils.mapToJson(formStore));
         Bundle bundle = new Bundle();
@@ -184,8 +185,8 @@ public class AddFlihtsPresenter implements HttpHandler.OnResultListener {
         String action = "mobile/getManAndDefaultor.action";
         Map<String, Object> param = new HashMap<>();
         Map<String, Object> formStore = new HashMap<>();
-        formStore.put("wd_emcode", StringUtils.isEmpty(manCode) ? "" : manCode);
-        formStore.put("wd_defaultorcode", StringUtils.isEmpty(defaultorCode) ? "" : defaultorCode);
+        formStore.put("wd_emcode", StringUtils.isEmpty(manCode) ? "" : manCode.replaceAll("\'", ""));
+        formStore.put("wd_defaultorcode", StringUtils.isEmpty(defaultorCode) ? "" : defaultorCode.replaceAll("\'", ""));
         param.put("formStore", StringUtils.mapToJson(formStore));
         HttpHandler.getInstance().loadERPByNet(MAN_DEFAULTOR, action,
                 param, bundle, this);
@@ -326,8 +327,8 @@ public class AddFlihtsPresenter implements HttpHandler.OnResultListener {
         if (!ListUtils.isEmpty(employeesList)) {
             StringBuilder employee = new StringBuilder();
             for (int i = 0; i < employeesList.size(); i++) {
-                employee.append("\'"+(isName ? employeesList.get(i).getEmName()
-                        : employeesList.get(i).getEmCode()) +"\'"+ ",");
+                employee.append("\'" + (isName ? employeesList.get(i).getEmName()
+                        : employeesList.get(i).getEmCode()) + "\'" + ",");
             }
             removieLast(employee);
             return employee.toString();
@@ -346,7 +347,7 @@ public class AddFlihtsPresenter implements HttpHandler.OnResultListener {
         if (!ListUtils.isEmpty(hrorgsList)) {
             StringBuilder hrorgs = new StringBuilder();
             for (int i = 0; i < hrorgsList.size(); i++) {
-                hrorgs.append("\'"+(isName ? hrorgsList.get(i).getName() : hrorgsList.get(i).getCode()) +"\'"+ ",");
+                hrorgs.append("\'" + (isName ? hrorgsList.get(i).getName() : hrorgsList.get(i).getCode()) + "\'" + ",");
             }
             removieLast(hrorgs);
             return hrorgs.toString();
@@ -468,6 +469,22 @@ public class AddFlihtsPresenter implements HttpHandler.OnResultListener {
         iAddFlihtsView.showCollisionDefaultir(chche);
     }
 
+    private String getNameOrCodeAdd(String name) {
+        try {
+            if (StringUtils.isEmpty(name)) return "";
+            name = name.replaceAll("\'", "");
+            String[] names = name.split(",");
+            StringBuilder builder = new StringBuilder();
+            for (String e : names) {
+                builder.append("\'" + e + "\'" + ",");
+            }
+            OACheckUtil.removieLast(builder);
+            return builder.toString();
+        } catch (Exception e) {
+            return "";
+        }
+    }
+
     public void putData2Intent(int id, Intent intent) {
         switch (id) {
             case R.id.date_tv:

+ 2 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/FlightsPresernter.java

@@ -144,13 +144,14 @@ public class FlightsPresernter implements HttpHandler.OnResultListener {
         timeModel.setWd_offdutytwo(getJson2Text(object, "wd_offdutytwo"));
         timeModel.setWd_ondutythree(getJson2Text(object, "wd_ondutythree"));
         timeModel.setWd_offdutythree(getJson2Text(object, "wd_offdutythree"));
+
        String emcodes =OACheckUtil.getJson2Text(object, "wd_emcode");
         if (StringUtils.isEmpty(emcodes))
             emcodes=OACheckUtil.getJson2Text(object, "emcodes");
 
         String emnames =OACheckUtil.getJson2Text(object, "wd_man");
         if (StringUtils.isEmpty(emnames))
-            emcodes=OACheckUtil.getJson2Text(object, "emnames");
+            emnames=OACheckUtil.getJson2Text(object, "emnames");
 
         employeesModel.setEmployeecode(emcodes);
         employeesModel.setEmployeeNames(emnames);

+ 7 - 8
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/Constants.java

@@ -191,20 +191,19 @@ public class Constants {
             + "stepnumbers  integer" //步数
             + ")";
 
-
     //消息红点数据表
     public static final String EM_ERPNEWS = "CREATE TABLE em_erpnews ("
-            + "id integer primary key autoincrement,"
+            + "id integer primary key ,"
             + "master  varchar(20)," //员工账套
             + "emcode  varchar(20)," //员工编号
 
-            + "count integer primary key autoincrement,"
+            + "count integer ,"
             + "title varchar(20),"//位置
-            + "subTitle varchar(20),"//位置
-            + "time varchar(20),"//位置
-            + "type varchar(20),"//位置
-            + "readTime varchar(20)"//位置
-
+            + "subTitle varchar(20),"//详细信息
+            + "time varchar(20),"//时间
+            + "type varchar(20),"//类型
+            + "hierarchy integer,"//类型
+            + "isReaded integer"//阅读状态,1阅读
             + ")";
     //考勤地址表
     public static final String WORK_LOCATION = "CREATE TABLE work_location ("

+ 4 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MessageFragment.java

@@ -426,7 +426,7 @@ public class MessageFragment extends EasyFragment implements RecognizerDialogLis
 
     private void refreshUI() {
         if (!AppConfig.COMPANY) return;
-        loadDataByErp();
+        loadDataByIm();
         FriendDao.getInstance().markUserMessageRead(
                 MyApplication.getInstance().mLoginUser.getUserId(),
                 Friend.ID_ERP_ZHIHUI);
@@ -496,8 +496,7 @@ 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() {
@@ -588,6 +587,8 @@ 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++) {

+ 16 - 18
WeiChat/src/main/res/layout/fragment_message.xml

@@ -3,17 +3,17 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:background="#ebe9e9"
-    android:orientation="vertical" >
+    android:orientation="vertical">
 
     <RelativeLayout
-        android:background="@drawable/bg_bar"
         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" >
+        android:paddingTop="5dp">
 
         <com.xzjmyk.pm.activity.view.ClearEditText
             android:id="@+id/search_edit"
@@ -30,15 +30,14 @@
 
         <ImageView
             android:id="@+id/voice_search_iv"
-            android:background="@drawable/btn_yuyin_nor"
-            android:visibility="visible"
-            android:layout_marginRight="25dp"
-            android:layout_alignParentRight="true"
-            android:layout_alignRight="@+id/search_edit"
             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
@@ -46,15 +45,14 @@
         android:layout_width="match_parent"
         android:layout_height="35dp"
         android:background="#fcd8d8"
-        android:text="当前网络不可用,请检查您的网络设置"
-        android:gravity="center_vertical"
-        android:textColor="@color/black"
         android:drawableLeft="@drawable/ic_net_noticce"
         android:drawablePadding="10dp"
-        android:visibility="gone"/>
+        android:gravity="center_vertical"
+        android:text="当前网络不可用,请检查您的网络设置"
+        android:textColor="@color/black"
+        android:visibility="gone" />
 
-    <com.xzjmyk.pm.activity.view.PullToRefreshSlideListView
-        xmlns:slide="http://schemas.android.com/apk/res-auto"
+    <com.xzjmyk.pm.activity.view.PullToRefreshSlideListView xmlns:slide="http://schemas.android.com/apk/res-auto"
         android:id="@+id/pull_refresh_list"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
@@ -72,7 +70,8 @@
         slide:slideAnimationTime="200"
         slide:slideLeftAction="scroll"
         slide:slideMode="right"
-        slide:slideRightAction="scroll"/>
+        slide:slideRightAction="scroll" />
+
     <com.handmark.pulltorefresh.library.PullToRefreshListView
         android:id="@+id/pull_newmessages_list"
         android:layout_width="match_parent"
@@ -80,8 +79,7 @@
         android:layout_below="@id/seach_top"
         android:background="@color/item_line"
         android:dividerHeight="2px"
-        android:scrollbars="none"
-        >
+        android:scrollbars="none">
 
     </com.handmark.pulltorefresh.library.PullToRefreshListView>
 </LinearLayout>