Переглянути джерело

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

FANGLH 9 роки тому
батько
коміт
48b818345c
38 змінених файлів з 845 додано та 685 видалено
  1. 1 1
      WeiChat/build.gradle
  2. 19 14
      WeiChat/src/main/AndroidManifest.xml
  3. 7 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/AppConfig.java
  4. 48 17
      WeiChat/src/main/java/com/xzjmyk/pm/activity/db/dao/SigninDao.java
  5. 1 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/MainActivity.java
  6. 11 4
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/BasicInfoActivity.java
  7. 20 4
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/BaseInfoActivity.java
  8. 99 71
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/CompanyContactsActivity.java
  9. 10 341
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/MyFriendActivity.java
  10. 0 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/SaleSelectActivity.java
  11. 26 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/UUFriendActivity.java
  12. 7 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/TaskAddActivity.java
  13. 2 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/message/ProcessMsgActivity.java
  14. 5 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/AddMeetTaskActivity.java
  15. 5 5
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/AlarmaActivity.java
  16. 5 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/SaveMeetActivity.java
  17. 2 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/SigninAdapter.java
  18. 25 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/db/DBManager.java
  19. 8 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/entity/Hrorgs.java
  20. 4 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/BaseFragment.java
  21. 0 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/ChartListFragment.java
  22. 3 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/ContactFragment.java
  23. 0 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/QueryGridFragment.java
  24. 4 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SubscriptionAllFragment.java
  25. 360 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/UUFriendFragment.java
  26. 1 5
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/net/ViewUtil.java
  27. 96 171
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/alarm/AlarmManage.java
  28. 46 17
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/alarm/AlarmReceiver.java
  29. 1 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/groupchat/CreateGroupActivity.java
  30. 9 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/groupchat/GroupChatFragment.java
  31. 6 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MucChatActivity.java
  32. 8 4
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/RoomInfoActivity.java
  33. 0 1
      WeiChat/src/main/res/layout/activity_oa_alarma.xml
  34. 1 4
      WeiChat/src/main/res/layout/activity_select.xml
  35. 1 2
      WeiChat/src/main/res/layout/customprogressdialog.xml
  36. 1 1
      WeiChat/src/main/res/layout/item_process_state.xml
  37. 2 2
      WeiChat/src/main/res/layout/item_staff_tree.xml
  38. 1 1
      WeiChat/src/main/res/layout/radio_staff_button.xml

+ 1 - 1
WeiChat/build.gradle

@@ -13,7 +13,7 @@ android {
     }
     signingConfigs {
         config {
-            storeFile file('C:/Users/FANGlh/Desktop/UU5.5.1/applicationsignname[20150409]')
+            storeFile file('E:/CompanyProject/applicationsignname[20150409]')
             storePassword '13237658359'
             keyAlias 'jie-20150409'
             keyPassword '13237658359'

+ 19 - 14
WeiChat/src/main/AndroidManifest.xml

@@ -3,7 +3,7 @@
     xmlns:tools="http://schemas.android.com/tools"
     package="com.xzjmyk.pm.activity"
     android:versionCode="71"
-    android:versionName="5.5.6">
+    android:versionName="5.5.7">
 
     <uses-sdk
         android:minSdkVersion="11"
@@ -115,7 +115,7 @@
                 <action android:name="android.intent.action.MAIN" />
 
                 <category android:name="android.intent.category.LAUNCHER" />
-                <action android:name="cat.ereza.customactivityoncrash.RESTART"/>
+                <action android:name="cat.ereza.customactivityoncrash.RESTART" />
             </intent-filter>
         </activity>
         <!--异常跳转页面-->
@@ -186,11 +186,15 @@
         <activity android:name=".ui.erp.activity.ScheduleActivity" />
         <activity android:name=".ui.erp.activity.SubscribeDetailActivity" />
         <!-- Contacts 模块 -->
-        <activity android:name=".ui.erp.activity.CompanyContactsActivity"
-            android:windowSoftInputMode="stateVisible|adjustResize"/>
+        <activity
+            android:name=".ui.erp.activity.CompanyContactsActivity"
+            android:windowSoftInputMode="stateVisible|adjustResize" />
         <!-- 通用的activity 加载fragment -->
         <activity android:name=".ui.erp.activity.CommonFragmentActivity" />
-        <activity android:name=".ui.erp.activity.MyFriendActivity" />
+        <activity
+            android:name=".ui.erp.activity.MyFriendActivity"
+            android:windowSoftInputMode="stateUnspecified|adjustNothing" />
+        <activity android:name=".ui.erp.activity.UUFriendActivity" />
         <!-- UserCheckedActivity -->
         <activity
             android:name=".ui.UserCheckedActivity"
@@ -470,8 +474,7 @@
         </receiver>
 
         <activity android:name=".video.VideoActivity" />
-        <activity android:name=".ui.erp.activity.CompanyActivity"
-            />
+        <activity android:name=".ui.erp.activity.CompanyActivity" />
         <activity android:name=".ui.erp.activity.BaseInfoActivity" />
         <activity android:name=".ui.message.SubscriptionActivity" />
         <activity android:name=".ui.circle.PhoneSelectActivity" />
@@ -584,8 +587,7 @@
 
         <activity
             android:name=".ui.erp.activity.oa.WorkLogsActivity"
-            android:theme="@style/OAThemeSignin"
-            />
+            android:theme="@style/OAThemeSignin" />
         <activity android:name=".ui.circle.view.SelectLocationActivity" />
         <activity
             android:name=".ui.erp.activity.oa.SigninTimeSetActivity"
@@ -691,8 +693,10 @@
             android:name="com.sina.weibo.sdk.component.WeiboSdkBrowser"
             android:configChanges="keyboardHidden|orientation"
             android:exported="false"
-            android:windowSoftInputMode="adjustResize"></activity>
-        <activity android:name=".ui.erp.activity.oa.SelectActivity" />
+            android:windowSoftInputMode="adjustResize" />
+        <activity
+            android:name=".ui.erp.activity.oa.SelectActivity"
+            android:windowSoftInputMode="adjustUnspecified|stateHidden" />
         <activity
             android:name=".ui.erp.activity.oa.ChangeMobileActivity"
             android:label="@string/change_mobile" />
@@ -700,11 +704,12 @@
             android:name="com.umeng.socialize.editorpage.ShareActivity"
             android:excludeFromRecents="true"
             android:theme="@style/Theme.UMDefault" />
-        <activity android:name=".ui.groupchat.CreateGroupActivity"></activity>
+        <activity
+            android:name=".ui.groupchat.CreateGroupActivity"
+            android:label="选择好友" />
         <activity
             android:name=".ui.erp.activity.message.ProcessMsgActivity"
-            android:label="@string/title_activity_process_msg">
-        </activity>
+            android:label="@string/title_activity_process_msg" />
     </application>
 
 </manifest>

+ 7 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/AppConfig.java

@@ -10,6 +10,13 @@ import com.xzjmyk.pm.activity.bean.ConfigBean;
 public class AppConfig {
 	public static final String TAG = "roamer";
 	public static final boolean DEBUG = true;
+
+	public final static String AUTO_SIGNIN_ACTION = "AUTO_SIGNIN_ACTION";//自动打卡action
+	public final static String WORK_ALARM_ACTION = "WORK_ALARM_ACTION";//上班提醒action
+	public final static String OFFWORK_ALARM_ACTION = "OFFWORK_ALARM_ACTION";//下班提醒action
+	public final static String ALARMA_CLICK = "ALARMA_CLICK";//判断是否选中提醒
+	public final static String AUTO_SIGNIN = "AUTO_SIGNIN";//判断是否选中
+
 	/* 应用程序包名 */
 	public static final String sPackageName = "com.xzjmyk.pm.activity";
 

+ 48 - 17
WeiChat/src/main/java/com/xzjmyk/pm/activity/db/dao/SigninDao.java

@@ -7,6 +7,7 @@ import android.database.SQLException;
 import android.database.sqlite.SQLiteDatabase;
 import android.util.Log;
 
+import com.xzjmyk.pm.activity.AppConfig;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.bean.oa.SigninBean;
 import com.xzjmyk.pm.activity.ui.erp.db.DBOpenHelper;
@@ -22,23 +23,12 @@ import java.util.List;
  * Created by gongpm on 2016/7/28.
  */
 public class SigninDao {
-    private static SigninDao instance = null;
     private DBOpenHelper helper;
-    private String titleName = "Signin";
+    private String titleName = null;
 
-    public static final SigninDao getInstance(Context context) {
-        if (instance == null) {
-            synchronized (UserDao.class) {
-                if (instance == null) {
-                    instance = new SigninDao(context);
-                }
-            }
-        }
-        return instance;
-    }
-
-    private SigninDao(Context context) {
+    public SigninDao(Context context) {
         helper = new DBOpenHelper(context);
+        titleName = "Signin";
     }
 
 
@@ -57,7 +47,6 @@ public class SigninDao {
         try {
             for (SigninBean e : beans) {
                 if (isException) return false;
-                values.clear();
                 values.put("emCode", emCode);
                 values.put("master", master);
                 values.put("workTime", e.getWorkTime());
@@ -68,7 +57,7 @@ public class SigninDao {
                     values.put("workSignin", e.getWorkSignin());
                 }
                 if (StringUtils.isEmpty(e.getOffSignin()) || e.getOffSignin().compareTo(e.getOffTime()) < 0) {
-                    values.put("workSignin", "");
+                    values.put("offSignin", "");
                 } else {
                     values.put("offSignin", e.getOffSignin());
                 }
@@ -80,9 +69,11 @@ public class SigninDao {
             db.setTransactionSuccessful();
             isOk = true;
         } catch (SQLException e) {
+            testShow("SQLException",e.getMessage());
             isException = true;
             e.printStackTrace();
         } catch (Exception e) {
+            testShow("Exception",e.getMessage());
             isException = true;
             e.printStackTrace();
         } finally {
@@ -159,6 +150,39 @@ public class SigninDao {
         return true;
     }
 
+    public boolean updateByBrean(SigninBean bean) {
+        SQLiteDatabase db = helper.getWritableDatabase();
+        String emCode = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_username");
+        String master = CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_master");
+        try {
+            ContentValues values = new ContentValues();
+            values.put("emCode", emCode);
+            values.put("workTime", bean.getWorkTime());
+            values.put("master", master);
+            values.put("offTime", bean.getOffTime());
+            values.put("workSignin", bean.getWorkSignin());
+            values.put("offSignin", bean.getOffSignin());
+            values.put("startTime", bean.getStartTime());
+            values.put("endTime", bean.getEndTime());
+            String where = "emCode=? and master=? and startTime=? and endTime=?";
+            String[] whereArgs = {emCode, master, bean.getStartTime(), bean.getEndTime()};
+            int i = db.update(titleName, values, where, whereArgs);
+            testShow("i", String.valueOf(i));
+        } catch (SQLException e) {
+            testShow("SQLException", e.getMessage());
+            e.printStackTrace();
+            return false;
+        } catch (Exception e) {
+            testShow("Exception", e.getMessage());
+            e.printStackTrace();
+            return false;
+        } finally {
+            db.close();
+        }
+        return true;
+
+    }
+
     //查
     public List<SigninBean> querySignin(String select, String[] selectAges) {
         SQLiteDatabase db = helper.getReadableDatabase();
@@ -209,11 +233,18 @@ public class SigninDao {
         String select = "emCode=? and master=? ";
         String[] args = {emCode, master};
         beans = querySignin(select, args);
+        for (SigninBean e : beans) {
+            testShow("e.getWorkTime()=", e.getWorkTime());
+            testShow("e.getWorkSignin()=", e.getWorkSignin());
+            testShow("e.getOffTime()=", e.getOffTime());
+            testShow("e.getOffSignin()=", e.getOffSignin());
+            testShow("+++++++++++++++++++++", "+++++++++++++++++++++");
+        }
         return beans == null ? new ArrayList<SigninBean>() : beans;
     }
 
     private void testShow(String tag, String message) {
-        if (StringUtils.isEmpty(tag)) return;
+        if (!AppConfig.DEBUG || StringUtils.isEmpty(tag)) return;
         Log.i("gongpengming", tag + ":" + message);
     }
 }

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

@@ -76,7 +76,6 @@ import java.util.List;
  * @修改的内容: TODO
  */
 public class MainActivity extends BaseActivity implements NetWorkObservable.NetWorkObserver, AuthStateListener {
-    public final static String SIP_PASSWORD = "ms_2014_0528@sk!@#";
     public static String HASHCODE = "MainActivity";
     public static final String TIME_MAIN = "TIMEMAIN";
     public static long timeMin = -1;
@@ -242,7 +241,6 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
                 config.MSG_LIST, new Response.ErrorListener() {
             @Override
             public void onErrorResponse(VolleyError arg0) {
-                ToastUtil.showErrorNet(ct);
             }
         }, new StringJsonArrayRequest.Listener<CircleMessage>() {
             @Override
@@ -479,6 +477,7 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
 //            }
 //        }
 //        dbManager.closeDB();
+
     }
 
     public void updateVersion() {

+ 11 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/BasicInfoActivity.java

@@ -152,6 +152,7 @@ public class BasicInfoActivity extends BaseActivity implements NewFriendListener
         mBind = bindService(CoreService.getIntent(), mServiceConnection, BIND_AUTO_CREATE);
     }
 
+
     @Override
     protected void onResume() {
         super.onResume();
@@ -204,12 +205,17 @@ public class BasicInfoActivity extends BaseActivity implements NewFriendListener
 
     @Override
     public void onBackPressed() {
+        Intent intent = new Intent();
+        setResult(0x20, intent);
         super.onBackPressed();
-        finish();
     }
 
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
+        if (item.getItemId() == android.R.id.home) {
+            onBackPressed();
+            return true;
+        }
         if (mFriend == null) {
             return super.onOptionsItemSelected(item);
         }
@@ -244,6 +250,7 @@ public class BasicInfoActivity extends BaseActivity implements NewFriendListener
             case R.id.delete_all:// 设置备注名
                 showDeleteAllDialog(mFriend);
                 break;
+
             default:
                 break;
         }
@@ -267,7 +274,7 @@ public class BasicInfoActivity extends BaseActivity implements NewFriendListener
         mDataLoadView.setVisibility(View.GONE);
         String code = null;
         if (getIntent() != null) {
-            phone=code = getIntent().getStringExtra(AppConstant.EXTRA_NICK_CODE);
+            phone = code = getIntent().getStringExtra(AppConstant.EXTRA_NICK_CODE);
         }
         name_tv.setText(userName);
         phone_tv.setText(code);
@@ -279,10 +286,10 @@ public class BasicInfoActivity extends BaseActivity implements NewFriendListener
 
     private void loadOthersInfoFromNet() {
         mDataLoadView.showLoading();
-        Map<String, String> params = new HashMap<String, String>();
+        Map<String, String> params = new HashMap<>();
         params.put("access_token", MyApplication.getInstance().mAccessToken);
         params.put("userId", userId);
-        StringJsonObjectRequest<User> request = new StringJsonObjectRequest<User>(mConfig.USER_GET_URL,
+        StringJsonObjectRequest<User> request = new StringJsonObjectRequest<>(mConfig.USER_GET_URL,
                 new Response.ErrorListener() {
                     @Override
                     public void onErrorResponse(VolleyError arg0) {

+ 20 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/BaseInfoActivity.java

@@ -43,6 +43,7 @@ import com.xzjmyk.pm.activity.ui.erp.entity.EmployeesEntity;
 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.LogUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.me.BasicInfoEditActivity;
 import com.xzjmyk.pm.activity.ui.me.LocalVideoActivity;
 import com.xzjmyk.pm.activity.ui.tool.SelectAreaActivity;
@@ -183,8 +184,16 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
             mNickname = entities.get(0).getEM_NAME();
         }
         // mNameEdit.setText(mTempData.getNickName());
-        tv_address.setText(Area.getProvinceCityString(mTempData.getProvinceId(), mTempData.getCityId())
-        +"-"+Area.getCityAreaString(0,mTempData.getAreaId()));
+      
+        if(!StringUtils.isEmpty(Area.getCityAreaString(0, mTempData.getAreaId()))){
+            tv_address.setText(Area.getProvinceCityString(mTempData.getProvinceId(), mTempData.getCityId())
+                    + "-" + Area.getCityAreaString(0, mTempData.getAreaId()));
+        }else{
+            tv_address.setText(Area.getProvinceCityString(mTempData.getProvinceId(), mTempData.getCityId()));
+        }
+        if (Area.getProvinceCityString(mTempData.getProvinceId(), mTempData.getCityId()).contains("海外")){
+            tv_address.setText("海外");
+        }
         AvatarHelper.getInstance().displayAvatar(mTempData.getUserId(), iv_headImage, true);
     }
 
@@ -379,8 +388,14 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
                 String province_name = data.getStringExtra(SelectAreaActivity.EXTRA_PROVINCE_NAME);
                 String city_name = data.getStringExtra(SelectAreaActivity.EXTRA_CITY_NAME);
                 String county_name=data.getStringExtra(SelectAreaActivity.EXTRA_COUNTY_NAME);
-                tv_address.setText(province_name + "-" + city_name+"-"+county_name);
-
+                if (StringUtils.isEmpty(county_name)){
+                    tv_address.setText(province_name + "-" + city_name);
+                }else{
+                    tv_address.setText(province_name + "-" + city_name+"-"+county_name);
+                }
+                if ("海外".equals(province_name)){
+                    tv_address.setText(province_name);
+                }
                 LogUtil.d("省:" + provinceId + "市:" + cityId + "县:" + countryId);
                 mTempData.setCountryId(countryId);
                 mTempData.setProvinceId(provinceId);
@@ -549,6 +564,7 @@ public class BaseInfoActivity extends BaseActivity implements View.OnClickListen
                     AvatarHelper.getInstance().deleteAvatar(loginUserId);
                     ToastUtil.showToast(BaseInfoActivity.this, R.string.upload_avatar_success);
                     mCurrentFile=null;
+                    mProgressDialog=null;
                 } else {
                     ToastUtil.showToast(BaseInfoActivity.this, R.string.upload_avatar_failed);
                 }

+ 99 - 71
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/CompanyContactsActivity.java

@@ -69,24 +69,25 @@ import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+
 /**
-  * @desc:企业架构
-  * @author:Arison on 2016/10/31
-  */
+ * @desc:企业架构
+ * @author:Arison on 2016/10/31
+ */
 public class CompanyContactsActivity extends BaseActivity {
 
     private Context ct;
     //关键变量
-    public static ArrayList<String> tabTitle = new ArrayList<String>(); // 标题
+    public static ArrayList<String> tabTitle = new ArrayList<>(); // 标题
     public static Map<String, Object> keystore = new LinkedHashMap<>(); // 标题
-  
+
     @ViewInject(R.id.lv_saff_list)
     public CustomerListView listview;
     @ViewInject(R.id.lv_left_list)
     public CustomerListView mlistleft;
     @ViewInject(R.id.edt_search)
     public ClearEditText mEditText;
-    String sessionId;
+
 
     private LayoutInflater mInflater;
     @ViewInject(R.id.ll_list)
@@ -108,7 +109,7 @@ public class CompanyContactsActivity extends BaseActivity {
     private DBManager manager;
     private DetailItemAdapter adapter;// 左边
     private DetailItemAdapter madapter;// 右边
-    
+
     private final int LOAD_SUCCESS_ALLDATA = 9;
     private final int UPDATE_CHANGE_MASTER = 12;
     private final int LOAD_SUCCESS_LEAFHRORG = 2;
@@ -116,7 +117,7 @@ public class CompanyContactsActivity extends BaseActivity {
     private final int LOAD_SUCCESS_LEAFHRORG_RIGHTANDLEFT = 6;
     private final int LOAD_SUCCESS_EMPLOYEE = 4;
     private final int LOAD_SUCCESS_EMPLOYEEINFO = 3;
-    
+
     private Handler mHandler = new Handler() {
         public void handleMessage(android.os.Message msg) {
             HrorgsEntity hEntity;
@@ -224,10 +225,9 @@ public class CompanyContactsActivity extends BaseActivity {
 //                    progressDialog.dismiss();
                     //reScrollView.onRefreshComplete();
                     break;
+                /** @注释:左边栏接收数据 */
                 case LOAD_SUCCESS_LEAFHRORG:
-                    /** @注释:左边栏接收数据 */
                     jsonString = msg.getData().getString("result");
-                    ///	Log.i(TAG, "json:" + jsonString);
                     initNavigationHSV(tabTitle.size());
                     new Handler().postDelayed(new Runnable() {
 
@@ -289,7 +289,6 @@ public class CompanyContactsActivity extends BaseActivity {
                     new Handler().postDelayed(new Runnable() {
                         @Override
                         public void run() {
-                            
                             hscrollview.smoothScrollTo(5500, 0);
                         }
                     }, 10);
@@ -303,7 +302,7 @@ public class CompanyContactsActivity extends BaseActivity {
 
                     madapter = new DetailItemAdapter(ct, hrorgs);
                     mlistleft.setAdapter(madapter);
-//				ViewUtil.setListViewHeightBasedOnChildren(mlistleft);
+//				    ViewUtil.setListViewHeightBasedOnChildren(mlistleft);
                     hrorgs_parent = hrorgs;
                     if (adapter.getCount() == 0) {
 //                        ViewUtil.ShowMessageTitle(ct, "暂时没有数据!");
@@ -399,7 +398,7 @@ public class CompanyContactsActivity extends BaseActivity {
         }
 
     };
- 
+
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -446,7 +445,7 @@ public class CompanyContactsActivity extends BaseActivity {
     private String next_or_name;//记录下级标题栏的or_id   解决顶部导航栏点击选择问题
 
     public void initListener() {
-   
+
         rg_nav_content.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
             @Override
             public void onCheckedChanged(RadioGroup group, int checkedId) {
@@ -580,7 +579,7 @@ public class CompanyContactsActivity extends BaseActivity {
                 //TODO 下拉过程中,下拉的距离是否足够出发刷新
             }
         });
-       
+
         mEditText.addTextChangedListener(new TextWatcher() {
             @Override
             public void beforeTextChanged(CharSequence s, int start, int count, int after) {
@@ -590,9 +589,9 @@ public class CompanyContactsActivity extends BaseActivity {
             @Override
             public void onTextChanged(CharSequence s, int start, int before, int count) {
                 if (!StringUtils.isEmpty(s.toString())) {
-                    searchData= searchEmployee(s.toString());
-                    if (!ListUtils.isEmpty(searchData)){
-                        popupWindow=null;
+                    searchData = searchEmployee(s.toString());
+                    if (!ListUtils.isEmpty(searchData)) {
+                        popupWindow = null;
                         showPopupWindow(mEditText);
                     }
                 }
@@ -606,9 +605,7 @@ public class CompanyContactsActivity extends BaseActivity {
 
 
     }
-    
-    
-  
+
 
     private void EnterChatAction(DetailItemAdapter.ModelItem item) {
         Friend friendOne = FriendDao.getInstance().getFriend(MyApplication.getInstance().mLoginUser.getUserId(),
@@ -705,6 +702,9 @@ public class CompanyContactsActivity extends BaseActivity {
             LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
                     LinearLayout.LayoutParams.MATCH_PARENT);
             rb.setLayoutParams(params);
+            if (num == (i + 1)) {
+                rb.setCompoundDrawables(null, null, null, null);
+            }
             rg_nav_content.addView(rb);
         }
     }
@@ -847,31 +847,31 @@ public class CompanyContactsActivity extends BaseActivity {
             LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
             view = layoutInflater.inflate(R.layout.pop_crm_list, null);
             ListView plist = (ListView) view.findViewById(R.id.mList);
-            final  MySimpleAdapter adapter = new  MySimpleAdapter(
+            final MySimpleAdapter adapter = new MySimpleAdapter(
                     this,
                     searchData,
                     R.layout.item_pop_employee,
-                    new String[]{"item_name","item_sub"}, new int[]{R.id.name_tv,R.id.sub_tv});
+                    new String[]{"item_name", "item_sub"}, new int[]{R.id.name_tv, R.id.sub_tv});
             plist.setAdapter(adapter);
             plist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                 @Override
                 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                     Map<String, Object> mMap = (Map<String, Object>) adapter.getItem(position);
-                    String name=  mMap.get("item_name").toString();
-                    String sub=  mMap.get("item_sub").toString();
-                    String depart=  mMap.get("item_depart").toString();
-                    String pos=  mMap.get("item_position").toString();
-                    String imId=  mMap.get("item_imId").toString();
-                    final String phone=  mMap.get("item_phone").toString();
-               
-          
+                    String name = mMap.get("item_name").toString();
+                    String sub = mMap.get("item_sub").toString();
+                    String depart = mMap.get("item_depart").toString();
+                    String pos = mMap.get("item_position").toString();
+                    String imId = mMap.get("item_imId").toString();
+                    final String phone = mMap.get("item_phone").toString();
+
+
                     Friend friend = new Friend();
                     friend.setNickName(name);
                     friend.setPhone(phone);
                     friend.setDepart(depart);
                     friend.setPosition(pos);
                     friend.setUserId(imId);
-                     Intent intent = new Intent(ct, BasicInfoActivity.class);
+                    Intent intent = new Intent(ct, BasicInfoActivity.class);
                     intent.putExtra(AppConstant.EXTRA_NICK_CODE, friend.getPhone());
                     intent.putExtra(AppConstant.EXTRA_USER_ID, friend.getUserId());
                     intent.putExtra(AppConstant.EXTRA_NICK_NAME, friend.getNickName());
@@ -880,7 +880,7 @@ public class CompanyContactsActivity extends BaseActivity {
                     closePoppupWindow();
                 }
             });
-            popupWindow = new PopupWindow(view, windowManager.getDefaultDisplay().getWidth() , windowManager.getDefaultDisplay().getHeight() / 3);
+            popupWindow = new PopupWindow(view, windowManager.getDefaultDisplay().getWidth(), windowManager.getDefaultDisplay().getHeight() / 3);
         }
         // 使其聚集
         popupWindow.setFocusable(true);
@@ -897,7 +897,8 @@ public class CompanyContactsActivity extends BaseActivity {
         popupWindow.setBackgroundDrawable(new BitmapDrawable());
         popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
         popupWindow.setSoftInputMode(PopupWindow.INPUT_METHOD_NEEDED);
-        popupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);;
+        popupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
+        ;
         // 显示的位置为:屏幕的宽度的一半-PopupWindow的高度的一半
         popupWindow.showAsDropDown(parent, windowManager.getDefaultDisplay().getWidth(), 0);
     }
@@ -911,37 +912,38 @@ public class CompanyContactsActivity extends BaseActivity {
 
     List<Map<String, Object>> searchData;
 
-    public List<Map<String, Object>> searchEmployee(String key){
+    public List<Map<String, Object>> searchEmployee(String key) {
         List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
-        Map<String, Object> map = new HashMap<String, Object>();
-        String master=CommonUtil.getSharedPreferences(ct,"erp_master");
+        Map<String, Object> map = null;
+        String master = CommonUtil.getSharedPreferences(ct, "erp_master");
+        //select * from employees where em_name like '%优软移动终端部%' or em_position like '%优软移动终端部%' or em_defaultorname like '%优软移动终端部%'
 
         List<EmployeesEntity> eList = manager.select_getEmployee(
-                new String[]{"%"+key+"%", master},
-                "em_name like ? and whichsys=?");
+                new String[]{"%" + key + "%", master, "%" + key + "%", "%" + key + "%"},
+                "em_name like ? and whichsys=? or em_position like ? or em_defaultorname like ?");
         LogUtil.prinlnLongMsg(TAG, JSON.toJSONString(eList));
-       if(!ListUtils.isEmpty(eList)){
-           for (int i=0;i<eList.size(); i++){
-               map = new HashMap<String, Object>();
-               map.put("item_name", eList.get(i).getEM_NAME());
-               map.put("item_sub",eList.get(i).getEM_DEPART()+">"+eList.get(i).getEM_POSITION());
-               map.put("item_depart",eList.get(i).getEM_DEPART());
-               map.put("item_position",eList.get(i).getEM_POSITION());
-               map.put("item_imId",eList.get(i).getEm_IMID());
-               map.put("item_phone",eList.get(i).getEM_MOBILE());
-               list.add(map);
-           }
-       }
-       return  list;
+        if (!ListUtils.isEmpty(eList)) {
+            for (int i = 0; i < eList.size(); i++) {
+                map = new HashMap<String, Object>();
+                map.put("item_name", eList.get(i).getEM_NAME());
+                map.put("item_sub", eList.get(i).getEM_DEPART() + ">" + eList.get(i).getEM_POSITION());
+                map.put("item_depart", eList.get(i).getEM_DEPART());
+                map.put("item_position", eList.get(i).getEM_POSITION());
+                map.put("item_imId", eList.get(i).getEm_IMID());
+                map.put("item_phone", eList.get(i).getEM_MOBILE());
+                list.add(map);
+            }
+        }
+        return list;
     }
-    
-    
+
+
     public static final int LIST_LEFT_MODE = 0;
     public static final int LIST_TOP_MODE = 2;
     public static final int LIST_RIGHT_MODE = 1;
 
     /**
-     * @注释:右边listView适配器
+     * @注释:右边列表
      */
     public class DetailItemAdapter extends BaseAdapter {
         private Context ct;
@@ -952,12 +954,12 @@ public class CompanyContactsActivity extends BaseActivity {
         private int selectOrId;
         private int typeMode = LIST_RIGHT_MODE;
 
-
+/*
         public DetailItemAdapter(Context ct, List<Hrorgs.HrorgItem> items) {
             this.ct = ct;
             this.inflater = LayoutInflater.from(ct);
             this.lists = items;
-        }
+        }*/
 
         public DetailItemAdapter(Context ct, Hrorgs object) {
             this.ct = ct;
@@ -1042,7 +1044,12 @@ public class CompanyContactsActivity extends BaseActivity {
             // 三种情况
             if (lists != null && employees != null) {
                 if (position < lists.size()) {
-                    item.tv_name.setText(lists.get(position).getOr_name());
+                    int count = lists.get(position).getOr_emcount();
+                    if (count == 0) {
+                        item.tv_name.setText(lists.get(position).getOr_name());
+                    } else {
+                        item.tv_name.setText(lists.get(position).getOr_name() + "(" + lists.get(position).getOr_emcount() + ")");
+                    }
                     item.or_id = lists.get(position).getOr_id();
                     item.isleaf = lists.get(position).getOr_isleaf();
                     item.tv_type.setText("部门");
@@ -1058,9 +1065,21 @@ public class CompanyContactsActivity extends BaseActivity {
                     item.tv_type.setVisibility(View.INVISIBLE);
                     item.add_friend.setVisibility(View.GONE);
                     item.phone.setVisibility(View.GONE);
+                    item.iv_enter.setImageResource(R.drawable.phone);
+                    item.iv_enter.setOnClickListener(new View.OnClickListener() {
+                        @Override
+                        public void onClick(View v) {
+                            CommonUtil.phoneAction(ct, employees.get(position - lists.size()).getEm_mobile());
+                        }
+                    });
                 }
             } else if (lists != null) {
-                item.tv_name.setText(lists.get(position).getOr_name());
+                int count = lists.get(position).getOr_emcount();
+                if (count == 0) {
+                    item.tv_name.setText(lists.get(position).getOr_name());
+                } else {
+                    item.tv_name.setText(lists.get(position).getOr_name() + "(" + lists.get(position).getOr_emcount() + ")");
+                }
                 item.or_id = lists.get(position).getOr_id();
                 item.isleaf = lists.get(position).getOr_isleaf();
                 item.tv_type.setText("部门");
@@ -1076,6 +1095,13 @@ public class CompanyContactsActivity extends BaseActivity {
                 item.tv_type.setText("联系人");
                 item.imid = employees.get(position).getEm_imid();
                 item.tv_type.setVisibility(View.INVISIBLE);
+                item.iv_enter.setImageResource(R.drawable.phone);
+                item.iv_enter.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        CommonUtil.phoneAction(ct, employees.get(position - lists.size()).getEm_mobile());
+                    }
+                });
             }
             item.iv_falg.setVisibility(View.GONE);
             if (typeMode == LIST_LEFT_MODE) {
@@ -1088,7 +1114,7 @@ public class CompanyContactsActivity extends BaseActivity {
             } else {
                 if (typeMode == LIST_TOP_MODE) {
                     if (item.or_id == selectOrId) {
-                        Log.i(TAG, "or_id相等。。。。");
+//                        Log.i(TAG, "or_id相等。。。。");
                         // convertView.setBackgroundResource(R.drawable.tongcheng_all_bg01);
                         convertView.setBackgroundColor(Color.parseColor("#f3f3f3"));
                     } else {
@@ -1115,8 +1141,10 @@ public class CompanyContactsActivity extends BaseActivity {
         }
     }
 
-
-
+    /**
+     * @desc:查询列表
+     * @author:Arison on 2016/11/7
+     */
     private class MySimpleAdapter extends SimpleAdapter {
 
         /**
@@ -1138,21 +1166,21 @@ public class CompanyContactsActivity extends BaseActivity {
         }
 
         @Override
-        public View getView(final  int position, View convertView, ViewGroup parent) {
-            convertView=super.getView(position, convertView, parent);
-            ImageView phone_img= (ImageView) convertView.findViewById(R.id.phone_img);
-            ImageView header_img= (ImageView) convertView.findViewById(R.id.header_img);
-           final Map<String, Object> mMap = (Map<String, Object>)getItem(position);
+        public View getView(final int position, View convertView, ViewGroup parent) {
+            convertView = super.getView(position, convertView, parent);
+            ImageView phone_img = (ImageView) convertView.findViewById(R.id.phone_img);
+            ImageView header_img = (ImageView) convertView.findViewById(R.id.header_img);
+            final Map<String, Object> mMap = (Map<String, Object>) getItem(position);
             phone_img.setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View v) {
-                  
-                    CommonUtil.phoneAction(mContext,mMap.get("item_phone").toString());
+
+                    CommonUtil.phoneAction(mContext, mMap.get("item_phone").toString());
                 }
             });
 
-            AvatarHelper.getInstance().displayAvatar(mMap.get("item_imId").toString(),header_img,true);
+            AvatarHelper.getInstance().displayAvatar(mMap.get("item_imId").toString(), header_img, true);
             return convertView;
         }
     }
-    }
+}

+ 10 - 341
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/MyFriendActivity.java

@@ -1,25 +1,16 @@
 package com.xzjmyk.pm.activity.ui.erp.activity;
 
-import android.app.Activity;
-import android.app.AlertDialog;
 import android.app.ProgressDialog;
-import android.content.ComponentName;
-import android.content.DialogInterface;
 import android.content.Intent;
-import android.content.ServiceConnection;
 import android.os.Bundle;
 import android.os.Handler;
-import android.os.IBinder;
 import android.text.Editable;
-import android.text.InputFilter;
 import android.text.TextUtils;
 import android.text.TextWatcher;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.view.ViewGroup;
 import android.widget.AdapterView;
-import android.widget.EditText;
 import android.widget.ListView;
 import android.widget.TextView;
 
@@ -33,12 +24,8 @@ import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.adapter.FriendSortAdapter;
 import com.xzjmyk.pm.activity.bean.AttentionUser;
 import com.xzjmyk.pm.activity.bean.Friend;
-import com.xzjmyk.pm.activity.bean.message.NewFriendMessage;
-import com.xzjmyk.pm.activity.bean.message.XmppMessage;
-import com.xzjmyk.pm.activity.broadcast.MsgBroadcast;
 import com.xzjmyk.pm.activity.db.dao.FriendDao;
 import com.xzjmyk.pm.activity.db.dao.OnCompleteListener;
-import com.xzjmyk.pm.activity.helper.FriendHelper;
 import com.xzjmyk.pm.activity.sortlist.BaseComparator;
 import com.xzjmyk.pm.activity.sortlist.BaseSortModel;
 import com.xzjmyk.pm.activity.sortlist.PingYinUtil;
@@ -53,15 +40,11 @@ import com.xzjmyk.pm.activity.ui.message.ChatActivity;
 import com.xzjmyk.pm.activity.ui.message.NewFriendActivity;
 import com.xzjmyk.pm.activity.util.ProgressDialogUtil;
 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.view.ClearEditText;
 import com.xzjmyk.pm.activity.volley.ArrayResult;
-import com.xzjmyk.pm.activity.volley.ObjectResult;
 import com.xzjmyk.pm.activity.volley.Result;
 import com.xzjmyk.pm.activity.volley.StringJsonArrayRequest;
-import com.xzjmyk.pm.activity.volley.StringJsonObjectRequest;
-import com.xzjmyk.pm.activity.xmpp.CoreService;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -90,7 +73,7 @@ public class MyFriendActivity extends BaseActivity {
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        setContentView(R.layout.fragment_friend);
+        setContentView(R.layout.fragment_contact);
         isPeculiar = getIntent().getBooleanExtra("isPeculiar", false);
         if (isPeculiar)
             getSupportActionBar().setTitle("常用联系人");
@@ -98,24 +81,19 @@ public class MyFriendActivity extends BaseActivity {
             getSupportActionBar().setTitle("UU好友");
         mSortFriends = new ArrayList<>();
         allFriends = new ArrayList<>();
-        mBaseComparator = new BaseComparator<Friend>();
+        mBaseComparator = new BaseComparator<>();
         mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
         initView();
 
     }
 
-
-    private Friend EnterChatAction(EmployeesEntity employee) {
-        Friend friend = new Friend();
-        friend.setUserId(String.valueOf(employee.getEm_IMID()));
-        friend.setOwnerId(MyApplication.getInstance().mLoginUser.getUserId());
-        friend.setRemarkName(employee.getEM_NAME());//备注
-        friend.setNickName(employee.getEM_NAME());//昵称
-//        friend.setDescription("企业通讯录人员");
-        // timeSend作为取群聊离线消息的标志,所以要在这里设置一个初始值
-        friend.setTimeSend(TimeUtils.sk_time_current_time());
-        friend.setStatus(Friend.STATUS_UNKNOW);
-        return friend;
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (requestCode == 0x20 && resultCode == 0x20) {
+            mAdapter.setisRefeshed(true);
+            upDataFriend();
+            loadData();
+        }
     }
 
     private void upDataFriend() {
@@ -146,20 +124,9 @@ public class MyFriendActivity extends BaseActivity {
         MyApplication.getInstance().getFastVolley().addDefaultRequest(HASHCODE, request);
     }
 
-    private ServiceConnection mServiceConnection = new ServiceConnection() {
-        @Override
-        public void onServiceDisconnected(ComponentName name) {
-            mXmppService = null;
-        }
 
-        @Override
-        public void onServiceConnected(ComponentName name, IBinder service) {
-            mXmppService = ((CoreService.CoreServiceBinder) service).getService();
-        }
-    };
 
     private void initView() {
-        mBind = MyFriendActivity.this.bindService(CoreService.getIntent(), mServiceConnection, Activity.BIND_AUTO_CREATE);
         mPullToRefreshListView = (PullToRefreshListView) findViewById(R.id.pull_refresh_list);
         mTextDialog = (TextView) findViewById(R.id.text_dialog);
         mSideBar = (SideBar) findViewById(R.id.sidebar);
@@ -221,22 +188,7 @@ public class MyFriendActivity extends BaseActivity {
                     intent.putExtra(AppConstant.EXTRA_NICK_CODE, friend.getPhone());
                     intent.putExtra("friend", friend);
                 }
-                startActivityForResult(intent,0x20);
-            }
-        });
-        mPullToRefreshListView.getRefreshableView().setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
-            @Override
-            public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
-                BaseSortModel<Friend> sortFriend = mSortFriends.get((int) id);
-                if (sortFriend == null || sortFriend.getBean() == null) {
-                    return false;
-                }
-                String userId = sortFriend.getBean().getUserId();
-                if (userId.equals(Friend.ID_SYSTEM_MESSAGE) || userId.equals(Friend.ID_NEW_FRIEND_MESSAGE)) {
-                    return false;
-                }
-                showLongClickOperationDialog(sortFriend);
-                return true;
+                startActivityForResult(intent, 0x20);
             }
         });
 
@@ -396,294 +348,11 @@ public class MyFriendActivity extends BaseActivity {
         }
     }
 
-    // ///////////其他操作///////////////////
-    private void showLongClickOperationDialog(final BaseSortModel<Friend> sortFriend) {
-        Friend friend = sortFriend.getBean();
-        if (friend.getStatus() != Friend.STATUS_BLACKLIST && friend.getStatus() == Friend.STATUS_ATTENTION
-                && friend.getStatus() == Friend.STATUS_FRIEND) {
-            return;
-        }
-        CharSequence[] items = new CharSequence[4];
-        items[0] = getString(R.string.set_remark_name);// 设置备注名
-        if (friend.getStatus() == Friend.STATUS_BLACKLIST) {// 在黑名单中,显示“设置备注名”、“移除黑名单”,"取消关注",“彻底删除”
-            items[1] = getString(R.string.remove_blacklist);
-        } else {
-            items[1] = getString(R.string.add_blacklist);
-        }
-        items[2] = getString(R.string.cancel_attention);
-        items[3] = getString(R.string.delete_all);
-
-        new AlertDialog.Builder(MyFriendActivity.this).setItems(items, new DialogInterface.OnClickListener() {
-            @Override
-            public void onClick(DialogInterface dialog, int which) {
-                switch (which) {
-                    case 0:// 设置备注名
-                        showRemarkDialog(sortFriend);
-                        break;
-                    case 1:// 加入黑名单,或者移除黑名单
-                        showBlacklistDialog(sortFriend);
-                        break;
-                    case 2:// 取消关注
-                        showCancelAttentionDialog(sortFriend);
-                        break;
-                    case 3:// 解除关注关系或者解除好友关系
-                        showDeleteAllDialog(sortFriend);
-                        break;
-                }
-            }
-        }).setCancelable(true).create().show();
-
-    }
-
-    private void showRemarkDialog(final BaseSortModel<Friend> sortFriend) {
-        final EditText editText = new EditText(MyFriendActivity.this);
-        editText.setMaxLines(2);
-        editText.setLines(2);
-        editText.setText(sortFriend.getBean().getShowName());
-        editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(20)});
-        editText.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
-
-        AlertDialog.Builder builder = new AlertDialog.Builder(MyFriendActivity.this);
-        builder.setTitle(R.string.set_remark_name).setView(editText)
-                .setPositiveButton(getString(R.string.sure), new DialogInterface.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        String input = editText.getText().toString();
-                        if (input.equals(sortFriend.getBean().getShowName())) {// 备注名没变
-                            return;
-                        }
-                        if (!StringUtils.isNickName(input)) {// 不符合昵称
-                            if (input.length() != 0) {
-                                ToastUtil.showToast(MyFriendActivity.this, R.string.remark_name_format_error);
-                                return;
-                            } else {// 不符合昵称,因为长度为0,但是可以做备注名操作,操作就是清除备注名
-                                // 判断之前有没有备注名
-                                if (TextUtils.isEmpty(sortFriend.getBean().getRemarkName())) {// 如果没有备注名,就不需要清除
-                                    return;
-                                }
-                            }
-                        }
-                        remarkFriend(sortFriend, input);
-                    }
-                }).setNegativeButton(getString(R.string.cancel), null);
-        builder.create().show();
-    }
-
-    private void remarkFriend(final BaseSortModel<Friend> sortFriend, final String remarkName) {
-        HashMap<String, String> params = new HashMap<String, String>();
-        params.put("access_token", MyApplication.getInstance().mAccessToken);
-        params.put("toUserId", sortFriend.getBean().getUserId());
-        params.put("remarkName", remarkName);
 
-        ProgressDialogUtil.show(mProgressDialog);
-        StringJsonObjectRequest<Result> request = new StringJsonObjectRequest<Result>(MyApplication.getInstance().getConfig().FRIENDS_REMARK, new Response.ErrorListener() {
-            @Override
-            public void onErrorResponse(VolleyError arg0) {
-                ProgressDialogUtil.dismiss(mProgressDialog);
-                ToastUtil.showErrorNet(MyFriendActivity.this);
-            }
-        }, new StringJsonObjectRequest.Listener<Result>() {
-            @Override
-            public void onResponse(ObjectResult<Result> result) {
-                boolean success = Result.defaultParser(MyFriendActivity.this, result, true);
-                ProgressDialogUtil.dismiss(mProgressDialog);
-                if (success) {
-                    String firstLetter = sortFriend.getFirstLetter();
-                    mSideBar.removeExist(firstLetter);// 移除之前设置的首字母
-                    sortFriend.getBean().setRemarkName(remarkName);// 修改备注名称
-                    setSortCondition(sortFriend);
-                    Collections.sort(mSortFriends, mBaseComparator);
-                    Collections.sort(allFriends, mBaseComparator);
-                    mAdapter.notifyDataSetChanged();
-                    // 更新到数据库
-                    FriendDao.getInstance().setRemarkName(mLoginUserId, sortFriend.getBean().getUserId(), remarkName);
-                    // 更新消息界面(因为昵称变了,所有要更新)
-                    MsgBroadcast.broadcastMsgUiUpdate(MyFriendActivity.this);
-                }
 
-            }
-        }, Result.class, params);
-        //mActivity.addDefaultRequest(request);
-        //Integer.toHexString(this.hashCode()) + "@"
-        MyApplication.getInstance().getFastVolley().addDefaultRequest(HASHCODE, request);
-
-    }
 
     String HASHCODE = Integer.toHexString(this.hashCode()) + "@";
 
-    /* 显示加入黑名单的对话框 */
-    private void showBlacklistDialog(final BaseSortModel<Friend> sortFriend) {
-        final Friend friend = sortFriend.getBean();
-        int messageId = 0;
-        if (friend.getStatus() == Friend.STATUS_BLACKLIST) {// 已经在黑名单,那就是移出黑名单(在名片盒界面,不可能出现此情况,从别的地方copy过来的,懒得去掉)
-            messageId = R.string.remove_blacklist_prompt;
-        } else if (friend.getStatus() == Friend.STATUS_ATTENTION || friend.getStatus() == Friend.STATUS_FRIEND) {
-            messageId = R.string.add_blacklist_prompt;
-        } else {// 其他关系(错误的状态)
-            return;
-        }
-        AlertDialog.Builder builder = new AlertDialog.Builder(MyFriendActivity.this).setTitle(R.string.prompt_title).setMessage(messageId)
-                .setPositiveButton(getString(R.string.sure), new DialogInterface.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        if (friend.getStatus() == Friend.STATUS_BLACKLIST) {// 已经在黑名单,那就是移出黑名单(在名片盒界面,不可能出现此情况)
-                            // removeBlacklist(friend);
-                        } else if (friend.getStatus() == Friend.STATUS_ATTENTION || friend.getStatus() == Friend.STATUS_FRIEND) {
-                            addBlacklist(sortFriend);
-                        }
-                    }
-                }).setNegativeButton(getString(R.string.cancel), null);
-        builder.create().show();
-    }
-
-    private void addBlacklist(final BaseSortModel<Friend> sortFriend) {
-        HashMap<String, String> params = new HashMap<String, String>();
-        params.put("access_token", MyApplication.getInstance().mAccessToken);
-        params.put("toUserId", sortFriend.getBean().getUserId());
-
-        ProgressDialogUtil.show(mProgressDialog);
-        StringJsonObjectRequest<Void> request = new StringJsonObjectRequest<Void>(MyApplication.getInstance().getConfig().FRIENDS_BLACKLIST_ADD, new Response.ErrorListener() {
-            @Override
-            public void onErrorResponse(VolleyError arg0) {
-                ProgressDialogUtil.dismiss(mProgressDialog);
-                ToastUtil.showErrorNet(MyFriendActivity.this);
-            }
-        }, new StringJsonObjectRequest.Listener<Void>() {
-            @Override
-            public void onResponse(ObjectResult<Void> result) {
-
-                boolean success = Result.defaultParser(MyFriendActivity.this, result, true);
-                if (success) {
-                    FriendDao.getInstance().updateFriendStatus(sortFriend.getBean().getOwnerId(), sortFriend.getBean().getUserId(),
-                            Friend.STATUS_BLACKLIST);
-                    FriendHelper.addBlacklistExtraOperation(mLoginUserId, sortFriend.getBean().getUserId());
-
-					/* 发送加入黑名单的通知 */
-                    if (sortFriend.getBean().getStatus() == Friend.STATUS_FRIEND) {// 之前是好友,需要发消息让那个人不能看我的商务圈
-                        NewFriendMessage message = NewFriendMessage.createWillSendMessage(MyApplication.getInstance().mLoginUser,
-                                XmppMessage.TYPE_BLACK, null, sortFriend.getBean());
-                        sendNewFriendMessage(sortFriend.getBean().getUserId(), message);// 加入黑名单
-                    }
-
-                    ToastUtil.showToast(MyFriendActivity.this, R.string.add_blacklist_succ);
-
-                    mSortFriends.remove(sortFriend);
-                    String firstLetter = sortFriend.getFirstLetter();
-                    mSideBar.removeExist(firstLetter);// 移除之前设置的首字母
-                    mAdapter.notifyDataSetInvalidated();
-
-                    // 更新消息界面
-                    MsgBroadcast.broadcastMsgUiUpdate(MyFriendActivity.this);
-                }
-                ProgressDialogUtil.dismiss(mProgressDialog);
-            }
-        }, Void.class, params);
-//		mActivity.addDefaultRequest(request);
-        MyApplication.getInstance().getFastVolley().addDefaultRequest(HASHCODE, request);
-
-    }
-
-    private boolean mBind;
-    private CoreService mXmppService;
-
-    void sendNewFriendMessage(String toUserId, NewFriendMessage message) {
-        if (mBind && mXmppService != null) {
-            mXmppService.sendNewFriendMessage(toUserId, message);
-        }
-    }
-
-    /**
-     * 取消关注
-     *
-     * @param
-     */
-    private void showCancelAttentionDialog(final BaseSortModel<Friend> sortFriend) {
-        if (sortFriend.getBean().getStatus() == Friend.STATUS_UNKNOW) {
-            return;
-        }
-        AlertDialog.Builder builder = new AlertDialog.Builder(MyFriendActivity.this).setTitle(R.string.prompt_title)
-                .setMessage(R.string.cancel_attention_prompt).setPositiveButton(getString(R.string.sure), new DialogInterface.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        deleteFriend(sortFriend, 0);
-                    }
-                }).setNegativeButton(getString(R.string.cancel), null);
-        builder.create().show();
-    }
-
-    private void showDeleteAllDialog(final BaseSortModel<Friend> sortFriend) {
-        if (sortFriend.getBean().getStatus() == Friend.STATUS_UNKNOW) {
-            return;
-        }
-        AlertDialog.Builder builder = new AlertDialog.Builder(MyFriendActivity.this).setTitle(R.string.prompt_title).setMessage(R.string.delete_all_prompt)
-                .setPositiveButton(getString(R.string.sure), new DialogInterface.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        deleteFriend(sortFriend, 1);
-                    }
-                }).setNegativeButton(getString(R.string.cancel), null);
-        builder.create().show();
-    }
-
-    /**
-     * @param
-     * @param type 0 取消关注 <br/>
-     *             1、彻底删除<br/>
-     */
-    private void deleteFriend(final BaseSortModel<Friend> sortFriend, final int type) {
-        HashMap<String, String> params = new HashMap<String, String>();
-        params.put("access_token", MyApplication.getInstance().mAccessToken);
-        params.put("toUserId", sortFriend.getBean().getUserId());
-
-        String url = null;
-        if (type == 0) {
-            url = MyApplication.getInstance().getConfig().FRIENDS_ATTENTION_DELETE;// 取消关注
-        } else {
-            url = MyApplication.getInstance().getConfig().FRIENDS_DELETE;// 删除好友
-        }
-
-        ProgressDialogUtil.show(mProgressDialog);
-        StringJsonObjectRequest<Void> request = new StringJsonObjectRequest<Void>(url, new Response.ErrorListener() {
-            @Override
-            public void onErrorResponse(VolleyError arg0) {
-                ProgressDialogUtil.dismiss(mProgressDialog);
-                ToastUtil.showErrorNet(MyFriendActivity.this);
-            }
-        }, new StringJsonObjectRequest.Listener<Void>() {
-            @Override
-            public void onResponse(ObjectResult<Void> result) {
-                boolean success = Result.defaultParser(MyFriendActivity.this, result, true);
-                if (success) {
-                    if (type == 0) {
-                        ToastUtil.showToast(MyFriendActivity.this, R.string.cancel_attention_succ);
-                        NewFriendMessage message = NewFriendMessage.createWillSendMessage(MyApplication.getInstance().mLoginUser,
-                                XmppMessage.TYPE_DELSEE, null, sortFriend.getBean());
-                        // ((CardcastActivity) getActivity()).sendNewFriendMessage(sortFriend.getBean().getUserId(), message);// 解除关注
-                    } else {
-                        ToastUtil.showToast(MyFriendActivity.this, R.string.delete_all_succ);
-                        NewFriendMessage message = NewFriendMessage.createWillSendMessage(MyApplication.getInstance().mLoginUser,
-                                XmppMessage.TYPE_DELALL, null, sortFriend.getBean());
-                        //  ((CardcastActivity) getActivity()).sendNewFriendMessage(sortFriend.getBean().getUserId(), message);// 解除好友
-                    }
-
-                    FriendHelper.removeAttentionOrFriend(mLoginUserId, sortFriend.getBean().getUserId());
-
-                    mSortFriends.remove(sortFriend);
-                    String firstLetter = sortFriend.getFirstLetter();
-                    mSideBar.removeExist(firstLetter);// 移除之前设置的首字母
-                    mAdapter.notifyDataSetInvalidated();
-
-                    // 更新消息界面
-                    MsgBroadcast.broadcastMsgUiUpdate(MyFriendActivity.this);
-                }
-                ProgressDialogUtil.dismiss(mProgressDialog);
-            }
-        }, Void.class, params);
-//		mActivity.addDefaultRequest(request);
-        MyApplication.getInstance().getFastVolley().addDefaultRequest(HASHCODE, request);
-
-    }
-
 
     @Override
     public void onDestroy() {

+ 0 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/SaleSelectActivity.java

@@ -414,7 +414,6 @@ public class SaleSelectActivity extends BaseActivity implements OnClickListener
                 new Thread(new GetSaleData("1", "30", null)).start();
             }
         } else {
-            ViewUtil.ToastMessage(this, "网络未连接!");
             mEmptyLayout.setEmptyMessage("网络未连接!");
             mEmptyLayout.showEmpty();
         }

+ 26 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/UUFriendActivity.java

@@ -0,0 +1,26 @@
+package com.xzjmyk.pm.activity.ui.erp.activity;
+
+import android.os.Bundle;
+import android.os.PersistableBundle;
+import android.support.v4.app.FragmentTransaction;
+
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.ui.base.BaseActivity;
+import com.xzjmyk.pm.activity.ui.erp.fragment.UUFriendFragment;
+
+/**
+ * Created by pengminggong on 2016/11/7.
+ */
+
+public class UUFriendActivity extends BaseActivity {
+    @Override
+    public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
+        super.onCreate(savedInstanceState, persistentState);
+        setContentView(R.layout.activity_common_fragment);
+        boolean isPeculiar = getIntent().getBooleanExtra("isPeculiar", false);
+        UUFriendFragment groupChatFrament = new UUFriendFragment();
+        FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
+        fragmentTransaction.replace(R.id.fl_content, groupChatFrament);
+        fragmentTransaction.commit();
+    }
+}

+ 7 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/TaskAddActivity.java

@@ -63,11 +63,13 @@ public class TaskAddActivity extends BaseActivity implements View.OnClickListene
     private int type;
     private boolean isBusiness;
     private String form = "";
+    private boolean isPower;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         if (getIntent() != null) {
             int reid = getIntent().getIntExtra("reid", -1);
+            isPower = getIntent().getBooleanExtra("isPower", true);
             if (reid != -1) {
                 int theme = getSharedPreferences("cons", MODE_PRIVATE).getInt("theme", reid);
                 setTheme(theme);
@@ -131,6 +133,10 @@ public class TaskAddActivity extends BaseActivity implements View.OnClickListene
     public boolean onOptionsItemSelected(MenuItem item) {
         switch (item.getItemId()) {
             case R.id.btn_save:
+                if (!isPower) {
+                    Crouton.makeText(ct, "您没有查看列表的权限");
+                    return true;
+                }
                 if (tv_name.testValidity() &&
                         tv_executive.testValidity()
                         && tv_date_start.testValidity()
@@ -416,7 +422,7 @@ public class TaskAddActivity extends BaseActivity implements View.OnClickListene
                 intent.putExtra("single", false);
                 intent.putExtra("isme", true);
 
-                intent.putExtra("users",tv_executive.getText().toString().trim());
+                intent.putExtra("users", tv_executive.getText().toString().trim());
                 startActivityForResult(intent, 0x11);
                 break;
         }

+ 2 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/message/ProcessMsgActivity.java

@@ -307,6 +307,7 @@ public class ProcessMsgActivity extends BaseActivity implements View.OnClickList
         Map<String, Object> params = new HashMap<>();
         params.put("count", "1000");
         params.put("page", page);
+        params.put("_do","1");
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
         ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, SUSSCESS_already, null, null, "get");
@@ -319,6 +320,7 @@ public class ProcessMsgActivity extends BaseActivity implements View.OnClickList
         Map<String, Object> params = new HashMap<>();
         params.put("count", "1000");
         params.put("page", page);
+        params.put("_do","1");
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
         ViewUtil.httpSendRequest(ct, url, params, mHandler, headers, SUSSCESS_me, null, null, "get");

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

@@ -34,6 +34,7 @@ import java.util.Map;
 
 public class AddMeetTaskActivity extends BaseActivity {
     private PullToRefreshListView listView;
+    private boolean isPower=true;
     private Handler handler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
@@ -53,6 +54,9 @@ public class AddMeetTaskActivity extends BaseActivity {
                     } else {
                         Crouton.makeText(ct, StringUtils.isEmpty(message) ? "程序错误" : StringUtils.getChinese(message));
                     }
+                    if (StringUtils.isInclude(message, "查看列表的权限")) {
+                        isPower=false;
+                    }
                     break;
             }
 
@@ -74,6 +78,7 @@ public class AddMeetTaskActivity extends BaseActivity {
             Intent intent = new Intent(ct, TaskAddActivity.class);
             intent.putExtra("reid", R.style.OAThemeMeet);
             intent.putExtra("type", 2);
+            intent.putExtra("isPower", isPower);
             intent.putExtra("meetname", meetName);
             startActivityForResult(intent, 0x11);
         }
@@ -90,7 +95,6 @@ public class AddMeetTaskActivity extends BaseActivity {
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (data == null) return;
         if (requestCode == 0x11 && resultCode == 0x20) {
-//            data.getStringExtra("name");
             loadNetData();
         }
     }

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

@@ -19,8 +19,9 @@ import java.util.ArrayList;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import static com.xzjmyk.pm.activity.ui.erp.util.alarm.AlarmManage.ALARMA_CLICK;
-import static com.xzjmyk.pm.activity.ui.erp.util.alarm.AlarmManage.AUTO_SIGNIN;
+import static com.xzjmyk.pm.activity.AppConfig.ALARMA_CLICK;
+import static com.xzjmyk.pm.activity.AppConfig.AUTO_SIGNIN;
+
 
 //签到提醒
 public class AlarmaActivity extends BaseActivity implements View.OnClickListener, SwitchView.OnCheckedChangeListener {
@@ -102,13 +103,12 @@ public class AlarmaActivity extends BaseActivity implements View.OnClickListener
 
     @Override
     public void onCheckedChanged(View view, boolean isChecked) {
-
         switch (view.getId()) {
             case R.id.isalarma_sw:
-                CommonUtil.setSharedPreferences(ct, AlarmManage.ALARMA_CLICK, isChecked);
+                CommonUtil.setSharedPreferences(ct, ALARMA_CLICK, isChecked);
                 break;
             case R.id.auto_signin_sw:
-                CommonUtil.setSharedPreferences(ct, AlarmManage.AUTO_SIGNIN, isChecked);
+                CommonUtil.setSharedPreferences(ct, AUTO_SIGNIN, isChecked);
                 break;
         }
         if (manage == null)

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

@@ -4,6 +4,7 @@ import android.content.Intent;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
+import android.util.Log;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.widget.EditText;
@@ -53,6 +54,8 @@ public class SaveMeetActivity extends BaseActivity {
         public void handleMessage(Message msg) {
             progressDialog.dismiss();
             String message = (String) msg.getData().get("result");
+            Log.i("gongpengming","进来"+message);
+            Log.i("gongpengming","msg.what"+msg.what);
             switch (msg.what) {
                 case 0x11://提交会议纪要保存
                     JSONObject json = parseObject(message);
@@ -111,6 +114,8 @@ public class SaveMeetActivity extends BaseActivity {
                         if (errMessage.containsKey("exceptionInfo")) {
                             Crouton.makeText(ct, StringUtils.isEmpty(errMessage.getString("exceptionInfo")) ? "" : errMessage.getString("exceptionInfo"));
                         }
+                    } else {
+                        Crouton.makeText(ct, StringUtils.getChinese(message));
                     }
                     break;
             }

+ 2 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/SigninAdapter.java

@@ -2,7 +2,6 @@ package com.xzjmyk.pm.activity.ui.erp.adapter;
 
 import android.content.Context;
 import android.support.v7.widget.RecyclerView;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -41,7 +40,8 @@ public class SigninAdapter extends RecyclerView.Adapter<SigninAdapter.ViewHoler>
     public void setBeans(List<SigninBean> beans, boolean isToday) {
         this.isToday = isToday;
         this.beans = beans;
-        SigninDao.getInstance(ct).updateForSave(beans);
+        SigninDao dao = new SigninDao(ct);
+        dao.updateForSave(beans);
         time = TimeUtils.long2str(System.currentTimeMillis(), "HH:mm");
     }
 

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

@@ -11,6 +11,7 @@ import com.xzjmyk.pm.activity.ui.erp.entity.B2BMsg;
 import com.xzjmyk.pm.activity.ui.erp.entity.EmployeesEntity;
 import com.xzjmyk.pm.activity.ui.erp.entity.Hrorgs;
 import com.xzjmyk.pm.activity.ui.erp.entity.HrorgsEntity;
+import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 
 import java.util.ArrayList;
@@ -312,10 +313,12 @@ public class DBManager {
         while (cursor.moveToNext()) {
             Hrorgs.HrorgItem hrorgItem = new Hrorgs().new HrorgItem();
             hrorgItem.setOr_code(cursor.getString(cursor.getColumnIndex("or_code")));
-            hrorgItem.setOr_id(cursor.getInt(cursor.getColumnIndex("or_id")));
+            int id=cursor.getInt(cursor.getColumnIndex("or_id"));
+            hrorgItem.setOr_id(id);
             hrorgItem.setOr_name(cursor.getString(cursor.getColumnIndex("or_name")));
             hrorgItem.setOr_isleaf(Integer.valueOf(cursor.getString(cursor.getColumnIndex("or_isleaf"))));
             hrorgItem.setOr_subof(Integer.valueOf(cursor.getString(cursor.getColumnIndex("or_subof"))));
+            hrorgItem.setOr_emcount(selectEmployeesCount(id,master));
             hlist.add(hrorgItem);
         }
         table = "employees";
@@ -347,6 +350,27 @@ public class DBManager {
         return hrorgsEntities;
     }
 
+    public int selectEmployeesCount(int or_id,String master){
+        int catCount = 0;
+//        String  table = "employees";
+//        String [] columns = null;
+//        String  selection = "em_defaultorid=? and WHICHSYS=?";
+        String [] selectionArgs = new String[]{String.valueOf(or_id), master};
+//        String groupBy = null;
+//        String having = null;
+//        String orderBy = null;
+        //db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);
+        Cursor cursor =  
+        db.rawQuery("select count(*) from employees where em_defaultorid=? and WHICHSYS=?",selectionArgs);
+        if (cursor.moveToFirst()) {
+            catCount = cursor.getInt(0);
+        }
+        cursor.close();
+        LogUtil.d("count(*):"+catCount);
+        return catCount;
+    }
+    
+    
     public void deleteData(String master) {
         String table = "hrorgs";
         String[] whereArgs = {master};

+ 8 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/entity/Hrorgs.java

@@ -47,6 +47,7 @@ public class Hrorgs {
         private int or_subof;
         private int or_isleaf;
         private int or_id;
+        private int or_emcount;//员工人数
 
         public String getOr_code() {
             return or_code;
@@ -88,6 +89,13 @@ public class Hrorgs {
             this.or_id = or_id;
         }
 
+        public int getOr_emcount() {
+            return or_emcount;
+        }
+
+        public void setOr_emcount(int or_emcount) {
+            this.or_emcount = or_emcount;
+        }
     }
 
     public class Employee {

+ 4 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/BaseFragment.java

@@ -12,11 +12,11 @@ import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.erp.view.CustomProgressDialog;
 
 /**
- *
+ * BaseFragment 采用工厂模式
  * Created by RaoMeng on 2016/8/19.
  */
 public abstract class BaseFragment extends Fragment {
-    protected View root;
+    protected View root;//fragment的布局对象
     protected CustomProgressDialog progressDialog;
 
     //工厂模式
@@ -45,7 +45,8 @@ public abstract class BaseFragment extends Fragment {
     public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
         progressDialog = CustomProgressDialog.createDialog(getActivity());
-
+        progressDialog.setMessage("努力加载中...");
+//        progressDialog.setCancelable(false);
         initViews();
         initEvents();
         initDatas();

+ 0 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/ChartListFragment.java

@@ -174,7 +174,6 @@ public class ChartListFragment extends Fragment implements OnClickListener {
 			params.put("sessionId", sessionId);
 			startNetThread(url, params, handler);
 		} else {
-			ViewUtil.ToastMessage(ct, "网络未连接!");
 			mEmptyLayout.setEmptyMessage("网络未连接!");
 			mEmptyLayout.showEmpty();
 			progressDialog.dismiss();

+ 3 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/ContactFragment.java

@@ -10,6 +10,7 @@ import android.os.Message;
 import android.text.Editable;
 import android.text.TextUtils;
 import android.text.TextWatcher;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuInflater;
@@ -102,6 +103,7 @@ public class ContactFragment extends EasyFragment implements View.OnClickListene
         @Override
         public void onReceive(Context context, Intent intent) {
             if ("home".equals(intent.getStringExtra("falg"))) {
+                Log.i("gongpengming", "hhhhh ");
                 loadDataInThread();
             }
         }
@@ -544,7 +546,7 @@ public class ContactFragment extends EasyFragment implements View.OnClickListene
                 break;
             case R.id.group://群
                 intent = new Intent(ct, CommonFragmentActivity.class);
-                intent.putExtra("imStatus",((MainActivity) getActivity()).getmImStatus());
+                intent.putExtra("imStatus", ((MainActivity) getActivity()).getmImStatus());
                 intent.putExtra("type", Constants.TYPE_CHAT_All);
                 ct.startActivity(intent);
                 break;

+ 0 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/QueryGridFragment.java

@@ -27,7 +27,6 @@ import com.xzjmyk.pm.activity.ui.erp.activity.SaleSelectActivity;
 import com.xzjmyk.pm.activity.ui.erp.model.ImageInfo;
 import com.xzjmyk.pm.activity.ui.erp.model.Querys;
 import com.xzjmyk.pm.activity.ui.erp.net.HttpClient;
-import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
 import com.xzjmyk.pm.activity.ui.erp.util.FlexJsonUtil;
@@ -102,7 +101,6 @@ public class QueryGridFragment extends Fragment implements OnClickListener {
             }
         } else {
             progressDialog.dismiss();
-            ViewUtil.ToastMessage(ct, "网络未连接!");
             data_msg.setText("网络未连接!");
             emptyLayout.setVisibility(View.VISIBLE);
         }
@@ -117,7 +115,6 @@ public class QueryGridFragment extends Fragment implements OnClickListener {
             params.put("sessionId", sessionId);
             startHandlerThread(url, params, handler, 1);
         } else {
-            ViewUtil.ToastMessage(ct, "网络未连接!");
             emptyLayout.setVisibility(View.VISIBLE);
             data_msg.setText("网络未连接!");
             gv_disGridView.setVisibility(View.GONE);

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

@@ -398,7 +398,6 @@ public class SubscriptionAllFragment extends BaseFragment {
         public void handleMessage(Message msg) {
             switch (msg.what) {
                 case GET_ALL_SUBSCRIPTION:
-                    progressDialog.dismiss();
                     if (mDbManager.getDb().isOpen()){
                         mDbManager.deleteMasterAllSubs(currentMaster, currentUser);
                     }
@@ -421,6 +420,7 @@ public class SubscriptionAllFragment extends BaseFragment {
                                 mPullToRefreshListView.onRefreshComplete();
                                 Crouton.makeText(getActivity(), "没有未订阅数据", 0xff99cc00, 1500).show();
                             }
+                            progressDialog.dismiss();
                             mSubsTypeAdapter.notifyDataSetChanged();
                             mTypeListView.setVisibility(View.GONE);
                             return;
@@ -523,6 +523,7 @@ public class SubscriptionAllFragment extends BaseFragment {
                         mAllSubscriptionAdapter.notifyDataSetChanged();
                     }
                     initKeyStrings();
+                    progressDialog.dismiss();
 
                     if (mPullToRefreshListView.isRefreshing()) {
                         mPullToRefreshListView.onRefreshComplete();
@@ -534,6 +535,8 @@ public class SubscriptionAllFragment extends BaseFragment {
                     Crouton.makeText(getActivity(), msg.getData().getString("result"), 0xffff4444, 1500).show();
                     if (mPullToRefreshListView.isRefreshing()){
                         mPullToRefreshListView.onRefreshComplete();
+                    }else {
+                        getDbSubsData();
                     }
                     break;
             }

+ 360 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/UUFriendFragment.java

@@ -0,0 +1,360 @@
+package com.xzjmyk.pm.activity.ui.erp.fragment;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.Handler;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.ListView;
+import android.widget.TextView;
+
+import com.android.volley.Response;
+import com.android.volley.VolleyError;
+import com.handmark.pulltorefresh.library.PullToRefreshBase;
+import com.handmark.pulltorefresh.library.PullToRefreshListView;
+import com.xzjmyk.pm.activity.AppConstant;
+import com.xzjmyk.pm.activity.MyApplication;
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.adapter.FriendSortAdapter;
+import com.xzjmyk.pm.activity.bean.AttentionUser;
+import com.xzjmyk.pm.activity.bean.Friend;
+import com.xzjmyk.pm.activity.db.dao.FriendDao;
+import com.xzjmyk.pm.activity.db.dao.OnCompleteListener;
+import com.xzjmyk.pm.activity.sortlist.BaseComparator;
+import com.xzjmyk.pm.activity.sortlist.BaseSortModel;
+import com.xzjmyk.pm.activity.sortlist.PingYinUtil;
+import com.xzjmyk.pm.activity.sortlist.SideBar;
+import com.xzjmyk.pm.activity.ui.base.BaseActivity;
+import com.xzjmyk.pm.activity.ui.base.EasyFragment;
+import com.xzjmyk.pm.activity.ui.circle.BasicInfoActivity;
+import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
+import com.xzjmyk.pm.activity.ui.erp.entity.EmployeesEntity;
+import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
+import com.xzjmyk.pm.activity.ui.message.ChatActivity;
+import com.xzjmyk.pm.activity.ui.message.NewFriendActivity;
+import com.xzjmyk.pm.activity.util.StringUtils;
+import com.xzjmyk.pm.activity.util.ToastUtil;
+import com.xzjmyk.pm.activity.view.ClearEditText;
+import com.xzjmyk.pm.activity.volley.ArrayResult;
+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.HashMap;
+import java.util.List;
+
+/**
+ * Created by pengminggong on 2016/11/7.
+ */
+
+public class UUFriendFragment extends EasyFragment {
+    private PullToRefreshListView mPullToRefreshListView;
+    private TextView mTextDialog;
+    private SideBar mSideBar;
+    private List<BaseSortModel<Friend>> mSortFriends;
+    private List<BaseSortModel<Friend>> allFriends;
+    private BaseComparator<Friend> mBaseComparator;
+    private FriendSortAdapter mAdapter;
+    private String mLoginUserId;
+    private Handler mHandler = new Handler();
+    private boolean mNeedUpdate = true;
+    private DBManager manager;
+    private boolean isPeculiar = false;
+    private ClearEditText search_edit;
+
+
+
+    @Override
+    protected int inflateLayoutId() {
+        return R.layout.fragment_contact;
+    }
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (requestCode == 0x20 && resultCode == 0x20) {
+            mAdapter.setisRefeshed(true);
+            upDataFriend();
+            loadData();
+
+        }
+    }
+
+    @Override
+    protected void onCreateView(Bundle savedInstanceState, boolean createView) {
+
+        if (isPeculiar)
+            ((BaseActivity) getActivity()).getSupportActionBar().setTitle("常用联系人");
+        else
+            ((BaseActivity) getActivity()).getSupportActionBar().setTitle("UU好友");
+        mSortFriends = new ArrayList<>();
+        allFriends = new ArrayList<>();
+        mBaseComparator = new BaseComparator<>();
+        mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
+        initView();
+        Log.i("gongpengming", "进来了");
+    }
+
+    private void upDataFriend() {
+        HashMap<String, String> params = new HashMap<String, String>();
+        params.put("access_token", MyApplication.getInstance().mAccessToken);
+        Log.i("url", "相互关注:" + MyApplication.getInstance().getConfig().FRIENDS_ATTENTION_LIST);
+        StringJsonArrayRequest<AttentionUser> request = new StringJsonArrayRequest<AttentionUser>(
+                MyApplication.getInstance().getConfig().FRIENDS_ATTENTION_LIST, new Response.ErrorListener() {
+            @Override
+            public void onErrorResponse(VolleyError arg0) {
+                ToastUtil.showErrorNet(ct);
+            }
+        }, new StringJsonArrayRequest.Listener<AttentionUser>() {
+            @Override
+            public void onResponse(ArrayResult<AttentionUser> result) {
+                boolean success = Result.defaultParser(ct, result, false);
+                if (success) {
+                    FriendDao.getInstance().addAttentionUsers(mHandler, MyApplication.getInstance().mLoginUser.getUserId(), result.getData(),
+                            new OnCompleteListener() {
+                                @Override
+                                public void onCompleted() {
+                                    mPullToRefreshListView.getRefreshableView();
+                                }
+                            });
+                }
+            }
+        }, AttentionUser.class, params);
+        MyApplication.getInstance().getFastVolley().addDefaultRequest(HASHCODE, request);
+    }
+
+
+    private void initView() {
+        mPullToRefreshListView = (PullToRefreshListView) findViewById(R.id.pull_refresh_list);
+        mTextDialog = (TextView) findViewById(R.id.text_dialog);
+        mSideBar = (SideBar) findViewById(R.id.sidebar);
+        mSideBar.setTextView(mTextDialog);
+//        mPullToRefreshListView.setEmptyView(R.layout.view_empty);
+        mSideBar.setOnTouchingLetterChangedListener(new SideBar.OnTouchingLetterChangedListener() {
+            @Override
+            public void onTouchingLetterChanged(String s) {
+                // 该字母首次出现的位置
+                int position = mAdapter.getPositionForSection(s.charAt(0));
+                if (position != -1) {
+                    int count = mPullToRefreshListView.getRefreshableView().getHeaderViewsCount();
+                    mPullToRefreshListView.getRefreshableView().setSelection(position + count);
+                }
+                if ("↑".equals(s)) {
+                    mPullToRefreshListView.getRefreshableView().setSelection(1);
+                }
+            }
+
+            @Override
+            public void onTouchingUp() {
+                //linear_top_menu.setVisibility(View.VISIBLE);
+            }
+        });
+        setHeaderView();
+        mAdapter = new FriendSortAdapter(ct, mSortFriends);
+        mPullToRefreshListView.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
+        mPullToRefreshListView.getRefreshableView().setAdapter(mAdapter);
+        mPullToRefreshListView.setAdapter(mAdapter);
+        mPullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ListView>() {
+            @Override
+            public void onRefresh(PullToRefreshBase<ListView> refreshView) {
+                mAdapter.setisRefeshed(true);
+                upDataFriend();
+                loadData();
+            }
+        });
+
+        mPullToRefreshListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            private Friend friend;   //l临时对象
+
+            @Override
+            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                try {
+                    friend = mSortFriends.get((int) id).getBean();
+                } catch (ArrayIndexOutOfBoundsException e) {
+                    return;
+                }
+                Intent intent = null;
+                if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友消息
+                    intent = new Intent(ct, NewFriendActivity.class);
+                } else if (friend.getUserId().equals(Friend.ID_SYSTEM_MESSAGE)) {// 新朋友消息
+                    intent = new Intent(ct, ChatActivity.class);
+                    intent.putExtra(ChatActivity.FRIEND, friend);
+
+                } else {
+                    intent = new Intent(ct, BasicInfoActivity.class);
+                    intent.putExtra(AppConstant.EXTRA_USER_ID, friend.getUserId());
+                    intent.putExtra(AppConstant.EXTRA_NICK_CODE, friend.getPhone());
+                    intent.putExtra("friend", friend);
+                }
+                startActivityForResult(intent, 0x20);
+            }
+        });
+    }
+
+    /*设置头文件*/
+    private void setHeaderView() {
+        View headview = LayoutInflater.from(ct).inflate(R.layout.header_fragment_contact, null);
+        mPullToRefreshListView.getRefreshableView().addHeaderView(headview);
+        headview.findViewById(R.id.click_ll).setVisibility(View.GONE);
+        search_edit = (ClearEditText) headview.findViewById(R.id.search_edit);
+        search_edit.addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+            }
+
+            @Override
+            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+            }
+
+            @Override
+            public void afterTextChanged(Editable editable) {
+                String str = editable == null ? "" : editable.toString();
+                upDataBySearch(str);
+                mAdapter.setData(mSortFriends);
+            }
+        });
+    }
+
+    /**
+     * 当搜索框有字时候获取
+     *
+     * @param str 搜索框文字
+     */
+    private void upDataBySearch(String str) {
+        if (ListUtils.isEmpty(allFriends)) return;
+        mSortFriends.clear();
+        for (BaseSortModel<Friend> e : allFriends) {
+            String text = e.getBean().getShowName() + e.getBean().getDepart() + e.getBean().getPosition() + e.getBean().getPhone();
+            if (com.xzjmyk.pm.activity.ui.erp.util.StringUtils.isInclude(text, str)) {
+                mSortFriends.add(e);
+            }
+        }
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        if (mNeedUpdate) {
+            loadData();
+            mNeedUpdate = false;
+        }
+    }
+
+    List<Friend> friends;//临时变量
+
+    private void loadData() {
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                long startTime = System.currentTimeMillis();
+                if (mLoginUserId == null)
+                    mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
+                if (isPeculiar) {
+                    friends = FriendDao.getInstance().getFriends(mLoginUserId, "clickNum", 10);
+                } else
+                    friends = FriendDao.getInstance().getFriends(mLoginUserId);
+                if (friends != null)
+                    Log.i("wang", "friends size()=" + friends.size());
+                long delayTime = 200 - (startTime - System.currentTimeMillis());// 保证至少200ms的刷新过程
+                if (delayTime < 0) {
+                    delayTime = 0;
+                }
+                getFriendByErp(friends);
+                mHandler.postDelayed(new Runnable() {
+                    @Override
+                    public void run() {
+                        search_edit.setText("");
+                        mSortFriends.clear();
+                        allFriends.clear();
+                        mSideBar.clearExist();
+                        mSideBar.addExist("↑");
+                        mSideBar.addExist("↑");
+                        mSideBar.addExist("↑");
+                        if (friends != null && friends.size() > 0) {
+                            for (int i = 0; i < friends.size(); i++) {
+                                BaseSortModel<Friend> mode = new BaseSortModel<Friend>();
+                                mode.setBean(friends.get(i));
+                                setSortCondition(mode);
+                                mSortFriends.add(mode);
+                                allFriends.add(mode);
+                            }
+                            Collections.sort(mSortFriends, mBaseComparator);
+                            Collections.sort(allFriends, mBaseComparator);
+                        }
+                        mAdapter.notifyDataSetInvalidated();
+                        mPullToRefreshListView.onRefreshComplete();
+                    }
+                }, delayTime);
+            }
+        }).start();
+    }
+
+    private void getFriendByRep(EmployeesEntity e, Friend friend) {
+        friend.setOwnerId(mLoginUserId);
+        friend.setNickName(e.getEM_NAME());
+        friend.setPhone(e.getEM_MOBILE());
+        friend.setDepart(e.getEM_DEPART());
+        friend.setPosition(e.getEM_POSITION());
+        friend.setEmCode(e.getEM_CODE());
+        friend.setPrivacy(e.getEM_EMAIL());
+        friend.setCompanyId(0);
+        friend.setRoomFlag(0);// 0朋友 1群组
+        friend.setStatus(Friend.STATUS_UNKNOW);
+    }
+
+    private void getFriendByErp(List<Friend> friends) {
+        if (manager == null)
+            manager = new DBManager(MyApplication.getInstance());
+        String master = CommonUtil.getSharedPreferences(ct, "erp_master");
+        List<EmployeesEntity> emList = null;
+        if (!StringUtils.isEmpty(master)) {
+            emList = manager.select_getEmployee(new String[]{master}, "whichsys=?");
+        }
+        if (ListUtils.isEmpty(emList)) return;
+        if (!ListUtils.isEmpty(friends)) {
+            for (int i = 0; i < friends.size(); i++) {
+                String id = friends.get(i).getUserId();
+                for (int j = 0; j < emList.size(); j++) {
+                    if (id.equals(String.valueOf(emList.get(j).getEm_IMID()))) {
+                        getFriendByRep(emList.get(j), friends.get(i));
+                        break;
+                    }
+                }
+            }
+        }
+    }
+
+    private final void setSortCondition(BaseSortModel<Friend> mode) {
+        Friend friend = mode.getBean();
+        if (friend == null) {
+            return;
+        }
+        String name = friend.getShowName();
+        String wholeSpell = PingYinUtil.getPingYin(name);
+        if (!TextUtils.isEmpty(wholeSpell)) {
+            String firstLetter = Character.toString(wholeSpell.charAt(0));
+            mSideBar.addExist(firstLetter);
+            mode.setWholeSpell(wholeSpell);
+            mode.setFirstLetter(firstLetter);
+            mode.setSimpleSpell(PingYinUtil.converterToFirstSpell(name));
+        } else {// 如果全拼为空,理论上是一种错误情况,因为这代表着昵称为空
+            mode.setWholeSpell("#");
+            mode.setFirstLetter("#");
+            mode.setSimpleSpell("#");
+        }
+    }
+
+    String HASHCODE = Integer.toHexString(this.hashCode()) + "@";
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+    }
+
+}

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

@@ -19,7 +19,6 @@ import com.afollestad.materialdialogs.MaterialDialog.ButtonCallback;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.xzjmyk.pm.activity.MyApplication;
-import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.MainActivity;
 import com.xzjmyk.pm.activity.ui.account.DataDownloadActivity;
 import com.xzjmyk.pm.activity.ui.account.LoginActivity;
@@ -390,13 +389,10 @@ public class ViewUtil {
                         ToastMessage(MyApplication.getInstance(),
                                 JSON.parseObject(msg.getData().getString("result")).getString("exception"), Style.holoRedLight, 3000);
                     } else {
-                        
                         boolean isNetHas = CommonUtil.isNetWorkConnected(ct);
                         if (isNetHas)
                             ToastMessage(MyApplication.getInstance(), "系统内部错误!", Style.holoRedLight, 3000);
-                        else
-                            ToastMessage(MyApplication.getInstance(), MyApplication.getInstance().getResources().getString(R.string.networks_out));
-                    }
+                     }
                     break;
                 default:
                     break;

+ 96 - 171
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/alarm/AlarmManage.java

@@ -4,8 +4,10 @@ import android.app.AlarmManager;
 import android.app.PendingIntent;
 import android.content.Context;
 import android.content.Intent;
+import android.util.Log;
+import android.widget.Toast;
 
-import com.xzjmyk.pm.activity.MyApplication;
+import com.xzjmyk.pm.activity.AppConfig;
 import com.xzjmyk.pm.activity.bean.oa.SigninBean;
 import com.xzjmyk.pm.activity.db.dao.SigninDao;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
@@ -17,223 +19,144 @@ import java.util.Calendar;
 import java.util.List;
 
 import static android.content.Context.ALARM_SERVICE;
+import static com.xzjmyk.pm.activity.AppConfig.ALARMA_CLICK;
+import static com.xzjmyk.pm.activity.AppConfig.AUTO_SIGNIN;
+import static com.xzjmyk.pm.activity.AppConfig.AUTO_SIGNIN_ACTION;
+import static com.xzjmyk.pm.activity.AppConfig.OFFWORK_ALARM_ACTION;
+import static com.xzjmyk.pm.activity.AppConfig.WORK_ALARM_ACTION;
 
 /**
  * 提醒管理器
  * Created by pengminggong on 2016/10/26.
  */
 public class AlarmManage {
-    public final static String AUTO_SIGNIN_ACTION = "AUTO_SIGNIN_ACTION";//自动打卡action
-    public final static String WORK_ALARM_ACTION = "WORK_ALARM_ACTION";//上班提醒action
-    public final static String OFFWORK_ALARM_ACTION = "OFFWORK_ALARM_ACTION";//下班提醒action
-
-    public final static String ALARMA_CLICK = "ALARMA_CLICK";//判断是否选中提醒
-    public final static String AUTO_SIGNIN = "AUTO_SIGNIN";//判断是否选中
+    private int[] workTimes = {10, 8, 6, 4, 2};
+    private int[] offTimes = {4, 6, 8, 10, 12};
 
     public void setSigninAlarm(Context ct) {
         boolean isAlarm = CommonUtil.getSharedPreferencesBoolean(ct, ALARMA_CLICK, false);//是否自动打卡
         boolean isAuto = CommonUtil.getSharedPreferencesBoolean(ct, AUTO_SIGNIN, false);//是否提醒
-        List<SigninBean> beans = SigninDao.getInstance(ct).queryByEmcode();
+        SigninDao dao = new SigninDao(ct);
+        List<SigninBean> beans = dao.queryByEmcode();
         if (ListUtils.isEmpty(beans)) return;
-        if (isAuto)
+        if (isAuto) {
             setAutoSignin(ct, beans);
-        else if (isAlarm) {//当不自动打卡只是签到时候
+        } else if (isAlarm) //当不自动打卡只是签到时候
             setAlarm(ct, beans);
-        }
-        if (true) return;
-        if (!isAlarm && !isAuto) {
+        else
             unArmmanager(ct);
-            return;
-        }
-        int u = CommonUtil.getSharedPreferencesInt(ct, "ALARM_WORK_TIME", 5);//上班提前xx分钟
-        int d = CommonUtil.getSharedPreferencesInt(ct, "ALARM_OFFWORK_TIME", 5);//下班延迟xx分钟
-        boolean isToday = false;
-        long time = System.currentTimeMillis();
-        long minTime = 0;
-        long minute = 1000 * 60;
-        long alarmTime = 0;
-        for (SigninBean e : beans) {
-            //***************先上班后下班***************************
-            //***************上班开始***************************
-            //上班情况下,必然存在 ==》 上班打卡提醒 <= 上班自动签到   所以。。。。
-            alarmTime = getTimeByHHmm(e.getWorkTime()) - u * minute;//上班时间减去上班提前时间==上班提醒时间
-            if (minTime == 0 || minTime > alarmTime) {//保存一天中最小时间,当当日时间都不符合时候使用明天的最小时间
-                minTime = alarmTime;
-            }
-            if (isAlarm && alarmTime > time) {//符合上班提醒
-                //判断是否打卡了?
-                setNextAlarm(ct, WORK_ALARM_ACTION, alarmTime);
-                isToday = true;
-                break;
-            }
-            alarmTime = getTimeByHHmm(e.getWorkTime()) - 1 * minute;     //上班时间减去上班提前时间==上班自动打卡
-            if (isAuto && alarmTime > time) {
-                setNextAlarm(ct, AUTO_SIGNIN_ACTION, alarmTime);
-                isToday = true;
-                break;
-            }
-            //***************上班结束***************************
-            //***************下班开始***************************
-            //下班情况是下班自动大卡必然存在  ==》 下班自动签到 <= 下班提醒   所以。。。。
-            alarmTime = getTimeByHHmm(e.getOffTime()) + 1 * minute;     //上班时间减去上班提前时间==上班自动打卡
-            if (isAuto && alarmTime > time) {
-                setNextAlarm(ct, AUTO_SIGNIN_ACTION, alarmTime);
-                isToday = true;
-                break;
-            }
-            alarmTime = getTimeByHHmm(e.getOffTime()) + d * minute;//上班时间减去上班提前时间==上班提醒时间
-            if (isAlarm && alarmTime > time) {//符合上班提醒
-                setNextAlarm(ct, OFFWORK_ALARM_ACTION, alarmTime);
-                isToday = true;
-                break;
-            }
-            //***************下班结束***************************
-        }
-        if (minTime != 0 && !isToday) {
-            setNextAlarm(ct, WORK_ALARM_ACTION, minTime + 3600 * 24 * 1000);
-        }
     }
 
+    /**
+     * 设置提交提醒
+     *
+     * @param ct
+     * @param beans 当天班次
+     */
     private void setAlarm(Context ct, List<SigninBean> beans) {
+        int u = CommonUtil.getSharedPreferencesInt(ct, "ALARM_WORK_TIME", 5);//上班提前xx分钟
+        int d = CommonUtil.getSharedPreferencesInt(ct, "ALARM_OFFWORK_TIME", 5);//下班延迟xx分钟
         for (SigninBean e : beans) {
-            boolean isOK = alarmBySigninBean(ct, e);
+            boolean isOK = alarmBySigninBean(ct, u, d, e);
             if (isOK) {//不在该班次
                 break;
             }
         }
-        //TODO 当天时间没有   先不理
     }
 
+    /**
+     * 判断班次符不符合自动打卡
+     *
+     * @param ct
+     * @param beans 班次信息
+     */
     private void setAutoSignin(Context ct, List<SigninBean> beans) {
-        long time = -1;
+        String newTime = TimeUtils.long2str(System.currentTimeMillis(), "HH:mm");
         for (SigninBean e : beans) {
-            time = autoBySigninBean(e);
-            if (time != -1) {//不在该班次
-                setNextAlarm(ct, AUTO_SIGNIN_ACTION, time);
+            //上班,先判断是否上班打卡和在该范围之内
+            if (isContentWork(e, newTime)) {//在该班次上班时间内
+                judgementAutoSignin(ct, e, true);
+                break;
+            } else if (isContentOff(e, newTime)) {//在该班次上班时间内
+                judgementAutoSignin(ct, e, false);
                 break;
             }
         }
-        //TODO 当天时间没有   先不理
-    }
-
-    private boolean alarmBySigninBean(Context ct, SigninBean e) {
-        long workTime = 0;
-        int u = CommonUtil.getSharedPreferencesInt(ct, "ALARM_WORK_TIME", 5);//上班提前xx分钟
-        workTime = getTimeByHHmm(e.getWorkTime()) - u * 60 * 1000;
-        if (System.currentTimeMillis() < workTime) {//符合提醒时间
-            setNextAlarm(MyApplication.getInstance(), WORK_ALARM_ACTION, workTime);
-            return true;
-        }
-        int d = CommonUtil.getSharedPreferencesInt(ct, "ALARM_OFFWORK_TIME", 5);//下班延迟xx分钟
-        workTime = getTimeByHHmm(e.getOffTime()) + d * 60 * 1000;
-        if (System.currentTimeMillis() < workTime) {
-            setNextAlarm(MyApplication.getInstance(), OFFWORK_ALARM_ACTION, workTime);
-            return true;
-        }
-        return false;
     }
 
-
-    /**
-     * 只计算当天不计算第二天,只计算自动打卡
-     *
-     * @param e
-     * @return
-     */
-    private long autoBySigninBean(SigninBean e) {
+    private void judgementAutoSignin(Context ct, SigninBean bean, boolean isWork) {
         long time = -1;
-        long workTime = 0;
-        //***************先上班后下班***************************
-        //***************上班开始***************************
-        /*x:当前时间  自动打卡满足   上班前10分钟 < x < 上班时间  */
-        //当前时间处于上班前时间
-        if (!isWorked(true, e)) {
-            //递归判断   10分钟  每2分钟进行判断、
-            time = recursiveByWork(workTime);
-            if (time != 1) {//符合自动打卡
-                return time;
-            } else {//不符合  下一分自动打卡
-                return System.currentTimeMillis() + 1000 * 60;
+        boolean ok = false;
+        if (isWork) {
+            for (int i : workTimes) {
+                time = getTimeByHHmm(bean.getWorkTime()) - i * 60000;
+                Log.i("gongpengming", "time=" + TimeUtils.f_long_2_str(time));
+                if (System.currentTimeMillis() < time) {
+                    //ok
+                    ok = true;
+                    setNextAlarm(ct, AUTO_SIGNIN_ACTION, time);
+                    break;
+                }
             }
-        }
-        workTime = getTimeByHHmm(e.getOffTime());
-        //当前时间处于下班前时间
-        if (!isWorked(true, e)) {
-            //递归判断   10分钟  每2分钟进行判断、
-            time = recursiveByOffic(2, workTime);
-            if (time != 0) {//符合自动打卡
-                return time;
-            } else {//不符合  下一秒自动打卡
-                return System.currentTimeMillis() + 1000 * 5 * 60;
+            if (!ok) {//如果当前时间在这个范围内但又不再
+                setNextAlarm(ct, AUTO_SIGNIN_ACTION, System.currentTimeMillis() + 30000);
             }
-        }
-        //当前时间不处于该班次可打卡范围
-        return -1;
-    }
-
-
-    /**
-     * 判断是否在可打卡范围   1.时间提醒之前  2.没有签成功
-     *
-     * @param isWork
-     * @param e
-     * @return
-     */
-    private boolean isWorked(boolean isWork, SigninBean e) {
-        long workTime;
-        if (isWork) {//上班
-            workTime = getTimeByHHmm(e.getWorkTime());
-            if (System.currentTimeMillis() < workTime && StringUtils.isEmpty(e.getWorkSignin())) {
-                return false;
-            } else {
-                return true;
+        } else {
+            for (int i : offTimes) {
+                time = getTimeByHHmm(bean.getOffTime()) + i * 60000;
+                Log.i("gongpengming", "time=" + TimeUtils.f_long_2_str(time));
+                if (System.currentTimeMillis() < time) {
+                    //ok
+                    ok = true;
+                    setNextAlarm(ct, AUTO_SIGNIN_ACTION, time);
+                    break;
+                }
             }
-        } else {//下班
-            workTime = getTimeByHHmm(e.getOffSignin());
-            if (System.currentTimeMillis() < workTime && StringUtils.isEmpty(e.getOffSignin())) {
-                return false;
-            } else {
-                return true;
+            if (!ok) {
+//                setNextAlarm(ct, AUTO_SIGNIN_ACTION, System.currentTimeMillis() + 30000);
             }
         }
     }
 
-    /**
-     * 判断当前时间的前10秒
-     *
-     * @param workTime 当天上班时间戳
-     * @return
-     */
-    private long recursiveByWork(long workTime) {
-        int[] times = {10, 8, 6, 4, 2, 0};
-        for (int e : times) {
-            long time = workTime - e * 1000 * 60;
-            if (System.currentTimeMillis() < time) {//当前时间小于 该时间点(上班前 2、4、6、8、10 分)
-                return time;
-            }
+    private boolean isContentOff(SigninBean e, String newTime) {
+        if (!StringUtils.isEmpty(e.getEndTime()) && newTime.compareTo(e.getEndTime()) < 0//当前时间少于打卡时间
+                && StringUtils.isEmpty(e.getOffSignin())) {//下班签到为空
+            return true;
         }
-        return -1;
+        return false;
+    }
 
+    private boolean isContentWork(SigninBean e, String newTime) {
+        if (!StringUtils.isEmpty(e.getWorkTime()) && newTime.compareTo(e.getWorkTime()) < 0//当前时间少于打卡时间
+                && StringUtils.isEmpty(e.getWorkSignin())) {//上班签到为空
+            return true;
+        }
+        return false;
     }
 
     /**
-     * 递归判断当前时间的前10秒
+     * 判断但班次符不符合提醒
      *
-     * @param times    2、4、6、8、10
-     * @param workTime 当天下班时间戳
+     * @param ct
+     * @param e  班次信息
      * @return
      */
-    private long recursiveByOffic(int times, long workTime) {
-        if (times == 10) return 0;
-        long time = workTime + times * 1000 * 60;
-        if (System.currentTimeMillis() < time) {//当前时间小于 该时间点(上班前 2、4、6、8、10 分)
-            return time;
-        } else {
-            recursiveByOffic(times + 2, workTime);
+    private boolean alarmBySigninBean(Context ct, int u, int d, SigninBean e) {
+        long workTime = 0;
+        workTime = getTimeByHHmm(e.getWorkTime()) - u * 60 * 1000;
+        if (System.currentTimeMillis() < workTime) {//符合提醒时间
+            setNextAlarm(ct, WORK_ALARM_ACTION, workTime);
+            return true;
+        }
+        workTime = getTimeByHHmm(e.getOffTime()) + d * 60 * 1000;
+        if (System.currentTimeMillis() < workTime) {
+            setNextAlarm(ct, OFFWORK_ALARM_ACTION, workTime);
+            return true;
         }
-        return 0;
+        return false;
     }
 
+
     private long getTimeByHHmm(String time) {
         String che = TimeUtils.s_long_2_str(System.currentTimeMillis()) + " " + time + ":00";//当天下班时间
         return TimeUtils.f_str_2_long(che);
@@ -242,15 +165,17 @@ public class AlarmManage {
 
     private void setNextAlarm(Context ct, String action, long time) {
         if (time < System.currentTimeMillis()) return;
-//        String str = TimeUtils.f_long_2_str(time);
-//        if (AppConfig.DEBUG)
-//            Toast.makeText(ct, "提醒时间为:" + str, Toast.LENGTH_SHORT).show();
+        if (AppConfig.DEBUG) {
+            String str = TimeUtils.f_long_2_str(time);
+            Toast.makeText(ct, "提醒时间为:" + str, Toast.LENGTH_SHORT).show();
+        }
         Intent intent = new Intent(ct, AlarmReceiver.class);
         intent.setAction(StringUtils.isEmpty(action) ? WORK_ALARM_ACTION : action);
         AlarmManager alarm = (AlarmManager) ct.getSystemService(ALARM_SERVICE);
         Calendar calendar = Calendar.getInstance();
         calendar.setTimeInMillis(time);
         alarm.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), getPendingIntent(ct, intent));
+        CommonUtil.setSharedPreferences(ct, "old_action", action);
     }
 
     //清空提醒

+ 46 - 17
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/alarm/AlarmReceiver.java

@@ -28,6 +28,9 @@ import java.util.List;
 import java.util.Map;
 
 import static com.alibaba.fastjson.JSON.parseObject;
+import static com.xzjmyk.pm.activity.AppConfig.AUTO_SIGNIN_ACTION;
+import static com.xzjmyk.pm.activity.AppConfig.OFFWORK_ALARM_ACTION;
+import static com.xzjmyk.pm.activity.AppConfig.WORK_ALARM_ACTION;
 import static com.xzjmyk.pm.activity.ui.erp.net.ViewUtil.ct;
 
 
@@ -36,27 +39,22 @@ import static com.xzjmyk.pm.activity.ui.erp.net.ViewUtil.ct;
  */
 
 public class AlarmReceiver extends BroadcastReceiver {
+    private SigninDao dao;
 
     @Override
     public void onReceive(final Context context, Intent intent) {
-        new Handler().postAtTime(new Runnable() {//延迟两秒
-            @Override
-            public void run() {
-                AlarmManage manage = new AlarmManage();
-                manage.setSigninAlarm(context);
-            }
-        }, 2000);
         String action = intent.getAction();
         if (StringUtils.isEmpty(action))
             return;
+        dao = new SigninDao(context);
         NotificationManage notificationManage = new NotificationManage();
-        if (AlarmManage.AUTO_SIGNIN_ACTION.equals(action)) {//自动打卡
+        if (AUTO_SIGNIN_ACTION.equals(action)) {//自动打卡
             AutoSignin(context);
-        } else if (AlarmManage.WORK_ALARM_ACTION.equals(action)) {//上班提醒
+        } else if (WORK_ALARM_ACTION.equals(action)) {//上班提醒
             //TODO 判断是否打卡了
             if (!isSigninOk(context, true))
                 notificationManage.sendNotification(context, "请按时上班打卡", SigninActivity.class);
-        } else if (AlarmManage.OFFWORK_ALARM_ACTION.equals(action)) {//下班提醒
+        } else if (OFFWORK_ALARM_ACTION.equals(action)) {//下班提醒
             //TODO 判断是否打卡了
             if (!isSigninOk(context, false))
                 notificationManage.sendNotification(context, "请按时下班打卡", SigninActivity.class);
@@ -74,7 +72,7 @@ public class AlarmReceiver extends BroadcastReceiver {
      * @return 已经打卡成功
      */
     private boolean isSigninOk(Context ct, boolean isU) {
-        List<SigninBean> beans = SigninDao.getInstance(ct).queryByEmcode();
+        List<SigninBean> beans = dao.queryByEmcode();
         if (ListUtils.isEmpty(beans)) return false;
         String thisTime = TimeUtils.long2str(System.currentTimeMillis(), "HH:mm");
         for (SigninBean e : beans) {
@@ -164,9 +162,6 @@ public class AlarmReceiver extends BroadcastReceiver {
             switch (msg.what) {
                 case 0x11:
                     loadLog();
-//                    Toast.makeText(MyApplication.getInstance(), R.string.auto_signin, Toast.LENGTH_SHORT).show();
-                    NotificationManage notificationManage = new NotificationManage();
-                    notificationManage.sendNotification(MyApplication.getInstance(), "系统已为你自动打卡成功", SigninActivity.class);
                     break;
                 case 0x12:
                     if (parseObject(message).containsKey("listdata")) {
@@ -181,14 +176,24 @@ public class AlarmReceiver extends BroadcastReceiver {
 
     //处理数据,获取到用户签到列表
     public void setDataByLogs(JSONArray array) {
-        List<SigninBean> beans = SigninDao.getInstance(ct).queryByEmcode();
+        List<SigninBean> beans = dao.queryByEmcode();
         if (ListUtils.isEmpty(beans)) return;
         //取最后一个
         JSONObject object = array.getJSONObject(array.size() - 1);
-        String time = object.getString("cl_time");
+        String time = object.getString("cl_time");//获取最后一次打卡信息,班次打卡信息
         if (!StringUtils.isEmpty(time)) {
-            time = clearDay(time);
+            time = clearDay(time);//获取的打卡列表
             for (SigninBean e : beans) {
+                if (!StringUtils.isEmpty(e.getStartTime()) && !StringUtils.isEmpty(e.getEndTime()) && e.getStartTime().compareTo(time) < 0 && e.getEndTime().compareTo(time) > 0) {
+                    //在该班次内
+                    //1.当为上班签到
+                    if (StringUtils.isEmpty(e.getWorkSignin()) && !StringUtils.isEmpty(e.getWorkTime()) && time.compareTo(e.getWorkTime()) < 0) {
+                        //写进数据库
+                        setDB(e, time, true);
+                    } else if (!StringUtils.isEmpty(e.getOffTime()) && time.compareTo(e.getOffTime()) > 0) {//下班
+                        setDB(e, time, false);
+                    }
+                }
 
             }
         } else {
@@ -196,6 +201,30 @@ public class AlarmReceiver extends BroadcastReceiver {
         }
     }
 
+    /**
+     * 更新数据库
+     *
+     * @param bean   当前班次
+     * @param time   插入 时间
+     * @param isWork 是否上班签到
+     */
+    private void setDB(SigninBean bean, String time, boolean isWork) {
+        if (isWork)
+            bean.setWorkSignin(time);
+        else
+            bean.setOffSignin(time);
+        dao.updateByBrean(bean);
+        new Handler().postAtTime(new Runnable() {//延迟两秒
+            @Override
+            public void run() {
+                AlarmManage manage = new AlarmManage();
+                manage.setSigninAlarm(MyApplication.getInstance());
+            }
+        }, 5000);
+        NotificationManage notificationManage = new NotificationManage();
+        notificationManage.sendNotification(MyApplication.getInstance(), "系统已为你自动打卡成功", SigninActivity.class);
+    }
+
     //获取打卡时间列表去除年月日和秒
     private String clearDay(String time) {
         return TimeUtils.long2str(TimeUtils.f_str_2_long(time), "HH:mm");

+ 1 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/groupchat/CreateGroupActivity.java

@@ -79,6 +79,7 @@ public class CreateGroupActivity extends BaseActivity {
         h_listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
+                if (position == selectFriend.size()) return;
                 for (int i = 0; i < beans.size(); i++) {
                     if (beans.get(i).getBean().getUserId().equals(selectFriend.get(position).getUserId())) {
                         beans.get(i).setClick(!beans.get(i).isClick);

+ 9 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/groupchat/GroupChatFragment.java

@@ -254,9 +254,17 @@ public class GroupChatFragment extends EasyFragment {
         mActivity = (BaseActivity) getActivity();
     }
 
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        if (resultCode == 0x11) {
+            requestData(true);
+        }
+    }
+
     private void requestData(final boolean isPullDwonToRefersh) {
         if (imStatus != 3) {
-            Crouton.makeText(ct,  R.string.service_start_failed,2000);
+            Crouton.makeText(ct, R.string.service_start_failed, 2000);
             return;
         }
         if (isPullDwonToRefersh) {

+ 6 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MucChatActivity.java

@@ -326,7 +326,7 @@ public class MucChatActivity extends ActionBackActivity
             intent.putExtra(AppConstant.EXTRA_USER_ID, mUseId);
             if (mNickName != null && mNickName.length() > 0)
                 intent.putExtra(RoomInfoActivity.ROOM_NAME, mNickName);
-            startActivity(intent);
+            startActivityForResult(intent,0x11);
             return true;
         }
         return super.onOptionsItemSelected(item);
@@ -916,7 +916,11 @@ public class MucChatActivity extends ActionBackActivity
 
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (requestCode == REQUEST_CODE_CAPTURE_PHOTO) {// 拍照返回
+        if (resultCode==0x9088) {
+            Intent intent = new Intent();
+            setResult(0x11, intent);
+            finish();
+        }else if (requestCode == REQUEST_CODE_CAPTURE_PHOTO) {// 拍照返回
             if (resultCode == RESULT_OK) {
                 if (mNewPhotoUri != null) {
                     sendImage(new File(mNewPhotoUri.getPath()));

+ 8 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/RoomInfoActivity.java

@@ -38,12 +38,12 @@ 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.broadcast.MucgroupUpdateUtil;
 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;
@@ -960,7 +960,11 @@ public class RoomInfoActivity extends BaseActivity {
                 new Handler().postDelayed(new Runnable() {
                     @Override
                     public void run() {
-                        startActivity(new Intent(RoomInfoActivity.this, CommonFragmentActivity.class));
+//                        startActivity(new Intent(RoomInfoActivity.this, CommonFragmentActivity.class));
+                        Intent intent = new Intent(MucgroupUpdateUtil.ACTION_UPDATE);
+                        setResult(0x9088, intent);
+                        sendBroadcast(intent);
+                        finish();
                     }
                 }, 1000);
             }
@@ -1014,7 +1018,7 @@ public class RoomInfoActivity extends BaseActivity {
     public void removeBlacklist(final Friend sortFriend) {
         FriendDao.getInstance().updateFriendStatus(mLoginUserId, sortFriend.getUserId(), Friend.STATUS_FRIEND);
         int s = FriendDao.getInstance().getFriendStatus(mLoginUserId, sortFriend.getUserId());
-        ViewUtil.ToastMessage(this, "取消群消息成功!");
+//        ViewUtil.ToastMessage(this, "取消群消息成功!");
     }
 
     /**
@@ -1023,7 +1027,7 @@ public class RoomInfoActivity extends BaseActivity {
     private void addBlacklist(final Friend sortFriend) {
         FriendDao.getInstance().updateFriendStatus(mLoginUserId, sortFriend.getUserId(), Friend.STATUS_BLACKLIST);
         int s = FriendDao.getInstance().getFriendStatus(mLoginUserId, sortFriend.getUserId());
-        ViewUtil.ToastMessage(this, "屏蔽群消息成功!");
+//        ViewUtil.ToastMessage(this, "屏蔽群消息成功!");
 //        HashMap<String, String> params = new HashMap<String, String>();
 //        params.put("access_token", MyApplication.getInstance().mAccessToken);
 //        params.put("toUserId", sortFriend.getUserId());

+ 0 - 1
WeiChat/src/main/res/layout/activity_oa_alarma.xml

@@ -10,7 +10,6 @@
         android:layout_width="match_parent"
         android:layout_height="@dimen/item_height"
         android:layout_margin="2dp"
-        android:visibility="gone"
         android:background="@drawable/oa_signin_tv_bg"
         android:padding="8dp">
 

+ 1 - 4
WeiChat/src/main/res/layout/activity_select.xml

@@ -9,11 +9,10 @@
     tools:context="com.xzjmyk.pm.activity.ui.message.SelectActivity">
 
     <RelativeLayout
+        android:id="@+id/meet_select_rl"
         android:layout_width="match_parent"
         android:layout_height="48dp"
         android:background="@drawable/bg_bar"
-        android:focusable="true"
-        android:focusableInTouchMode="true"
         android:orientation="horizontal"
         android:paddingBottom="5dp"
         android:paddingLeft="15dp"
@@ -24,11 +23,9 @@
             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:focusableInTouchMode="false"
             android:hint="@string/search"
             android:textColor="@color/dark_grey"
             android:textColorHint="@color/grey"

+ 1 - 2
WeiChat/src/main/res/layout/customprogressdialog.xml

@@ -15,8 +15,7 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="center_vertical|center_horizontal"
-        android:text="加载数据·····"
         android:textColor="#6B99C9"
         android:textSize="15sp"
-        android:visibility="gone" />
+        android:visibility="visible" />
 </LinearLayout>

+ 1 - 1
WeiChat/src/main/res/layout/item_process_state.xml

@@ -26,7 +26,7 @@
     <TextView
         android:id="@+id/tv_status"
         android:layout_marginLeft="10dp"
-       android:layout_marginBottom="10dp"
+        android:layout_marginBottom="10dp"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content" 
         android:text="状态"

+ 2 - 2
WeiChat/src/main/res/layout/item_staff_tree.xml

@@ -45,8 +45,8 @@
 
     <ImageView
         android:id="@+id/iv_item_into"
-        android:layout_width="35dp"
-        android:layout_height="35dp"
+        android:layout_width="25dp"
+        android:layout_height="25dp"
         android:layout_alignParentRight="true"
         android:layout_centerVertical="true"
         android:padding="3dp"

+ 1 - 1
WeiChat/src/main/res/layout/radio_staff_button.xml

@@ -6,7 +6,7 @@
     android:button="@null"
     android:checked="true"
     android:drawablePadding="5dp"
-    android:drawableRight="@drawable/iv_navagation_scroll_right"
+    android:drawableRight="@drawable/oa_next"
     android:gravity="center"
     android:padding="3dp"
     android:text=""