package com.xzjmyk.pm.activity.adapter; import android.content.ContentResolver; import android.content.Context; import android.content.res.Resources; import android.net.Uri; import android.support.v7.app.AlertDialog; import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.nostra13.universalimageloader.core.ImageLoader; import com.xzjmyk.pm.activity.MyApplication; import com.xzjmyk.pm.activity.R; import com.xzjmyk.pm.activity.bean.oa.CommonApprovalFlowBean; import com.xzjmyk.pm.activity.helper.AvatarHelper; import com.xzjmyk.pm.activity.ui.erp.db.DBManager; import java.util.List; /** * 单据审批流通用适配器 * 考勤单据里面的所有单据详情界面,审批流适配器都会用到这里 * Created by FANGlh on 2016/11/16. */ public class CommonDocApprovalFlowAdapter extends BaseAdapter { private CommonApprovalFlowBean mCommonApprovalFlowBean; private Context mContext; DBManager manager; private List im_ids; public List getIm_ids() { return im_ids; } public void setIm_ids(List im_ids) { this.im_ids = im_ids; } public CommonDocApprovalFlowAdapter(Context mContext) { manager = new DBManager(mContext); this.mContext = mContext; } public CommonApprovalFlowBean getmCommonApprovalFlowBean() { return mCommonApprovalFlowBean; } public void setmCommonApprovalFlowBean(CommonApprovalFlowBean mCommonApprovalFlowBeanList) { this.mCommonApprovalFlowBean = mCommonApprovalFlowBeanList; } public int getCount() { return mCommonApprovalFlowBean == null ? 0 : mCommonApprovalFlowBean.getData().size(); } @Override public Object getItem(int position) { return mCommonApprovalFlowBean.getData().get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder viewHolder = null; if (convertView == null) { convertView = View.inflate(mContext, R.layout.item_common_doc_approval_flow, null); viewHolder = new ViewHolder(); viewHolder.AppFlowNode = (ImageView) convertView.findViewById(R.id.item_common_doc_approval_flow_node_img); viewHolder.AppFlowPhoto = (ImageView) convertView.findViewById(R.id.item_dcommon_doc_approval_flow_photo_img); viewHolder.AppFlowName = (TextView) convertView.findViewById(R.id.item_common_doc_approval_flow_name_tv); viewHolder.AppFlowStatus = (TextView) convertView.findViewById(R.id.item_common_doc_approval_flow_status_tv); viewHolder.AppFlowTime = (TextView) convertView.findViewById(R.id.item_common_doc_approval_flow_time_tv); viewHolder.AppFlowDescriptionll = (LinearLayout) convertView.findViewById(R.id.Description_ll); viewHolder.AppFlowDescriptiontv = (TextView) convertView.findViewById(R.id.item_common_doc_approval_flow_statusDescription_tv); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } //ToDo 日报详情审批流过程显示,逻辑比较繁琐 //获取 已审批节点数量 和总审批节点数 final int nodesnum = mCommonApprovalFlowBean.getNodes().size(); int datanum = mCommonApprovalFlowBean.getData().size(); int processnum = mCommonApprovalFlowBean.getProcesss().size(); viewHolder.AppFlowName.setText(mCommonApprovalFlowBean.getData().get(getCount() - position - 1).getJP_NODEDEALMANNAME()); if (im_ids != null && im_ids.get(getCount() - position - 1).equals("")) { Resources r = mContext.getResources(); String url = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + r.getResourcePackageName(R.drawable.common_header_boy) + "://" + r.getResourceTypeName(R.drawable.common_header_boy) + "://" + r.getResourceEntryName(R.drawable.common_header_boy)).toString(); ImageLoader.getInstance().displayImage(url, viewHolder.AppFlowPhoto, MyApplication.mAvatarRoundImageOptions); Log.i("imurl", url); } else { // ImageLoader.getInstance().displayImage(url, viewHolder.AppFlowPhoto, MyApplication.mAvatarRoundImageOptions); AvatarHelper.getInstance().display(im_ids.get(getCount() - position - 1),viewHolder.AppFlowPhoto,true,false);//显示圆角图片 } // 审批流倒序排列 if (nodesnum == 0) { if (mCommonApprovalFlowBean.getCurrentnode().getNodename() .equals(mCommonApprovalFlowBean.getData().get(getCount() - position - 1).getJP_NODENAME())) { viewHolder.AppFlowStatus.setTextColor(mContext.getResources().getColor(R.color.no_approval)); viewHolder.AppFlowStatus.setText("待审批"); viewHolder.AppFlowNode.setImageResource(R.drawable.node_wait3); } else { viewHolder.AppFlowStatus.setText(""); viewHolder.AppFlowNode.setImageResource(R.drawable.node_none3); } } else { if (position > (datanum - nodesnum - 1)) { if (mCommonApprovalFlowBean.getNodes().get(position - (datanum - nodesnum)).getJn_dealResult().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 - (datanum - nodesnum)).getJn_dealTime()); final int i = position - (datanum - nodesnum); //当有审批时判断有没有审批语 if (mCommonApprovalFlowBean.getNodes().get(position - (datanum - nodesnum)).getJn_dealResult() != null && mCommonApprovalFlowBean.getNodes().get(position - (datanum - nodesnum)).getJn_nodeDescription() != null) { viewHolder.AppFlowDescriptionll.setVisibility(View.VISIBLE); viewHolder.AppFlowDescriptiontv.setTextColor(mContext.getResources().getColor(R.color.done_approval)); viewHolder.AppFlowDescriptiontv.setText("( " + mCommonApprovalFlowBean.getNodes().get(position - (datanum - nodesnum)).getJn_nodeDescription().toString() + " )"); viewHolder.AppFlowDescriptionll.setOnClickListener(new View.OnClickListener() { //点击查看详细批语 @Override public void onClick(View v) { new AlertDialog .Builder(mContext) .setTitle("审批语详情") .setMessage("\t" + mCommonApprovalFlowBean.getNodes().get(i).getJn_nodeDescription().toString()) .setPositiveButton("确定", null) .show(); } }); } } else if (mCommonApprovalFlowBean.getNodes().get(position - (datanum - nodesnum)).getJn_dealResult().equals("不同意")) { viewHolder.AppFlowStatus.setTextColor(mContext.getResources().getColor(R.color.no_approval)); viewHolder.AppFlowStatus.setText("不同意"); viewHolder.AppFlowNode.setImageResource(R.drawable.node_wait3); viewHolder.AppFlowTime.setText(mCommonApprovalFlowBean.getNodes().get(position - (datanum - nodesnum)).getJn_dealTime()); } }else { if (position == (datanum - nodesnum - 1)){ if (mCommonApprovalFlowBean.getNodes().get(position).getJn_dealResult().equals("同意")){ viewHolder.AppFlowNode.setImageResource(R.drawable.node_wait3); viewHolder.AppFlowStatus.setTextColor(mContext.getResources().getColor(R.color.no_approval)); viewHolder.AppFlowStatus.setText("待审批"); } }else { viewHolder.AppFlowStatus.setText(""); viewHolder.AppFlowNode.setImageResource(R.drawable.node_none3); viewHolder.AppFlowTime.setText(""); } } } return convertView; } class ViewHolder { ImageView AppFlowNode; ImageView AppFlowPhoto; TextView AppFlowName; TextView AppFlowStatus; TextView AppFlowTime; LinearLayout AppFlowDescriptionll; TextView AppFlowDescriptiontv; } }