Browse Source

审批流 im获取头像

FANGLH 9 years ago
parent
commit
0db322d709

+ 16 - 25
WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/CommonDocApprovalFlowAdapter.java

@@ -12,6 +12,8 @@ import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.oa.CommonApprovalFlowBean;
 import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
 
+import java.util.List;
+
 
 /**
  * 通用适配器
@@ -22,6 +24,15 @@ public class CommonDocApprovalFlowAdapter extends BaseAdapter {
     private CommonApprovalFlowBean mCommonApprovalFlowBean;
     private Context mContext;
     DBManager manager;
+    private List<String> im_ids;
+
+    public List<String> getIm_ids() {
+        return im_ids;
+    }
+
+    public void setIm_ids(List<String> im_ids) {
+        this.im_ids = im_ids;
+    }
 
     public CommonDocApprovalFlowAdapter(Context mContext) {
         manager = new DBManager(mContext);
@@ -77,22 +88,20 @@ public class CommonDocApprovalFlowAdapter extends BaseAdapter {
         int nodesnum = mCommonApprovalFlowBean.getNodes().size();
         int datanum = mCommonApprovalFlowBean.getData().size();
         int processnum = mCommonApprovalFlowBean.getProcesss().size();
-        if(datanum >0){
+        if(datanum >0) {
             viewHolder.AppFlowName.setText(mCommonApprovalFlowBean.getData().get(position).getJP_NODEDEALMANNAME());
-            if(nodesnum >0 && position < nodesnum){
+            if (nodesnum > 0 && position < nodesnum) {
                 String approval_status = mCommonApprovalFlowBean.getNodes().get(position).getJn_dealResult();
                 if (!approval_status.isEmpty() && approval_status.equals("同意")) {
                     viewHolder.AppFlowStatus.setTextColor(mContext.getResources().getColor(R.color.done_approval));
                     viewHolder.AppFlowStatus.setText("已审批");
                     viewHolder.AppFlowNode.setImageResource(R.drawable.node_finished3);
                     viewHolder.AppFlowTime.setText(mCommonApprovalFlowBean.getNodes().get(position).getJn_dealTime());
-                    if(mCommonApprovalFlowBean.getNodes().get(position).getJn_nodeDescription() != null){
+                    if (mCommonApprovalFlowBean.getNodes().get(position).getJn_nodeDescription() != null) {
                         viewHolder.AppFlowDescriptionll.setVisibility(View.VISIBLE);
                         viewHolder.AppFlowDescriptiontv.setText(mCommonApprovalFlowBean.getNodes().get(position).getJn_nodeDescription().toString());
                     }
-                }
-
-                else if(!approval_status.isEmpty() && approval_status.equals("不同意")){
+                } else if (!approval_status.isEmpty() && approval_status.equals("不同意")) {
                     viewHolder.AppFlowStatus.setTextColor(mContext.getResources().getColor(R.color.no_approval));
                     viewHolder.AppFlowStatus.setText("不同意");
                     viewHolder.AppFlowNode.setImageResource(R.drawable.node_wait3);
@@ -106,29 +115,11 @@ public class CommonDocApprovalFlowAdapter extends BaseAdapter {
                 }
             }
             //当节点是待审批状态时
-            else if(position == nodesnum && position <=datanum && mCommonApprovalFlowBean.getData().get(position).getJP_NODENAME().equals(mCommonApprovalFlowBean.getCurrentnode().getNodename())){
+            else if (position == nodesnum && position <= datanum && mCommonApprovalFlowBean.getData().get(position).getJP_NODENAME().equals(mCommonApprovalFlowBean.getCurrentnode().getNodename())) {
                 viewHolder.AppFlowStatus.setTextColor(mContext.getResources().getColor(R.color.no_approval));
                 viewHolder.AppFlowStatus.setText("待审批");
                 viewHolder.AppFlowNode.setImageResource(R.drawable.node_wait3);
             }
-
-            //TODO 从im获取头像
-       /* try {
-            if (manager == null) manager = new DBManager(mContext);
-            String whichsys = CommonUtil.getSharedPreferences(mContext, "erp_master");
-            String emCode = mCommonApprovalFlowBean.get(position).getJn_dealManId();
-            String[] selectionArgs = {emCode, whichsys};
-            String selection = "em_code=? and whichsys=?";
-            //获取数据库数据
-            EmployeesEntity bean = manager.selectForEmployee(selectionArgs, selection);
-            if (bean!=null){
-                String imId = String.valueOf(bean.getEm_IMID());
-                Log.i("todo", "imId=" + imId);
-                AvatarHelper.getInstance().displayAvatar(imId, viewHolder.AppFlowPhoto, true);
-            }
-
-        } catch (Exception e) {
-         }*/
         }
         return convertView;
     }

+ 11 - 22
WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/DailyDetailsApprovalFlowAdapter.java

@@ -18,6 +18,8 @@ import com.xzjmyk.pm.activity.ui.erp.entity.EmployeesEntity;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.util.ToastUtil;
 
+import java.util.List;
+
 
 /**
  * Created by FANGlh on 2016/11/4.
@@ -26,7 +28,15 @@ public class DailyDetailsApprovalFlowAdapter extends BaseAdapter {
     private CommonApprovalFlowBean mCommonApprovalFlowBean;
     private Context mContext;
     DBManager manager;
+    private List<String> im_ids;
+
+    public List<String> getIm_ids() {
+        return im_ids;
+    }
 
+    public void setIm_ids(List<String> im_ids) {
+        this.im_ids = im_ids;
+    }
     public DailyDetailsApprovalFlowAdapter(Context mContext) {
         manager = new DBManager(mContext);
         this.mContext = mContext;
@@ -82,6 +92,7 @@ public class DailyDetailsApprovalFlowAdapter extends BaseAdapter {
         int datanum = mCommonApprovalFlowBean.getData().size();
         int processnum = mCommonApprovalFlowBean.getProcesss().size();
         if(datanum >0){
+            AvatarHelper.getInstance().displayAvatar(im_ids.get(position), viewHolder.AppFlowPhoto, true);
             viewHolder.AppFlowName.setText(mCommonApprovalFlowBean.getData().get(position).getJP_NODEDEALMANNAME());
             if(nodesnum >0 && position < nodesnum){
                 String approval_status = mCommonApprovalFlowBean.getNodes().get(position).getJn_dealResult();
@@ -116,29 +127,8 @@ public class DailyDetailsApprovalFlowAdapter extends BaseAdapter {
                 viewHolder.AppFlowNode.setImageResource(R.drawable.node_wait3);
             }
         }
-
-            //TODO 从im获取头像
-//        try {
-//            if (manager == null) manager = new DBManager(mContext);
-//            String whichsys = CommonUtil.getSharedPreferences(mContext, "erp_master");
-//            String emCode = mCommonApprovalFlowBean.getData().get(position).getJP_NODEDEALMAN();
-//            String[] selectionArgs = {emCode, whichsys};
-//            String selection = "em_code=? and whichsys=?";
-//            //获取数据库数据
-//            EmployeesEntity bean = manager.selectForEmployee(selectionArgs, selection);
-//            if (bean!=null){
-//                String imId = String.valueOf(bean.getEm_IMID());
-//                Log.i("todo", "imId=" + imId);
-//                AvatarHelper.getInstance().displayAvatar(imId, viewHolder.AppFlowPhoto, true);
-//            }
-//
-//        } catch (Exception e) {
-//            e.printStackTrace();
-//        }
-
         return convertView;
     }
-
     class ViewHolder {
         ImageView AppFlowNode;
         ImageView AppFlowPhoto;
@@ -147,6 +137,5 @@ public class DailyDetailsApprovalFlowAdapter extends BaseAdapter {
         TextView AppFlowTime;
         LinearLayout AppFlowDescriptionll;
         TextView AppFlowDescriptiontv;
-
     }
 }

+ 2 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/WorkDailyApprovalFlowAdapter.java

@@ -12,6 +12,8 @@ import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.oa.CommonApprovalFlowBean;
 import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
 
+import java.util.List;
+
 
 /**
  * Created by FANGlh on 2016/11/4.

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

@@ -69,6 +69,8 @@ public class DailydetailsActivity extends BaseActivity {
     private String mCaller = "WorkDaily";
     private int mNoc = 1 ;
     private final static int APPROVAL_FLOW_NODE = 102;
+    private DBManager manager;
+    private List<String> im_ids;
 
 
     @Override
@@ -139,6 +141,9 @@ public class DailydetailsActivity extends BaseActivity {
             experience_ll.setVisibility(View.GONE);
         }
 
+
+        manager = new DBManager(this);
+        im_ids =new ArrayList<>();
     }
 
     public void initData() {
@@ -195,9 +200,32 @@ public class DailydetailsActivity extends BaseActivity {
                                ToastMessage("日报审批流数据异常");
                            }
 
+                           //TODO 从im获取头像
+                           try {
+                               for (int i = 0; i < mCommonApprovalFlowBean.getNodes().size(); i++) {
+                                   if (manager == null) manager = new DBManager(mContext);
+                                   String whichsys = CommonUtil.getSharedPreferences(mContext, "erp_master");
+                                   String emCode = mCommonApprovalFlowBean.getNodes().get(i).getJn_dealManId();
+                                   String[] selectionArgs = {emCode, whichsys};
+                                   String selection = "em_code=? and whichsys=? ";
+                                   //获取数据库数据
+                                   EmployeesEntity bean = manager.selectForEmployee(selectionArgs, selection);
+                                   if (bean!=null){
+                                       String imId = String.valueOf(bean.getEm_IMID());
+                                       Log.i("todo", "imId=" + imId);
+                                       im_ids.add(imId);
+                                   }
+
+                               }
+
+                           } catch (Exception e) {
+                           }
+                           mDailyDetailsApprovalFlowAdapter.setIm_ids(im_ids);
                           //TODO 设置数据之前先通过数据库获取到所有的imid保存到内存中
                            mDailyDetailsApprovalFlowAdapter.setmCommonApprovalFlowBean(mCommonApprovalFlowBean);
                            approval_flowlv.setAdapter(mDailyDetailsApprovalFlowAdapter);
+
+
                        }
                    }catch (JSONException e){
                        e.printStackTrace();

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

@@ -494,7 +494,7 @@ public class DBManager {
         String orderBy = null;
         Cursor cursor = db.query(table, null, selection, selectionArgs, groupBy, having, orderBy);
         EmployeesEntity model = null;
-        while (cursor.moveToLast()) {
+        while (cursor.moveToNext()) {
             model = new EmployeesEntity();
             model.setEM_CODE(cursor.getString(cursor.getColumnIndex("em_code")));
             model.setEm_defaultorid(cursor.getInt(cursor.getColumnIndex("em_defaultorid")));
@@ -507,10 +507,7 @@ public class DBManager {
             model.setEM_POSITION(cursor.getString(cursor.getColumnIndex("em_position")));
             model.setEM_UU(cursor.getString(cursor.getColumnIndex("em_uu")));
             model.setWHICHSYS(cursor.getString(cursor.getColumnIndex("whichsys")));
-            model.setEm_IMID(Integer.valueOf(cursor.getString(
-                    cursor.getColumnIndex("em_imid")) == null ? "0" : cursor.getString(
-                    cursor.getColumnIndex("em_imid"))
-            ));
+            model.setEm_IMID(Integer.valueOf(cursor.getString(cursor.getColumnIndex("em_imid")) == null ? "0" : cursor.getString(cursor.getColumnIndex("em_imid"))));
         }
         cursor.close();
         return model;