Explorar o código

1.优化打卡功能

wsad5123 %!s(int64=5) %!d(string=hai) anos
pai
achega
4b74364bcb

+ 2 - 2
app/build.gradle

@@ -24,8 +24,8 @@ android {
         targetSdkVersion rootProject.ext.targetSdkVersion
         multiDexEnabled true
         multiDexKeepProguard file("multidexKeep.pro")//腾讯bugly的类放到主Dex
-        versionCode 342
-        versionName "3.4.2"
+        versionCode 343
+        versionName "3.4.3"
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
         flavorDimensions "versionCode"
         ndk {

+ 4 - 4
app/src/main/java/com/tongyu/luck/happywork/ui/activity/cclient/clock/ClockMonthStatisticsActivity.java

@@ -112,6 +112,7 @@ public class ClockMonthStatisticsActivity extends BaseActivity<ClockMonthStatist
             cvClockDate.setOnCalendarSelectListener(onCalendarSelectListener);
             cvClockDate.setOnCalendarInterceptListener(onCalendarInterceptListener);
             cvClockDate.setOnMonthChangeListener(onMonthChangeListener);
+            mvpPresenter.getMonthClockData(false, true);
             mvpPresenter.getDayClockData(year + "-" + (month > 9 ? month : ("0" + month)) + "-" + (day > 9 ? day : ("0" + day)));
 
         }
@@ -123,14 +124,13 @@ public class ClockMonthStatisticsActivity extends BaseActivity<ClockMonthStatist
      * @param data
      */
     @Override
-    public void onMonthClockData(List<ClockMonthClockDataBean> data) {
+    public void onMonthClockData(List<ClockMonthClockDataBean> data, ClockMonthDataBean clockMonthDataBean, boolean isLastMonth) {
         for (int day = 0; day < data.size(); day++) {
             ClockMonthClockDataBean item = data.get(day);
             if (!TextUtils.isEmpty(item.getStartPunchClock())) {//上班卡已打
-                java.util.Calendar date = java.util.Calendar.getInstance();
                 Calendar calendar = new Calendar();
-                calendar.setYear(date.get(java.util.Calendar.YEAR));
-                calendar.setMonth(date.get(java.util.Calendar.MONTH) + 1);
+                calendar.setYear(clockMonthDataBean.getYear());
+                calendar.setMonth(clockMonthDataBean.getMonth() - (isLastMonth ? 1 : 0));
                 calendar.setDay(day + 1);
                 if (!TextUtils.isEmpty(item.getEndPunchClock())) {
                     calendar.setSchemeColor(getResources().getColor(R.color.text_gray_bc));

+ 1 - 1
app/src/main/java/com/tongyu/luck/happywork/ui/mvp/cclient/contacts/ClockMonthStatisticsContacts.java

@@ -14,7 +14,7 @@ public class ClockMonthStatisticsContacts {
 
         void onMonthData(ClockMonthDataBean data);
 
-        void onMonthClockData(List<ClockMonthClockDataBean> data);
+        void onMonthClockData(List<ClockMonthClockDataBean> data, ClockMonthDataBean clockMonthDataBean, boolean isLastMonth);
 
         void onDayClockData(ClockDayDataBean data);
 

+ 3 - 4
app/src/main/java/com/tongyu/luck/happywork/ui/mvp/cclient/presenter/ClockMonthStatisticsPresenter.java

@@ -31,7 +31,6 @@ public class ClockMonthStatisticsPresenter extends BasePresenter<ClockMonthStati
     @Override
     public void init() {
         getMonthData();
-        getMonthClockData(false, true);
     }
 
     /**
@@ -62,16 +61,16 @@ public class ClockMonthStatisticsPresenter extends BasePresenter<ClockMonthStati
      * 获取当月打卡数据集合
      */
     @Override
-    public void getMonthClockData(boolean isLastMonth, boolean isInit) {
+    public void getMonthClockData(final boolean isLastMonth, boolean isInit) {
         if (isViewAttach()) {
             if (mClockMonthStatisticsModel.getMonthClockData(isLastMonth) != null) {//如果本地存在直接获取本地数据
-                mvpReference.get().onMonthClockData(mClockMonthStatisticsModel.getMonthClockData(isLastMonth));
+                mvpReference.get().onMonthClockData(mClockMonthStatisticsModel.getMonthClockData(isLastMonth), mClockMonthStatisticsModel.getClockMonthData(), isLastMonth);
             } else {//本地不存在获取网络数据
                 mClockMonthStatisticsModel.httpGetMonthClockData(new MvpDataCallBack<List<ClockMonthClockDataBean>>() {
                     @Override
                     public void onData(List<ClockMonthClockDataBean> data) {
                         if (isViewAttach() && data != null)
-                            mvpReference.get().onMonthClockData(data);
+                            mvpReference.get().onMonthClockData(data, mClockMonthStatisticsModel.getClockMonthData(), isLastMonth);
                     }
                 }, isLastMonth, isInit);
             }

+ 9 - 4
app/src/main/java/com/tongyu/luck/happywork/ui/widget/calendar/ClockMonthView.java

@@ -48,10 +48,15 @@ public class ClockMonthView extends MonthView {
     protected boolean onDrawSelected(Canvas canvas, Calendar calendar, int x, int y, boolean hasScheme) {
         int cx = x + mItemWidth / 2;
         int cy = y + mItemHeight / 2;
-
-        mSelectedPaint.setStyle(Paint.Style.FILL);
-        mSelectedPaint.setColor(getResources().getColor(R.color.blue_01));
-        canvas.drawCircle(cx, cy, PxUtils.dip2px(17.5f), mSelectedPaint);
+        if (hasScheme && calendar.getSchemeColor() == getResources().getColor(R.color.text_orange_fd)) {
+            mSelectedPaint.setStyle(Paint.Style.FILL);
+            mSelectedPaint.setColor(getResources().getColor(R.color.text_orange_fd));
+            canvas.drawCircle(cx, cy, PxUtils.dip2px(17.5f), mSelectedPaint);
+        } else {
+            mSelectedPaint.setStyle(Paint.Style.FILL);
+            mSelectedPaint.setColor(getResources().getColor(R.color.blue_01));
+            canvas.drawCircle(cx, cy, PxUtils.dip2px(17.5f), mSelectedPaint);
+        }
         return true;
     }
 

+ 1 - 0
app/src/main/res/layout/activity_clock_month_statistics.xml

@@ -213,6 +213,7 @@
             app:month_view_show_mode="mode_all"
             app:select_mode="single_mode"
             app:selected_text_color="@color/white"
+            app:week_start_with="mon"
             app:week_text_color="@color/text_gray_99"
             app:week_text_size="@dimen/px36_12sp" />
 

+ 6 - 6
app/src/main/res/layout/fragment_clock.xml

@@ -48,7 +48,7 @@
 
                             <TextView
                                 android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
+                                android:layout_height="19dp"
                                 android:text="@string/week_work_hour"
                                 android:textColor="@color/white"
                                 android:textSize="@dimen/px42_14sp" />
@@ -56,7 +56,7 @@
                             <LinearLayout
                                 android:layout_width="wrap_content"
                                 android:layout_height="33dp"
-                                android:layout_marginTop="4dp"
+                                android:layout_marginTop="8dp"
                                 android:orientation="horizontal">
 
                                 <TextView
@@ -87,7 +87,7 @@
 
                             <TextView
                                 android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
+                                android:layout_height="19dp"
                                 android:text="@string/week_repay"
                                 android:textColor="@color/white"
                                 android:textSize="@dimen/px42_14sp" />
@@ -95,7 +95,7 @@
                             <LinearLayout
                                 android:layout_width="wrap_content"
                                 android:layout_height="33dp"
-                                android:layout_marginTop="4dp"
+                                android:layout_marginTop="8dp"
                                 android:orientation="horizontal">
 
                                 <TextView
@@ -121,7 +121,7 @@
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:layout_gravity="center_horizontal"
-                        android:layout_marginTop="10dp"
+                        android:layout_marginTop="14dp"
                         android:text="@string/clock_tips"
                         android:textColor="@color/white_70"
                         android:textSize="@dimen/px33_11sp" />
@@ -131,7 +131,7 @@
                         android:layout_width="match_parent"
                         android:layout_height="79dp"
                         android:layout_marginLeft="14dp"
-                        android:layout_marginTop="29dp"
+                        android:layout_marginTop="24dp"
                         android:layout_marginRight="14dp"
                         app:cardCornerRadius="8dp"
                         app:cardElevation="0dp">