DailyDetailsApprovalFlowAdapter.java 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. package com.xzjmyk.pm.activity.adapter;
  2. import android.content.Context;
  3. import android.view.View;
  4. import android.view.ViewGroup;
  5. import android.widget.BaseAdapter;
  6. import android.widget.ImageView;
  7. import android.widget.LinearLayout;
  8. import android.widget.TextView;
  9. import com.xzjmyk.pm.activity.R;
  10. import com.xzjmyk.pm.activity.bean.oa.CommonApprovalFlowBean;
  11. import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
  12. /**
  13. * Created by FANGlh on 2016/11/4.
  14. */
  15. public class DailyDetailsApprovalFlowAdapter extends BaseAdapter {
  16. private CommonApprovalFlowBean mCommonApprovalFlowBean;
  17. private Context mContext;
  18. DBManager manager;
  19. public DailyDetailsApprovalFlowAdapter(Context mContext) {
  20. manager = new DBManager(mContext);
  21. this.mContext = mContext;
  22. }
  23. public CommonApprovalFlowBean getmCommonApprovalFlowBean() {
  24. return mCommonApprovalFlowBean;
  25. }
  26. public void setmCommonApprovalFlowBean(CommonApprovalFlowBean mCommonApprovalFlowBeanList) {
  27. this.mCommonApprovalFlowBean = mCommonApprovalFlowBeanList;
  28. }
  29. public int getCount() {
  30. return mCommonApprovalFlowBean == null ? 0 : mCommonApprovalFlowBean.getData().size();
  31. }
  32. @Override
  33. public Object getItem(int position) {
  34. return mCommonApprovalFlowBean.getData().get(position);
  35. }
  36. @Override
  37. public long getItemId(int position) {
  38. return position;
  39. }
  40. @Override
  41. public View getView(int position, View convertView, ViewGroup parent) {
  42. ViewHolder viewHolder = null;
  43. if (convertView == null) {
  44. convertView = View.inflate(mContext, R.layout.item_daily_details_approval_flow, null);
  45. viewHolder = new ViewHolder();
  46. viewHolder.AppFlowNode = (ImageView) convertView.findViewById(R.id.item_daily_details_approval_flow_node_img);
  47. viewHolder.AppFlowPhoto = (ImageView) convertView.findViewById(R.id.item_daily_details_approval_flow_photo_img);
  48. viewHolder.AppFlowName = (TextView) convertView.findViewById(R.id.item_daily_details_approval_flow_name_tv);
  49. viewHolder.AppFlowStatus = (TextView) convertView.findViewById(R.id.item_daily_details_approval_flow_status_tv);
  50. viewHolder.AppFlowTime = (TextView) convertView.findViewById(R.id.item_daily_details_approval_flow_time_tv);
  51. viewHolder.AppFlowDescriptionll = (LinearLayout) convertView.findViewById(R.id.Description_ll);
  52. viewHolder.AppFlowDescriptiontv = (TextView) convertView.findViewById(R.id.item_daily_details_approval_flow_statusDescription_tv);
  53. convertView.setTag(viewHolder);
  54. } else {
  55. viewHolder = (ViewHolder) convertView.getTag();
  56. }
  57. //ToDo 日报详情审批流过程显示,逻辑比较繁琐
  58. //获取 已审批节点数量 和总审批节点数
  59. int nodesnum = mCommonApprovalFlowBean.getNodes().size();
  60. int datanum = mCommonApprovalFlowBean.getData().size();
  61. viewHolder.AppFlowName.setText(mCommonApprovalFlowBean.getData().get(position).getJP_NODEDEALMANNAME());
  62. //当审批流为空时默认第一个审批人为审批节点
  63. if(mCommonApprovalFlowBean.getNodes() == null ||nodesnum <= 0){
  64. viewHolder.AppFlowTime.setText(null);
  65. viewHolder.AppFlowStatus.setText(null);
  66. viewHolder.AppFlowName.setText(mCommonApprovalFlowBean.getData().get(position).getJP_NODEDEALMANNAME());
  67. if(position == 0){
  68. viewHolder.AppFlowStatus.setTextColor(mContext.getResources().getColor(R.color.no_approval));
  69. viewHolder.AppFlowStatus.setText("待审批");
  70. viewHolder.AppFlowNode.setImageResource(R.drawable.node_wait3);
  71. }
  72. }else{
  73. if (position < nodesnum && datanum > 0){
  74. String approval_status = mCommonApprovalFlowBean.getNodes().get(position).getJn_dealResult();
  75. if (!approval_status.isEmpty() && approval_status.equals("同意")) {
  76. viewHolder.AppFlowStatus.setTextColor(mContext.getResources().getColor(R.color.approval_flow));
  77. viewHolder.AppFlowStatus.setText("已审批");
  78. viewHolder.AppFlowNode.setImageResource(R.drawable.node_finished3);
  79. viewHolder.AppFlowTime.setText(mCommonApprovalFlowBean.getNodes().get(position).getJn_dealTime());
  80. }
  81. else if(!approval_status.isEmpty() && approval_status.equals("不同意")){
  82. viewHolder.AppFlowStatus.setTextColor(mContext.getResources().getColor(R.color.no_approval));
  83. viewHolder.AppFlowStatus.setText("不同意");
  84. viewHolder.AppFlowNode.setImageResource(R.drawable.node_wait3);
  85. viewHolder.AppFlowTime.setText(mCommonApprovalFlowBean.getNodes().get(position).getJn_dealTime());
  86. }
  87. else if(position == (nodesnum -1)) {
  88. }
  89. //当节点为none状态是gone掉默认审批状态和时间
  90. else {
  91. viewHolder.AppFlowStatus.setText(null);
  92. viewHolder.AppFlowTime.setText(null);
  93. viewHolder.AppFlowNode.setImageResource(R.drawable.node_none3);
  94. }
  95. } //当节点是待审批状态时
  96. else if(position == nodesnum && position <=datanum && mCommonApprovalFlowBean.getData().get(position).getJP_NODENAME().equals(mCommonApprovalFlowBean.getCurrentnode().getNodename())){
  97. viewHolder.AppFlowStatus.setTextColor(mContext.getResources().getColor(R.color.no_approval));
  98. viewHolder.AppFlowStatus.setText("待审批");
  99. viewHolder.AppFlowNode.setImageResource(R.drawable.node_wait3);
  100. }
  101. //TODO 从im获取头像
  102. /* try {
  103. if (manager == null) manager = new DBManager(mContext);
  104. String whichsys = CommonUtil.getSharedPreferences(mContext, "erp_master");
  105. String emCode = mCommonApprovalFlowBean.get(position).getJn_dealManId();
  106. String[] selectionArgs = {emCode, whichsys};
  107. String selection = "em_code=? and whichsys=?";
  108. //获取数据库数据
  109. EmployeesEntity bean = manager.selectForEmployee(selectionArgs, selection);
  110. if (bean!=null){
  111. String imId = String.valueOf(bean.getEm_IMID());
  112. Log.i("todo", "imId=" + imId);
  113. AvatarHelper.getInstance().displayAvatar(imId, viewHolder.AppFlowPhoto, true);
  114. }
  115. } catch (Exception e) {
  116. }*/
  117. }
  118. return convertView;
  119. }
  120. class ViewHolder {
  121. ImageView AppFlowNode;
  122. ImageView AppFlowPhoto;
  123. TextView AppFlowName;
  124. TextView AppFlowStatus;
  125. TextView AppFlowTime;
  126. LinearLayout AppFlowDescriptionll;
  127. TextView AppFlowDescriptiontv;
  128. }
  129. }