Эх сурвалжийг харах

处理Oa首页的日历问题,滑动后选中上个月分选中的日期
修复导肮那边闪退问题

Bitliker 9 жил өмнө
parent
commit
d84f4480c9

+ 21 - 23
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/OAActivity.java

@@ -433,12 +433,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                 c.setTime(curDate);
                 int day = c.get(Calendar.DAY_OF_MONTH);
                 calendarView = pagerAdapter.getmViews().get(position);
-                calendarView.setDateListener(new OACalendarView.OnSelectDateListener() {
-                    @Override
-                    public void result(Date date) {
-                        setClickDay(date);
-                    }
-                });
+                setCalenderOnClicklistener();
                 posItem = position;
                 calendarView.setDownIndex(day);
                 curDate = calendarView.getDownDate();
@@ -609,7 +604,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
     private void loadSuccess() {//下拉成功后添加到适配器
         setAdapterBeans();
         setDateToListener(isMe ? meInt : otherInt);
-
+        setCalenderOnClicklistener();
     }
 
     private void setAdapterBeans() {
@@ -649,20 +644,6 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
     }
 
 
-    /**
-     * 通过JSONObject获取开始时间,用于筛选
-     *
-     * @param object
-     * @return
-     */
-    private long getTimeForObject(JSONObject object) {
-        if (isB2b) {
-            return OACheckUtil.getJsonLong(object, "mp_visittime", "mpd_arrivedate", "recorddate", "vr_startdate", "vr_enddate");
-        }
-        return TimeUtils.f_str_2_long(OACheckUtil.getJson2Text(object, "startdate", "vr_visittime", "mpd_arrivedate"));
-    }
-
-
     //弹出菜单
     private PopupWindow popupWindow = null;
 
@@ -904,10 +885,27 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
     }
 
     public void setDateToListener(Set<Integer> in) {
-        if (calendarView == null) {
+        OACalendarView calendarView = getCalendarView();
+        if (calendarView != null)
+            calendarView.setDecoratDays(in);
+    }
+
+    private void setCalenderOnClicklistener() {
+        OACalendarView calendarView = getCalendarView();
+        if (calendarView != null)
+            calendarView.setDateListener(new OACalendarView.OnSelectDateListener() {
+                @Override
+                public void result(Date date) {
+                    setClickDay(date);
+                }
+            });
+    }
+
+    private OACalendarView getCalendarView() {
+        if (calendarView == null && pagerAdapter != null && pagerAdapter.getmViews() != null) {
             calendarView = pagerAdapter.getmViews().get(posItem);
         }
-        calendarView.setDecoratDays(in);
+        return calendarView;
     }
 
     @Override

+ 2 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/oa/OACalenderViewPagerAdapter.java

@@ -6,6 +6,7 @@ import android.util.SparseArray;
 import android.view.View;
 import android.view.ViewGroup;
 
+import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 import com.xzjmyk.pm.activity.view.OACalendarView;
 
 import java.util.Calendar;
@@ -39,6 +40,7 @@ public class OACalenderViewPagerAdapter extends PagerAdapter {
 
     @Override
     public Object instantiateItem(ViewGroup container, int position) {
+        LogUtil.i("instantiateItem="+position);
         if (mViews.get(position) == null) {
             OACalendarView calendarView = new OACalendarView(mContext);
             Date date = this.date[position];

+ 7 - 8
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/platform/task/TaskB2BActivity.java

@@ -170,6 +170,7 @@ public class TaskB2BActivity extends BaseActivity implements RecognizerDialogLis
                             JSONObject item = data.getJSONObject(i);
                             process.setTaskid(String.valueOf(item.get("id")));//id
                             process.setRecorder(item.getString("recorder"));//发起人
+                            process.setRecorderid(item.getString("recordercode"));//发起人
                             process.setStatus(item.getString("status"));//状态
                             process.setMainname(item.getString("status"));//状态
                             process.setTaskname(item.getString("taskname"));//名称
@@ -244,29 +245,27 @@ public class TaskB2BActivity extends BaseActivity implements RecognizerDialogLis
         }
         listview_main.onRefreshComplete();
         LogUtil.prinlnLongMsg("login_Name,allList", login_Name + JSON.toJSONString(allList));
+        String emcode = CommonUtil.getEmcode();
         if (ListUtils.isEmpty(allList)) return;
         for (int i = 0; i < allList.size(); i++) {
             // 待处理
-            if ((login_Name.equals(allList.get(i).getDealpersoncode()) &&
+            if ((emcode.equals(allList.get(i).getRa_resourcecode()) &&
                     "进行中".equals(allList.get(i).getStatus()))
-                    || (login_Name.equals(allList.get(i).getRecorder()) &&
+                    || (emcode.equals(allList.get(i).getRecorderid()) &&
                     "待确认".equals(allList.get(i).getStatus()))) {
                 waitList.add(allList.get(i));
             }
 
             //已处理
-            if ((login_Name.equals(allList.get(i).getDealpersoncode()) &&
+            if ((emcode.equals(allList.get(i).getRa_resourcecode()) &&
                     "已完成".equals(allList.get(i).getStatus()))
-                    || (login_Name.equals(allList.get(i).getDealpersoncode()) &&
+                    || (!emcode.equals(allList.get(i).getRecorderid()) &&
                     "待确认".equals(allList.get(i).getStatus()))) {
                 doneList.add(allList.get(i));
             }
 
             //我发起的
-            if ((login_Name.equals(allList.get(i).getRecorder()) &&
-                    "进行中".equals(allList.get(i).getStatus())) ||
-                    (login_Name.equals(allList.get(i).getRecorder()) &&
-                            "已完成".equals(allList.get(i).getStatus()))) {
+            if (emcode.equals(allList.get(i).getRecorderid()) && !"待确认".equals(allList.get(i).getStatus())) {
                 isendList.add(allList.get(i));
             }