公会收入,成员收入增加月榜
(cherry picked from commit 7d03ff0c51d9301e5b71840c3985fd806df94210)
This commit is contained in:
@@ -622,6 +622,7 @@
|
|||||||
<string name="label_id_format">ID:%d</string>
|
<string name="label_id_format">ID:%d</string>
|
||||||
<string name="format_month_day">%1$s月%2$s日</string>
|
<string name="format_month_day">%1$s月%2$s日</string>
|
||||||
<string name="format_year">%s年</string>
|
<string name="format_year">%s年</string>
|
||||||
|
<string name="format_month">%s月</string>
|
||||||
|
|
||||||
<string name="title_room_title_edit">房间公告</string>
|
<string name="title_room_title_edit">房间公告</string>
|
||||||
<string name="label_hint_room_title">请设置公告标题</string>
|
<string name="label_hint_room_title">请设置公告标题</string>
|
||||||
|
@@ -25,8 +25,11 @@ import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.Commo
|
|||||||
import com.yizhuan.xchat_android_core.statistic.StatisticManager;
|
import com.yizhuan.xchat_android_core.statistic.StatisticManager;
|
||||||
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
|
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
|
||||||
import com.yizhuan.xchat_android_library.base.factory.CreatePresenter;
|
import com.yizhuan.xchat_android_library.base.factory.CreatePresenter;
|
||||||
|
import com.yizhuan.xchat_android_library.utils.CommonUtils;
|
||||||
|
import com.yizhuan.xchat_android_library.utils.TimeUtils;
|
||||||
import com.yizhuan.xchat_android_library.utils.config.BasicConfig;
|
import com.yizhuan.xchat_android_library.utils.config.BasicConfig;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -45,6 +48,7 @@ public class ClanIncomeActivity extends BaseMvpActivity<IIncomeStatisticsView, C
|
|||||||
|
|
||||||
private static final int TYPE_DAY = 0;
|
private static final int TYPE_DAY = 0;
|
||||||
private static final int TYPE_WEEK = 1;
|
private static final int TYPE_WEEK = 1;
|
||||||
|
private static final int TYPE_MONTH = 2;
|
||||||
|
|
||||||
@BindView(R.id.view_pager)
|
@BindView(R.id.view_pager)
|
||||||
ViewPager viewPager;
|
ViewPager viewPager;
|
||||||
@@ -86,6 +90,10 @@ public class ClanIncomeActivity extends BaseMvpActivity<IIncomeStatisticsView, C
|
|||||||
fragment.setmDayIncomeFragmentListener(this);
|
fragment.setmDayIncomeFragmentListener(this);
|
||||||
list.add(fragment);
|
list.add(fragment);
|
||||||
|
|
||||||
|
fragment = ClanIncomeFragment.getInstance(ClanIncomeFragment.TYPE_MONTH, clanId);
|
||||||
|
fragment.setmDayIncomeFragmentListener(this);
|
||||||
|
list.add(fragment);
|
||||||
|
|
||||||
viewPager.setAdapter(adapter);
|
viewPager.setAdapter(adapter);
|
||||||
|
|
||||||
// initDay();
|
// initDay();
|
||||||
@@ -118,7 +126,7 @@ public class ClanIncomeActivity extends BaseMvpActivity<IIncomeStatisticsView, C
|
|||||||
List<String> tagList = new ArrayList<>();
|
List<String> tagList = new ArrayList<>();
|
||||||
tagList.add("每日统计");
|
tagList.add("每日统计");
|
||||||
tagList.add("每周统计");
|
tagList.add("每周统计");
|
||||||
|
tagList.add("每月统计");
|
||||||
StatisticsIndicatorAdapter adapter = new StatisticsIndicatorAdapter(tagList, 5);
|
StatisticsIndicatorAdapter adapter = new StatisticsIndicatorAdapter(tagList, 5);
|
||||||
adapter.setOnItemSelectListener(position -> viewPager.setCurrentItem(position));
|
adapter.setOnItemSelectListener(position -> viewPager.setCurrentItem(position));
|
||||||
CommonNavigator navigator = new CommonNavigator(this);
|
CommonNavigator navigator = new CommonNavigator(this);
|
||||||
@@ -144,9 +152,11 @@ public class ClanIncomeActivity extends BaseMvpActivity<IIncomeStatisticsView, C
|
|||||||
if (mCurrentType == TYPE_WEEK) {
|
if (mCurrentType == TYPE_WEEK) {
|
||||||
StatisticManager.Instance().onEvent(BasicConfig.INSTANCE.getAppContext(),
|
StatisticManager.Instance().onEvent(BasicConfig.INSTANCE.getAppContext(),
|
||||||
StatisticsProtocol.Event.HALL_INCOME_WEEKLY_CLICK, "切换每周统计", null);
|
StatisticsProtocol.Event.HALL_INCOME_WEEKLY_CLICK, "切换每周统计", null);
|
||||||
getWeekIncomeTotal(presenter.getmStartTimeStr(), presenter.getmEndTimeStr());
|
getWeekIncomeTotal(presenter.getWeekFirstDay(), presenter.getWeekLastDay());
|
||||||
} else{
|
} else if (mCurrentType == TYPE_DAY) {
|
||||||
getDayIncomeTotal(presenter.getDayFormat(), presenter.getDayFormat());
|
getDayIncomeTotal(presenter.getDayFormat(), presenter.getDayFormat());
|
||||||
|
} else {
|
||||||
|
getMonthIncomeTotal(presenter.getmStartTimeStr(), presenter.getmEndTimeStr());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -176,8 +186,10 @@ public class ClanIncomeActivity extends BaseMvpActivity<IIncomeStatisticsView, C
|
|||||||
switch (view.getId()) {
|
switch (view.getId()) {
|
||||||
case R.id.iv_date_arrow:
|
case R.id.iv_date_arrow:
|
||||||
case R.id.ll_day_group:
|
case R.id.ll_day_group:
|
||||||
|
if (CommonUtils.isFastDoubleClick(500)) return;
|
||||||
ClanIncomePresenter presenter = getMvpPresenter();
|
ClanIncomePresenter presenter = getMvpPresenter();
|
||||||
boolean isWeek = mCurrentType == TYPE_WEEK;
|
boolean isWeek = mCurrentType == TYPE_WEEK;
|
||||||
|
boolean isMonth = mCurrentType == TYPE_MONTH;
|
||||||
|
|
||||||
TimePickerDialog.Builder builder = new TimePickerDialog.Builder()
|
TimePickerDialog.Builder builder = new TimePickerDialog.Builder()
|
||||||
.setType(Type.YEAR_MONTH_DAY)
|
.setType(Type.YEAR_MONTH_DAY)
|
||||||
@@ -188,7 +200,8 @@ public class ClanIncomeActivity extends BaseMvpActivity<IIncomeStatisticsView, C
|
|||||||
.setWheelItemTextSelectorColor(getResources().getColor(R.color.black))
|
.setWheelItemTextSelectorColor(getResources().getColor(R.color.black))
|
||||||
// 根据上一次选中时间初始化日期控件
|
// 根据上一次选中时间初始化日期控件
|
||||||
.setCurrentMillseconds(isWeek ? presenter.getmWeekChooseDay() : presenter.getmDay())
|
.setCurrentMillseconds(isWeek ? presenter.getmWeekChooseDay() : presenter.getmDay())
|
||||||
.setmIsWeek(isWeek);
|
.setmIsWeek(isWeek)
|
||||||
|
.setIsMonth(isMonth);
|
||||||
|
|
||||||
TimePickerDialog dialog = builder.build();
|
TimePickerDialog dialog = builder.build();
|
||||||
dialog.setmTimePickerListener(this);
|
dialog.setmTimePickerListener(this);
|
||||||
@@ -209,10 +222,19 @@ public class ClanIncomeActivity extends BaseMvpActivity<IIncomeStatisticsView, C
|
|||||||
|
|
||||||
} else if (mCurrentType == TYPE_WEEK) {
|
} else if (mCurrentType == TYPE_WEEK) {
|
||||||
presenter.setmWeekChooseDay(chooseTime);
|
presenter.setmWeekChooseDay(chooseTime);
|
||||||
presenter.setmStartTimeStr(weekFirstDay);
|
presenter.setWeekFirstDay(weekFirstDay);
|
||||||
presenter.setmEndTimeStr(weekLastDay);
|
presenter.setWeekLastDay(weekLastDay);
|
||||||
|
|
||||||
getWeekIncomeTotal(weekFirstDay, weekLastDay);
|
getWeekIncomeTotal(weekFirstDay, weekLastDay);
|
||||||
|
} else {
|
||||||
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
|
||||||
|
String time = format.format(chooseTime);
|
||||||
|
String startTimeStr = TimeUtils.getFirstDayOfMonth(time);
|
||||||
|
String endTimeStr = TimeUtils.getLastDayOfMonth(time);
|
||||||
|
presenter.setmDayStr(chooseTime);
|
||||||
|
presenter.setmStartTimeStr(startTimeStr);
|
||||||
|
presenter.setmEndTimeStr(endTimeStr);
|
||||||
|
getMonthIncomeTotal(startTimeStr, endTimeStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -237,6 +259,14 @@ public class ClanIncomeActivity extends BaseMvpActivity<IIncomeStatisticsView, C
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void getMonthIncomeTotal(String startTimeStr, String endTimeStr) {
|
||||||
|
String[] startArray = startTimeStr.split("-");
|
||||||
|
tvYear.setText(String.format(getString(R.string.format_year), startArray[0]));
|
||||||
|
tvMonthDayEnd.setVisibility(View.GONE);
|
||||||
|
tvMonthDayStart.setText(String.format(getString(R.string.format_month), startArray[1]));
|
||||||
|
list.get(2).getIncomeTotal(startTimeStr, endTimeStr);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setTotal(double total) {
|
public void setTotal(double total) {
|
||||||
tvTotal.setText(getMvpPresenter().setTotal(total));
|
tvTotal.setText(getMvpPresenter().setTotal(total));
|
||||||
|
@@ -26,8 +26,11 @@ import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.Commo
|
|||||||
import com.yizhuan.xchat_android_core.statistic.StatisticManager;
|
import com.yizhuan.xchat_android_core.statistic.StatisticManager;
|
||||||
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
|
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
|
||||||
import com.yizhuan.xchat_android_library.base.factory.CreatePresenter;
|
import com.yizhuan.xchat_android_library.base.factory.CreatePresenter;
|
||||||
|
import com.yizhuan.xchat_android_library.utils.CommonUtils;
|
||||||
|
import com.yizhuan.xchat_android_library.utils.TimeUtils;
|
||||||
import com.yizhuan.xchat_android_library.utils.config.BasicConfig;
|
import com.yizhuan.xchat_android_library.utils.config.BasicConfig;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -46,6 +49,7 @@ public class IncomeStatisticsActivity extends BaseMvpActivity<IIncomeStatisticsV
|
|||||||
|
|
||||||
private static final int TYPE_DAY = 0;
|
private static final int TYPE_DAY = 0;
|
||||||
private static final int TYPE_WEEK = 1;
|
private static final int TYPE_WEEK = 1;
|
||||||
|
private static final int TYPE_MONTH = 2;
|
||||||
|
|
||||||
@BindView(R.id.view_pager)
|
@BindView(R.id.view_pager)
|
||||||
ViewPager viewPager;
|
ViewPager viewPager;
|
||||||
@@ -91,6 +95,10 @@ public class IncomeStatisticsActivity extends BaseMvpActivity<IIncomeStatisticsV
|
|||||||
fragment.setmDayIncomeFragmentListener(this);
|
fragment.setmDayIncomeFragmentListener(this);
|
||||||
list.add(fragment);
|
list.add(fragment);
|
||||||
|
|
||||||
|
fragment = DayIncomeFragment.getInstance(DayIncomeFragment.TYPE_MONTH);
|
||||||
|
fragment.setmDayIncomeFragmentListener(this);
|
||||||
|
list.add(fragment);
|
||||||
|
|
||||||
viewPager.setAdapter(adapter);
|
viewPager.setAdapter(adapter);
|
||||||
|
|
||||||
// initDay();
|
// initDay();
|
||||||
@@ -127,7 +135,7 @@ public class IncomeStatisticsActivity extends BaseMvpActivity<IIncomeStatisticsV
|
|||||||
List<String> tagList = new ArrayList<>();
|
List<String> tagList = new ArrayList<>();
|
||||||
tagList.add("每日统计");
|
tagList.add("每日统计");
|
||||||
tagList.add("每周统计");
|
tagList.add("每周统计");
|
||||||
|
tagList.add("每月统计");
|
||||||
StatisticsIndicatorAdapter adapter = new StatisticsIndicatorAdapter(tagList, 5);
|
StatisticsIndicatorAdapter adapter = new StatisticsIndicatorAdapter(tagList, 5);
|
||||||
adapter.setOnItemSelectListener(position -> viewPager.setCurrentItem(position));
|
adapter.setOnItemSelectListener(position -> viewPager.setCurrentItem(position));
|
||||||
CommonNavigator navigator = new CommonNavigator(this);
|
CommonNavigator navigator = new CommonNavigator(this);
|
||||||
@@ -155,10 +163,14 @@ public class IncomeStatisticsActivity extends BaseMvpActivity<IIncomeStatisticsV
|
|||||||
StatisticManager.Instance().onEvent(BasicConfig.INSTANCE.getAppContext(),
|
StatisticManager.Instance().onEvent(BasicConfig.INSTANCE.getAppContext(),
|
||||||
StatisticsProtocol.Event.HALL_INCOME_WEEKLY_CLICK, "切换每周统计", null);
|
StatisticsProtocol.Event.HALL_INCOME_WEEKLY_CLICK, "切换每周统计", null);
|
||||||
day = presenter.getWeekChooseDayFormat();
|
day = presenter.getWeekChooseDayFormat();
|
||||||
} else
|
getIncomeTotal(day, presenter.getWeekFirstDay(), presenter.getWeekLastDay());
|
||||||
|
} else if (mCurrentType == TYPE_DAY) {
|
||||||
day = presenter.getDayFormat();
|
day = presenter.getDayFormat();
|
||||||
|
getIncomeTotal(day, presenter.getmStartTimeStr(), presenter.getmEndTimeStr());
|
||||||
|
} else {
|
||||||
|
getMonthIncomeTotal(presenter.getmStartTimeStr(), presenter.getmEndTimeStr());
|
||||||
|
}
|
||||||
|
|
||||||
getIncomeTotal(day, presenter.getmStartTimeStr(), presenter.getmEndTimeStr());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -186,9 +198,10 @@ public class IncomeStatisticsActivity extends BaseMvpActivity<IIncomeStatisticsV
|
|||||||
switch (view.getId()) {
|
switch (view.getId()) {
|
||||||
case R.id.iv_date_arrow:
|
case R.id.iv_date_arrow:
|
||||||
case R.id.ll_day_group:
|
case R.id.ll_day_group:
|
||||||
|
if (CommonUtils.isFastDoubleClick(500)) return;
|
||||||
IncomeStatisticsPresenter presenter = getMvpPresenter();
|
IncomeStatisticsPresenter presenter = getMvpPresenter();
|
||||||
boolean isWeek = mCurrentType == TYPE_WEEK;
|
boolean isWeek = mCurrentType == TYPE_WEEK;
|
||||||
|
boolean isMonth = mCurrentType == TYPE_MONTH;
|
||||||
TimePickerDialog.Builder builder = new TimePickerDialog.Builder()
|
TimePickerDialog.Builder builder = new TimePickerDialog.Builder()
|
||||||
.setType(Type.YEAR_MONTH_DAY)
|
.setType(Type.YEAR_MONTH_DAY)
|
||||||
.setTitleStringId("")
|
.setTitleStringId("")
|
||||||
@@ -198,7 +211,8 @@ public class IncomeStatisticsActivity extends BaseMvpActivity<IIncomeStatisticsV
|
|||||||
.setWheelItemTextSelectorColor(getResources().getColor(R.color.black))
|
.setWheelItemTextSelectorColor(getResources().getColor(R.color.black))
|
||||||
// 根据上一次选中时间初始化日期控件
|
// 根据上一次选中时间初始化日期控件
|
||||||
.setCurrentMillseconds(isWeek ? presenter.getmWeekChooseDay() : presenter.getmDay())
|
.setCurrentMillseconds(isWeek ? presenter.getmWeekChooseDay() : presenter.getmDay())
|
||||||
.setmIsWeek(isWeek);
|
.setmIsWeek(isWeek)
|
||||||
|
.setIsMonth(isMonth);
|
||||||
|
|
||||||
TimePickerDialog dialog = builder.build();
|
TimePickerDialog dialog = builder.build();
|
||||||
dialog.setmTimePickerListener(this);
|
dialog.setmTimePickerListener(this);
|
||||||
@@ -219,10 +233,18 @@ public class IncomeStatisticsActivity extends BaseMvpActivity<IIncomeStatisticsV
|
|||||||
|
|
||||||
} else if (mCurrentType == TYPE_WEEK) {
|
} else if (mCurrentType == TYPE_WEEK) {
|
||||||
presenter.setmWeekChooseDay(chooseTime);
|
presenter.setmWeekChooseDay(chooseTime);
|
||||||
presenter.setmStartTimeStr(weekFirstDay);
|
presenter.setWeekFirstDay(weekFirstDay);
|
||||||
presenter.setmEndTimeStr(weekLastDay);
|
presenter.setWeekLastDay(weekLastDay);
|
||||||
|
|
||||||
getIncomeTotal("", weekFirstDay, weekLastDay);
|
getIncomeTotal("", weekFirstDay, weekLastDay);
|
||||||
|
} else {
|
||||||
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
|
||||||
|
String time = format.format(chooseTime);
|
||||||
|
String startTimeStr = TimeUtils.getFirstDayOfMonth(time);
|
||||||
|
String endTimeStr = TimeUtils.getLastDayOfMonth(time);
|
||||||
|
presenter.setmDayStr(chooseTime);
|
||||||
|
presenter.setmStartTimeStr(startTimeStr);
|
||||||
|
presenter.setmEndTimeStr(endTimeStr);
|
||||||
|
getMonthIncomeTotal(startTimeStr, endTimeStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -249,7 +271,14 @@ public class IncomeStatisticsActivity extends BaseMvpActivity<IIncomeStatisticsV
|
|||||||
tvMonthDayEnd.setText(String.format(getString(R.string.format_month_day), weekLastArray[1], weekLastArray[2]));
|
tvMonthDayEnd.setText(String.format(getString(R.string.format_month_day), weekLastArray[1], weekLastArray[2]));
|
||||||
list.get(1).getIncomeTotal(hallId,weekFirstDay, weekLastDay);
|
list.get(1).getIncomeTotal(hallId,weekFirstDay, weekLastDay);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void getMonthIncomeTotal(String startTimeStr, String endTimeStr) {
|
||||||
|
String[] startArray = startTimeStr.split("-");
|
||||||
|
tvYear.setText(String.format(getString(R.string.format_year), startArray[0]));
|
||||||
|
tvMonthDayEnd.setVisibility(View.GONE);
|
||||||
|
tvMonthDayStart.setText(String.format(getString(R.string.format_month), startArray[1]));
|
||||||
|
list.get(2).getIncomeTotal(startTimeStr, endTimeStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -136,7 +136,7 @@ public class HallMenuDialog extends Dialog implements View.OnClickListener {
|
|||||||
clanLayoutParams.gravity = Gravity.END;
|
clanLayoutParams.gravity = Gravity.END;
|
||||||
ivTopArrow.setLayoutParams(clanLayoutParams);
|
ivTopArrow.setLayoutParams(clanLayoutParams);
|
||||||
|
|
||||||
ivMenu.setImageResource(R.drawable.ic_set_admin);
|
ivMenu.setImageResource(R.drawable.ic_hall_income);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -4,9 +4,11 @@ import android.app.Activity;
|
|||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.fragment.app.DialogFragment;
|
import androidx.fragment.app.DialogFragment;
|
||||||
|
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@@ -38,12 +40,16 @@ public class TimePickerDialog extends DialogFragment implements View.OnClickList
|
|||||||
private String mWeekFirstDay;
|
private String mWeekFirstDay;
|
||||||
private String mWeekLastDay;
|
private String mWeekLastDay;
|
||||||
|
|
||||||
/** 显示周区间 */
|
/**
|
||||||
|
* 显示周区间
|
||||||
|
*/
|
||||||
private boolean mIsWeek;
|
private boolean mIsWeek;
|
||||||
|
|
||||||
private static TimePickerDialog newInstance(PickerConfig pickerConfig, long firstMs, boolean isWeek) {
|
private boolean isMonth;
|
||||||
|
|
||||||
|
private static TimePickerDialog newInstance(PickerConfig pickerConfig, long firstMs, boolean isWeek, boolean isMonth) {
|
||||||
TimePickerDialog timePickerDialog = new TimePickerDialog();
|
TimePickerDialog timePickerDialog = new TimePickerDialog();
|
||||||
timePickerDialog.initialize(pickerConfig, firstMs, isWeek);
|
timePickerDialog.initialize(pickerConfig, firstMs, isWeek, isMonth);
|
||||||
return timePickerDialog;
|
return timePickerDialog;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,10 +74,11 @@ public class TimePickerDialog extends DialogFragment implements View.OnClickList
|
|||||||
window.setGravity(Gravity.BOTTOM);
|
window.setGravity(Gravity.BOTTOM);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initialize(PickerConfig pickerConfig, long firstMs, boolean isWeek) {
|
private void initialize(PickerConfig pickerConfig, long firstMs, boolean isWeek, boolean isMonth) {
|
||||||
mPickerConfig = pickerConfig;
|
mPickerConfig = pickerConfig;
|
||||||
mFirstMs = firstMs;
|
mFirstMs = firstMs;
|
||||||
mIsWeek = isWeek;
|
mIsWeek = isWeek;
|
||||||
|
this.isMonth = isMonth;
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@@ -112,6 +119,10 @@ public class TimePickerDialog extends DialogFragment implements View.OnClickList
|
|||||||
title.setTextColor(context.getResources().getColor(R.color.color_333333));
|
title.setTextColor(context.getResources().getColor(R.color.color_333333));
|
||||||
cancel.setText(mPickerConfig.mCancelString);
|
cancel.setText(mPickerConfig.mCancelString);
|
||||||
sure.setText(mPickerConfig.mSureString);
|
sure.setText(mPickerConfig.mSureString);
|
||||||
|
|
||||||
|
if (isMonth) {
|
||||||
|
mPickerConfig.mType = Type.YEAR_MONTH;
|
||||||
|
}
|
||||||
toolbar.setBackgroundColor(context.getResources().getColor(R.color.white));
|
toolbar.setBackgroundColor(context.getResources().getColor(R.color.white));
|
||||||
|
|
||||||
mTimeWheel = new TimeWheel(view, mPickerConfig);
|
mTimeWheel = new TimeWheel(view, mPickerConfig);
|
||||||
@@ -168,11 +179,11 @@ public class TimePickerDialog extends DialogFragment implements View.OnClickList
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @desc This method returns the current milliseconds. If current milliseconds is not set,
|
* @desc This method returns the current milliseconds. If current milliseconds is not set,
|
||||||
* this will return the system milliseconds.
|
* this will return the system milliseconds.
|
||||||
* @param none
|
* @param none
|
||||||
* @return long - the current milliseconds.
|
* @return long - the current milliseconds.
|
||||||
*/
|
*/
|
||||||
public long getCurrentMillSeconds() {
|
public long getCurrentMillSeconds() {
|
||||||
if (mCurrentMillSeconds == 0)
|
if (mCurrentMillSeconds == 0)
|
||||||
return System.currentTimeMillis();
|
return System.currentTimeMillis();
|
||||||
@@ -181,11 +192,11 @@ public class TimePickerDialog extends DialogFragment implements View.OnClickList
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @desc This method is called when onClick method is invoked by sure button. A Calendar instance is created and
|
* @desc This method is called when onClick method is invoked by sure button. A Calendar instance is created and
|
||||||
* initialized.
|
* initialized.
|
||||||
* @param none
|
* @param none
|
||||||
* @return none
|
* @return none
|
||||||
*/
|
*/
|
||||||
void sureClicked() {
|
void sureClicked() {
|
||||||
Calendar calendar = Calendar.getInstance();
|
Calendar calendar = Calendar.getInstance();
|
||||||
calendar.clear();
|
calendar.clear();
|
||||||
@@ -213,6 +224,8 @@ public class TimePickerDialog extends DialogFragment implements View.OnClickList
|
|||||||
PickerConfig mPickerConfig;
|
PickerConfig mPickerConfig;
|
||||||
long firstMs;
|
long firstMs;
|
||||||
boolean mIsWeek;
|
boolean mIsWeek;
|
||||||
|
boolean isMonth;
|
||||||
|
|
||||||
public Builder() {
|
public Builder() {
|
||||||
mPickerConfig = new PickerConfig();
|
mPickerConfig = new PickerConfig();
|
||||||
}
|
}
|
||||||
@@ -283,27 +296,27 @@ public class TimePickerDialog extends DialogFragment implements View.OnClickList
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder setYearText(String year){
|
public Builder setYearText(String year) {
|
||||||
mPickerConfig.mYear = year;
|
mPickerConfig.mYear = year;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder setMonthText(String month){
|
public Builder setMonthText(String month) {
|
||||||
mPickerConfig.mMonth = month;
|
mPickerConfig.mMonth = month;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder setDayText(String day){
|
public Builder setDayText(String day) {
|
||||||
mPickerConfig.mDay = day;
|
mPickerConfig.mDay = day;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder setHourText(String hour){
|
public Builder setHourText(String hour) {
|
||||||
mPickerConfig.mHour = hour;
|
mPickerConfig.mHour = hour;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder setMinuteText(String minute){
|
public Builder setMinuteText(String minute) {
|
||||||
mPickerConfig.mMinute = minute;
|
mPickerConfig.mMinute = minute;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@@ -318,8 +331,13 @@ public class TimePickerDialog extends DialogFragment implements View.OnClickList
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Builder setIsMonth(boolean isMonth) {
|
||||||
|
this.isMonth = isMonth;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public TimePickerDialog build() {
|
public TimePickerDialog build() {
|
||||||
return newInstance(mPickerConfig, firstMs, mIsWeek);
|
return newInstance(mPickerConfig, firstMs, mIsWeek, isMonth);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -31,6 +31,7 @@ public class ClanIncomeFragment extends BaseMvpFragment<IClanIncomeView, ClanInc
|
|||||||
|
|
||||||
public static final int TYPE_DAY = 0;
|
public static final int TYPE_DAY = 0;
|
||||||
public static final int TYPE_WEEK = 1;
|
public static final int TYPE_WEEK = 1;
|
||||||
|
public static final int TYPE_MONTH = 2;
|
||||||
public static final String FLAG_DAY_TYPE = "dayType";
|
public static final String FLAG_DAY_TYPE = "dayType";
|
||||||
public static final String FLAG_CLAN_ID = "clanId";
|
public static final String FLAG_CLAN_ID = "clanId";
|
||||||
|
|
||||||
|
@@ -35,6 +35,7 @@ public class DayIncomeFragment extends BaseMvpFragment<IIncomeView, IncomePresen
|
|||||||
|
|
||||||
public static final int TYPE_DAY = 0;
|
public static final int TYPE_DAY = 0;
|
||||||
public static final int TYPE_WEEK = 1;
|
public static final int TYPE_WEEK = 1;
|
||||||
|
public static final int TYPE_MONTH = 2;
|
||||||
public static final String FLAG_DAY_TYPE = "dayType";
|
public static final String FLAG_DAY_TYPE = "dayType";
|
||||||
|
|
||||||
private int mDayType;
|
private int mDayType;
|
||||||
|
@@ -9,12 +9,16 @@ import com.yizhuan.xchat_android_library.utils.TimeUtils;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
|
||||||
public class ClanIncomePresenter extends BaseMvpPresenter<IIncomeStatisticsView> {
|
public class ClanIncomePresenter extends BaseMvpPresenter<IIncomeStatisticsView> {
|
||||||
|
|
||||||
private String mStartTimeStr;
|
private String mStartTimeStr;
|
||||||
private String mEndTimeStr;
|
private String mEndTimeStr;
|
||||||
|
|
||||||
|
private String weekFirstDay;
|
||||||
|
private String weekLastDay;
|
||||||
/**
|
/**
|
||||||
* 周范围内选中的日期
|
* 周范围内选中的日期
|
||||||
*/
|
*/
|
||||||
@@ -39,9 +43,11 @@ public class ClanIncomePresenter extends BaseMvpPresenter<IIncomeStatisticsView>
|
|||||||
}
|
}
|
||||||
//周日
|
//周日
|
||||||
long lastDayTime = firstDayTime + (TimeUtils.MILLIS_OF_A_DAY * 6);
|
long lastDayTime = firstDayTime + (TimeUtils.MILLIS_OF_A_DAY * 6);
|
||||||
|
weekFirstDay = TimeUtils.getDateTimeString(firstDayTime, TimeUtils.DATE_FORMAT);
|
||||||
mStartTimeStr = TimeUtils.getDateTimeString(firstDayTime, TimeUtils.DATE_FORMAT);
|
weekLastDay = TimeUtils.getDateTimeString(lastDayTime, TimeUtils.DATE_FORMAT);
|
||||||
mEndTimeStr = TimeUtils.getDateTimeString(lastDayTime, TimeUtils.DATE_FORMAT);
|
String ym = new SimpleDateFormat("yyyy-MM").format(mDay);
|
||||||
|
mStartTimeStr = TimeUtils.getFirstDayOfMonth(ym);
|
||||||
|
mEndTimeStr = TimeUtils.getLastDayOfMonth(ym);
|
||||||
}
|
}
|
||||||
|
|
||||||
public SpannableString setTotal(double total) {
|
public SpannableString setTotal(double total) {
|
||||||
@@ -108,4 +114,19 @@ public class ClanIncomePresenter extends BaseMvpPresenter<IIncomeStatisticsView>
|
|||||||
return TimeUtils.getDateTimeString(mWeekChooseDay, TimeUtils.DATE_FORMAT);
|
return TimeUtils.getDateTimeString(mWeekChooseDay, TimeUtils.DATE_FORMAT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getWeekFirstDay() {
|
||||||
|
return weekFirstDay;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWeekFirstDay(String weekFirstDay) {
|
||||||
|
this.weekFirstDay = weekFirstDay;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getWeekLastDay() {
|
||||||
|
return weekLastDay;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWeekLastDay(String weekLastDay) {
|
||||||
|
this.weekLastDay = weekLastDay;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -9,6 +9,7 @@ import com.yizhuan.xchat_android_library.utils.TimeUtils;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
|
||||||
public class IncomeStatisticsPresenter extends BaseMvpPresenter<IIncomeStatisticsView> {
|
public class IncomeStatisticsPresenter extends BaseMvpPresenter<IIncomeStatisticsView> {
|
||||||
@@ -20,6 +21,9 @@ public class IncomeStatisticsPresenter extends BaseMvpPresenter<IIncomeStatistic
|
|||||||
/** 日范围内选中的日期 */
|
/** 日范围内选中的日期 */
|
||||||
private long mDay;
|
private long mDay;
|
||||||
|
|
||||||
|
private String weekFirstDay;
|
||||||
|
private String weekLastDay;
|
||||||
|
|
||||||
public void initCurrentDay() {
|
public void initCurrentDay() {
|
||||||
mDay = mWeekChooseDay = System.currentTimeMillis();
|
mDay = mWeekChooseDay = System.currentTimeMillis();
|
||||||
Calendar calendar = Calendar.getInstance();
|
Calendar calendar = Calendar.getInstance();
|
||||||
@@ -36,8 +40,11 @@ public class IncomeStatisticsPresenter extends BaseMvpPresenter<IIncomeStatistic
|
|||||||
//周日
|
//周日
|
||||||
long lastDayTime = firstDayTime + (TimeUtils.MILLIS_OF_A_DAY * 6);
|
long lastDayTime = firstDayTime + (TimeUtils.MILLIS_OF_A_DAY * 6);
|
||||||
|
|
||||||
mStartTimeStr = TimeUtils.getDateTimeString(firstDayTime, TimeUtils.DATE_FORMAT);
|
weekFirstDay = TimeUtils.getDateTimeString(firstDayTime, TimeUtils.DATE_FORMAT);
|
||||||
mEndTimeStr = TimeUtils.getDateTimeString(lastDayTime, TimeUtils.DATE_FORMAT);
|
weekLastDay = TimeUtils.getDateTimeString(lastDayTime, TimeUtils.DATE_FORMAT);
|
||||||
|
String ym = new SimpleDateFormat("yyyy-MM").format(mDay);
|
||||||
|
mStartTimeStr = TimeUtils.getFirstDayOfMonth(ym);
|
||||||
|
mEndTimeStr = TimeUtils.getLastDayOfMonth(ym);
|
||||||
}
|
}
|
||||||
|
|
||||||
public SpannableString setTotal(long total) {
|
public SpannableString setTotal(long total) {
|
||||||
@@ -104,4 +111,19 @@ public class IncomeStatisticsPresenter extends BaseMvpPresenter<IIncomeStatistic
|
|||||||
return TimeUtils.getDateTimeString(mWeekChooseDay, TimeUtils.DATE_FORMAT);
|
return TimeUtils.getDateTimeString(mWeekChooseDay, TimeUtils.DATE_FORMAT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getWeekFirstDay() {
|
||||||
|
return weekFirstDay;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWeekFirstDay(String weekFirstDay) {
|
||||||
|
this.weekFirstDay = weekFirstDay;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getWeekLastDay() {
|
||||||
|
return weekLastDay;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWeekLastDay(String weekLastDay) {
|
||||||
|
this.weekLastDay = weekLastDay;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
@@ -861,6 +861,58 @@ public class TimeUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取指定年月的第一天
|
||||||
|
* @param ym yyyy-MM
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String getFirstDayOfMonth(String ym) {
|
||||||
|
String arr[] = ym.split("-");
|
||||||
|
|
||||||
|
int year = Integer.parseInt(arr[0]);
|
||||||
|
int month = Integer.parseInt(arr[1]);
|
||||||
|
|
||||||
|
Calendar cal = Calendar.getInstance();
|
||||||
|
//设置年份
|
||||||
|
cal.set(Calendar.YEAR, year);
|
||||||
|
|
||||||
|
//设置月份
|
||||||
|
cal.set(Calendar.MONTH, month - 1);
|
||||||
|
//获取某月最小天数
|
||||||
|
int firstDay = cal.getMinimum(Calendar.DATE);
|
||||||
|
//设置日历中月份的最小天数
|
||||||
|
cal.set(Calendar.DAY_OF_MONTH, firstDay);
|
||||||
|
//格式化日期
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
|
||||||
|
return sdf.format(cal.getTime());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取指定年月的最后一天
|
||||||
|
* @param ym
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String getLastDayOfMonth(String ym) {
|
||||||
|
String arr[] = ym.split("-");
|
||||||
|
|
||||||
|
int year = Integer.parseInt(arr[0]);
|
||||||
|
int month = Integer.parseInt(arr[1]);
|
||||||
|
|
||||||
|
Calendar cal = Calendar.getInstance();
|
||||||
|
//设置年份
|
||||||
|
cal.set(Calendar.YEAR, year);
|
||||||
|
//设置月份
|
||||||
|
cal.set(Calendar.MONTH, month - 1);
|
||||||
|
//获取某月最大天数
|
||||||
|
int lastDay = cal.getActualMaximum(Calendar.DATE);
|
||||||
|
//设置日历中月份的最大天数
|
||||||
|
cal.set(Calendar.DAY_OF_MONTH, lastDay);
|
||||||
|
//格式化日期
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
return sdf.format(cal.getTime());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// public static boolean getTimeLimit() {
|
// public static boolean getTimeLimit() {
|
||||||
|
Reference in New Issue
Block a user