Browse Source

版本5.8.7

SpringBoots 8 years ago
parent
commit
80ac13de6d

+ 2 - 2
WeiChat/src/main/AndroidManifest.xml

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.xzjmyk.pm.activity"
-    android:versionCode="108"
-    android:versionName="5.8.6">
+    android:versionCode="109"
+    android:versionName="5.8.7">
 
     <uses-sdk
         android:minSdkVersion="11"

+ 1 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/db/dao/FriendDao.java

@@ -432,6 +432,7 @@ public class FriendDao {
                     .or().eq("type", XmppMessage.TYPE_ERP)
                     .prepare();
             friends = friendDao.query(preparedQuery);
+            
         } catch (SQLException e) {
             e.printStackTrace();
         }

+ 87 - 78
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/form/DataFormDetailActivity.java

@@ -1510,96 +1510,105 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                 initData();
                 break;
             case 0x11:
-                Data model = data.getParcelableExtra("object");
-                id = data.getIntExtra("id", 0);
-                String startDate = data.getStringExtra("startDate");
-                String endDate = data.getStringExtra("endDate");
+                try {
+                    parseResultByField(data);
+                } catch (Exception e) {
+                   
+                }
+                break;
+        }
 
-                startDate = startDate + ":00";
-                endDate = endDate + ":00";
+    }
 
-                startDate_v = startDate;//赋值给全局变量
-                endDate_v = endDate;//赋值给全局变量
+    private void parseResultByField(Intent data) {
+        int id;Data model = data.getParcelableExtra("object");
+        id = data.getIntExtra("id", 0);
+        String startDate = data.getStringExtra("startDate");
+        String endDate = data.getStringExtra("endDate");
+
+        startDate = startDate + ":00";
+        endDate = endDate + ":00";
+
+        startDate_v = startDate;//赋值给全局变量
+        endDate_v = endDate;//赋值给全局变量
+
+        String field = data.getStringExtra("field");
+        LogUtil.d("id=" + id);
+        LogUtil.d("groupId=" + model.getGroupId());
+        if ("Ask4Leave".equals(caller)) {
+            //va_startime
+            //va_endtime
+            int va_alldays = 0;
+            int va_alltimes = 0;
+            List<Data> tempLists = mAdapter.getmListData().get(model.getGroupId()).getDatas();
+            for (int i = 0; i < tempLists.size(); i++) {
+                Data tempData = tempLists.get(i);
+                if (tempData.getField().equals("va_startime")) {
+                    va_alldays = i + 1;
+                }
+                if (tempData.getField().equals("va_endtime")) {
+                    va_alltimes = i + 1;
+                }
+            }
+            mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alldays - 1).setValue(startDate);
+            mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alltimes - 1).setValue(endDate);
+        }
+        if ("Workovertime".equals(caller)||"ExtraWork$".equals(caller)) {
+            int va_alldays = 0;
+            int va_alltimes = 0;
 
-                String field = data.getStringExtra("field");
-                LogUtil.d("id=" + id);
-                LogUtil.d("groupId=" + model.getGroupId());
-                if ("Ask4Leave".equals(caller)) {
-                    //va_startime
-                    //va_endtime
-                    int va_alldays = 0;
-                    int va_alltimes = 0;
-                    List<Data> tempLists = mAdapter.getmListData().get(model.getGroupId()).getDatas();
-                    for (int i = 0; i < tempLists.size(); i++) {
-                        Data tempData = tempLists.get(i);
-                        if (tempData.getField().equals("va_startime")) {
-                            va_alldays = i + 1;
-                        }
-                        if (tempData.getField().equals("va_endtime")) {
-                            va_alltimes = i + 1;
-                        }
-                    }
-                    mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alldays - 1).setValue(startDate);
-                    mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alltimes - 1).setValue(endDate);
+            List<Data> tempLists = mAdapter.getmListData().get(model.getGroupId()).getDatas();
+            for (int i = 0; i < tempLists.size(); i++) {
+                Data tempData = tempLists.get(i);
+                if (tempData.getField().equals("wod_startdate")) {
+                    va_alldays = i + 1;
                 }
-                if ("Workovertime".equals(caller)||"ExtraWork$".equals(caller)) {
-                    int va_alldays = 0;
-                    int va_alltimes = 0;
-
-                    List<Data> tempLists = mAdapter.getmListData().get(model.getGroupId()).getDatas();
-                    for (int i = 0; i < tempLists.size(); i++) {
-                        Data tempData = tempLists.get(i);
-                        if (tempData.getField().equals("wod_startdate")) {
-                            va_alldays = i + 1;
-                        }
-                        if (tempData.getField().equals("wod_enddate")) {
-                            va_alltimes = i + 1;
-                        }
-                    }
-                    mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alldays - 1).setValue(startDate);
-                    mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alltimes - 1).setValue(endDate);
+                if (tempData.getField().equals("wod_enddate")) {
+                    va_alltimes = i + 1;
+                }
+            }
+            mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alldays - 1).setValue(startDate);
+            mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alltimes - 1).setValue(endDate);
 
-                    distance(startDate, endDate, model.getGroupId());
+            distance(startDate, endDate, model.getGroupId());
 
-                }
+        }
 
 
-                if ("FeePlease!CCSQ".equals(caller)||"FeePlease!CCSQ!new".equals(caller)) {
-                    int va_alldays = 0;
-                    int va_alltimes = 0;
-                    //fp_preenddate
-                    //fp_prestartdate
-                    if ("fp_preenddate".equals(field) || "fp_prestartdate".equals(field)) {
-                        List<Data> tempLists = mAdapter.getmListData().get(model.getGroupId()).getDatas();
-                        for (int i = 0; i < tempLists.size(); i++) {
-                            Data tempData = tempLists.get(i);
-                            if (tempData.getField().equals("fp_preenddate")) {
-                                va_alldays = i + 1;
-                            }
-                            if (tempData.getField().equals("fp_prestartdate")) {
-                                va_alltimes = i + 1;
-                            }
-                        }
-                        mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alltimes - 1).setValue(startDate);
-                        mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alldays - 1).setValue(endDate);
+        if ("FeePlease!CCSQ".equals(caller)||"FeePlease!CCSQ!new".equals(caller)) {
+            int va_alldays = 0;
+            int va_alltimes = 0;
+            //fp_preenddate
+            //fp_prestartdate
+            if ("fp_preenddate".equals(field) || "fp_prestartdate".equals(field)) {
+                List<Data> tempLists = mAdapter.getmListData().get(model.getGroupId()).getDatas();
+                for (int i = 0; i < tempLists.size(); i++) {
+                    Data tempData = tempLists.get(i);
+                    if (tempData.getField().equals("fp_preenddate")) {
+                        va_alldays = i + 1;
                     }
-                    if ("fpd_date1".equals(field) || "fpd_date2".equals(field)) {
-                        List<Data> tempLists = mAdapter.getmListData().get(model.getGroupId()).getDatas();
-                        for (int i = 0; i < tempLists.size(); i++) {
-                            Data tempData = tempLists.get(i);
-                            if (tempData.getField().equals("fpd_date1")) {
-                                va_alldays = i + 1;
-                            }
-                            if (tempData.getField().equals("fpd_date2")) {
-                                va_alltimes = i + 1;
-                            }
-                        }
-                        mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alldays - 1).setValue(startDate);
-                        mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alltimes - 1).setValue(endDate);
+                    if (tempData.getField().equals("fp_prestartdate")) {
+                        va_alltimes = i + 1;
                     }
                 }
+                mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alltimes - 1).setValue(startDate);
+                mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alldays - 1).setValue(endDate);
+            }
+            if ("fpd_date1".equals(field) || "fpd_date2".equals(field)) {
+                List<Data> tempLists = mAdapter.getmListData().get(model.getGroupId()).getDatas();
+                for (int i = 0; i < tempLists.size(); i++) {
+                    Data tempData = tempLists.get(i);
+                    if (tempData.getField().equals("fpd_date1")) {
+                        va_alldays = i + 1;
+                    }
+                    if (tempData.getField().equals("fpd_date2")) {
+                        va_alltimes = i + 1;
+                    }
+                }
+                mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alldays - 1).setValue(startDate);
+                mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alltimes - 1).setValue(endDate);
+            }
         }
-
     }
 
     private void muiltCallerMainTain(Data vaules, String value) {

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

@@ -163,16 +163,22 @@ public class SelectCollisionActivity extends OABaseActivity implements ISelectAc
     @Override
     public void showModel(List<BaseSortModel<SelectEmUser>> models) {
         adapter = new SelectCollisionAdapter(models);
-        listView.setAdapter(adapter);
         if (ListUtils.isEmpty(models)) {
             emptyLayout.showEmpty();
             sidebar.setVisibility(View.GONE);
             select_rl.setVisibility(View.GONE);
         } else {
-            sidebar.setVisibility(View.VISIBLE);
+            if (selectBean.getTitle().equals(getString(R.string.select_share_friend))){
+                sidebar.setVisibility(View.GONE);
+                adapter.setBaseSortEnable(false);
+            }else {
+                adapter.setBaseSortEnable(true);
+                sidebar.setVisibility(View.VISIBLE);
+            }
             if (!selectBean.isSingleAble())
                 select_rl.setVisibility(View.VISIBLE);
         }
+        listView.setAdapter(adapter);
     }
 
 

+ 6 - 6
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/secretary/BookingDetailActivity.java

@@ -103,7 +103,7 @@ public class BookingDetailActivity extends OABaseActivity implements HttpImp,Vie
         if (getIntent()!=null){
             model=getIntent().getExtras().getParcelable("model");
             boolean isShared=getIntent().getExtras().getBoolean("isShared");
-            tvTime.setText(model.getAb_starttime().substring(11,16)+"-"+
+            tvTime.setText(model.getAb_starttime().substring(0,10)+" "+model.getAb_starttime().substring(11,16)+"-"+
                     model.getAb_endtime().substring(11,16));
             tvAddress.setText(model.getAb_address());
             tvContent.setText(model.getAb_content());
@@ -136,7 +136,7 @@ public class BookingDetailActivity extends OABaseActivity implements HttpImp,Vie
                 ivResultInfo.setImageDrawable(mContext. getResources().getDrawable(R.drawable.icon_queren1));
                 isMenuShuffle=true;
                 if (model.getAb_sharestatus().equals("已共享")){
-                    isMenuShuffle=false;
+                    isMenuShuffle=true;
                 }
                 if( MyApplication.getInstance().mLoginUser.getUserId().equals(model.getAb_recordid())){
                     ((Button)findViewById(R.id.bt_change)).setText("变更");
@@ -216,7 +216,7 @@ public class BookingDetailActivity extends OABaseActivity implements HttpImp,Vie
             case R.id.app_about:
                Intent intent = new Intent(ct, SelectCollisionActivity.class);
                 SelectCollisionTurnBean bean = new SelectCollisionTurnBean()
-                        .setTitle(getString(R.string.select_doman))
+                        .setTitle(getString(R.string.select_share_friend))
                         .setSingleAble(false);
                 intent.putExtra(OAConfig.MODEL_DATA, bean);
                 startActivityForResult(intent, 0x02);
@@ -280,14 +280,14 @@ public class BookingDetailActivity extends OABaseActivity implements HttpImp,Vie
                          try {
                              if (JSON.parseObject(msg.getData().getString("result")).getString("result").equals("true")){
                                  ToastMessage(getString(R.string.make_adeal_success));
-                                 mMenu .findItem(R.id.app_about).setVisible(false);
+                                // mMenu .findItem(R.id.app_about).setVisible(false);
                              }else{
                                  ToastMessage(getString(R.string.make_adeal_failed));
-                                 mMenu .findItem(R.id.app_about).setVisible(true);
+                               //  mMenu .findItem(R.id.app_about).setVisible(true);
                              }
                          } catch (Exception e) {
                              ToastMessage(getString(R.string.make_adeal_failed));
-                             mMenu .findItem(R.id.app_about).setVisible(true);
+                            // mMenu .findItem(R.id.app_about).setVisible(true);
                          }
                          break;
                      case Constants.APP_SOCKETIMEOUTEXCEPTION:

+ 32 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/secretary/BookingListActivity.java

@@ -231,6 +231,7 @@ public class BookingListActivity extends OABaseActivity implements HttpImp, View
 
         viewPager.setCurrentItem(OACalenderViewPagerAdapter.MAX_NUM / 2);
         mAdapter = new BookAdapter(mContext, mDatas);
+        mAdapter.setCurrentDate(curDate);
         lv_book.setAdapter(mAdapter);
     }
 
@@ -325,6 +326,7 @@ public class BookingListActivity extends OABaseActivity implements HttpImp, View
                             return;
                         }
                         if (tv_book_me.isSelected()) {
+                           
                             JSONArray jsonArray = JSON.parseArray(JSON.parseObject(result).getString("bookinglist"));
                             if (jsonArray != null) {
                                 Set<Integer> tags = new HashSet<>();
@@ -351,10 +353,38 @@ public class BookingListActivity extends OABaseActivity implements HttpImp, View
                                         mDatas.add(model);
                                     }
                                 }
+
+                               if (DateFormatUtil.getStrDate4Date(curDate, "yyyy-MM-dd").equals(DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd"))){
+                                   JSONArray tenArray = JSON.parseArray(JSON.parseObject(result).getString("tenlist"));
+                                   for (int i = 0; i < tenArray.size(); i++) {
+                                       JSONObject object = tenArray.getJSONObject(i);
+                                       BookingModel model = new BookingModel();
+                                       model.setAb_address(object.getString("ab_address"));
+                                       model.setAb_bman(object.getString("ab_bman"));
+                                       model.setAb_bmanid(object.getString("ab_bmanid"));
+                                       model.setAb_confirmstatus(object.getString("ab_confirmstatus"));
+                                       model.setAb_content(object.getString("ab_content"));
+                                       model.setAb_endtime(object.getString("ab_endtime"));
+                                       model.setAb_id(object.getString("ab_id"));
+                                       model.setAb_latitude(object.getString("ab_latitude"));
+                                       model.setAb_longitude(object.getString("ab_longitude"));
+                                       model.setAb_recorddate(object.getString("ab_recorddate"));
+                                       model.setAb_recordid(object.getString("ab_recordid"));
+                                       model.setAb_recordman(object.getString("ab_recordman"));
+                                       model.setAb_sharestatus(object.getString("ab_sharestatus"));
+                                       model.setAb_starttime(object.getString("ab_starttime"));
+                                       model.setAb_type(object.getString("ab_type"));
+                                       mDatas.add(model);
+                                   }
+                               }
+                                
+                                
                                 if (mAdapter != null) {
+                                    mAdapter.setCurrentDate(curDate);
                                     mAdapter.notifyDataSetChanged();
                                 } else {
                                     mAdapter = new BookAdapter(mContext, mDatas);
+                                    mAdapter.setCurrentDate(curDate);
                                     lv_book.setAdapter(mAdapter);
                                 }
                                 calendarView.setDecoratDays(tags);
@@ -394,9 +424,11 @@ public class BookingListActivity extends OABaseActivity implements HttpImp, View
                                     }
                                 }
                                 if (mAdapter != null) {
+                                    mAdapter.setCurrentDate(curDate);
                                     mAdapter.notifyDataSetChanged();
                                 } else {
                                     mAdapter = new BookAdapter(mContext, mDatas);
+                                    mAdapter.setCurrentDate(curDate);
                                     lv_book.setAdapter(mAdapter);
                                 }
                                 calendarView.setDecoratDays(tags);

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

@@ -10,8 +10,10 @@ import android.widget.TextView;
 
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.erp.model.book.BookingModel;
+import com.xzjmyk.pm.activity.util.DateFormatUtil;
 
 import java.util.ArrayList;
+import java.util.Date;
 
 /**
  * Created by Arison on 2017/6/23.
@@ -21,6 +23,16 @@ public class BookAdapter extends BaseAdapter {
     
     private Context ct;
     private int type=1;
+    private Date currentDate;
+
+    public Date getCurrentDate() {
+        return currentDate;
+    }
+
+    public void setCurrentDate(Date currentDate) {
+        this.currentDate = currentDate;
+    }
+
     private ArrayList<BookingModel> datas=new ArrayList<>();
     
     public BookAdapter(Context ct,ArrayList<BookingModel> data){
@@ -71,8 +83,15 @@ public class BookAdapter extends BaseAdapter {
         try {
             BookingModel model=datas.get(position);
             holder.model=model;
-            holder.title_tv.setText(model.getAb_starttime().substring(11,16)+"-"+
-            model.getAb_endtime().substring(11,16));
+
+            if (DateFormatUtil.getStrDate4Date(currentDate, "yyyy-MM-dd").equals(DateFormatUtil.getStrDate4Date(new Date(), "yyyy-MM-dd"))){
+                holder.title_tv.setText(model.getAb_starttime().substring(0,10)+" "+model.getAb_starttime().substring(11,16)+"-"+
+                        model.getAb_endtime().substring(11,16));
+            }else{
+                holder.title_tv.setText(model.getAb_starttime().substring(11,16)+"-"+
+                        model.getAb_endtime().substring(11,16));
+            }
+          
            
             holder.status_tv.setText(model.getAb_confirmstatus());
            

+ 24 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/oa/SelectCollisionAdapter.java

@@ -24,6 +24,11 @@ import java.util.List;
 
 public class SelectCollisionAdapter extends BaseAdapter {
     private List<BaseSortModel<SelectEmUser>> listData;
+    boolean BaseSortEnable=true;//默认是分类展示
+    
+    public void setBaseSortEnable(boolean baseSortEnable) {
+        BaseSortEnable = baseSortEnable;
+    }
 
     public SelectCollisionAdapter(List<BaseSortModel<SelectEmUser>> listData) {
         this.listData = listData;
@@ -70,10 +75,28 @@ public class SelectCollisionAdapter extends BaseAdapter {
         } else {
             holder = (ViewHolder) convertView.getTag();
         }
-        onBindViewHolder(holder, position);
+        if (BaseSortEnable){
+            onBindViewHolder(holder, position);
+        }else{
+            onBindViewHolderBy(holder, position);
+        }
+       
         return convertView;
 
     }
+    
+    public void onBindViewHolderBy(ViewHolder holder, final int position){
+        final BaseSortModel<SelectEmUser> model = listData.get(position);
+        holder.cb.setChecked(model.isClick());
+        holder.tag_tv.setVisibility(View.GONE);
+        holder.tag_view.setVisibility(View.GONE);
+        AvatarHelper.getInstance().display(model.getBean().getImId() + "", holder.head_img, true, false);//设定为每次刷新都会去删除缓存重新获取数据
+        holder.name_tv.setText(model.getBean().getEmName());
+        holder.sub_tv.setText((StringUtils.isEmpty(model.getBean().getDepart()) ? "" : (model.getBean().getDepart() + ">"))
+                + " " + (StringUtils.isEmpty(model.getBean().getPosition()) ? "" : model.getBean().getPosition()));
+        holder.cb.setFocusable(false);
+        holder.cb.setClickable(false);
+    }
 
     public void onBindViewHolder(ViewHolder holder, final int position) {
         final BaseSortModel<SelectEmUser> model = listData.get(position);

+ 37 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/db/dao/ContactsDao.java

@@ -59,6 +59,10 @@ public class ContactsDao {
     
 
     //select * from tbl_contacts a where id=(select min(id) from tbl_contacts where tf_phone=a.tf_phone) and (tf_phone<>'未填写' and tf_phone<>'') and tf_ownerId='' and (tf_whichSys="" or tf_whichSys="" )
+    /**
+      * @desc:UU+企业架构+本地通讯录  已去重
+      * @author:Arison on 2017/8/1
+      */
     public  List<ContactsModel> find(){
         SQLiteDatabase db=  DatabaseManager.getInstance().openDatabase();
         String master= CommonUtil.getSharedPreferences(MyApplication.getInstance(),"erp_master");
@@ -88,6 +92,39 @@ public class ContactsDao {
         return models;
     }
 
+    /**
+      * @desc:UU好友+企业架构人员  已去重
+      * @author:Arison on 2017/8/1
+      */
+    public  List<ContactsModel> findByShare(){
+        SQLiteDatabase db=  DatabaseManager.getInstance().openDatabase();
+        String master= CommonUtil.getSharedPreferences(MyApplication.getInstance(),"erp_master");
+        if (StringUtils.isEmpty(master)) {
+            master="";
+        }
+        String ownerId=MyApplication.getInstance().mLoginUser.getUserId();
+        LogUtil.d("Test","master:"+master+" ownerId:"+ownerId);
+        List<ContactsModel> models=new ArrayList<>();
+        Cursor cursor =db.rawQuery("select * from tbl_contacts a where id=" +
+                "(select min(id) from tbl_contacts where tf_phone=a.tf_phone and tf_ownerId=? ) and (tf_phone<> ? and tf_phone<> ?) " +
+                "  and (tf_whichSys=? or tf_whichSys=? ) and tf_type<> ? ", new String[]{ownerId,"未填写"," ",master,"","3"});
+        while (cursor.moveToNext()) {
+            ContactsModel model=new ContactsModel();
+            model.setName(cursor.getString(cursor.getColumnIndex("tf_name")));
+            model.setCompany(cursor.getString(cursor.getColumnIndex("tf_company")));
+            model.setWhichsys(cursor.getString(cursor.getColumnIndex("tf_whichSys")));
+            model.setPhone(cursor.getString(cursor.getColumnIndex("tf_phone")));
+            model.setEmail(cursor.getString(cursor.getColumnIndex("tf_email")));
+            model.setType(cursor.getInt(cursor.getColumnIndex("tf_type")));
+            model.setImid(cursor.getString(cursor.getColumnIndex("tf_imId")));
+            model.setOwnerId(cursor.getString(cursor.getColumnIndex("tf_ownerId")));
+            models.add(model);
+        }
+        cursor.close();
+        DatabaseManager.getInstance().closeDatabase();
+        return models;
+    }
+
     public  List<ContactsModel> find(String key){
         SQLiteDatabase db=  DatabaseManager.getInstance().openDatabase();
         String master= CommonUtil.getSharedPreferences(MyApplication.getInstance(),"erp_master");

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

@@ -1,5 +1,6 @@
 package com.xzjmyk.pm.activity.ui.erp.presenter;
 
+import android.app.Activity;
 import android.content.Intent;
 import android.os.Looper;
 import android.support.annotation.NonNull;
@@ -17,8 +18,10 @@ import com.xzjmyk.pm.activity.sortlist.BaseSortModel;
 import com.xzjmyk.pm.activity.sortlist.PingYinUtil;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
+import com.xzjmyk.pm.activity.ui.erp.db.dao.ContactsDao;
 import com.xzjmyk.pm.activity.ui.erp.entity.EmployeesEntity;
 import com.xzjmyk.pm.activity.ui.erp.entity.SelectCollisionTurnBean;
+import com.xzjmyk.pm.activity.ui.erp.model.contacts.ContactsModel;
 import com.xzjmyk.pm.activity.ui.erp.presenter.imp.ISelectActiveView;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
@@ -41,12 +44,13 @@ public class SelectCollisionPresenter {
     private ISelectActiveView iSelectActiveView;
     private List<BaseSortModel<SelectEmUser>> allList;
     private BaseComparator<SelectEmUser> mBaseComparator;
-
+    private Activity mActivity;
     private SelectCollisionTurnBean selectBean;
 
     public SelectCollisionPresenter(ISelectActiveView iSelectActiveView) {
         if (iSelectActiveView == null) new NullPointerException("iSelectActiveView is Null");
         this.iSelectActiveView = iSelectActiveView;
+        this.mActivity= (Activity) iSelectActiveView;
     }
 
 
@@ -64,10 +68,19 @@ public class SelectCollisionPresenter {
         List<SelectEmUser> selects = selectBean.getSelectList();
         if (!StringUtils.isEmpty(selectBean.getSureText()))
             iSelectActiveView.showSureText(selectBean.getSureText());
-        if (ListUtils.isEmpty(selects))
-            loadDataInThread();
-        else
+        if (ListUtils.isEmpty(selects)) {
+            if(selectBean.getTitle().equals(mActivity.getString(R.string.select_share_friend))){//分享好友
+                //企业架构+UU好友
+                loadShareFriendInThread();
+            }else{
+                //企业架构
+                loadDataInThread();
+            }
+            
+        }
+        else {
             setUser2Sort(selects, true);
+        }
     }
 
     public void changeChecked(boolean b, List<BaseSortModel<SelectEmUser>> listData) {
@@ -139,6 +152,22 @@ public class SelectCollisionPresenter {
         }
         return chche;
     }
+    
+    
+    private void loadShareFriendInThread(){
+        iSelectActiveView.showLoading();
+        ThreadPool.getThreadPool().addTask(new Runnable() {
+            @Override
+            public void run() {
+              List<ContactsModel> models=  ContactsDao.getInstance().findByShare();
+              if (!ListUtils.isEmpty(models)){
+                  handlerLoadShareData(models);
+              }else{
+                  //联网加载
+              }
+            }
+        });
+    }
 
     /*开启线程获取数据*/
     private void loadDataInThread() {
@@ -206,6 +235,25 @@ public class SelectCollisionPresenter {
             iSelectActiveView.showToast(message, R.color.load_warning);
     }
 
+    
+    private void handlerLoadShareData(List<ContactsModel> employees){
+        if (ListUtils.isEmpty(employees)) return;//TODO 请求下来时候数据为空
+        List<SelectEmUser> users = new ArrayList<>();
+        SelectEmUser user = null;
+        for (ContactsModel e : employees) {
+            user = new SelectEmUser();
+            //user.setDefaultorid(e.getEm_defaultorid());
+           // user.setDepart(e.getEM_DEPART());
+            user.setEmName(e.getName());
+            user.setImId(Integer.valueOf(e.getImid()));
+           // user.setEmCode(e.getEM_CODE());
+           // user.setPosition(e.getEM_POSITION());
+           // user.setEmId(e.getEM_ID());
+            users.add(user);
+        }
+        setUser2Sort(users, false);
+    }
+    
     private void handlerLoadData(List<EmployeesEntity> employees) {
        
         if (ListUtils.isEmpty(employees)) return;//TODO 请求下来时候数据为空
@@ -237,10 +285,16 @@ public class SelectCollisionPresenter {
                 if (isClickAll) numSelect++;
             }
             mode.setBean(e);
-            setSortCondition(mode);
+            //判断界面类型决定是否排序
+            if (!selectBean.getTitle().equals(mActivity.getString(R.string.select_share_friend))) {
+                setSortCondition(mode);
+            }
             allList.add(mode);
         }
-        Collections.sort(allList, mBaseComparator);
+        if (!selectBean.getTitle().equals(mActivity.getString(R.string.select_share_friend))) {
+            Collections.sort(allList, mBaseComparator);
+        }
+      
         //计算全部数据完成
        OAHttpHelper.getInstance().post(new Runnable() {
            @Override

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

@@ -1837,6 +1837,7 @@
     <string name="booking_times">时间段:</string>
 
     <string name="booking_add">预约计划</string>
+    <string name="select_share_friend">分享好友</string>
 
     <!--关于新审批流的,后期会添加到四个文件中-->
     <string name="title_approval">审批单据</string>
@@ -1860,4 +1861,6 @@
     <string name="to_login">已有账户?登录</string>
     <string name="input_phone_number">请输入手机号</string>
     <string name="input_name">请输入姓名</string>
+    
+    
 </resources>