package com.xzjmyk.pm.activity.adapter; import android.content.Context; import android.support.v7.app.AlertDialog; 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.xzjmyk.pm.activity.R; import com.xzjmyk.pm.activity.bean.oa.CommonApprovalFlowBean; import com.xzjmyk.pm.activity.helper.AvatarHelper; 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("")) { // viewHolder.AppFlowPhoto.setImageDrawable(new BitmapDrawable()); String imageUri = "drawable://" + R.drawable.common_header_boy; // viewHolder.AppFlowPhoto.setImageBitmap(ImageUtil.getRoundedCornerBitmapResId(mContext, // R.drawable.common_header_boy,10.0f)); // 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); AvatarHelper.getInstance().display(imageUri,viewHolder.AppFlowPhoto,true); } else { // ImageLoader.getInstance().displayImage(url, viewHolder.AppFlowPhoto, MyApplication.mAvatarRoundImageOptions); AvatarHelper.getInstance().display(im_ids.get(getCount() - position - 1),viewHolder.AppFlowPhoto,true,false);//显示圆角图片 } // TODO 审批流倒序排列 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)) { //当前待处理的节点(nodes里面将要统计的数据) if (mCommonApprovalFlowBean.getNodes().get(position - (datanum - nodesnum - 1)).getJn_dealResult().equals("同意")) { viewHolder.AppFlowNode.setImageResource(R.drawable.node_wait3); viewHolder.AppFlowStatus.setTextColor(mContext.getResources().getColor(R.color.no_approval)); viewHolder.AppFlowStatus.setText("待审批"); } } else if (position < (datanum - nodesnum - 1)) { //未走过审批流的节点 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; } }