瀏覽代碼

Merge branch 'developer_master' of https://gitlab.com/Arisono/SkWeiChat-Baidu into developer_master

Arisono 10 年之前
父節點
當前提交
a05ac131e9

+ 1 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/CompanyContactsActivity.java

@@ -142,8 +142,6 @@ public class CompanyContactsActivity extends BaseActivity {
 //                    reScrollView.getLoadingLayoutProxy().setRefreshingLabel("正在同步数据,请稍等...");
                     //空代表取缓存
                     if (!hrorgsEntities.isEmpty() || !employeesEntities.isEmpty()) {
-                        Log.i(TAG, "是否是第一次加载数据:" + isFristLoad);
-                        Log.i(TAG, "同步数据......");
                         insertDataSqlite(isFristLoad, hrorgsEntities, employeesEntities,
                                 server_time);    //写入缓存
                         rl_empty.setVisibility(View.GONE);
@@ -513,7 +511,7 @@ public class CompanyContactsActivity extends BaseActivity {
                     reScrollView.setEnabled(false);
             }
         });
-        viewHead = LayoutInflater.from(this).inflate(R.layout.head_view,null);
+        viewHead = LayoutInflater.from(this).inflate(R.layout.head_view, null);
         reScrollView.setHeaderView(viewHead);
         reScrollView.setOnPullRefreshListener(new SuperSwipeRefreshLayout.OnPullRefreshListener() {
             @Override
@@ -534,7 +532,6 @@ public class CompanyContactsActivity extends BaseActivity {
         });
 
 
-
 //        reScrollView.getLoadingLayoutProxy().setPullLabel("同步数据需要时间,需要耐心等待!");
 //        reScrollView.getLoadingLayoutProxy().setReleaseLabel("释放刷新");
 //        reScrollView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ScrollView>() {

+ 7 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/db/DBManager.java

@@ -46,9 +46,10 @@ public class DBManager {
             sta.bindString(6, entity.getOr_name());
             sta.bindLong(7, entity.getOr_id());
             sta.bindString(8, entity.getFlag());
-            sta.bindString(9, entity.getOr_headmanname()==null?"":entity.getOr_headmanname());
-            sta.bindString(10,entity.getOr_headmancode()==null?"":entity.getOr_headmancode());
+            sta.bindString(9, entity.getOr_headmanname() == null ? "" : entity.getOr_headmanname());
+            sta.bindString(10, entity.getOr_headmancode() == null ? "" : entity.getOr_headmancode());
             sta.bindLong(11, entity.getOr_remark());
+//            Log.i("gongpengming")
             sta.executeInsert();
         }
 
@@ -58,13 +59,14 @@ public class DBManager {
     }
 
 
-    public void updateHrogrRemark(int or_id,int or_remark){
+    public void updateHrogrRemark(int or_id,int or_remark,String master){
         String sql = "update hrorgs"
                 + " set or_remark=?"
-                + " where or_id=?;";
+                + " where or_id=? and whichsys=?;";
         SQLiteStatement sta = db.compileStatement(sql);
         sta.bindLong(1, or_remark);
         sta.bindLong(2, or_id);//更新关键字段
+        sta.bindString(3, master);
         sta.executeInsert();
     }
 
@@ -73,6 +75,7 @@ public class DBManager {
      * @功能:更新组织架构---批量 根据or_code来更新数据
      */
     public void updateHrogrs(List<HrorgsEntity> hrorgsList) {
+
         String sql = "update hrorgs"
                 + " set or_code=?,whichsys=?,or_subof=?,company=?,or_isleaf=?,or_name=?,or_id=?,or_flag=?"
                 + " where or_code=?;";

+ 45 - 55
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/groupchat/AutoCreateChatFragment.java

@@ -93,7 +93,6 @@ public class AutoCreateChatFragment extends EasyFragment {
     };
 
     public AutoCreateChatFragment() {
-        Log.i("gongpengming", "AutoCreateChatFragment");
         mMucRooms = new ArrayList<MucRoom>();
         mAdapter = new MucRoomAdapter();
     }
@@ -209,7 +208,6 @@ public class AutoCreateChatFragment extends EasyFragment {
             params.put("type", "1");
         else
             params.put("type", "2");
-
         final ProgressDialog dialog = ProgressDialogUtil.init(getActivity(),
                 null, getString(R.string.please_wait));
         ProgressDialogUtil.show(dialog);
@@ -253,24 +251,21 @@ public class AutoCreateChatFragment extends EasyFragment {
     @Override
     public void onResume() {
         super.onResume();
-        autoCreateManageRoom();
-//        if (mNeedUpdate) {
-//            mNeedUpdate = false;
-//            mPullToRefreshListView.post(new Runnable() {
-//                @Override
-//                public void run() {
-////					mPullToRefreshListView.setPullDownRefreshing(200);
-//                    autoCreateManageGruop();
-//                }
-//            });
-//        }
-
     }
 
     @Override
     public void onStart() {
         super.onStart();
         requestData(true);
+        if (mNeedUpdate) {
+            mNeedUpdate = false;
+            mPullToRefreshListView.post(new Runnable() {
+                @Override
+                public void run() {
+                    autoCreateManageGruop();
+                }
+            });
+        }
     }
 
     @Override
@@ -308,7 +303,6 @@ public class AutoCreateChatFragment extends EasyFragment {
                         mMucRooms.clear();
                     }
                     List<MucRoom> datas = result.getData();
-                    Log.i("Arison", "datas:" + JSON.toJSONString(datas));
                     //只展示类别是1的管理群
                     List<MucRoom> dataTemp = new ArrayList<>();
                     if (datas != null && datas.size() > 0) {
@@ -320,6 +314,9 @@ public class AutoCreateChatFragment extends EasyFragment {
                         mMucRooms.addAll(dataTemp);
                     }
                     mAdapter.notifyDataSetChanged();
+                    if (isPullDwonToRefersh) {
+
+                    }
                 }
                 mPullToRefreshListView.onRefreshComplete();
             }
@@ -382,15 +379,12 @@ public class AutoCreateChatFragment extends EasyFragment {
         final List<HrorgsEntity> hlist = db.queryHrorgList(new String[]{master, emCode}, "whichsys=? and or_headmancode=?");
         if (hlist != null && hlist.size() > 0) { //本地有缓存
             if (hlist.get(0).getOr_remark() == 1) {//已经创建群了
-//                HrorgsEntity hrorgsEntity = hlist.get(0);
-//                int or_id = hrorgsEntity.getOr_id();
-//                String or_name = CommonUtil.getSharedPreferences(getActivity(), "erp_commpany") + "-" + hrorgsEntity.getOr_name();//群名字
-//                String or_headmanname = hrorgsEntity.getOr_name();//领导人名字  本群创建者
-//                String or_headmancode = hrorgsEntity.getOr_headmancode();
-//                int or_subof = hrorgsEntity.getOr_subof();
-//                Log.i("gongpengming", "or_subof=" + or_subof + "||or_id=" + or_id + "||or_name=" + or_name + "||or_headmanname=" + or_headmanname
-//                        + "||or_headmancode=" + or_headmancode);
-
+                new Thread(new Runnable() {
+                    @Override
+                    public void run() {
+                        create(db, master, hlist.get(0));
+                    }
+                }).start();
 
                 return;
             } else {//还没有创建群
@@ -404,7 +398,6 @@ public class AutoCreateChatFragment extends EasyFragment {
             }
         } else {  //本地无缓冲
             //TODO  本地无缓存 应该去企业架构获取还存数据
-            Log.i("gongpengming", "这个为空的 ");
         }
     }
 
@@ -415,13 +408,9 @@ public class AutoCreateChatFragment extends EasyFragment {
 
         int or_subof = hrorgsEntity.getOr_subof();
         int or_id = hrorgsEntity.getOr_id();
-        String or_name =CommonUtil.getSharedPreferences(getActivity(), "erp_commpany") + "-"+ hrorgsEntity.getOr_name();//群名字
+        String or_name = CommonUtil.getSharedPreferences(getActivity(), "erp_commpany") + "-" + hrorgsEntity.getOr_name();//群名字
         String or_headmanname = hrorgsEntity.getOr_name();//领导人名字  本群创建者
         String or_headmancode = hrorgsEntity.getOr_headmancode();
-
-        Log.i("gongpengming", "create||||||or_subof=" + or_subof + "||or_id=" + or_id + "||or_name=" + or_name + "||or_headmanname=" + or_headmanname
-                + "||or_headmancode=" + or_headmancode);
-
         int im_id = 0;
 //        int im_id = getEmployeeIMID(db, master, or_headmancode);
 //        inviteUsers.add(String.valueOf(im_id));//本群领导人IMID
@@ -470,6 +459,8 @@ public class AutoCreateChatFragment extends EasyFragment {
      * 根据组织架构表中的or_headmancode 来获取员工表中的员工信息(IMID)
      * 怎样判断创建群的操作已经结束?
      */
+    boolean is = false;
+
     public void autoCreateManageGruop() {
         DBManager db = new DBManager(mContext);
         String master = CommonUtil.getSharedPreferences(mContext, "erp_master");
@@ -477,16 +468,13 @@ public class AutoCreateChatFragment extends EasyFragment {
         //查找本地数据库,管理群存在,则不创建
         List<HrorgsEntity> hlist = db.queryHrorgList(new String[]{master, emCode}, "whichsys=? and or_headmancode=?");
         if (!ListUtils.isEmpty(hlist)) {
-            if (hlist.get(0).getOr_remark() == 1) {
-                mPullToRefreshListView.setPullDownRefreshing(200);
-                return;
-            }
             String roomdesc = "本群为管理群!";
             for (int i = 0; i < hlist.size(); i++) {
+                if (hlist.get(i).getOr_remark() == 1)
+                    continue;
                 List<String> inviteUsers = new ArrayList<String>();//群组人员
-                int or_subof = hlist.get(i).getOr_subof();
                 int or_id = hlist.get(i).getOr_id();
-                String or_name = hlist.get(i).getOr_name();//群名字
+                String or_name = CommonUtil.getSharedPreferences(getActivity(), "erp_commpany") + "-" + hlist.get(i).getOr_name();//群名字
                 String or_headmanname = hlist.get(i).getOr_name();//领导人名字  本群创建者
                 String or_headmancode = hlist.get(i).getOr_headmancode();
                 if (StringUtils.isEmpty(or_headmanname) || StringUtils.isEmpty(or_headmancode))
@@ -495,17 +483,16 @@ public class AutoCreateChatFragment extends EasyFragment {
                 inviteUsers.add(String.valueOf(im_id));//本群领导人IMID
 
                 //获取上级部门
-                if (!StringUtils.isEmpty(or_headmanname) && or_subof != 0) {
-                    //获取上级领导人的名字以及IMID
-                    HrorgsEntity suplist = db.select_getRootData(new String[]{String.valueOf(or_subof), master}, "or_id=? and whichsys=?");
-                    if (suplist != null) {
-                        String parentName = suplist.getOr_headmanname();
-                        String parentCode = suplist.getOr_headmancode();
-                        im_id = getEmployeeIMID(db, master, parentCode);
-                        inviteUsers.add(String.valueOf(im_id));////上级领导人IMID
-                    }
-                }
-
+//                if (!StringUtils.isEmpty(or_headmanname) && or_subof != 0) {
+//                    //获取上级领导人的名字以及IMID
+//                    HrorgsEntity suplist = db.select_getRootData(new String[]{String.valueOf(or_subof), master}, "or_id=? and whichsys=?");
+//                    if (suplist != null) {
+//                        String parentName = suplist.getOr_headmanname();
+//                        String parentCode = suplist.getOr_headmancode();
+//                        im_id = getEmployeeIMID(db, master, parentCode);
+//                        inviteUsers.add(String.valueOf(im_id));////上级领导人IMID
+//                    }
+//                }
                 //分部门大于等于1才创建群
                 List<HrorgsEntity> chrildlist = db.queryHrorgList(new String[]{String.valueOf(or_id), master}, "or_subof=? and whichsys=?");
                 if (!ListUtils.isEmpty(chrildlist)) {
@@ -517,10 +504,10 @@ public class AutoCreateChatFragment extends EasyFragment {
                             if (StringUtils.isEmpty(chrild_headmancode) || StringUtils.isEmpty(chrild_headmanname))
                                 continue;
                             im_id = getEmployeeIMID(db, master, chrild_headmancode);
-                            inviteUsers.add(String.valueOf(im_id));//分部门IMID
+                            if (im_id != 0)
+                                inviteUsers.add(String.valueOf(im_id));//分部门IMID
                         }
                         inviteUsers = removeDuplicate(inviteUsers);//去除重复数据
-
                         createGroupChat(or_headmanname, or_name, null, roomdesc, inviteUsers, or_id);
                     }
                 }
@@ -555,15 +542,19 @@ public class AutoCreateChatFragment extends EasyFragment {
     public AppConfig mConfig;
     private CoreService mXmppService;
 
+    private String roomJid;
 
     /**
      * @desc:房间名字:组织架构名字;房间描述
      * @author:Administrator on 2016/5/16 9:35
      */
-    private void createGroupChat(String nickName, final String roomName, String roomSubject, final String roomDesc,
+    private void createGroupChat(String nickName, String roomName, String roomSubject, String roomDesc,
                                  List<String> inviteUsers, final int or_id) {
-
-        final String roomJid = mXmppService.createMucRoom(nickName, roomName, roomSubject, roomDesc);
+        try {
+            roomJid = mXmppService.createMucRoom(nickName, roomName, roomSubject, roomDesc);
+        } catch (NullPointerException e) {
+            roomJid = mXmppService.createMucRoom(nickName, roomName, "", roomDesc);
+        }
         if (TextUtils.isEmpty(roomJid)) {
             ToastUtil.showToast(mContext, R.string.create_room_failed);
             return;
@@ -598,8 +589,6 @@ public class AutoCreateChatFragment extends EasyFragment {
             params.put("longitude", String.valueOf(longitude));
         params.put("text", JSON.toJSONString(inviteUsers));
         ProgressDialogUtil.show(mProgressDialog);
-        Log.i("Arison", "创建群url:" + mConfig.ROOM_ADD);
-        Log.i("Arison", "创建群参数:" + JSON.toJSONString(params));
         StringJsonObjectRequest<MucRoom> request = new StringJsonObjectRequest<MucRoom>(mConfig.ROOM_ADD,
                 new Response.ErrorListener() {
                     @Override
@@ -651,7 +640,8 @@ public class AutoCreateChatFragment extends EasyFragment {
                         String or_id = JSON.parseObject(result).getString("or_id");
                         if (!StringUtils.isEmpty(or_id)) {
                             DBManager db = new DBManager(mContext);
-                            db.updateHrogrRemark(Integer.valueOf(or_id), 1);
+                            String master = CommonUtil.getSharedPreferences(mContext, "erp_master");
+                            db.updateHrogrRemark(Integer.valueOf(or_id), 1, master);
                             ViewUtil.ToastMessage(mContext, "系统创建您的管理群成功!");
                         }
                     }

+ 0 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MucChatActivity.java

@@ -182,7 +182,6 @@ public class MucChatActivity extends ActionBackActivity
                     }
                 }
             } else {//当广播为删除一个信息时候
-                Log.i("gongpengming", "点击更多时候接受到广播");
                 if (botton_ll != null) {
                     botton_ll.setVisibility(View.VISIBLE);
                 }

+ 30 - 25
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/RoomInfoActivity.java

@@ -12,7 +12,6 @@ import android.os.IBinder;
 import android.os.Message;
 import android.text.InputFilter;
 import android.text.TextUtils;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.MotionEvent;
 import android.view.View;
@@ -27,31 +26,29 @@ import android.widget.TextView;
 import com.alibaba.fastjson.JSON;
 import com.android.volley.Response.ErrorListener;
 import com.android.volley.VolleyError;
+import com.xzjmyk.pm.activity.AppConstant;
+import com.xzjmyk.pm.activity.MyApplication;
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.bean.Friend;
+import com.xzjmyk.pm.activity.bean.message.MucRoom;
+import com.xzjmyk.pm.activity.bean.message.MucRoom.Notice;
 import com.xzjmyk.pm.activity.bean.message.MucRoomMember;
+import com.xzjmyk.pm.activity.broadcast.MsgBroadcast;
 import com.xzjmyk.pm.activity.db.dao.ChatMessageDao;
 import com.xzjmyk.pm.activity.db.dao.FriendDao;
 import com.xzjmyk.pm.activity.helper.AvatarHelper;
+import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.circle.BasicInfoActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.CommonFragmentActivity;
 import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
 import com.xzjmyk.pm.activity.ui.erp.entity.HrorgsEntity;
+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.JsonValidator;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
+import com.xzjmyk.pm.activity.util.DateFormatUtil;
 import com.xzjmyk.pm.activity.util.ProgressDialogUtil;
 import com.xzjmyk.pm.activity.util.StringUtils;
-import com.xzjmyk.pm.activity.xmpp.CoreService;
-import com.xzjmyk.pm.activity.xmpp.ListenerManager;
-import com.xzjmyk.pm.activity.AppConstant;
-import com.xzjmyk.pm.activity.MyApplication;
-import com.xzjmyk.pm.activity.R;
-import com.xzjmyk.pm.activity.bean.Friend;
-import com.xzjmyk.pm.activity.bean.message.MucRoom;
-import com.xzjmyk.pm.activity.bean.message.MucRoom.Notice;
-import com.xzjmyk.pm.activity.broadcast.MsgBroadcast;
-import com.xzjmyk.pm.activity.ui.base.BaseActivity;
-import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
-import com.xzjmyk.pm.activity.util.DateFormatUtil;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.util.ToastUtil;
 import com.xzjmyk.pm.activity.view.DataLoadView;
@@ -60,6 +57,8 @@ import com.xzjmyk.pm.activity.volley.ObjectResult;
 import com.xzjmyk.pm.activity.volley.Result;
 import com.xzjmyk.pm.activity.volley.StringJsonObjectRequest;
 import com.xzjmyk.pm.activity.volley.StringJsonObjectRequest.Listener;
+import com.xzjmyk.pm.activity.xmpp.CoreService;
+import com.xzjmyk.pm.activity.xmpp.ListenerManager;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -327,19 +326,28 @@ public class RoomInfoActivity extends BaseActivity {
             if (btnExit == null) {
                 btnExit = (Button) findViewById(R.id.btn_exit);
             }
+            String[] compName = mucRoom.getName().split("-");
+
             add_minus_count = 2;
-            btnExit.setText("删除商务群");
+
             findViewById(R.id.room_name_arrow_img).setVisibility(View.VISIBLE);
             findViewById(R.id.room_desc_arrow_img).setVisibility(View.VISIBLE);
             findViewById(R.id.banned_voice_rl).setVisibility(View.VISIBLE);
             findViewById(R.id.banned_delete_rl).setVisibility(View.GONE);
             findViewById(R.id.exit_room_rl).setVisibility(View.VISIBLE);
-            btnExit.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View view) {
-                    deleteRoom(mRoom);
-                }
-            });
+            if (CommonUtil.getSharedPreferences(mContext, "erp_commpany").equals(compName[0])) {
+                btnExit.setText("删除商务群");
+                btnExit.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View view) {
+                        deleteRoom(mRoom);
+                    }
+                });
+            } else {
+                btnExit.setText("用户未在当前账套上");
+                btnExit.setClickable(false);
+                btnExit.setVisibility(View.GONE);
+            }
             findViewById(R.id.room_name_rl).setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View v) {
@@ -776,7 +784,6 @@ public class RoomInfoActivity extends BaseActivity {
                 boolean success = Result.defaultParser(RoomInfoActivity.this, result, true);
                 if (success) {
                     deleteFriend(sortFriend);
-                    Log.i("Arison", "删除房间or_id:" + or_id);
                     updateCreateFalgToERP(or_id);
                 }
                 ProgressDialogUtil.dismiss(dialog);
@@ -1033,20 +1040,18 @@ public class RoomInfoActivity extends BaseActivity {
         com.xzjmyk.pm.activity.ui.erp.util.ViewUtil.httpSendRequest(
                 mContext, url, params, handler, headers, 1, null, null, "get");
     }
-
-
     private Handler handler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
             switch (msg.what) {
                 case 1:
                     String result = msg.getData().getString("result");
-                    Log.i("Arison", "result:" + result);
                     if (new JsonValidator().validate(result)) {
                         String or_id = JSON.parseObject(result).getString("or_id");
                         if (!StringUtils.isEmpty(or_id)) {
                             DBManager db = new DBManager(mContext);
-                            db.updateHrogrRemark(Integer.valueOf(or_id), 0);
+                            String master = CommonUtil.getSharedPreferences(mContext, "erp_master");
+                            db.updateHrogrRemark(Integer.valueOf(or_id), 0, master);
                         }
                     }
                     break;