PlatComAfAdapter.java 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. package com.xzjmyk.pm.activity.adapter;
  2. import android.app.AlertDialog;
  3. import android.content.Context;
  4. import android.view.View;
  5. import android.view.ViewGroup;
  6. import android.widget.BaseAdapter;
  7. import android.widget.ImageView;
  8. import android.widget.LinearLayout;
  9. import android.widget.TextView;
  10. import com.common.data.StringUtil;
  11. import com.xzjmyk.pm.activity.MyApplication;
  12. import com.xzjmyk.pm.activity.R;
  13. import com.xzjmyk.pm.activity.bean.oa.PlatComAfBean;
  14. import com.xzjmyk.pm.activity.util.im.helper.AvatarHelper;
  15. import com.common.data.ListUtils;
  16. import java.util.List;
  17. /**
  18. * Created by FANGlh on 2017/3/18.
  19. * function: 所有单据审批流节点公用界面
  20. */
  21. public class PlatComAfAdapter extends BaseAdapter{
  22. private PlatComAfBean mPlatComAfBean;
  23. private Context mContext;
  24. private List<String> afpeople_names;
  25. public List<String> getAfpeople_names() {
  26. return afpeople_names;
  27. }
  28. public void setAfpeople_names(List<String> afpeople_names) {
  29. this.afpeople_names = afpeople_names;
  30. }
  31. public PlatComAfAdapter(Context mContext){
  32. this.mContext = mContext;
  33. }
  34. public PlatComAfBean getmPlatComAfBean() {
  35. return mPlatComAfBean;
  36. }
  37. public void setmPlatComAfBean(PlatComAfBean mPlatComAfBean) {
  38. this.mPlatComAfBean = mPlatComAfBean;
  39. }
  40. @Override
  41. public int getCount() {
  42. if (mPlatComAfBean != null){
  43. if (!ListUtils.isEmpty(mPlatComAfBean.getData())){
  44. return mPlatComAfBean.getData()== null ? 0 : mPlatComAfBean.getData().size();
  45. }else{
  46. return mPlatComAfBean.getNodes() == null ? 0 : mPlatComAfBean.getNodes().size();
  47. }
  48. }else {
  49. return 0;
  50. }
  51. }
  52. @Override
  53. public Object getItem(int position) {
  54. if (mPlatComAfBean != null){
  55. if (!ListUtils.isEmpty(mPlatComAfBean.getData())){
  56. return mPlatComAfBean.getData().get(position);
  57. }else {
  58. return mPlatComAfBean.getNodes().get(position);
  59. }
  60. }else {
  61. return 0;
  62. }
  63. }
  64. @Override
  65. public long getItemId(int position) {
  66. return position;
  67. }
  68. @Override
  69. public View getView(int position, View convertView, ViewGroup parent) {
  70. ViewHolder viewHolder = null;
  71. if (convertView == null) {
  72. convertView = View.inflate(mContext, R.layout.item_common_doc_approval_flow, null);
  73. viewHolder = new ViewHolder();
  74. viewHolder.AppFlowNode = (ImageView) convertView.findViewById(R.id.item_common_doc_approval_flow_node_img);
  75. viewHolder.AppFlowPhoto = (ImageView) convertView.findViewById(R.id.item_dcommon_doc_approval_flow_photo_img);
  76. viewHolder.AppFlowName = (TextView) convertView.findViewById(R.id.item_common_doc_approval_flow_name_tv);
  77. viewHolder.AppFlowStatus = (TextView) convertView.findViewById(R.id.item_common_doc_approval_flow_status_tv);
  78. viewHolder.AppFlowTime = (TextView) convertView.findViewById(R.id.item_common_doc_approval_flow_time_tv);
  79. viewHolder.AppFlowDescriptionll = (LinearLayout) convertView.findViewById(R.id.Description_ll);
  80. viewHolder.AppFlowDescriptiontv = (TextView) convertView.findViewById(R.id.item_common_doc_approval_flow_statusDescription_tv);
  81. convertView.setTag(viewHolder);
  82. } else {
  83. viewHolder = (ViewHolder) convertView.getTag();
  84. }
  85. String imageUri = "drawable://" + R.drawable.common_header_boy;
  86. AvatarHelper.getInstance().display(imageUri, viewHolder.AppFlowPhoto, true);
  87. //获取 已审批节点数量 和总审批节点数
  88. final int nodesnum = mPlatComAfBean.getNodes().size();
  89. int datanum = mPlatComAfBean.getData().size();
  90. viewHolder.AppFlowName.setText(mPlatComAfBean.getData().get(getCount() - position - 1).getJp_nodename());
  91. //设置显示审批人名字
  92. if (ListUtils.isEmpty(afpeople_names) ){
  93. viewHolder.AppFlowName.setText("");
  94. }else if (!ListUtils.isEmpty(afpeople_names) ){
  95. viewHolder.AppFlowName.setText(afpeople_names.get(getCount() - position - 1));
  96. }
  97. if (nodesnum == 0){
  98. viewHolder.AppFlowDescriptionll.setVisibility(View.GONE);
  99. if (position == datanum - 1){
  100. viewHolder.AppFlowStatus.setTextColor(mContext.getResources().getColor(R.color.no_approval));
  101. viewHolder.AppFlowStatus.setText(MyApplication.getInstance().getString(R.string.status_pending));
  102. viewHolder.AppFlowNode.setImageResource(R.drawable.node_wait3);
  103. viewHolder.AppFlowTime.setText("");
  104. }else {
  105. viewHolder.AppFlowStatus.setText("");
  106. viewHolder.AppFlowNode.setImageResource(R.drawable.node_none3);
  107. }
  108. }else if (datanum != 0 && nodesnum != 0){
  109. if (position > (datanum - nodesnum - 1)){//已走过审批流的节点
  110. if (!StringUtil.isEmpty(mPlatComAfBean.getNodes().get(datanum - position - 1).getJn_result()) &&
  111. mPlatComAfBean.getNodes().get(datanum - position -1).getJn_result().equals("同意")){
  112. viewHolder.AppFlowStatus.setTextColor(mContext.getResources().getColor(R.color.done_approval));
  113. viewHolder.AppFlowStatus.setText(MyApplication.getInstance().getString(R.string.status_approved));
  114. viewHolder.AppFlowNode.setImageResource(R.drawable.node_finished3);
  115. viewHolder.AppFlowTime.setText(mPlatComAfBean.getNodes().get(datanum - position - 1).getJn_dealTime());
  116. }else if (!StringUtil.isEmpty(mPlatComAfBean.getNodes().get(datanum - position - 1).getJn_result()) &&
  117. mPlatComAfBean.getNodes().get(datanum -position -1).getJn_result().equals("不同意")){
  118. viewHolder.AppFlowStatus.setTextColor(mContext.getResources().getColor(R.color.no_approval));
  119. viewHolder.AppFlowStatus.setText(MyApplication.getInstance().getString(R.string.common_disagree));
  120. viewHolder.AppFlowNode.setImageResource(R.drawable.icon_disagree_nor);
  121. viewHolder.AppFlowTime.setText(mPlatComAfBean.getNodes().get(datanum - position - 1).getJn_dealTime());
  122. }
  123. //当已审批时判断有没有审批语
  124. if (mPlatComAfBean.getNodes().get(datanum - position - 1).getJn_nodeDescription() != null) {
  125. viewHolder.AppFlowDescriptionll.setVisibility(View.VISIBLE);
  126. viewHolder.AppFlowDescriptiontv.setTextColor(mContext.getResources().getColor(R.color.done_approval));
  127. viewHolder.AppFlowDescriptiontv.setText("( " + mPlatComAfBean.getNodes().get(datanum - position - 1).getJn_nodeDescription().toString() + " )");
  128. final String des_msg = mPlatComAfBean.getNodes().get(datanum - position - 1).getJn_nodeDescription().toString();
  129. viewHolder.AppFlowDescriptionll.setOnClickListener(new View.OnClickListener() {
  130. //点击查看详细批语
  131. @Override
  132. public void onClick(View v) {
  133. new AlertDialog
  134. .Builder(mContext)
  135. .setTitle(MyApplication.getInstance().getString(R.string.approvel_detail))
  136. .setMessage("\t" + des_msg)
  137. .setPositiveButton(MyApplication.getInstance().getString(R.string.common_sure), null)
  138. .show();
  139. }
  140. });
  141. } else {
  142. viewHolder.AppFlowDescriptionll.setVisibility(View.GONE);
  143. viewHolder.AppFlowDescriptiontv.setText("");
  144. }
  145. }else if (position == (datanum - nodesnum -1)){//当前待处理的节点(nodes里面将要统计的数据)
  146. if (!StringUtil.isEmpty(mPlatComAfBean.getNodes().get(datanum - position - 2).getJn_result()) &&
  147. mPlatComAfBean.getNodes().get(datanum - position - 2).getJn_result().equals("同意")){
  148. viewHolder.AppFlowNode.setImageResource(R.drawable.node_wait3);
  149. viewHolder.AppFlowStatus.setTextColor(mContext.getResources().getColor(R.color.no_approval));
  150. viewHolder.AppFlowStatus.setText(MyApplication.getInstance().getString(R.string.status_pending));
  151. }else {
  152. viewHolder.AppFlowNode.setImageResource(R.drawable.node_none3);
  153. viewHolder.AppFlowStatus.setText("");
  154. }
  155. viewHolder.AppFlowTime.setText("");
  156. viewHolder.AppFlowDescriptionll.setVisibility(View.GONE);
  157. }else if (position < (datanum - nodesnum - 1)) { //未走过审批流的节点
  158. viewHolder.AppFlowStatus.setText("");
  159. viewHolder.AppFlowNode.setImageResource(R.drawable.node_none3);
  160. viewHolder.AppFlowTime.setText("");
  161. viewHolder.AppFlowDescriptionll.setVisibility(View.GONE);
  162. }
  163. }
  164. return convertView;
  165. }
  166. class ViewHolder {
  167. ImageView AppFlowNode;
  168. ImageView AppFlowPhoto;
  169. TextView AppFlowName;
  170. TextView AppFlowStatus;
  171. TextView AppFlowTime;
  172. LinearLayout AppFlowDescriptionll;
  173. TextView AppFlowDescriptiontv;
  174. }
  175. }